Linux 常用命令总结

注意:本篇使用的 Linux 系统为 OpenCloudOS 8.6

在线 Linux 命令查询网站:Linux 命令搜索引擎)

1. 文档编辑

1.1 grep

全称 global regular expression,用于查找文件里符合条件的字符串或正则表达式,语法如下:

grep [options] pattern [files]
grep [-abcEFGhHilLnqrsvVwxy][-A<lines>][-B<cols>][-C<cols>][-d<action>][-e<pattern>][-f<pattern>][--help][pattern][file...]
  • pattern:表示要查找的字符串或正则表达式
  • files:表示要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据

options 参数如下:

  • -a, --text : 不要忽略二进制的数据
  • -A<lines>, --after-context=<lines>:除了显示符合范本样式的那一列之外,并显示该行之后的内容
  • -b, --byte-offset:在显示符合样式的那一行之前,标示出该行第一个字符的编号
  • -B<lines>, --before-context=<lines>:除了显示符合样式的那一行之外,并显示该行之前的内容
  • -c, --count:计算符合样式的列数
  • -C<lines>, --context=<lines>, -<lines>:除了显示符合样式的那一行之外,并显示该行之前后的内容
  • -d <action>, --directories=<action>:当指定要查找的是目录而非文件时,必须使用这项参数,否则 grep 指令将回报信息并停止动作
  • -e<pattern>, --regexp=<pattern>:指定字符串做为查找文件内容的样式
  • -E, --extended-regexp:将样式为延伸的正则表达式来使用
  • -f<pattern>, --file=<pattern>:指定规则文件,其内容含有一个或多个规则样式,让 grep 查找符合规则条件的文件内容,格式为每行一个规则样式
  • -F, --fixed-regexp:将样式视为固定字符串的列表
  • -G, --basic-regexp:将样式视为普通的表示法来使用
  • -h, --no-filename:在显示符合样式的那一行之前,不标示该行所属的文件名称
  • -H, --with-filename:在显示符合样式的那一行之前,表示该行所属的文件名称
  • -i, --ignore-case:忽略字符大小写的差别
  • -l, --file-with-matches:列出文件内容符合指定的样式的文件名称
  • -L, --files-without-match:列出文件内容不符合指定的样式的文件名称
  • -n, --line-number:在显示符合样式的那一行之前,标示出该行的列数编号
  • -o, --only-matching:只显示匹配 PATTERN 部分
  • -q, --quiet 或--silent:不显示任何信息
  • -r, --recursive:此参数的效果和指定 “-d recurse” 参数相同
  • -s, --no-messages:不显示错误信息
  • -v, --invert-match:显示不包含匹配文本的所有行
  • -V, --version:显示版本信息
  • -w, --word-regexp:只显示全字符合的列
  • -x, --line-regexp:只显示全列符合的列
  • -y:此参数的效果和指定 “-i” 参数相同

1、在文件中查找字符串,并打印匹配的行

2、在文件夹中递归查找所有文件中匹配字符串的行,并打印匹配行所在的文件名和行号

1.2 wc

用于计算字数,可以计算文件的 Byte 数、字数、或是列数,若不指定文件名称或是所给予的文件名为 “-”,则会从标准输入设备读取数据,语法如下:

wc [-clw][--help][--version][file...]
  • -c, --bytes, --chars:只显示 Bytes 数
  • -l, --lines:显示行数
  • -w, --words:只显示字数

默认的情况下将计算指定文件的行数、字数以及字节数

1.3 sort

用于将文本文件内容加以排序,语法如下:

sort [-bcdfimMnr][-o<target>][-t<split>][+<start>-<end>][--help][--verison][file][-k field1[,field2]]
  • -b:忽略每行前面开始出的空格字符
  • -c:检查文件是否已经按照顺序排序
  • -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符
  • -f:排序时,将小写字母视为大写字母
  • -i:排序时,除了 040 至 176 之间的 ASCII 字符外,忽略其他的字符
  • -m:将几个排序好的文件进行合并
  • -M:将前面 3 个字母依照月份的缩写进行排序
  • -n:依照数值的大小排序
  • -u:意味着是唯一的(unique),输出的结果是去完重了的
  • -o<target>:将排序后的结果存入指定的文件
  • -r:以相反的顺序来排序
  • -t<split>:指定排序时所用的栏位分隔字符
  • +<start>-<end>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位
  • [-k field1[,field2]]:按指定的列进行排序

