Linux 命令

获得命令的使用帮助:
  内部命令:help command(命令)
  外部命令:command --help

man命令

man:命令手册

语法:man(选项)(参数)
参数:
    -a:在所有的man帮助手册中搜索;
    -f:等价于whatis指令,显示给定关键字的简短描述信息;
    -P:指定内容时使用分页程序;
    -M:指定man手册搜索的路径。

NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照

 info命令

info:在线文档

例子:info ls

type和whatis命令

type:显示指定命令的类型,判断给出的指令是内部指令还是外部指令。

whatis:用于查询一个命令执行什么功能,并将查询结果打印到终端上。

ls命令 

ls:列出目录下的所有子目录或者文件

语法:ls [-alrtAFR] [name...]
参数:
    -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为”.”的视为隐藏档,不会列出)
    -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    -r 将文件以相反次序显示(原定依英文字母次序)
    -t 将文件依建立时间之先后次序列出
    -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
    -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
    -R 若目录下有文件,则以下之文件亦皆依序列出

cd命令

cd:切换目录

cd /root/Docements # 切换到目录/root/Docements
cd ./path          # 切换到当前目录下的path目录中,“.”表示当前目录  
cd ../path         # 切换到上层目录中的path目录中,“..”表示上一层目录
cd ~USERNAME       # 进入指定用户的家目录
cd -        #在当前目录和前一次所在的目录之间来回切换    

pwd和date命令

pwd:打印目前所在的工作目录的绝对路径

date:时间管理

语法:date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
参数:
    -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
    –help : 显示辅助讯息
    -s datestr : 将系统时间设为 datestr 中所设定的时间
    -u : 显示目前的格林威治时间
    –version : 显示版本编号
例子:显示当前时间
    # date
    三 5月 12 14:08:12 CST 2010
    # date '+%c' 
    2010年05月12日 星期三 14时09分02秒
    # date '+%D' //显示完整的时间
    05/12/10
    # date '+%x' //显示数字日期,年份两位数表示
    2010年05月12日
    # date '+%T' //显示日期,年份用四位数表示
    14:09:31
    # date '+%X' //显示24小时的格式
    14时09分39秒
% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 19701100:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
时间格式
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
日期格式

mkdir命令

mkdir:创建空目录

语法:mkdir [-p] dirName
参数:
    -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
    -p, --parents  递归创建, 
    -v, --verbose  每次创建新目录都显示信息
例子:
    mkdir -pv /mnt/test/{x/m,y}/z	# 命令行展开,会创建两个目录一个x,一个y
    mkdir -pv {a,d}_{b,c}   # a_b a_c d_b d_c
    mkdir {1..4}{1..4}     # 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44

touch和tree命令

touch:创建文件
tree:查看目录树

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

rmdir和rm命令

rmdir:删除空目录

rm:删除目录或文件

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

cp命令

cp:复制文件

语法:cp [options] source dest 或 cp [options] source... directory
参数:
    -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
    -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
    -f:覆盖已经存在的目标文件而不给出提示。
    -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答”y”时目标文件将被覆盖。
    -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
    -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
    -l:不复制文件,只是生成链接文件。

mv命令

mv 移动文件,修改目录或文件名称

语法:mv [options] source dest
   mv [options] source... directory
参数:
    -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    -i :若目标文件已经存在,就会询问是否覆盖
    -u :若目标文件已经存在,且比目标文件新,才会更新

cat命令

cat:查看文件内容

语法:cat [-AbeEnstTuv] [--help] [--version] fileName
参数:
    -n 或 –number:由 1 开始对所有输出的行数编号。
    -b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。
    -s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    -v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    -E 或 –show-ends : 在每行结束处显示 $。
    -T 或 –show-tabs: 将 TAB 字符显示为 ^I。
    -e : 等价于 -vE。
    -A, –show-all:等价于 -vET。
    -e:等价于”-vE”选项;
    -t:等价于”-vT”选项;
例子:查看多个文件
    cat a.txt b.txt

more命令

more:查看文件内容,可以分屏显示

语法:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数:
    -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 行开始显示
    fileNames 欲显示内容的文档,可为复数个数
