【Linux】基本指令了解(一)

2024-01-08 09:16:12

💗个人主页💗
?个人专栏——数据结构学习?
💫点击关注🤩一起学习C语言💯💫

导读:

今天新增加了新的内容——Linux
相对于C语言来说,大家对Linux应该是比较陌生的,但是没关系,基本指令这些对大家都很友好。
今天我们学习的指令有ls,pwd,cd,touch,mkdir,rmdir,rm,man,cp,mv,cat,more,less。

1. 认识Linux

1.1 什么是Linux

相较于windows、mac,Linux同样是一个操作系统。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.2 Linux特点

  1. 开源:Linux是一个开源操作系统,意味着它的源代码是公开可用的。这使得用户可以自由地查看、修改和分发Linux操作系统。
  2. 多用户和多任务:Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
  3. 稳定性和可靠性:Linux操作系统在设计上注重稳定性和可靠性,它能够长时间运行而不出现系统崩溃或死机的情况。
  4. 安全性:Linux操作系统的安全性较高,它提供了强大的权限管理系统,使得用户可以精确地控制对文件和系统资源的访问权限。
  5. 跨平台性:Linux操作系统可以在多种硬件平台上运行,它可以安装在个人计算机、服务器、嵌入式系统、移动设备等各种设备上。
  6. 良好的网络支持:Linux操作系统具有出色的网络功能和性能,适用于各种网络应用和服务。
  7. 丰富的软件资源:Linux操作系统有大量的开源软件和应用程序可供选择和使用,用户可以根据需要轻松获取、安装和更新软件。

2. ls指令

ls是Linux和Unix系统中的一个命令,用于列出指定目录下的文件和子目录。它的全称是"list",通过ls命令可以查看当前目录的文件和子目录的名称、权限、大小和修改时间等信息。

语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。
常用选项

ls: 显示当前目录中的文件和子目录。

[zhy@Centos ~]$ ls
111  test.txt

在这个目录下有111这个子目录和一个名为test的txt文件。

ls -l: 以长格式显示文件和子目录的详细信息,包括权限、所有者、大小和修改日期等。
同样的,ls -l 还可以缩写成ll。

[zhy@Centos ~]$ ls -l
total 4
drwxrwxr-x 3 zhy zhy 4096 Jan  2 20:25 111
-rw-rw-r-- 1 zhy zhy    0 Jan  2 20:52 test.txt
[zhy@Centos ~]$ ll
total 4
drwxrwxr-x 3 zhy zhy 4096 Jan  2 20:25 111
-rw-rw-r-- 1 zhy zhy    0 Jan  2 20:52 test.txt

-rw-rw-r– 为文件的权限。
zhy zhy 是文件的所有者。
0 是文件的大小。
2 20:52 是文件的修改日期。
test.txt 则是文件名。

ls -a: 显示所有文件和子目录,包括以.开头的隐藏文件。

[zhy@Centos ~]$ ls -a
.   111            .bash_logout   .bashrc   .viminfo
..  .bash_history  .bash_profile  test.txt

以及其它不太常用到的:

  • ls -h:以人类可读的格式显示文件和子目录的大小。
  • ls -r:反向显示文件和子目录的顺序。
  • ls -t:按修改时间的顺序显示文件和子目录。
  • ls -S:按大小的顺序显示文件和子目录。
  • ls -R:递归显示当前目录及其子目录中的文件和子目录。
  • ls -G:以彩色输出显示文件和子目录。
  • ls --help:显示关于ls命令的帮助信息。

这只是ls命令的一小部分选项,还有更多选项可以使用。可以使用man ls命令查看全部选项和更详细的说明。

3. pwd命令

pwd命令是Linux和Unix系统中的一个命令,用于查看当前所处的工作目录的路径。

使用pwd命令非常简单,只需在终端中输入pwd即可。执行该命令后,终端会显示当前所处的工作目录的完整路径。

[zhy@Centos ~]$ pwd
/home/zhy

4. cd 指令

cd指令是指在命令行中切换当前工作目录的命令。它是"change directory"的缩写。
使用cd指令,可以进入其他目录或返回上一级目录。

[zhy@Centos ~]$ cd 111
#进入指定的目录路径。
[zhy@Centos 111]$ cd ..
#返回上一级目录。
[zhy@Centos ~]$ cd 111/tmp1
#绝对路径进入目录
[zhy@Centos tmp1]$ cd /
#进入根目录。
[zhy@Centos /]$ cd ~
#进入当前用户的主目录。
[zhy@Centos ~]$

5. touch命令

touch命令是一个在Linux和其他类Unix操作系统中使用的命令,用于创建空文件或者修改文件的访问和修改时间戳。

touch [选项] 文件名

常用选项:

  • -a:仅修改访问时间。
  • -c:如果文件不存在,则不创建文件。
  • -m:仅修改修改时间。
  • -d:后面跟时间参数,设置文件的访问和修改时间为指定时间。
