1 工具

​ 为方便在 Windows 系统下操作 Linux 命令,本文使用 Git 工具,讲解 Linux 的常用命令,Git 下载→Git - Downloads

安装好 Git 后,在任意目录空白处右键,在弹出菜单中点击【Git Bash Here】,即可进入 Bash 命令行界面,如下:

img

​ 注意:Git 的安装目录(即 git-bash.exe 文件的位置)为 Bash 的根目录,如上图是根目录下打开的 Bash,第1行末尾显示“/”,即为根目录。

在不清楚某命令的用法时,可以在命令后带上“--help”,输出该命令及其参数的详细解释。

2 路径操作

语法:cd [dirName]

​ dirName 为要切换的目标目录,可以是绝对路径或相对路径,如下切换至根目录下的 test 目录。

img

​ 通常,“/” 指根目录,“~” 指当前用户的家目录,“.” 指当前目录,“..” 指上一级目录,因此有以下用法:

  • cd /:切换至根(/)目录
  • cd ~:切换至家目录,省略 “~”(即 cd)也是切换家目录。root 用户的家目录为 “/root”,普通用户(如:a 用户)的家目录为 “/home/a”
  • cd ..:切换至上一级目录
  • cd ../..:切换至上两级目录
  • cd -:在最近进入的 2 个目录之间来回切换

3 查看历史命令

1)reverse-i-search 方式

​ 通过 “Ctrl + R” 快捷键,进入历史命令搜索模式,如下,输入目标命令的部分字符(第一个红框),会匹配到最近的历史命令(第二个红框),按 Enter 键就会执行匹配到的命令。如果匹配到的命令不是想要的命令,按住 ”Ctrl“ 键后,再按 “R" 键,可以查找上一个匹配的命令。

img

2)history 方式

img

4 变量操作

1)变量赋值

img

