Linux常用命令

shell命令是由三部分组成的分别为命令本身、选项(可选)、参数(可选)。

选项:同一命令采用不同的选项,其功能也不相同。选项可以有一个“-”,也可以有多个,甚至可以没有。选项通常以“-”开头,当有多个选项时,可以只使用一个“-”符号。

参数:执行该命令所需的对象,如文件、目录等。根据命令不同,参数可以有一个、多个或没有。

1、ls

命令用于显示指定工作目录下之的内容目录文件等

选项
-a 显示所有文件及目录( .   靠头的隐藏文件也将列出)
-d 只列出目录,不递归列出目录中的文件,只显示目录本身不显示目录中的内容
-l 以长格式显示文件和目录信息,包含权限、所有者、大小。创作时间等信息
-r

倒序显示文件和目录

-t 将按照修改时间排序,最新的文件再最前面
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R  递归显示目录中的所有文件和子目录。
root@serein-virtual-machine:~/fisco# ls -a
.  ..  build_chain.sh  console  console.tar.gz  .fisco  fisco-bcos  webase  webase-deploy.zip
root@serein-virtual-machine:~/fisco# ls -d
.
root@serein-virtual-machine:~/fisco# ls -l
总用量 79284
-rwxr--r-- 1 root root     72216 11月 23 08:18 build_chain.sh
drwxr-xr-x 8  502 staff     4096 11月 23 09:43 console
-rw-r--r-- 1 root root  50440597 11月 23 09:05 console.tar.gz
-rwxr-xr-x 1 root root  30593416 12月 14 00:23 fisco-bcos
drwxr-xr-x 2 root root      4096 12月 14 00:23 webase
-rw-r--r-- 1 root root     57906 4月  18  2023 webase-deploy.zip
root@serein-virtual-machine:~/fisco# ls -r
webase-deploy.zip  webase  fisco-bcos  console.tar.gz  console  build_chain.sh
root@serein-virtual-machine:~/fisco# ls -t
fisco-bcos  webase  console  console.tar.gz  build_chain.sh  webase-deploy.zip
root@serein-virtual-machine:~/fisco# ls -A
build_chain.sh  console  console.tar.gz  .fisco  fisco-bcos  webase  webase-deploy.zip
root@serein-virtual-machine:~/fisco# ls -F
build_chain.sh*  console/  console.tar.gz  fisco-bcos*  webase/  webase-deploy.zip
root@serein-virtual-machine:~/fisco# ls -R

2、cd 

~表示当前用户的家目录,./表示当前目录,../表示上一级目录

语法: cd + 路径

//当前目录
serein@serein-virtual-machine:~$ cd ./
//返回上一级目录
serein@serein-virtual-machine:~$ cd ../
//进入指定目录
serein@serein-virtual-machine:/home$ cd ./serein/
返回上上级目录
serein@serein-virtual-machine:~$ cd ../../

3、cat

用于查看文件内容,将内容打印带控制台上

语法 :cat +选项(可选)+文件名

选项

-n 由 1 开始对所有输出的行数编号。
-b 和 -n 相似,只不过对于空白行不编号。
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 在每行结束处显示 $。
-T 将 TAB 字符显示为 ^I。
-A 等价于 -vET。
-e 等价于"-vE"选项;
-t 等价于"-vT"选项;

4、chmod

用于修改文件或目录的权限,需要超级用户 root 的权限才能执行此命令。

user 新的文件拥有者的使用者 ID
group 新的文件拥有者的使用者组(group)
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-v 显示详细的处理信息
-R 处理指定目录以及其子目录下的所有文件

5、find

在指定目录下查找文件和目录。

它可以使用不同的选项来过滤和限制查找的结果。

语法:find [路径] [匹配条件] [动作]

路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。

选项

-name pattern 按文件名查找,支持使用通配符 * 和 ?
-type 按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
-size [+-]size[cwbkMG] 按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
-mtime days 按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
-user username 按文件所有者查找。
-group groupname 按文件所属组查找。