原内容顺序与排序后顺序

2. 文件管理

2.1 cat

全称 concatenate,用于连接文件并打印到标准输出设备上,语法如下:

cat [-AbeEnstTuv] [--help] [--version] file
  • -n, --number:由 1 开始对所有输出的行数编号
  • -b, --number-nonblank:和 -n 相似,只不过对于空白行不编号
  • -s, --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -v, --show-nonprinting:使用 ^M- 符号显示控制字符,除了 LFD(Line Feed,即换行符 \n) 和 TAB 之外
  • -E, --show-ends :在每行结束处显示 $
  • -T, --show-tabs:将 TAB 字符显示为 ^I
  • -A, --show-all:等价于 -vET
  • -e:等价于 -vE
  • -t:等价于 -vT

1、查看文件

2、带行号查看

3、查看内存使用情况的总览,不会显示具体的进程使用情况

cat /proc/meminfo

2.2 chmod

全称 change mode,控制用户对文件的权限,Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

只有文件所有者和超级用户可以修改文件或目录的权限,可以使用符号模式或绝对模式(八进制数字模式)指定文件的权限

1、符号模式,语法如下:

chmod [-cfvR] [--help] [--version] mode file...
  • -c:若该文件权限确实已经更改,才显示其更改动作
  • -f:若该文件权限无法被更改也不要显示错误讯息
  • -v:显示权限变更的详细资料
  • -R:对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

mode:权限设定字串,语法如下:

[ugoa...][[+-=][rwxX]...][,...]
  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
  • + 表示增加权限,- 表示取消权限,= 表示唯一设定权限
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行

2、八进制数字模式,语法如下:

chmod abc file

其中 a,b,c 各为一个数字,分别表示 User、Group、及 Other 的权限,r=4,w=2,x=1

  • rwx:4+2+1=7
  • rw-:4+2=6
  • r-x:4+1=5

2.3 find

用于在指定目录下查找文件和目录,语法如下:

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

  • expression:用于指定查找的条件,可以是文件名、文件类型、文件大小等

    • -name pattern:按文件名查找,支持使用通配符 *?
    • -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等
    • -size [+-]size[cwbkMG]:按文件大小查找,支持使用 +- 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)
    • -user username:按文件所有者查找
    • -group groupname:按文件所属组查找
    • -amin +n:查找在 n 分钟之前被访问过的目录或文件,大于 n
    • -atime n:查找在 n 天前(指定那一天)被访问过的目录或文件,等于 n
    • -cmin -n:查找在 n 分钟内状态发生变化的目录或文件(例如权限),小于 n
    • -ctime 0:查找在当天内状态发生变化的目录或文件(例如权限),当前时间
    • -mmin +n:查找在 n 分钟之前被修改过的目录或文件
    • -mtime -n:查找在 n 天内被修改过的目录或文件
  • action:可选,用于对匹配到的文件执行操作,比如删除、复制等

1、在 log/ 目录下查找名称为 access 开头的目录或文件

2、查找 3 天前访问过的目录或文件

3、查看目录及其子目录的文件个数,先使用 find 查询到所有文件,然后通过管道符链接 wc 来计算行数,即文件个数

find ./ -type f | wc -l

2.4 less

随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页,语法如下:

less [options] file 
  • -b <缓冲区大小>:设置缓冲区的大小
  • -e:当文件显示结束后,自动离开
  • -f:强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g:只标志最后搜索的关键词
  • -i:忽略搜索时的大小写
  • -m:显示类似 more 命令的百分比
  • -N:显示每行的行号
  • -o <文件名>:将 less 输出的内容在指定文件中保存起来
  • -Q:不使用警告音
  • -s:显示连续空行为一行
  • -S:行过长时间将超出部分舍弃
  • -x <数字>:将"tab"键显示为规定的数字空格

常用操作命令:

  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b:向上翻一页
  • d:向后翻半页
  • h:显示帮助界面
  • Q:退出 less 命令
  • u:向前滚动半页
  • y:向前滚动一行
  • 空格键:滚动一页
  • 回车键:滚动一行
  • [pagedown]:向下翻动一页
  • [pageup]:向上翻动一页

1、查看文件

2、向下搜索

2.5 more