常用操作命令:
    Enter  向下n行,需要定义。默认为1行
    k      向上1行
    Ctrl+F 或 空格键  向下滚动一屏
    Ctrl+B 或 b      返回上一屏
    =  输出当前行的行号
    :f 输出文件名和当前行的行号
    V 调用vi编辑器
    !命令 调用Shell,并执行命令
    q 退出more

less命令

less:查看文件内容,可以分屏显示

语法:less [参数] 文件
参数:
    -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.全屏导航
    ctrl + F – 向前移动一屏
    ctrl + B – 向后移动一屏
    ctrl + D – 向前移动半屏
    ctrl + U – 向后移动半屏
2.单行导航
    j – 向前移动一行
    k – 向后移动一行
3.其它导航
    G – 移动到最后一行
    g – 移动到第一行
    q / ZZ – 退出 less 命令
4.其它有用的命令
    v – 使用配置的编辑器编辑当前文件
    h – 显示 less 的帮助文档
    &pattern – 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
    ma – 使用 a 标记文本的当前位置
    ‘a – 导航到标记 a 处

head命令

head:查看文件前n行,默认是10

语法:head(参数)(文件)
参数:
    -n<数字>:指定显示头部内容的行数;
    -c<字符数>:指定显示头部内容的字符数;
    -v:总是显示文件名的头信息;
    -q:不显示文件名的头信息。

tail命令

tail:查看文件后n行,默认是10

语法:tail(参数)(文件)
参数:
    --retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
    -c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;
    -f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;
    -F:与选项“-follow=name”和“--retry"连用时功能相同;
    -n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
    --pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
    -q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
    -s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
    -v或——verbose:当有多个文件参数时,总是输出各个文件名;
    --help:显示指令的帮助信息;
    --version:显示指令的版本信息。

cut命令

cut:文本剪切

语法:cut(参数)(文件)
参数:
    -b:仅显示行中指定直接范围的内容;
    -c:仅显示行中指定范围的字符;
    -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
    -f:显示指定字段的内容;
    -n:与“-b”选项连用,不分割多字节字符;
    --complement:补足被选择的字节、字符或字段;
    --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
    --help:显示指令的帮助信息;
    --version:显示指令的版本信息。
例子:
    cut -d: -f1,3 aa.txt	# 打印1和3字段
    cut -d: -f1-3 aa.txt	# 打印1到3字段

join命令

join:文本合并

语法:join(参数)(文件)
参数:
    -a<1或2>:除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行;
    -e<字符串>:若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串;
    -i或--ignore-case:比较栏位内容时,忽略大小写的差异;
    -o<格式>:按照指定的格式来显示结果;
    -t<字符>:使用栏位的分割字符;
    -v<1或2>:更-a相同,但是只显示文件中没有相同栏位的行;
    -1<栏位>:连接[文件1]指定的栏位;
    -2<栏位>:连接[文件2]指定的栏位。
文件1:要进行合并操作的第1个文件参数;
文件2:要进行合并操作的第2个文件参数。

sort命令

sort:根据第一个字符在ASCLL码表中升序排序

语法:sort(参数)(文件)
参数:
    -b:忽略每行前面开始出的空格字符;
    -c:检查文件是否已经按照顺序排序;
    -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
    -k:按第几个字段排序
        sort -t: -k3 /etc/passwd
    -u:相同的行只显示一次
    -f:排序时,将小写字母视为大写字母;
    -i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
    -m:将几个排序号的文件进行合并;
    -M:将前面3个字母依照月份的缩写进行排序;
    -n:依照数值的大小排序;
    -o<输出文件>:将排序后的结果存入制定的文件;
    -r:以相反的顺序来排序;
    -t<分隔字符>:指定排序时所用的栏位分隔字符;
    +<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。    

uniq命令

uniq:略过相邻的重复行

语法:uniq(参数)(文件)
参数:
    -d:显示重复行
    -D:显示所有重复行
    -c:显示重复的次数

wc命令

wc:用于计算字数