动作: 可选的,用于对匹配到的文件执行操作

find 命令中用于时间的参数如下:

  • -amin n:查找在 n 分钟内被访问过的文件。
  • -atime n:查找在 n*24 小时内被访问过的文件。
  • -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
  • -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
  • -mmin n:查找在 n 分钟内被修改过的文件。
  • -mtime n:查找在 n*24 小时内被修改过的文件。

在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。

例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。

关于时间 n 参数的说明:

  • +n:查找比 n 天前更早的文件或目录。

  • -n:查找在 n 天内更改过属性的文件或目录。

  • n:查找在 n 天前(指定那一天)更改过属性的文件或目录。

6、mv

命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法:mv [选项] 源文件 目标文件

选项

-b 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n 不要覆盖任何已存在的文件或目录。
-u 当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

7、rm

命令用于删除一个文件或者目录。

注意:rm命令删除的时候将会将文件永久删除,是不可逆的,无法找回,请谨慎使用,尽量减少rm命令的使用,使用时请仔细确认文件和目录是否正确!!!!!!

语法 : rm + 选项+文件 

-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。

8、cp

令主要用于复制文件或目录。

语法:cp [选项] 源文件 目标文件

选项

-a 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。
-d 复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-r 用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。
-i 在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。
-u 仅复制源文件中更新时间较新的文件。
-v 显示详细的复制过程。
-p 显示详细的复制过程。
-f 强制复制,即使目标文件已存在也会覆盖,而且不给出提示。
-l 不复制文件,只是生成链接文件。

9、rcp

 rcp命令用于复制远程文件或目录。

rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。

语法:rcp [-pr][源文件或目录][目标文件或目录]

选项

-p 保留源文件或目录的属性,包括拥有者,所属群组,权限与时间。
-r 递归处理,将指定目录下的文件与子目录一并处理。

rcp [email protected]:./testfile testfile  #复制远程文件到本地  
rcp [email protected]:home/rootlocal/testfile testfile  
#要求当前登录账户cmd 登录到远程主机  
rcp 218.6.132.5:./testfile testfile

10、 touch

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。常用于新文件的创建

语法:touch [选项] 文件名

选项:

 -a 改变档案的读取时间记录。
-m 改变档案的修改时间记录。
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-f 不使用,是为了与其他 unix 系统的相容性而保留。
-r 使用参考档的时间记录,与 --file 的效果一样。
-d 设定时间与日期,可以使用各种不同的格式。
-t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
如果只想更改文件的访问时间而不修改文件内容,可以使用 -a 选项,如下所示:

touch -a file.txt
如果只想更改文件的修改时间而不修改文件内容,可以使用 -m 选项,如下所示:

touch -m file.txt
如果要使用指定的时间值设置文件的时间戳,可以使用 -d 选项,后跟时间值,如下所示:

touch -d "2022-01-01 10:30:00" file.txt
这将把文件 file.txt 的时间戳设置为指定的日期和时间。

11、scp

scp 命令用于 Linux 之间复制文件和目录。

scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

参数

  • -1: 强制scp命令使用协议ssh1
  • -2: 强制scp命令使用协议ssh2
  • -4: 强制scp命令只使用IPv4寻址
  • -6: 强制scp命令只使用IPv6寻址
  • -B: 使用批处理模式(传输过程中不询问传输口令或短语)
  • -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  • -p:保留原文件的修改时间,访问时间和访问权限。
  • -q: 不显示传输进度条。
  • -r: 递归复制整个目录。
  • -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  • -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
  • -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  • -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
  • -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
  • -P port:注意是大写的P, port是指定数据传输用到的端口号
  • -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

12、which

which命令用于查找文件。

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

语法:which [文件...]

选项

-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。

13、sed

sed 命令是利用脚本来处理文本文件。

sed 可依照脚本的指令来处理、编辑文本文件。

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

语法:sed [选项] '脚本' 文件

选项

-e

你可能感兴趣的:(linux,linux,bash)