类似 cat,不过会以一页一页的形式显示,语法如下:

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [files..]
  • -num:一次显示的行数
  • -d:提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -l:取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f:计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p:不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c:跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s:当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u:不显示下引号(根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern:在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num:从第 num 行开始显示

常用操作命令:

  • Enter:向下 n 行,需要定义,默认为 1 行
  • Ctrl+F:向下滚动一屏
  • 空格键:向下滚动一屏
  • Ctrl+B:返回上一屏
  • =:输出当前行的行号
  • :f:输出文件名和当前行的行号
  • V:调用 vi 编辑器
  • !命令:调用 Shell,并执行命令
  • q:退出 more

1、查看文件

2、输出当前文件名和当前行行号

2.6 mv

全称 move file,用来为文件或目录改名、或将文件或目录移入其它位置,语法如下:

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

1、重命名

2、移动

2.7 cp、scp

2.7.1 cp

全称 copy file,主要用于复制文件或目录,语法如下:

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

1、复制文件

2、复制文件夹下所有内容

2.7.2 rcp

用于复制远程文件或目录,语法如下:

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

2.8 rm

全称 remove,用于删除一个文件或者目录,语法如下:

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

1、删除文件

2、删除文件夹及其子内容

3、直接删除无需确认

2.9 touch

用于修改文件或者目录的时间属性,包括存取时间和更改时间,若文件不存在,系统会建立一个新的文件,语法如下:

touch [-acfm][-d<datetime>][-r<file>] [-t<datetime>][--help][--version][file…]
  • a:改变档案的读取时间记录
  • m:改变档案的修改时间记录
  • c:假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样
  • f:不使用,是为了与其他 unix 系统的相容性而保留
  • r:使用参考档的时间记录,与 --file 的效果一样
  • d:设定时间与日期,可以使用各种不同的格式
  • t:设定档案的时间记录,格式与 date 指令相同
  • --no-create:不会建立新档案

1、文件不存在,创建文件

2、文件已存在,修改文件的时间属性

2.10 which

用于查找文件,会在环境变量 $PATH 设置的目录里查找符合条件的文件,语法如下:

which [file...]
  • -n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
  • -p<文件名长度>:与 -n 参数相同,但此处的 <文件名长度> 包括了文件的路径
  • -w:指定输出时栏位的宽度
  • -V:显示版本信息

查找 Java

2.11 whereis

用于查找文件,会在特定目录中查找符合条件的文件,这些文件应属于原始代码、二进制文件,或是帮助文件,语法如下:

whereis [-bfmsu][-B <folder>...][-M <folder>...][-S <folder>...][file...]
  • -b:只查找二进制文件
  • -B<folder>:只在设置的目录下查找二进制文件
  • -f:不显示文件名前的路径名称
  • -m:只查找说明文件
  • -M<folder>:只在设置的目录下查找说明文件
  • -s:只查找原始代码文件
  • -S<folder>:只在设置的目录下查找原始代码文件
  • -u:查找不包含指定类型的文件

查找 Java

3. 磁盘管理

3.1 df

全称 disk free,用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计,语法如下:

df [options]... [file]...
  • -a, --all:包含所有的具有 0 Blocks 的文件系统
  • --block-size={size}:指定大小的 Blocks
  • -h, --human-readable:使用人类可读的格式
  • -H, --si:很像 -h,但是用 1000 为单位而不是用 1024
  • -i, --inodes:列出 inode 资讯,不列出已使用 block
  • -k, --kilobytes:就像是 --block-size=1024
  • -l, --local:限制列出的文件结构
  • -m, --megabytes:就像 --block-size=1048576
  • --no-sync:取得资讯前不 sync(预设值)
  • -P, --portability:使用 POSIX 输出格式
  • --sync:在取得资讯前 sync
  • -t, --type=type:限制列出文件系统的类型
  • -T, --print-type:显示文件系统的形式
  • -x, --exclude-type=type:限制列出文件系统不要显示类型

1、查看磁盘使用情况

2、查看目录中的可用空间量

3.2 du

全称 disk usage,用于显示目录或文件的大小,语法如下:

du [-abcDhHklmsSx][-L <link>][-X <file>][--block-size][--exclude=<file>][--max-depth=<level>][--help][--version][file]
  • -a, -all:显示目录中个别文件的大小
  • -b, -bytes:显示目录或文件大小时,以 byte 为单位
  • -c, --total:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
  • -D, --dereference-args:显示指定符号连接的源文件大小
  • -h, --human-readable:以 K,M,G 为单位,提高信息的可读性
  • -H, --si:与 -h 参数相同,但是 K,M,G 是以 1000 为换算单位
  • -k, --kilobytes:以 1024 bytes 为单位
  • -l, --count-links:重复计算硬件连接的文件
  • -L<link>, --dereference<link>:显示选项中所指定符号连接的源文件大小
  • -m, --megabytes:以 1MB 为单位
  • -s, --summarize:仅显示指定目录或文件的总大小,而不显示其子目录的大小
  • -S, --separate-dirs:显示个别目录的大小时,并不含其子目录的大小
  • -x, --one-file-xystem:以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过
  • -X<file>, --exclude-from=<file>:在 <文件> 指定目录或文件
  • --exclude=<file>:略过指定的目录或文件
  • --max-depth=<level>:超过指定层数的目录后,予以忽略

1、查看当前目录下面的子目录的目录大小和当前目录的总的大小

2、查看文件大小

3.3 rmdir

全称 remove directory,删除空的目录,语法如下:

rmdir [-p] dirName
  • -p:当子目录被删除后使它也成为空目录的话,则顺便一并删除

3.4 tree

用于以树状图列出目录的内容,会列出指定目录下的所有文件,包括子目录里的文件,语法如下:

tree [-aACdDfFgilnNpqstux][-I <pattern>][-P <pattern>][folder...]
  • -a:显示所有文件和目录
  • -A:使用 ASNI 绘图字符显示树状图而非以 ASCII 字符组合
  • -C:在文件和目录清单加上色彩,便于区分各种类型
  • -d:显示目录名称而非内容
  • -D:列出文件或目录的更改时间
  • -f:在每个文件或目录之前,显示完整的相对路径名称
  • -F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*“,”/“,”=“,”@“,”|"号
  • -g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码
  • -i:不以阶梯状列出文件或目录名称
  • -L:level 限制目录显示层级
  • -l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录
  • -n:不在文件和目录清单加上色彩
  • -N:直接列出文件和目录名称,包括控制字符
  • -p:列出权限标示
  • -P <pattern>:只显示符合范本样式的文件或目录名称
  • -q:用"?"号取代控制字符,列出文件和目录名称
  • -s:列出文件或目录大小
  • -t:用文件和目录的更改时间排序
  • -u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码
  • -x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外

树形查看目录

3.5 stat

用于以文字的格式显示 inode 内容,语法如下:

stat [file]

3.6 ls

全称 list directory contents,用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录),语法如下:

 ls [-alrtAFR] [name...]
  • -a:显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -d:只列出目录(不递归列出目录内的文件)
  • -l:以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等
  • -r:倒序显示文件和目录
  • -t:将按照修改时间排序,最新的文件在最前面
  • -A:同 -a,但不列出 “.” (目前目录) 及 “…” (父目录)
  • -F:在列出的文件名称后加一符号;例如可执行档则加 “*”,目录则加 “/”
  • -R:递归显示目录中的所有文件和子目录