语法:wc(参数)(文件)
参数:
    -c或–bytes或–chars 只显示Bytes数。
    -l或–lines 只显示列数。
    -w或–words 只显示字数。
    -m:只显示字符
    -L:最长的一行包含多少个字符
    –help 在线帮助。
    –version 显示版本信息。

split命令

split:将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。

语法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
     split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]
参数:
    -b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位,单位为 byte。
    -C:每一输出档中,单行的最大 byte 数。
    -d:使用数字作为后缀。
    -l:值为每一输出档的列数大小。
    -<行数> : 指定每多少行切成一个小文件
    –help : 在线帮助
    –version : 显示版本信息
    输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。
    -a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。
例子:把 rec_mic_0.pcm 音频切分,每个切分的文件1024,切分为rec_mic_0.pcm-0000后缀,后缀长度为4
    split -b 1024 rec_mic_0.pcm -d -a 4 rec_mic_0.pcm-

tr命令

tr:转换或删除字符

语法:tr [-cdst][--help][--version][第一字符集][第二字符集]  
tr [OPTION]…SET1[SET2]
参数:
    -c, –complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
    -d, –delete:删除指令字符
    -s, –squeeze-repeats:缩减连续重复的字符成指定的单个字符
    -t, –truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
    –help:显示程序用法信息
    –version:显示程序本身的版本信息
例子:将文件testfile中的小写字母全部转换成大写字母,此时,可使用如下命令:
    cat testfile |tr a-z A-Z 

    大小写转换,也可以通过[:lower][:upper]参数来实现。例如使用如下命令:
    cat testfile |tr [:lower:] [:upper:]

history命令

history:历史命令

语法:history(选项)(参数)
选项:
    -c:清空当前历史命令;
    -a:将历史命令缓冲区中命令写入历史命令文件中;
    -r:将历史命令文件中的命令读入当前历史命令缓冲区;
    -w:将当前历史命令缓冲区命令写入历史命令文件中。
    !338:执行第338个命令
    -d:删除指定位置的命令 
            history -d 100 3	# 第一百个开始连续删三个    

命令历史的使用技巧

命令历史的使用技巧:

!n:执行命令历史中的第n条命令
!-n:执行命令历史中的倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指定字符串开头的命令
!$:引用前一个命令的最后一个参数
Esc 松开按 . :引用前一个命令的最后一个参数
alt+.:引用前一个命令的最后一个参数

alias命令

alias:命令别名

语法:alias[别名]=[指令名称]
     alias 新的命令='原命令 -选项/参数'

关机重启后别名会消失,永久生效需要写在家目录的 .bash_profile 文件里

unalias和useradd命令

unalias:取消别名

useradd:添加用户

语法:useradd(选项)(参数)
选项:
    -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
    -d<登入目录>:指定用户登入时的启始目录;
    -D:变更预设值;
    -e<有效期限>:指定帐号的有效期限;
    -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
    -g<群组>:指定用户所属的群组;
    -G<群组>:指定用户所属的附加群组;
    -m:自动建立用户的登入目录;
    -M:不要自动建立用户的登入目录;
    -n:取消建立以用户名称为名的群组;
    -r:建立系统帐号;
    -s<shell>:指定用户登入后所使用的shell;
    -u<uid>:指定用户id。
例子:
    useradd –g sales jack –G company,employees    //-g:加入主要组、-G:加入次要组

userdel命令

userdel:删除用户,不会删除家目录

语法:userdel [-r][用户名]
选项:
    -f:强制删除用户,即使用户当前已登录;
    -r:删除用户的同时,删除与用户相关的所有文件。

usermod命令 

usermod:修改用户账号属性

语法:usermod(选项)(用户名)
选项:
    -c<备注>:修改用户帐号的备注文字;
    -d<登入目录>:修改用户登入时的目录;
    -e<有效期限>:修改帐号的有效期限;
    -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
    -g<群组>:修改用户所属的群组;
    -G<群组>;修改用户所属的附加群组;
    -l<帐号名称>:修改用户帐号名称;
    -L:锁定用户密码,使密码无效;
    -s<shell>:修改用户登入后所使用的shell;
    -u<uid>:修改用户ID;
    -U:解除密码锁定。

chsh、chfn和passwd命令

chsh:修改用户的默认shell
chfn:修改注视信息

