基础命令

命令格式:

命令字 [命令选项] [命令参数]

Command [option] [arguments]

文件类型

  • “ * “在文件名后: 可执行文件
  • “ @ “在文件名后: 符号链接
  • “ / “在文件名后: 目录名

1. ls:

列出目录内容

  • 语法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ls [-laAbBcCdDfFgGHiklLmnNopqQrRsStuUvxX] 
    [-I <范本样式>]
    [-T <跳格字数>]
    [-w <每列字符数>]
    [--block-size=<区块大小>]
    [--color=<使用时机>]
    [--format=<列表格式>]
    [-full-time]
    [--help]
    [--indicator-style=<标注样式>]
    [--quoting-style=<引号样式>]
    [--show-control-chars]
    [--sort=<排列方式>]
    [--time=<时间戳记>]
    [--version]
    [文件或目录...]
  • 常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    ls -a 列出所有文件,包括隐藏文件
    ls -l 详细列出目录下文件的权限、所有者、文件大小等详细信息 <简写为: ll>
    ls -F 列出目录下文件名及其目录类型
    ls -t 依照最后修改文件时间列出文件名
    ls -R 列出当前目录和其子目录的文件名
    ls -color=never 不以颜色方式显示
    ls -color=always 均以颜色方式显示
    ls -color=auto 系统自动判断

2. cd

切换用户当前目录

  • 1
    2
    3
    4
    cd [目的目录 (绝对路径或相对路径) ]
    cd ~ 返回用户宿主目录
    cd . 用户的当前目录
    cd .. 返回上一级目录

3. pwd

查看用户当前所在位置


4. mkdir

创建目录,可在创建目录的同时设置目录的权限

  • 语法
    1
    mkdir [-p] [--help] [--version] [-m <目录属性>] [目录名称]
    • 参数
      • -m<目录属性> 或 –mode<目录属性> : 建立目录同时设置目录的权限
      • -p 或 –parents: 若所要建立目录的上层目录目前尚未建立,一并建立
      • –help: 显示帮助
      • –verbose: 显示执行时的详细信息
      • –version: 显示版本信息
  • 同时建立多个目录
    1
    mkdir dir_name1 dir_name2 dir_name3

5. rmdir

删除空目录,所删除目录必需为空

  • 语法
    1
    rmdir [-p] [--help] [--ignore-fail-on-non-empty] [--verbose] [--version] [目录...]
    • 参数
      • -p 或 –parents: 删除指定目录后,若该目录的上层目录已变为空目录,则一并删除
      • –help: 在线帮助
      • –ignore-fail-on-non-empty: 忽略非空目录的错误信息
      • –verbose: 显示指令执行过程
      • –version: 显示版本信息
  • 同时删除多个空目录
    1
    rmdir dir_name1 dir_name2 dir_name3

6. cp

复制文件或目录,可以同时输入多个文件或目录复制进入最后一个目录下 (如果最后一个目录存在的情况下)

  • 语法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    cp [-abdfilpPrRsuvx]
    [-S <备份字尾字符串>]
    [-V <备份方式>]
    [--help]
    [--spares=<使用时机>]
    [--version]
    [源文件或目录]
    [目标文件或目录]
    [目的目录]
    • 部分参数
      • -b 或 –backup: 删除,覆盖目标文件之前的备份,备份文件会在字未添加备份字符串
      • -f 或 –force: 强制复制文件或目录,无论文件或目录是否存在
      • -l 或 –link: 对源文件建立硬连接而不是复制
      • -P 或 –preserve: 保留源文件或目录属性
      • -p 或 –parents: 保留源文件或目录的路径
      • -r 或 –recursive: 递归处理,将指定目录下文件与子目录一并处理
  • 常用命令
    1
    cp 被复制文件或目录 复制进目录

7. rm

删除文件或目录,删除目录必须加上 "-r"

  • 语法
    1
    rm [-dfirv] [--help] [--version] [文件或目录...]
    • 参数
      • -d 或 –directory: 直接把欲删除的目录的硬连接数据删成0,删除该目录。
      • -f 或 –force: 强制删除文件或目录。
      • -i 或 –interactive: 删除既有文件或目录之前先询问用户。
      • -r 或 -R 或 –recursive: 递归处理,将指定目录下的所有文件及子目录一并处理。
      • -v 或 –verbose  显示指令执行过程。
      • –help: 在线帮助。
      • –version: 显示版本信息。
  • 常用命令
    • rm -r: 循环删除到没有
    • rm -f: 强制删除
    • rm -rf: 强制删除文件

8. mv