1、查看指定目录下的所有目录及文件

2、查看当前目录的文件个数,先使用 ls 查看所有目录及文件,然后通过管道符链接 grep 查找匹配文件,最后通过管道符链接 wc 计算个数

ls -l | grep "^-" | wc -l

3、递归显示指定目录中的所有文件和子目录

4. 系统管理

4.1 date

用来显示或设定系统的日期与时间,语法如下:

date [OPTION]... [+FORMAT]
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
  • -d, --date=STRING:通过字符串显示时间格式,字符串不能是’now’
  • -f, --file=DATEFILE:类似于–date; 一次从 DATEFILE 处理一行
  • -I[FMT], --iso-8601[=FMT]:按照 ISO 8601 格式输出时间,FMT 可以为’date’(默认),‘hours’,‘minutes’,‘seconds’,‘ns’。 可用于设置日期和时间的精度,例如:2006-08-14T02:34:56-0600
  • -R, --rfc-2822:按照 RFC 5322 格式输出时间和日期,例如:Mon, 14 Aug 2006 02:34:56 -0600
  • --rfc-3339=FMT:按照 RFC 3339 格式输出,FMT 可以为 ‘date’、‘seconds’、‘ns’ 中的一个,可用于设置日期和时间的精度, 例如:2006-08-14 02:34:56-06:00
  • -r, --reference=FILE:显示文件的上次修改时间
  • -s, --set=STRING:根据字符串设置系统时间
  • -u, --utc, --universal:显示或设置协调世界时(UTC)

