目录
帮助指令(man和help)
有两个帮助指令,一个是man,一个是help
获取帮助信息(man)
man命令基本语法:
man [命令或配置文件]
注意:
man命令查看的帮助信息比较详细
空格键:显示手册的下一页
Enter键:滚动显示手册的下一行
b键:显示上一页
f键:显示下一页
/word:可以搜索对应的关键字(word)
q键: 退出man命令显示模式
示例:
查看ls的帮助信息
输入man ls
获取shell内置命令的帮助信息(help)
help命令基本语法:
命令 --help
注意:help命令查看的帮助信息比较简洁
示例:
查看tar指令的shell内置帮助信息
输入tar --help
文件或目录常用命令
显示当前工作目录的绝对路径(pwd)
pwd命令基本语法:
pwd
示例:
显示当前工作目录的绝对路径
输入pwd
列出指定目录所含的文件及子目录(ls)
ls命令基本语法:
ls [-lah] [目录路径]
注意:默认显示当前路径下的内容
常用选项:
-l:以列表的形式,详细显示内容信息
-a:显示所有文件,包括隐藏文件及目录
-h:配合-l显示文件大小单位
通配符:
通配符可以匹配符合条件的文件或者目录:
*:表示匹配0到多个任意字符
?:表示匹配单个任意字符
[abcd]:表示匹配括号内(a、b、c、d)中的任意的一个字符
[a-d]:a-d表示的是从a到d的范围,也就是a、b、c、d从中匹配任意一个字符
示例:
显示当前路径下的内容,输入ls
以列表的形式,详细显示/home路径下的内容
输入:ls -l /home
以列表的形式,详细显示/home路径下的内容,包含隐藏文件
输入:ls -la /home
以列表的形式,详细显示/home路径下的内容,包含隐藏文件,显示文件大小单位
输入:ls -lah /home
查询后缀名为txt的文件,输入命令:ls *.txt
查询后缀名为txt,且名字有2个字符,输入命令:ls ??.txt
查询后缀名为txt的文件,且名字为a,b,d任何一个字符
输入命令:ls [abd].txt
查询后缀名为txt的文件,且名字为a到c任意一个字符
输入命令:ls [a-c].txt
查看/usr/bin目录下,所有以.sh结尾的文件
输入命令:ls /usr/bin/*.sh
切换到指定目录(cd)
绝对路径:绝对路径是以根目录(/)开头或者家目录开头(~),包含所有的目录和子目录。
相对路径:不以根目录(/)或者家目录(~)开头,是指相对于当前工作目录的路径。
cd命令基本语法:
cd [目录路径]
注意:
cd ~和cd这两个命令是回到家目录
cd ..或cd ../回到当前目录的上一级目录
cd -返回到上一次的目录
cd .或cd ./切换到当前目录(没有任何变化)
示例:
切换到home目录,输入命令cd /home
切换到家目录,输入命令cd或cd ~
返回上一级目录,输入cd ..
切换到当前目录,没有变化,输入cd .或cd ./
进入到家目录下的Desktop/test目录
输入命令:cd ~/Desktop/test
进入家目录,然后进入当前路径下的Desktop/test目录
输入命令:
cd ~
cd Desktop/test或cd ./Desktop/test
切换回上一次的目录,输入命令:cd -
新建文件(touch)
touch命令基本格式:
touch 文件名或新文件路径
注意:多个文件名之间用空格隔开
示例:
新建文件aptx_4869.txt,aptx_4869.png和aptx_test
输入命令:touch aptx_4869.txt aptx_4869.png aptx_test
显示当前目录的树状层级结构(tree)
tree命令基本格式:
tree [目录路径]
注意:如果不写路径,默认显示当前路径下的树状层级结构
没有tree命令的,可以使用命令:sudo apt install tree来安装
示例:
显示家目录下的Desktop/test目录的树状层级结构,输入tree ~/Desktop/test
创建目录(mkdir)
mkdir命令基本格式:
mkdir [-p] [目录名或新目录路径]
注意:创建的目录名称不能与当前目录下的目录同名
常用选项:
-p:实现多个层级的目录创建
示例:
创建目录e和目录f,输入命令:mkdir e f
套娃创建目录a/b/c,输入命令mkdir -p a/b/c
删除文件或目录(rm)
rm命令基本格式:
rm [-irf] 目录路径或者文件路径
常用选项:
-i:表示交互式执行删除操作,删除前会有提示(默认选项)
-f:表示强制删除,忽略不存在的文件
-r:表示删除目录及目录下所有的内容
示例:
交互式删除文件a.txt和b.txt
输入命令:rm -i a.txt b.txt
删除目录c,目录e和目录z,输入命令:rm -r f
使用rm -rf删除没有任何提示,要小心操作
删除a/b目录下的c目录,输入rm -rf
删除所有后缀名txt的文件
文件或目录的拷贝(cp)
cp命令基本格式:
cp [-firv] 源文件路径 目标文件路径
常用选项:
-f:强制覆盖已存在的文件而不提示
-i:覆盖已存在的文件时,会提示用户是否确认(默认选项)
-r:复制目录及目录下所有的内容时,必须带上-r参数
-v:显示复制的进度(一般不用)
示例:
将~/Desktop/test/a目录下的test.txt文件拷贝到~/Desktop/test/b目录下
输入命令:cp ~/Desktop/test/a/test.txt ~/Desktop/test/b
假设当前工作目录为~/Desktop/test
希望将当前路径下的a目录,拷贝到当前路径b/c目录下,并重命名为d目录
输入命令:cp -r a b/c/d
文件或目录的移动(mv)
mv命令基本格式:
mv 源文件路径 目标文件路径
常用选项说明:
-f:强制覆盖已存在的目标文件而不提示
-i:覆盖文件时提示用户是否确认(默认选项)
-v:显示移动的进度(一般不用)
注意:如果在同级目录下,移动文件,表示将该文件改名(比如:mv test.txt test2.txt源文件路径和目标文件路径是在同级目录下,所以这里是将源文件test.txt改名为test2.txt)。
示例:
假设目前工作目录在~Desktop/test下
在当前路径下,将b/c路径下的d目录,移动到当前路径下的a目录下,并重命名为x目录
输入命令:mv b/c/d a/x
假设目前工作目录在~Desktop/test下
在当前路径下,将a/x路径下的test.txt文件,移动到当前路径下的b目录下,并重命名为test2.txt
输入命令:mv a/x/test.txt b/test2.txt
查看文件内容(cat,more,grep)
查看内容较少的文件(cat)
cat命令功能:可以用来查看文件、创建文件、合并文件、追加文件
cat命令基本格式:
cat [-bn] 文件路径
常用选项:
-b:表示输出非空的行编号
-n:表示输出所有的行编号
示例:
查看/etc/hosts文件,并输出非空行编号
输入命令:cat -b /etc/hosts
查看/etc/hosts文件,并输出所有行编号
输入命令:cat -n /etc/hosts
查看当前操作系统的版本,命令:cat /proc/version
查看内容较多的文件(more)
more命令基本格式:
more 文件路径
常用的快捷键操作:
空格:显示下一页内容
enter(回车):滚动显示下一行
b键:显示上一页内容
f键:显示下一页内容
q键:退出
注意:less是一个类似more的命令,less可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页
示例:
查看/var/log/syslog文件,输入命令:more /var/log/syslog
显示文件中检索到的关键字行信息(grep)
grep命令基本格式:
grep [-vniE --color=auto] 关键字 文件路径
常用选项:
-v:显示不包含匹配文本的所有行(取反)
-n:显示匹配的行及行号
-i:忽略大小写
-E:不需要对运算符转义
--color=auto:将匹配的文本以高亮显示
grep正则表达式(什么是正则表达式:匹配字符串的规则):
^a:表示搜索的文件内容行是以a开头
ke$:表示搜索的文件内容行是以ke结尾
[Ss]igna[Ll]:匹配[]中的任意一个字符,搜寻匹配单词为SignaL、Signal、signaL、signal的行
|:or运算符
示例:
假设~/Desktop/test2.txt的内容,如下:
显示不包含匹配文本1111的所有行(取反)
输入命令:grep -v 1111 ~/Desktop/test2.txt
显示以hyh开头的所有行,忽略大小写,且显示行号
输入命令:grep -ni ^hyh ~/Desktop/test2.txt
显示以hyh结尾的所有行,忽略大小写,且显示行号
输入命令:grep -ni hyh$ ~/Desktop/test2.txt
显示匹配1111[ahf]22[jds]的所有行,且显示行号
输入命令:grep -n 1111[ahf]22[jds] ~/Desktop/test2.txt
重定向(>和>>)
重定向(>和>>)的功能:将命令输出的结果写入到(重定向)到另外的文件当中(文件不存在会新建)。
重定向格式(>和>>):
>:将命令输出的结果覆盖到对应的文件当中
命令 选项 参数 > 文件路径
>>:将命令输出的结果追加到对应的文件当中
命令 选项 参数 >> 文件路径
示例:
使用ls命令以列表的形式详细列出/home目录下的内容,包含隐藏文件和各文件目录的大小单位,然后将输出结果重定向到~/Desktop/test3.txt文件中
输入命令:ls -lah /home > ~/Desktop/test3.txt
将~/Desktop/test下的树状结构追加到~/Desktop/test3.txt中
输入命令:tree ~/Desktop/test >> ~/Desktop/test3.txt
管道符(|)
管道符|功能:通过管道符|可以将一个命令的执行结果,传给另一个命令当做参数来使用。
常用的管道符|命令:
| more:分屏显示执行结果
| grep:通过grep过滤执行结果
示例:
显示根目录/的树状层级结构,分页显示结果
输入命令tree / | more
列出~/Desktop下的文件和子目录,并使用grep过滤出后缀名为txt的文件
输入命令:ls ~/Desktop | grep txt$
其他命令(clear,which)
清屏(clear)
clear命令基本格式:
clear
示例:
终端的显示内容太多了,可使用清屏,输入clear或者使用快捷键ctrl+l
即可清屏
查看工具安装位置(which)
which命令基本格式:
which 工具名
示例:
查看解|压缩工具gzip的安装位置,输入which gzip
查看解|压缩工具zip的安装位置,输入which zip