对文件或目录进行重命名或移动

  • 语法
    1
    mv [-bfiuv] [--help] [-S <附加字尾>] [-V <方法>] [源文件或目录] [目标文件或目录]
    • 参数
      • -b 或 –backup:  若需覆盖文件,则覆盖前先行备份。
      • -f 或 –force:  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
      • -i 或 –interactive:  覆盖前先行询问用户。
      • -S<附加字尾> 或 –suffix=<附加字尾>:  与-b参数一并使用,可指定备份文件的所要附加的字尾。
      • -u 或 –update:  在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
      • -v 或 –verbose:  执行时显示详细的信息。
      • -V=<方法>或 –version-control=<方法>:  与-b参数一并使用,可指定备份的方法。
      • –help:  显示帮助。
      • –version:  显示版本信息。

9. cat

用于最简单的文本查看,显示文件没有停顿,从第一行开始,最后只显示最后一行,不适合长文件

  • 语法
    1
    cat [-AbeEnstTuv] [--hellp] [--version] filename
    • 参数
      • -n 或 –number: 由 1 开始对所有输出的行数编号
      • -b 或 –number-nonblank 和 -n 相似: 对于空白行不编号
      • -s 或 –squeeze-blank: 当遇到有连续两行以上的空白行,就代换为一行的空白行
      • -v 或 –show-nonprinting
  • 常用命令
    1
    2
    3
    4
    把 textfile1 的档案内容加上行号输入 textfile2 档案:
    cat -n textfile1 > textfile2
    把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里:
    cat -b textfile1 textfile2 >> textfile3

10. more/less

与 cat 类似,用于大文件,分屏显示文件内容 (less最后一行显示当前阅读文件名称)

  • 语法
    1
    2
    more [文件名]
    less [文件名]

11. find

查找符合条件的文件或目录,速率低下

  • 语法
    1
    2
    3
    4
    5
    6
    7
    find [目录...]
    [-amin <分钟>]
    [-anewer <参考文件或目录>]
    [-atime <24小时数>]
    [-cmin <分钟>]
    [-user <拥有者名称>]
    ...

12. diff

逐行比较文件的差异,需要指定比较目录,会比较目录中相同文件名的文件,但不会比较子目录

  • 语法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    diff [-abBcdefHilnNpPqrstTuvwy]
    [-<行数>]
    [-C <行数>]
    [-I <字符或字符串>]
    [-S <文件>]
    [-W <宽度>]
    [-x <文件或目录>]
    [-X <文件>]
    [文件或目录1]
    [文件或目录2]
    • 参数
      • -<行数>: 指定比较行数 (必须与-c, -u一起使用)
      • -b 或–ignore-space-change:  不检查空格字符的不同。
      • -B 或 –ignore-blank-lines: 不检查空白行
      • -c: 显示全部内文,并标出不同
      • -u: 以合并的方式显示文件内容不同

13. which

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

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

14. ftp

设置文件系统相关功能,文件传输协议

  • 语法
    1
    ftp [-dignv] [主机名称或IP地址]
    • 参数
      • -d: 详细显示指令执行过程,便于排错或分析程序执行的情形。
      • -i: 关闭互动模式,不询问任何问题。
      • -g: 关闭本地主机文件名称支持特殊字符的扩充特性。
      • -n: 不使用自动登陆。
      • -v: 显示指令执行过程。

15. kill

删除执行中的程序或工作

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

16. sudo

以其他身份来执行命令,预设的身份为root

  • 语法
    1
    sudo [-bhHpV] [-s <shell>] [-u <用户>] [指令] 或 sudo [-klv]
    • 参数
      • -b: 在后台执行指令。
      • -h: 显示帮助
      • -H: 将HOME环境变量设为新身份的HOME环境变量。
      • -k: 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
      • -l: 列出目前用户可执行与无法执行的指令。
      • -p: 改变询问密码的提示符号。
      • -s: 执行指定的shell。
      • -u<用户>: 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
      • -v: 延长密码有效期限5分钟。
      • -V: 显示版本信息。

17. su

临时变更用户身份,必须输入账号密码

  • 语法
    1
    su [-flmp] [--help] [--version] [-] [-c <指令>] [-s <shell>][用户帐号]
    • 参数
      • -c<指令>或–command=<指令>: 执行完指定的指令后,即恢复原来的身份。
      • -f或–fast: 适用于csh与tsch,使shell不用去读取启动文件。
      • -.-l或–login: 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
      • -m,-p或–preserve-environment: 变更身份时,不要变更环境变量。
      • -s或–shell=: 指定要执行的shell。
      • –help: 显示帮助。
      • –version: 显示版本信息。
      • 【用户帐号】: 指定要变更的用户。若不指定此参数,则预设变更为root。

18. who

显示目前登录系统的用户信息,目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的 终端机,登入时间以及从何处登入或正在使用哪个X显示器。

  • 语法
    1
    who [-Himqsw] [--help] [--version] [am i] [记录文件]
    • 参数
      • -H或–heading: 显示各栏位的标题信息列。
      • -i或-u或–idle: 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。
      • -m: 此参数的效果和指定"am i"字符串相同。显示自身用户名称
      • -q或–count: 只显示登入系统的帐号名称和总人数。
      • -s: 此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。
      • -w或-T或–mesg或–message或–writable: 显示用户的信息状态栏。
      • –help: 在线帮助。
      • –version: 显示版本信息