​ 说明:“`” 号不是单引号,其按键位置与“~”号在同一个位置。

2)打印变量

img

3)变量拼接

img

4)变量运算

img

5 文件操作

5.1 查看文件

1)查看文件路径

语法:pwd

img

语法:find . -name fileName

img

2)查看文件列表

语法:ls [-aAdFlrRt] [name...]

​ aAdFlrRt 为参数列表,常用参数如下;name 为要访问的目录,可以是绝对路径或相对路径,可以有多个目录,省略或“.”表示当前目录。

  • -A:显示所有文件及目录(默认不显示以“.”开头的文件)
  • -l:除文件名称外,还将文件型态、权限、拥有者、文件大小等列出
  • -d:仅显示当前目录,通常 -ld 一起使用

img

3)查看文件类型

语法:file [-bclvz] name...

​ name 为要访问的目录或文件,可以是绝对路径或相对路径,可以有多个目录。

img

4)查看文件内容(cat)

语法:cat [-AbeEnstTuv] fileName

​ fileName 为要访问的文件。

img

5)查看文件内容(less)

​ cat 查看内容会将内容全部显示,而 less 则分页显示。

语法:less [-befgimNoQsSx] fileName

​ befgimNoQsSx 为参数列表,常用参数如下;fileName 为要访问的文件。

  • -b:设置缓冲区大小
  • -N:显示每行的行号

img

​ 进入查看页面后,通过以下按键实现换行和翻页等操作。

  • [Page Down] :向上翻一页
  • [Page Up] :向下翻一页
  • gg:跳至文件头
  • G :跳至文件尾
  • / :向下搜索字符串
  • ? :向上搜索字符串
  • q:退出 less 命令

5.2 修改文件

1)创建目录

语法:mkdir dirName

​ dirName 为要创建的目录名。

img

2)创建文件

语法:touch name

​ touch 命令用于修改文件或者目录的时间属性,当文件不存在时,就会创建一个文件。

img

3)复制文件

语法:cp [-rf] source... dest

​ rf 为参数列表,常用参数如下;source 为源文件,可以有多个(此时目标文件必须存在);dest 为目标目录,若此目录不存在,系统会创建该目录。

  • -r:递归复制子目录
  • -f:若存在同名文件,无需用户确认,直接覆盖

img

4)删除文件

语法:rm [-rf] name...

​ rf 为参数列表,常用参数如下;name 为要删除的文件或目录,可以有多个。

  • -r:递归删除子目录
  • -f:无需用户确认,直接删除

img

5)移动文件

语法:mv [-bf] source... dest

​ bf 为参数列表,常用参数如下;source 为源文件,可以有多个(此时目标文件必须存在);dest 为目标目录,若此目录不存在,系统会创建该目录。

  • -b:若存在同名文件,创建备份
  • -f:若存在同名文件,无需用户确认,直接覆盖

img

​ 补充:mv 命令经常被用来给文件或目录重命名(同 rename 命令)

5.3 编辑文件

语法:vim fileName

​ fileName 为要编辑的文件名。

​ Vim 是从 Vi 发展出来的一个文本编辑器,具有命令模式(Command mode)编辑模式(Insert mode)末行模式(Last line mode),用户刚启动 Vim,便进入了命令模式。

img Vim 编辑器常用命令

1)命令模式

​ 此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,常用的命令如下。

  • i:切换到编辑模式,以输入字符。
  • ::切换到末行模式,以在最底一行输入命令。
  • u:撤销
  • p:粘贴
  • Shift+z+z:保存并退出 Vim 编辑器

2)编辑模式

​ 在命令模式下按下 i 键就进入了编辑模式。在编辑模式中,可以使用以下按键。

  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
  • Esc:退出编辑模式,切换到命令模式

3)末行模式

​ 在命令模式下按下“:”(英文冒号)就进入了末行模式。在末行模式中,常用的命令(已经省略了冒号)如下。

  • w:保存文件
  • q:退出 Vim 编辑器
  • wq:保存文件,并退出 Vim 编辑器
  • !q:不保存文件,并退出 Vim 编辑器
  • /xxx:匹配 “xxx” 字符串,文本内容跳转到匹配处

5.4 重定向

1)输出(>)

​ 将 “abc” 输出到 file.txt 中:

img

​ 将 “edf” 追加输出到 file.txt 中:

img

2)输入(<)

​ 将 file.txt 读入到 grep 命令中,并筛选带 “cv” 的行:

img

​ 其中,grep 用于筛选带 “cv” 的行。

3)管道(|)

​ 管道是指将前一个命令的结果输入到下一个命令中。

​ 使用 cat 查看 file.txt,并用 grep 筛选带 “xx” 的行,再使用 sort 进行排序:

img

5.5 文件权限管理

1)基础知识

​ 如图显示了文件和目录的权限格式,一共包含10位,第1为是 “-” 或 “d”,用于标识文件和目录,后面9位是权限位。

img

​ 文件权限主要有 r、w、x,如下。由此可知,rw 可用6表示,rwx 可用用7表示。

符号 含义 编码
r 读(read)权限 4
w 写(write)权限 2
x 执行(execute)权限 1

​ 执行权限是相对 shell 脚本、python 脚本等文件而言的,通过【./xxx】(xxx为待执行的文件)命令执行文件;目录的跳转也属于执行权限,没有执行权限的目录,就不能跳转进去。

​ 每个文件的权限用10位符号表示,主要分为如下4组:

位序 1 2~4 5~7 8~10
含义 标识文件(-)/文件夹(d) owner 权限 group 权限 others 权限

2)修改文件权限

语法:chmod [-+][rwx]

​ 删除 file.txt 的写权限

img

​ 添加 file.txt 的写权限

img

语法:chmod [444][644][777]...

​ 删除 file.txt 的写权限

img

​ 添加 file.txt 的写权限

img

6 进程管理

1)查看进程

语法:ps [-Au]

​ Au 为参数列表,常用参数如下。

  • -A:查看所有进程
  • -u:查看指定用户的进程

img

2)杀死进程

语法:kill [-****HUP<1>、KILL<9>、TERM<15>] PID

​ HUP、KILL、TERM为信息名称,1、9、15为其对应的编码,释义如下。

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

img

7 参考链接

​ 声明:本文转自Linux 常用命令