passwd:修改用户密码

语法:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
选项:
    -d:删除密码,仅有系统管理者才能使用;
    -f:强制执行;
    -k:设置只有在密码过期失效后,方能更新;
    -l:锁住密码;
    -s:列出密码的相关信息,仅有系统管理者才能使用;
    -u:解开已上锁的帐号。

pwck命令

pwck:检查用户账号完整性

语法:pwck(选项)(参数)
选项:
    -q:仅报告错误信息;
    -s:以用户id排序文件“/etc/passwd”和“/etc/shadow”;
    -r:只读方式运行指令。
    id:查看用户的账号属性信息
    -u
    -g
    -G
    -n
参数:
    密码文件:指定密码文件的路径;
    影子文件:指定影子文件的路径。

finger命令

finger:查看用户账号信息

-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容;
-m:排除查找用户的真实姓名;
-s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;
-p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。

groupadd命令

groupadd:添加组

语法:groupadd(选项)(组名)
选项:
    -g:指定新建工作组的id;
    -r:创建系统工作组,系统工作组的组ID小于500;
    -K:覆盖配置文件“/ect/login.defs”;
    -o:允许添加组ID号不唯一的工作组。

groupmod命令

groupmod:修改组

语法:groupmod(选项)(组名)
选项:
    -g<群组识别码>:设置欲使用的群组识别码;
    -o:重复使用群组识别码;
    -n<新群组名称>:设置欲使用的群组名称。

groupdel命令

groupdel:删除组

语法:groupdel(组名)

gpasswf和chown命令

gpasswf:为组加密码

chown:改变文件属主

语法:chown(选项)(参数)
选项:
    -c或——changes:效果类似“-v”参数,但仅回报更改的部分;
    -f或--quite或——silent:不显示错误信息;
    -h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
    -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
    -v或——version:显示指令执行过程;
    --dereference:效果和“-h”参数相同;
    --help:在线帮助;
    --reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有        者与所属群组相同;
    --version:显示版本信息
参数:
    用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;
    文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符。

chmod命令

chmod:修改文件权限

权限范围的表示法如下:
    u User,即文件或目录的拥有者;
    g Group,即文件或目录的所属群组;
    o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
    a All,即全部的用户,包含拥有者,所属群组以及其他用户;
    r 读取权限,数字代号为“4”;
    w 写入权限,数字代号为“2”;
    x 执行或切换权限,数字代号为“1”;
    - 不具任何权限,数字代号为“0”;
    s 特殊功能说明:变更文件或目录的权限。
语法:chmod(选项)(参数)
选项:
    -c或——changes:效果类似“-v”参数,但仅回报更改的部分;
    -f或--quiet或——silent:不显示错误信息;
    -R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
    -v或——verbose:显示指令执行过程;
    --reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
    <权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
    <权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
    <权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;
例子:
    chmod u+rw a.txt # 属主添加rw权限
    chmod go=rw a.txt# go添加rw权限
    chmod g=r,o=re a.txt # 属组添加r权限,其他人添加re权限
    chmod a+rw a.txt # ugo添加rw权限
    chmod a-rw a.txt # ugo删除rw权限

用户:UID /etc/passwd
组:GID /etc/group

影子口令:
  用户密码:/etc/shadow
  组:/etc/gshadow

find命令

find:查找文件