19. tree

以树状图列出指定目录下的所有文件,包括子目录里的文件。

  • 语法
    1
    tree [-aACdDfFgilnNpqstux] [-I <范本样式>] [-P <范本样式>] [目录...]
    • 参数
      • -a: 显示所有文件和目录
      • -C: 在文件和目录清单加上色彩,便于区分各种类型。
      • -D: 列出文件或目录更改时间
      • -s: 列出文件或目录大小

20. gzip

将文件压缩成 .gz 文件

  • 语法
    1
    gzip [-acdfhlLnNqrtvV] [-S <压缩字尾字符串>] [-<压缩效率>] [--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV] [-S <压缩字尾字符串>] [-<压缩效率>] [--best/fast] [目录]
    • 参数
      • -d或–decompress或—-uncompress: 解开压缩文件。
      • -f或–force: 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
      • -l或–list: 列出压缩文件的相关信息。
      • -n或–no-name: 压缩文件时,不保存原来的文件名称及时间戳记。
      • -N或–name: 压缩文件时,保存原来的文件名称及时间戳记。
      • -r或–recursive: 递归处理,将指定目录下的所有文件及子目录一并处理。
      • -<压缩效率>: 压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高
      • –best: 此参数的效果和指定"-9"参数相同。
      • –fast: 此参数的效果和指定"-1"参数相同。

21. tar

建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

  • 语法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ]
    [-b <区块数目>]
    [-C <目的目录>]
    [-f <备份文件>]
    [-F <Script文件>]
    [-K <文件>]
    [-L <媒体容量>]
    [-N <日期时间>]
    [-T <范本文件>]
    [-V <卷册名称>]
    [-X <范本文件>]
    [-<设备编号><存储密度>]
    [--after-date=<日期时间>]
    [--atime-preserve]
    [--backuup=<备份方式>]
    [--checkpoint]
    [--concatenate]
    [--confirmation]
    [--delete]
    [--exclude=<范本样式>]
    ...
    [文件或目录...]
    • 参数
      • -c或–create: 建立新的备份文件。
      • -f<备份文件>或–file=<备份文件>: 指定备份文件。
      • -v或–verbose: 显示指令执行过程。

22. zip

压缩后产生 .zip 压缩文件

  • 语法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$]
    [-b <工作目录>]
    [-ll]
    [-n <字尾字符串>]
    [-t <日期时间>]
    [-<压缩效率>]
    [压缩文件]
    [文件...]
    [-i <范本样式>]
    [-x <范本样式>]
    • 参数
      • -A: 调整可执行的自动解压缩文件
      • -b<工作目录>: 指定暂时存放文件的目录。
      • -F: 尝试修复已损坏的压缩文件。
      • -J: 删除压缩文件前面不必要的数据。
      • -m: 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
      • -r: 递归处理,将指定目录下的所有文件和子目录一并处理。
      • -z: 替压缩文件加上注释。
      • -<压缩效率>: 压缩效率是一个介于1-9的数值。

23. pstree

以树状图显示程序,清楚地表达程序间的相互关系。如果不指定程序识别码或用户名称,则会把系统启动时的第一个程序视为基层,并显示之后的所有程序。若指定用户名称,便会以隶属该用户的第一个程序当作基层,然后显示该用户的所有程序。

  • 语法
    1
    pstree [-acGhlnpuUV] [-H <程序识别码>] [<程序识别码>/<用户名称>]
    • 参数
      • -a: 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示。
      • -c: 不使用精简标示法。
      • -G: 使用VT100终端机的列绘图字符。
      • -h: 列出树状图时,特别标明现在执行的程序。
      • -H<程序识别码>: 此参数的效果和指定"-h"参数类似,但特别标明指定的程序。
      • -l: 采用长列格式显示树状图。
      • -n: 用程序识别码排序。预设是以程序名称来排序。
      • -p: 显示程序识别码。
      • -u: 显示用户名称。
      • -U: 使用UTF-8列绘图字符。
      • -V: 显示版本信息。

24. ps

报告程序执行状况的指令,可以搭配kill指令随时中断,删除不必要的程序。

  • 语法
    1
    ps [-aAcdefHjlmNVwy] [acefghLnrsSTuvxX] ...
    • 参数
      • -a: 显示所有终端机下执行的程序,除了阶段作业领导者之外。
      • a: 显示现行终端机下的所有程序,包括其他用户的程序。
      • -A: 显示所有程序。
      • c: 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
      • e: 列出程序时,显示每个程序所使用的环境变量。
      • -H: 显示树状结构,表示程序间的相互关系。