1、显示当前时间

2、格式化输出

4.2 ps

全称 process status,用于显示当前进程的状态,类似于 Windows 的任务管理器,语法如下:

ps [options] [--help]
  • -a:显示除自己以外的所有进程
  • -u:显示以用户格式显示进程信息
  • -x:显示没有控制终端的进程
  • -e:显示所有进程,等同于 -A
  • -f:显示详细的进程信息,包括进程的父进程 ID(PPID)、进程的启动时间、CPU 利用率等
  • -l:显示长格式输出,包括进程的命令行参数、进程状态等
  • -p:仅显示指定 PID 的进程信息
  • -o:自定义输出格式,可以指定要显示的字段
  • -C:仅显示指定名称的命令的进程信息
  • -N:显示与指定的进程名称相反的进程信息
  • -M:使用内存作为单位显示进程内存使用量
  • --sort:按指定的字段进行排序显示
  • -H:显示进程的层级关系,即进程的树状结构
  • -T:显示进程的线程信息
  • -k:按照内核分配的进程号显示进程信息

常用组合命令:

1、显示所有进程的详细信息

ps -ef

2、可以通过管道符链接 grep 查询进程

3、显示所有包含其他使用者的进程,包括进程的用户、PID、CPU 占用率、内存占用量、启动时间等

ps -aux

4.3 kill

用于删除执行中的程序或工作,语法如下:

kill [-s <sign>][process]
kill [-l <sign>]
  • -l <sign>:若不加 <信息编号> 选项,则 -l 参数会列出全部的信息名称
  • -s <sign>:指定要送出的信息
  • [process]:可以是程序的 PID 或是 PGID,也可以是工作编号

最常用的信号是:

  • 1(HUP):重新加载进程
  • 9(KILL):杀死一个进程
  • 15(TERM):正常停止一个进程

1、杀死进程

kill pid

2、强制杀死进程

kill -9 pid

4.4 top

一个在 Linux 和其他类 Unix 系统上常用的实时系统监控工具,它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息,语法如下:

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
  • -d <seconds>:指定 top 命令的刷新时间间隔,单位为秒
  • -n <count>:指定 top 命令运行的次数后自动退出
  • -p <PID>:仅显示指定进程 ID 的信息
  • -u <username>:仅显示指定用户名的进程信息
  • -H:在进程信息中显示线程详细信息
  • -i:不显示闲置(idle)或无用的进程
  • -b:以批处理(batch)模式运行,直接将结果输出到文件
  • -c:显示完整的命令行而不截断
  • -S:累计显示进程的 CPU 使用时间

实时显示进程信息

  • PID:进程的标识符
  • USER:运行进程的用户名
  • PR:进程的优先级
  • NI:Nice 值,进程的优先级调整值
  • VIRT:虚拟内存,进程使用的虚拟内存大小
  • RES:常驻内存,进程实际使用的物理内存大小
  • SHR:共享内存,进程共享的内存大小
  • %CPU:进程占用 CPU 的使用率
  • %MEM:进程占用内存的使用率
  • TIME+:进程的累计 CPU 时间

4.5 free

用于显示内存的使用情况,包括实体内存、虚拟的交换文件内存、共享内存区段以及系统核心使用的缓冲区等,语法如下:

free [-bkmotV][-s <seconds>]
  • -b:以 Byte 为单位显示内存使用情况
  • -k:以 KB 为单位显示内存使用情况
  • -m:以 MB 为单位显示内存使用情况
  • -h:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值
  • -o:不显示缓冲区调节列
  • -s<seconds>:持续观察内存使用状况
  • -t:显示内存总和列
  • -V:显示版本信息

查看内存使用情况

5. 备份压缩

5.1 zip

用于压缩文件,压缩后的文件后缀名为 .zip,语法如下:

zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <folder>][-ll][-n <suffix>][-t <datetime>][-<effect>][zipfile][file...][-i <pattern>][-x <pattern>]
  • -A:调整可执行的自动解压缩文件
  • -b<folder>:指定暂时存放文件的目录
  • -c:替每个被压缩的文件加上注释
  • -d:从压缩文件内删除指定的文件
  • -D:压缩文件内不建立目录名称
  • -f:更新现有的文件
  • -F:尝试修复已损坏的压缩文件
  • -g:将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件
  • -i<pattern>:只压缩符合条件的文件
  • -j:只保存文件名称及其内容,而不存放任何目录名称
  • -J:删除压缩文件前面不必要的数据
  • -k:使用 MS-DOS 兼容格式的文件名称
  • -l:压缩文件时,把 LF 字符置换成 LF+CR 字符
  • -ll:压缩文件时,把 LF+CR 字符置换成 LF 字符
  • -L:显示版权信息
  • -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
  • -n<suffix>:不压缩具有特定字尾字符串的文件
  • -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
  • -q:不显示指令执行过程
  • -r:递归处理,将指定目录下的所有文件和子目录一并处理
  • -S:包含系统和隐藏文件
  • -t<datetime>:把压缩文件的日期设成指定的日期
  • -T:检查备份文件内的每个文件是否正确无误
  • -u:与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
  • -v:显示指令执行过程或显示版本信息
  • -V:保存 VMS 操作系统的文件属性
  • -w:在文件名称里假如版本编号,本参数仅在 VMS 操作系统下有效
  • -x<pattern>:压缩时排除符合条件的文件
  • -X:不保存额外的文件属性
  • -y:直接保存符号连接,而非该连接所指向的文件,本参数仅在 UNIX 之类的系统下有效
  • -z:替压缩文件加上注释
  • -$:保存第一个被压缩文件所在磁盘的卷册名称
  • -<pattern>:压缩效率是一个介于 1-9 的数值

压缩文件

5.2 unzip

用于解压缩 zip 文件,语法如下:

unzip [-cflptuvz][-agCjLMnoqsVX][-P <password>][.zipfile][file][-d <folder>][-x <file>]
  • -c:将解压缩的结果显示到屏幕上,并对字符做适当的转换
  • -f:更新现有的文件
  • -l:显示压缩文件内所包含的文件
  • -p:与 -c 参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
  • -t:检查压缩文件是否正确
  • -u:与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
  • -v:执行时显示详细的信息
  • -z:仅显示压缩文件的备注文字
  • -a:对文本文件进行必要的字符转换
  • -b:不要对文本文件进行字符转换
  • -C:压缩文件中的文件名称区分大小写
  • -j:不处理压缩文件中原有的目录路径
  • -L:将压缩文件中的全部文件名改为小写
  • -M:将输出结果送到 more 程序处理
  • -n:解压缩时不要覆盖原有的文件
  • -o:不必先询问用户,unzip 执行后覆盖原有文件
  • -P<password>:使用 zip 的密码选项
  • -q:执行时不显示任何信息
  • -s:将文件名中的空白字符转换为底线字符
  • -V:保留 VMS 的文件版本信息
  • -X:解压缩时同时回存文件原来的 UID/GID
  • [.zipfile]:指定 .zip 压缩文件
  • [file]:指定要处理 .zip 压缩文件中的哪些文件
  • -d<folder>:指定文件解压缩后所要存储的目录
  • -x<file>:指定不要处理 .zip 压缩文件中的哪些文件

1、查看压缩文件有哪些内容

2、解压文件

5.3 tar

全称 tape archive,用于创建和解压归档文件的命令行工具,可以用来将多个文件和目录组合成一个单一的归档文件,也可以用来解压已经存在的归档文件,语法如下:

tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>][-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>][-X <范本文件>][-<设备编号><存储密度>][--after-date=<日期时间>][--atime-preserve][--backuup=<备份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<范本样式>][--force-local][--group=<群组名称>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用户名称>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<区块数目>][--recursive-unlink][--remove-files][--rsh-command=<执行指令>][--same-owner][--suffix=<备份字尾字符串>][--totals][--use-compress-program=<执行指令>][--version][--volno-file=<编号文件>][文件或目录...]
  • -c:创建新的归档文件
  • -v:显示详细输出,列出被添加到归档中的文件
  • -f:指定归档文件的名称
  • -x:解压归档文件
  • -t:列出归档文件中的内容
  • -r:向已存在的归档中追加文件
  • -z:使用 gzip 压缩归档文件
  • -j:使用 bzip2 压缩
  • -J:使用 xz 压缩

1、创建归档文件,将文件或目录打包到归档文件中

2、列出归档文件中的内容

3、解压归档文件,还原其中包含的文件和目录

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fan 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值