语法:find(选项)(文件)
选项:
        -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
	-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
	-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
	-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
	-cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
	-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
	-daystart:从本日开始计算时间;
	-depth:从指定目录下最深层的子目录开始查找;
	-empty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
	-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
	-false:将find指令的回传值皆设为False;
	-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
	-follow:排除符号连接;
	-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
	-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
	-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
	-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
	-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
	-group<群组名称>:查找符合指定之群组名称的文件或目录;
	-help或——help:在线帮助;
	-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
	-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
	-inum<inode编号>:查找符合指定的inode编号的文件或目录;
	-ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
	-iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
	-links<连接数目>:查找符合指定的硬连接数目的文件或目录;
	-iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
	-ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
	-maxdepth<目录层级>:设置最大目录层级;
	-mindepth<目录层级>:设置最小目录层级;
	-mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
	-mount:此参数的效果和指定“-xdev”相同;
	-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
	-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
	-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
	-nogroup:找出不属于本地主机群组识别码的文件或目录;
	-noleaf:不去考虑目录至少需拥有两个硬连接存在;
	-nouser:找出不属于本地主机用户识别码的文件或目录;
	-ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;
	-path<范本样式>:指定字符串作为寻找目录的范本样式;
	-perm<权限数值>:查找符合指定的权限数值的文件或目录;
	-print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
	-print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
	-printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
	-prune:不寻找字符串作为寻找文件或目录的范本样式;
	-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
	-size<文件大小>:查找符合指定的文件大小的文件;
	-true:将find指令的回传值皆设为True;
	-type<文件类型>:只寻找符合指定的文件类型的文件;
	-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
	-used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
	-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
	-version或——version:显示版本信息;
	-xdev:将范围局限在先行的文件系统中;
	-xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。

tar命令 

tar:压缩解压

语法:tar(选项)(参数)
选项:
        -A或--catenate:新增文件到以存在的备份文件;
	-B:设置区块大小;
	-c或--create:建立新的备份文件;
	-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
	-d:记录文件的差别;
	-x或--extract或--get:从备份文件中还原文件;
	-t或--list:列出备份文件的内容;
	-z或--gzip或--ungzip:通过gzip指令处理备份文件;
	-Z或--compress或--uncompress:通过compress指令处理备份文件;
	-f<备份文件>或--file=<备份文件>:指定备份文件;
	-v或--verbose:显示指令执行过程;
	-r:添加文件到已经压缩的文件;
	-u:添加改变了和现有的文件到已经存在的压缩文件;
	-j:支持bzip2解压文件;
	-v:显示操作过程;
	-l:文件系统边界设置;
	-k:保留原有文件不覆盖;
	-m:保留文件不被覆盖;
	-w:确认压缩文件的正确性;
	-p或--same-permissions:用原来的文件权限还原文件;
	-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
	-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
	--exclude=<范本样式>:排除符合范本样式的文件。
例子:
    tar -cvf log.tar log2012.log    仅打包,不压缩! 
    tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 压缩 
    tar -jcvf log.tar.bz2 log2012.log  打包后,以 bzip2 压缩
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

zip命令

zip:压缩文件

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

unzip命令 

unzip:解压缩由zip命令压缩的“.zip”压缩包。

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

 gzip命令

gzip:压缩文件

语法:gzip(选项)(文件)
选项:
        -a或——ascii:使用ASCII文字模式;
	-d或--decompress或----uncompress:解开压缩文件;
	-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
	-h或——help:在线帮助;
	-l或——list:列出压缩文件的相关信息;
	-L或——license:显示版本与版权信息;
	-n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;
	-N或——name:压缩文件时,保存原来的文件名称及时间戳记;
	-q或——quiet:不显示警告信息;
	-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
	-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
	-t或——test:测试压缩文件是否正确无误;
	-v或——verbose:显示指令执行过程;
	-V或——version:显示版本信息;
	-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
	--best:此参数的效果和指定“-9”参数相同;
	--fast:此参数的效果和指定“-1”参数相同。    
例子:
    gzip -rv test6    # 递归的压缩目录

gunzip命令 

gunzip:解压

语法:gunzip(选项)(文件)
选项:
        -a或——ascii:使用ASCII文字模式;
	-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备;
	-f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
	-h或——help:在线帮助;
	-l或——list:列出压缩文件的相关信息;
	-L或——license:显示版本与版权信息;
	-n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理;
	-N或——name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上;
	-q或——quiet:不显示警告信息;
	-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
	-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
	-t或——test:测试压缩文件是否正确无误;
	-v或——verbose:显示指令执行过程;
	-V或——version:显示版本信息;    
例子:
    gunzip /opt/etc.zip.gz

ps命令

ps:显示运行的进程,还会显示进程的一些信息如pid, cpu和内存使用情况等:

语法:ps(选项)
选项:
        -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
	a:显示现行终端机下的所有程序,包括其他用户的程序。
	-A:显示所有程序。
	-c:显示CLS和PRI栏位。
	c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
	-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
	-d:显示所有程序,但不包括阶段作业领导者的程序。
	-e:此选项的效果和指定"A"选项相同。
	e:列出程序时,显示每个程序所使用的环境变量。
	-f:显示UID,PPIP,C与STIME栏位。
	f:用ASCII字符显示树状结构,表达程序间的相互关系。
	-g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
	g:显示现行终端机下的所有程序,包括群组领导者的程序。
	-G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
	h:不显示标题列。
	-H:显示树状结构,表示程序间的相互关系。
	-j或j:采用工作控制的格式显示程序状况。
	-l或l:采用详细的格式来显示程序状况。
	L:列出栏位的相关信息。
	-m或m:显示所有的执行绪。
	n:以数字来表示USER和WCHAN栏位。
	-N:显示所有的程序,除了执行ps指令终端机下的程序之外。
	-p<程序识别码>:指定程序识别码,并列出该程序的状况。
	p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
	r:只列出现行终端机正在执行中的程序。
	-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
	s:采用程序信号的格式显示程序状况。
	S:列出程序时,包括已中断的子程序资料。
	-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
	t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
	-T:显示现行终端机下的所有程序。
	-u<用户识别码>:此选项的效果和指定"-U"选项相同。
	u:以用户为主的格式来显示程序状况。
	-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
	U<用户名称>:列出属于该用户的程序的状况。
	v:采用虚拟内存的格式显示程序状况。
	-V或V:显示版本信息。
	-w或w:采用宽阔的格式来显示程序状况。 
	x:显示所有程序,不以终端机来区分。
	X:采用旧式的Linux i386登陆格式显示程序状况。
	-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
	-<程序识别码>:此选项的效果和指定"p"选项相同。
	--cols<每列字符数>:设置每列的最大字符数。
	--columns<每列字符数>:此选项的效果和指定"--cols"选项相同。
	--cumulative:此选项的效果和指定"S"选项相同。
	--deselect:此选项的效果和指定"-N"选项相同。
	--forest:此选项的效果和指定"f"选项相同。
	--headers:重复显示标题列。
	--help:在线帮助。
	--info:显示排错信息。
	--lines<显示列数>:设置显示画面的列数。
	--no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。
	--group<群组名称>:此选项的效果和指定"-G"选项相同。
	--Group<群组识别码>:此选项的效果和指定"-G"选项相同。
	--pid<程序识别码>:此选项的效果和指定"-p"选项相同。
	--rows<显示列数>:此选项的效果和指定"--lines"选项相同。
	--sid<阶段作业>:此选项的效果和指定"-s"选项相同。
	--tty<终端机编号>:此选项的效果和指定"-t"选项相同。
	--user<用户名称>:此选项的效果和指定"-U"选项相同。
	--User<用户识别码>:此选项的效果和指定"-U"选项相同。
	--version:此选项的效果和指定"-V"选项相同。
	--widty<每列字符数>:此选项的效果和指定"-cols"选项相同。
例子:
  ps aux
  ps -ef | grep vim

kill命令

kill:用于终止进程

语法:kill(选项)(参数)
选项:
    -a:当处理当前进程时,不限制命令名和进程号的对应关系;
    -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
    -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
    -s <信息名称或编号>:指定要送出的信息;
    -u:指定用户。
参数:
    进程或作业识别号:指定要删除的进程或作业。

killall命令

killall:使用进程的名称来杀死进程

语法:killall(选项)(参数)
选项:
    -e:对长名称进行精确匹配;
    -l:忽略大小写的不同;
    -p:杀死进程所属的进程组;
    -i:交互式杀死进程,杀死进程前需要进行确认;
    -l:打印所有已知信号列表;
    -q:如果没有进程被杀死。则不输出任何信息;
    -r:使用正规表达式匹配要杀死的进程名称;
    -s:用指定的进程号代替默认信号“SIGTERM”;
    -u:杀死指定用户的进程。
参数:
    进程名称:指定要杀死的进程名称。
例子:
    killall vi    # 杀死所有同名进程
原文地址:https://www.cnblogs.com/smile1/p/11966308.html