1 前言
1.1 系统版本
- 系统说明:本文使用的Linux系统是CentOS 7。
1.2 终端切换
- 切换说明:用户即可以使用图形化桌面模式,也可以使用CLI控制台模式,切换方式如下所示:
切换方式 切换快捷键 图形化桌面 --> 控制台模式 Ctrl + Alt + F1 控制台模式 --> 图形化桌面 Ctrl + Alt + F2 ~ F6
1.3 快捷键
- 常用快捷键:
快捷键 功能 Ctrl + a 定位到行首字符 Ctrl + e 定位到行尾字符 Ctrl + d 删除光标后边的字符 Ctrl + h 删除光标前边的字符 Ctrl + l 清除屏幕 Tab 命令自动补齐 Ctrl + p 历史命令向上滚动一条 Ctrl + n 历史命令向下滚动一条 方向上键 历史命令向上滚动一条 方向下键 历史命令向下滚动一条
1.4 帮助文档
- 相关命令:可以使用 help 命令或 man 命令来查看具体的某个命令的帮助文档。
- 命令语法:
# 使用 help 命令查看指定命令的帮助文档 命令名称 --help # 使用 man 命令查看指定命令的帮助文档 man 命令名称
- 命令示例:
# 查看yum命令的帮助文档 yum --help # 查看yum命令的帮助文档 man yum
1.5 关机重启
-
相关命令:shutdown(关机和重启)、reboot(重启)
-
命令参数:shutdown 命令可以带有以下参数:
参数 说明 -h 关机 -r 重启 -t 秒数 发送警告信息和发送关机信号之间的间隔时间 -k 仅送出警告信息,但并不会真正关机 -f 重启时不执行fsck指令,即不检查档案系统 -F 重启时执行fsck指令,即检查档案系统 -c 取消前一个shutdown命令 -
命令示例:
# 立即关机 shutdown -h now # 立即重启 shutdown -r now # 设定5分钟后关机,同时发出警告信息给登录的Linux用户 shutdown +5 "System whill shutdown after 5 minutes." # 重启 reboot
2 目录命令
2.1 当前目录 pwd
-
命令语法:
pwd
-
命令功能:显示当前所在目录。
-
命令示例:
# 查看当前所在目录(结果如下图所示) pwd
-
示例结果:
2.2 切换目录 cd
- 命令语法:
cd 目录
- 命令功能:切换到指定目录。
- 命令说明:目录可以是绝对路径的目录,也可以是相对路径的目录,也可以是特殊字符所表示的路径。
- 命令示例:
# 绝对路径:打开/home cd /home # 相对路径:打开当前目录下的admin目录 cd admin # 特殊字符:打开当前目录 cd . # 特殊字符:打开当前目录的上一级目录 cd .. # 特殊字符:打开宿主目录 cd ~ # 特殊字符:打开上次访问的目录(用于在最近打开的两个目录之间切换) cd -
2.3 查看目录 ls
-
命令语法:
ls [选项] [文件或目录]
-
命令功能:显示指定目录下所包含的文件及子目录。
-
命令说明:ls命令输出的列表是按字母排序的;如果没有指定选项,则只会输出文件和目录的名称;如果省略文件或目录,则表示的是当前目录,如果指定了文件或目录,则会过滤输出列表。
-
选项说明:
选项 说明 -a 显示所有的文件及子目录,包括隐藏文件 -d 只显示目录,不显示文件 -l 显示长列表,包括类型、权限、硬链接数、属主、属组、大小 、修改时间、文件名或目录名等信息 -s 在每个文件名后输出该文件的大小 -k 以k字节的形式表示文件的大小 -u 以文件上次被访问的时间排序 -t 以时间排序 -o 显示除组信息外的详细信息 -r 对目录反向排序 -m 横向输出文件名,并以 “,” 作为分隔符 -S 以文件大小排序 -R 列出所有子目录下的文件 -
过滤输出:在指定文件或目录时,可以使用通配符来过滤。
通配符 说明 ? 表示一个字符 * 表示0个或多个字符 [] 表示一个范围 -
命令示例:
# 基本用法:显示当前目录下的文件或目录的名称 ls # 基本用法:显示当前目录下的所有文件或目录的名称 ls -a # 基本用法:只显示当前目录下的目录 ls -d # 基本用法:显示当前目录下的文件和目录的长信息 ls -l # 基本用法:显示当前目录下的admin目录下的文件或目录的长信息 ls -l admin # 目录过滤:匹配任意一个字符 ls -l scr*pt # 目录过滤:匹配任意0个或多个字符 ls -l scr?pt # 目录过滤:只匹配a或i ls -l scr[ai]pt # 目录过滤:匹配a-i之间的任意一个字符 ls -l f[a-i]ll # 目录过滤:不匹配a ls -l f[!a]ll
2.4 创建目录 mkdir
-
命令语法:
mkdir [选项] 目录
-
命令功能:创建指定名称的目录。
-
命令说明:如果没有指定选项,则只能创建单层目录;可以同时创建多个同级目录。
-
选项说明:
选项 说明 -m 对新建目录设置存取权限,未指定时的默认权限为 rwxrwxr-x -p 创建多层目录:若路径中的某些目录不存在,则自动创建。 -
命令示例:
# 在当前目录下创建目录a mkdir a # 在当前目录下创建目录b和目录c mkdir b c # 在当前目录下创建目录d,并指定目录b的权限为rwxrwxrwx mkdir -m=777 d # 在当前目录下创建多层目录e/f/g mkdir -p e/f/g # 在当前目录下创建目录a_c、a_d、b_c、b_d mkdir { a,b}_{ c,d}
2.5 删除目录 rm
-
命令语法:
# rmdir只能删除空目录 rmdir 目录 # rm可以删除非空目录和多层目录 rm 选项 目录
-
命令功能:删除指定目录。
-
命令说明:rmdir命令只能删除空目录,而rm命令可以删除非空目录和多层目录,使用rm命令删除目录时必须指定选项 -r。
-
选项说明:rm命令具有如下选项。
选项 说明 -r 递归删除指定目录下的子目录(删除目录时该选项必须指定) -f 强制删除,在删除之前不询问是否要删除 -i 交互式删除,在删除之前询问是否要删除 -
命令示例:
# 删除当前目录下的空目录a rmdir a # 删除当前目录下的空目录a_c和a_d rmdir a_c a_d # 递归删除当前目录下的目录b rm -r b # 递归删除当前目录下的目录b_c和b_d rm -r b_c b_d # 递归强制删除当前目录下的目录c rm -rf c # 递归交互式删除当前目录下的目录d rm -ri d
2.6 复制目录 cp
-
命令语法:
cp 选项 源目录 目标目录
-
命令功能:把源目录及其子目录中的内容全部复制到目标目录中,如果目标目录不存在,则创建目标目录。
-
命令说明:使用cp命令复制目录时必须指定选项 -r ,源目录和目标目录都可以绝对路径和相对路径的目录。
-
命令选项:
选项 说明 -r 递归复制源目录及其子目录中的内容(复制目录时该选项必须指定) -a 递归复制目录时保留所有的信息,包括文件链接、文件属性等 -
命令示例:
# 把/home/user1目录及其子目录下的内容全部复制到/home/user1目录下 cp -r /home/user1 /home/user2
2.7 移动目录 mv
-
命令语法:
mv 选项 源目录 目标目录
-
命令功能:把源目录及其子目录中的内容全部移动到目标目录中。
-
命令说明:如果目标目录已存在,则为移动,否则为重命名。
-
命令选项:
选项 说明 -f 强制移动,如果目标目录下存在与源目录同名的目录,则直接覆盖(没有指定选项时默认就是直接覆盖) -i 交互式移动,如果目标目录下存在与源目录同名的目录,则询问是否要覆盖 -n 如果目标目录下存在与源目录同名的目录,则不移动也不覆盖 -
命令示例:
# 把/home目录下的use1目录移动到user2目录中,如果目录user2中已存在目录user1,则直接覆盖 mv /home/user1 /home/user2 # 把/home目录下的user1目录移动到user2目录中,如果目录user2中已存在目录user1,则强制覆盖 mv -f /home/user1 /home/user2 # 把/home目录下的use1目录移动到user2目录中,如果目录user2中已存在目录user1,则交互式询问是否要覆盖 mv -i /home/user1 /home/user2 # 把/home目录下的use1目录移动到user2目录中,如果目录user2中已存在目录user1,则不移动也不覆盖 mv -n /home/user1 /home/user2
2.8 改名目录 mv
-
命令语法:
mv 源目录 新目录
-
命令功能:把源目录重命名为新目录。
-
命令说明:如果新目录不存在,则为重命名,否则为移动。
-
命令示例:
# 把目录/home/user1重命名为/home/user2 mv /home/user1 /home/user2
2.9 链接目录 ln
-
命令语法:
ln [选项] 源目录 链接名
-
命令功能:给源目录创建一个链接。
-
命令说明:没有指定选项的情况下创建的是硬链接。硬链接不占用磁盘空间,通过文件的inode来进行链接,而软链接需要占用磁盘。如果源目录是绝对路径的目录,则创建的链接移动了位置之后仍能使用,如果源目录是相对路径的目录,则只能在链接创建的目录下使用,移动位置之后则不能使用。
-
命令选项:
选项 说明 -s 进行软链接 -f 如果在目标位置存在与链接名相同的文件,则删除这个文件 -d 允许系统管理员硬链接自己的目录 -b 对将在链接时会被覆盖或者删除的文件进行备份 -
命令示例:
# 创建软链接:使用的是绝对路径,ln_user1_1文件移动位置之后仍能正常使用。 ln -s /home/user1 ln_user1_1 # 创建软链接:使用的是相对路径,ln_user1_2文件移动位置之后不能正常使用。 ln -s user1 ln_user1_2 # 创建硬链接:使用的是绝对路径,ln_user1_3文件移动位置之后仍能正常使用。 ln /home/user1 ln_user1_3 # 创建硬链接:使用的是相对路径,ln_user1_4文件移动位置之后不能正常使用。 ln user1 ln_user1_4
3 文件命令
3.1 创建文件 touch
-
命令语法:
touch [选项] [设定的时间] 文件
-
命令功能:touch命令用来改变文件的访问时间和修改时间。
-
命令说明:如果指定文件不存在则创建此文件,如果没有指定时间,则使用当前时间。
-
命令选项:
选项 说明 -a 改变文件的访问时间为系统当前时间,无须设置时间选项 -m 改变文件的修改时间为系统当前时间,无须设置时间选项 -c 如果文件不存在,不创建也不提示 -d 或 -t 使用指定的时间或日期 -r<参考文件或目录> 使用指定的时间或日期 -
命令示例:
# 在当前目录下创建一个名为test.txt的文件 touch test.txt # 把当前目录下的test.txt文件的访问时间改为系统当前时间 touch -a test.txt # 把当前目录下的test.txt文件的修改时间改为系统当前时间 touch -m test.txt # 把当前目录下的test.txt文件的访问时间改为系统当前时间,如果test.txt文件不存在,则不创建该文件 touch -ac test.txt # 把当前目录下的test.txt文件的修改时间设置为2019年8月19日14点39分 touch -d "20190819 14:36" test.txt # 把当前目录下的test.txt文件的访问时间修改为test2.txt文件的访问时间 touch -a -r test.txt test2.txt
3.2 删除文件 rm
-
命令语法:
rm [选项] 文件
-
命令功能:删除指定文件。
-
命令说明:
-
选项说明:
选项 说明 -f 强制删除,在删除之前不询问是否要删除(没有指定选项时默认就是直接删除) -i 交互式删除,在删除之前询问是否要删除 -
命令示例:
# 删除当前目录下test.txt文件,直接删除 rm test.txt # 删除当前目录下test.txt文件,直接删除 rm -f test.txt # 删除当前目录下test.txt文件,删除之前询问是否要删除 rm -i test.txt
3.3 复制文件 cp
-
命令语法:
cp [选项] 源文件 目标文件或目标目录
-
命令功能:把源文件复制一份。
-
命令说明:如果指定目标文件,则把源文件复制一份并命令为目标文件的名称,如果目标文件已存在,则覆盖;如果指定目录,则把源文件复制到目标目录中,如果目标目录不存在,则创建的不是目标目录,而是文件。
-
命令选项:
选项 说明 -d 复制时保留链接,这样不会失去链接文件 -p 保留文件的修改时间和存储权限 -i 如果已经有相同文件名的文件,则提示用户是否覆盖 -
命令示例:
# 把当前目录下的test.txt复制一份放在当前目录下,并命名为test2.txt cp test.txt test2.txt # 把当前目录下的test.txt文件复制到/home/admin目录下 cp test.txt /home/admin # 把当前目录下的test.txt文件复制到/home/admin目录下,如果存在同名的文件,则询问是否要覆盖 cp -i test.txt /home/admin
3.4 移动文件 mv
-
命令语法:
mv [选项] 源文件 目标目录
-
命令功能:把源文件移动到目标目录中。
-
命令说明:如果目标目录已存在,则为移动,否则为重命名。
-
命令选项:
选项 说明 -f 强制移动,如果目标目录下存在与源文件同名的文件,则直接覆盖(没有指定选项时默认就是直接覆盖) -i 交互式移动,如果目标目录下存在与源文件同名的文件,则询问是否要覆盖 -n 如果目标目录下存在与源文件同名的文件,则不移动也不覆盖 -
命令示例:
# 把当前目录下的test.txt文件移动到/home/admin目录中,如果目录目录中已存在同名文件,则直接覆盖 mv test.txt /home/admin # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目标目录中已存在同名文件,则强制覆盖 mv -f test.txt /home/admin # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目标目录中已存在同名文件,则交互式询问是否要覆盖 mv -i test.txt /home/admin # 把当前目录下的test.txt文件移动到/home/admin目录中,如果目标目录中已存在同名文件,则不移动也不覆盖 mv -n test.txt /home/admin
3.5 改名文件 mv
-
命令语法:
mv 源文件 新文件
-
命令功能:把源文件重命名为新文件。
-
命令说明:如果新文件不存在,则重命名,如果新文件已存在,则直接覆盖。
-
命令示例:
# 把当前目录下的test.txt文件重命名为test2.txt mv test.txt test2.txt
3.6 链接文件 ln
-
命令语法:
ln [选项] 源文件 链接名
-
命令功能:给源文件创建一个链接。
-
命令说明:没有指定选项的情况下创建的是硬链接。硬链接不占用磁盘空间,通过文件的inode来进行链接,而软链接需要占用磁盘。如果源文件是绝对路径的文件,则创建的链接移动了位置之后仍能使用,如果源文件是相对路径的文件,则只能在链接创建的目录下使用,移动位置之后则不能使用。
-
命令选项:
选项 说明 -s 进行软链接 -f 如果在目标位置存在与链接名相同的文件,则删除这个文件 -d 允许系统管理员硬链接自己的目录 -b 对将在链接时会被覆盖或者删除的文件进行备份 -
命令示例:
# 创建软链接:使用的是绝对路径,ln_test1_1文件移动位置之后仍能正常使用。 ln -s /home/user1/test1.txt ln_test1_1 # 创建软链接:使用的是相对路径,ln_test1_2文件移动位置之后不能正常使用。 ln -s test1.txt ln_test1_2 # 创建硬链接:使用的是绝对路径,ln_test1_3文件移动位置之后仍能正常使用。 ln /home/user/test1.txt ln_test1_3 # 创建硬链接:使用的是相对路径,ln_test1_4文件移动位置之后不能正常使用。 ln test1.txt ln_test1_4
3.7 查看文件 cat
-
命令语法:
# 查看文件 cat [选项] 文件 # 合并文件 cat 文件1 文件2 > 文件3
-
命令功能:cat命令用来把文件的内容输出到标准输出,或用来连接合并文件。
-
命令说明:cat命令一般用于查看比较小的文件。
-
命令选项:
选项 说明 -A 将文件中的制表符显示为 “^I” ,同时将第行的换行符显示为 “$” -b 将文件中的所有非空行按顺序编号,编号从1开始 -n 将文件中的所有行按顺序编号,编号从1开始 -T 将文件中的制表符显示为 “^I” -
命令示例:
# 把当前目录下的test.txt文件的内容输出到标准输出 cat test.txt # 把当前目录下的test.txt文件的内容输出到标准输出,并对制表符和换行符进行转换 cat -Ab test.txt # 把当前目录下的test.txt和test2.txt这两个文件的内容合并到存放在当前目录下的test3.txt文件中 cat test.txt test2.txt > test3.txt
3.8 查看文件 more
-
命令语法:
more [选项] 文件
-
命令功能:more命令用于分页查看文件的内容,每次显示一屏,并且每屏后暂停。
-
命令说明:
快捷键 说明 回车键 往前翻一行 空格键 往前翻一页 q 退出 -
命令选项:
选项 说明 -d