[zhy@Centos ~]$ touch file.txt
#创建一个名为"file.txt"的空文件
#如果文件已经存在,touch命令将会更新该文件的访问和修改时间戳。
[zhy@Centos ~]$ ll file.txt #查看文件信息
-rw-rw-r-- 1 zhy zhy 0 Jan  2 21:31 file.txt
[zhy@Centos ~]$ touch -d "2022-01-01 12:00:00" file.txt
#修改文件的访问和修改时间戳
[zhy@Centos ~]$ ll file.txt
-rw-rw-r-- 1 zhy zhy 0 Jan  1  2022 file.txt

6. mkdir指令

mkdir指令是用来创建一个新的目录(文件夹)的指令。它的用法是在命令行中输入"mkdir"后加上目录的名称,然后按回车键执行。
例如,想在当前目录下创建一个名为“new_test”的文件。

[zhy@Centos ~]$ ls
111  book  book1  file.txt  test.txt
[zhy@Centos ~]$ mkdir new_folder
[zhy@Centos ~]$ ls
111  book  book1  file.txt  new_folder  test.txt

如果想要在新的目录下创建嵌套的目录,可以使用以下命令:

[zhy@Centos ~]$ mkdir new_folder/sub_folder
[zhy@Centos ~]$ cd new_folder
[zhy@Centos new_folder]$ ls
sub_folder

7. rmdir指令 && rm 指令

rmdir指令用于删除空的目录。

语法:

rmdir [选项] <目录>

[zhy@Centos ~]$ ls
111  book  book1  file.txt  new_folder  test.txt
[zhy@Centos ~]$ rmdir book1
[zhy@Centos ~]$
[zhy@Centos ~]$ ls
111  book  file.txt  new_folder  test.txt
  • p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
[zhy@Centos ~]$ rmdir -p new_folder/sub_folder
[zhy@Centos ~]$ ls
111  book  file.txt  test.txt

rm指令用于删除文件和目录。
语法:

rm [选项] <文件或目录>
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

[zhy@Centos ~]$ rm book
[zhy@Centos ~]$ ls
111  file.txt  new_folder  test.txt

如果要删除非空目录,可以使用-r或者-R选项。

[zhy@Centos ~]$ rm -r new_folder
[zhy@Centos ~]$ ls
111  file.txt  test.txt

8. man指令

man指令是一个用于查看Linux系统中命令、函数等的帮助手册的命令。它提供了详细的文档和说明。

语法:

man [选项] <命令或函数>

例如:

[zhy@Centos ~]$ man ls

这将显示有关"ls"命令的帮助手册。

man命令将会打开一个分页器(pager),你可以使用空格键向下翻页,按b键向上翻页,按q键退出。
在这里插入图片描述
常用的选项:

-f:显示有关一个特定命令或函数的简短描述。
-k:搜索包含指定关键字的命令和函数。
-a:显示所有匹配的帮助手册。
num 只在第num章节找

请注意,man命令的帮助手册内容通常是系统预装的,如果你需要查看其他软件或工具的帮助手册,可能需要安装相应的软件包或文档。

9. cp指令

cp指令是Linux系统中用于复制文件或目录的命令。
语法:

cp [选项] 源文件或目录 目标文件或目录

常用选项:

-r或-R:递归复制目录及其内容
-i:如果目标文件已存在,会提示是否覆盖
-u:只复制源文件比目标文件新或目标文件不存在的文件
-v:显示复制过程详细信息
-a:以递归方式复制,并保留文件属性和权限
-b:在复制文件时,如果目标文件已存在,会进行备份
-s:使用符号链接复制文件
-l:复制文件并创建硬链接
-P或–no-dereference:复制符号链接的源文件,而不是链接的目标文件

[zhy@Centos ~]$ ls
111  file.txt  test.txt
[zhy@Centos ~]$ cp file.txt file1.txt
# 将file.txt复制为file1.txt
[zhy@Centos ~]$ cp -r 111 tmp1
# 将111目录及其内容复制到tmp1目录中
[zhy@Centos ~]$ ls
111  file1.txt  file.txt  test.txt  tmp1
[zhy@Centos ~]$ cp -a tmp1 tmp2
# 以递归方式复制tmp1目录及其内容,并保留文件属性和权限
[zhy@Centos ~]$ ls
111  file1.txt  file.txt  test.txt  tmp1  tmp2
[zhy@Centos ~]$ ll
total 12
drwxrwxr-x 3 zhy zhy 4096 Jan  2 20:25 111
-rw-rw-r-- 1 zhy zhy    0 Jan  3 18:45 file1.txt
-rw-rw-r-- 1 zhy zhy    0 Jan  1  2022 file.txt
-rw-rw-r-- 1 zhy zhy    0 Jan  2 20:52 test.txt
drwxrwxr-x 3 zhy zhy 4096 Jan  3 18:46 tmp1
drwxrwxr-x 3 zhy zhy 4096 Jan  3 18:46 tmp2

请注意,如果目标文件已存在,cp指令默认会覆盖目标文件。如需避免覆盖,请使用-i选项。

10. mv指令

在Linux中,mv指令是用来移动或重命名文件和目录的命令。
语法:

mv [选项] 源文件或目录 目标文件或目录

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。

常用选项:

-r 或 -R:递归地移动目录及其内容。
-i:交互式地移动文件或目录,在移动前会询问用户是否覆盖。
-f:强制覆盖目标文件或目录,不询问用户。

[zhy@Centos ~]$ ls
111  file1.txt  file.txt  test.txt  tmp1  tmp2
[zhy@Centos ~]$ mv file1.txt tmp1
#将文件file1.txt移动到目录tmp1中
[zhy@Centos ~]$ ls
111  file.txt  test.txt  tmp1  tmp2
[zhy@Centos ~]$ cd tmp1
# 进入目录查看
[zhy@Centos tmp1]$ ls
book  file1.txt
[zhy@Centos tmp1]$ mv file1.txt file2.txt
#将文件file1.txt重命名为file2.txt
[zhy@Centos tmp1]$ ls
book  file2.txt

注意事项:

  1. 如果目标文件或目录已经存在,则mv指令默认会将源文件或目录移动到目标位置,并保留原有的文件名或目录名。
  2. 如果目标位置已经存在同名文件或目录,并且没有使用-f选项,则mv指令会询问是否覆盖目标文件或目录。

11. cat指令

在 Linux 中,cat 是一个常用的命令行工具,用于显示文件的内容。
语法:

cat [选项][文件]

[zhy@Centos ~]$ ls
111  file.txt  test.txt  tmp1  tmp2
#显示一个文件的内容
[zhy@Centos ~]$ cat file.txt 
hello world!
#显示多个文件的内容
[zhy@Centos ~]$ cat file.txt test.txt
hello world!
wolf
[zhy@Centos ~]$ cat file.txt > newfile.txt
# > 表示重定向,newfile 是要保存内容的文件名。
#如果文件不存在,则会创建一个新文件;
#如果文件已存在,则会覆盖原有文件。
[zhy@Centos ~]$ ls
111  file.txt  newfile.txt  test.txt  tmp1  tmp2
[zhy@Centos ~]$ cat newfile.txt
hello world!
[zhy@Centos ~]$ cat file.txt test.txt > newfile.txt
#将多个文件内容合并到一个文件中
[zhy@Centos ~]$ cat newfile.txt
hello world!
wolf
[zhy@Centos ~]$ cat -n newfile.txt
#以行的方式显示文件内容,并显示行号
     1  hello world!
     2  wolf
[zhy@Centos ~]$ cat newfile.txt | less
#将文件内容按页显示,并逐页显示

12. more指令

more指令是Linux中的一个用于显示文本文件内容的命令。它可以逐页显示文件内容,以便于用户分页查看和浏览大文件。
more命令会逐页显示文件的内容,用户可以使用键盘进行操作,如向下滚动一页、向上滚动一页、跳转到特定行等。
语法:

more [选项][文件]

常用选项:

/pattern:搜索指定的模式,例如"/keyword"会在文件中搜索关键字"keyword"。
:n:跳转到第n行。
:p:显示上一页内容。
:f:显示文件名和当前页数。
:q:退出more程序。

more命令还支持一些其他选项,例如设置行数显示的长度、禁用行数显示、显示帮助等。用户可以通过"man more"命令查看more命令的详细说明和使用方法。

[zhy@Centos ~]$ more newfile.txt
hello world!
wolf

13. less指令

less是一个用于查看文本文件内容的命令行工具。它可以逐页显示文件内容,并提供一些浏览和搜索文件的功能。
语法:

less [选项] 文件名

常用选项:

-N 或 --LINE-NUMBERS:显示行号。
-i 或 --IGNORE-CASE:忽略大小写。
-S 或 --LINE-WRAP:禁止折行。
-F 或 --QUIT-AT-EOF:查看完文件后立即退出。
-R 或 --RAW-CONTROL-CHARS:显示控制字符。
-h 或 --HELP:显示帮助信息。

在less中,可以使用以下命令进行文件的浏览和搜索:

空格键:向下翻页。
Enter键:向下滚动一行。
b键:向上翻页。
q键:退出less。
/字符串:向下搜索指定的字符串。
?字符串:向上搜索指定的字符串。
n键:跳转到下一个匹配的字符串处。
N键:跳转到上一个匹配的字符串处。

这些是less命令中的一些基本用法和常见选项,更多的功能和选项可以在使用man less命令查看 less 的手册页。

[zhy@Centos ~]$ less -N .bash_history

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_64818885/article/details/135348748
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。