linux中Shell的基本操作
1 查看目录和文件
1.1显示当前目录:pwd
简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
命令格式:
pwd [-参数]
命令功能:
查看”当前工作目录“的完整路径
参数:
一般情况下不带任何参数
如果目录是链接时:
格式:pwd -P 显示实际路径,而非显示链接路径。
查看链接文件与真实文件的目录位置
[root@localhost ~]# mkdir f1 //创建目录f1
[root@localhost ~]# ln -s f1 f2 //创建f1的软连接f2
[root@localhost ~]# cd f2 //切换到f2目录下
[root@localhost f2]# pwd //显示软连接的目录
/root/f2
[root@localhost f2]# pwd -P //显示实际的目录
/root/f1
1.2 改变目录:cd
命令格式:
cd 目标目录(绝对路径)
命令功能:
切换当前目录到目标目录。代替了鼠标的双击
其中:目标目录可以是
. 代表当前目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表『目前用户身份』所在的家目录
相对路径的作用即使简化目录位置的编写
比如说 ,你要想查看 user1 家目录下的d1目录下的file1这个文件
如果登录用户是user1
执行绝对路径是这样的
cat /home/user1/d1/file1
如果使用相对路径
cat ~/d1/file1
从上面的描述不难看出有些时候使用相对路径是相当省事的!
1.3 列出目录内容:ls
命令格式:
ls [-参数] [目录名]
命令功能:
列出目标目录中所有的子目录和文件,如果不写目录名,默认是当前路径。
常用参数:
-a:–all 列出目录下的所有文件,包括以 . 开头的隐藏文件
-l :除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-r,:–reverse 依相反次序排列
-t :以文件修改时间排序
ll -l等价于ll
实例 :
1.4 查看文本文件:cat
命令格式:
cat [-参数] 文件名
命令功能:
cat 用于查看文件内容,通常是个文本文件,且文件不大。
参数:
-b, --number-nonblank 对非空输出行编号
-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
案例:
[user4@localhost ~]$ touch file1
[user4@localhost ~]$ vi file1
(按i键编辑)
java
hadoop
HTML
jQuery
(按esc退出编辑 输入:wq 保存)
[user4@localhost ~]$ cat file1
java
hadoop
HTML
jQuery
[user4@localhost ~]$ cat -b file1
1 java
2 hadoop
3 HTML
4 jQuery
[user4@localhost ~]$ cat -n file1
1 java
2 hadoop
3
4 HTML
5 jQuery
1.5 阅读文件的开头:head
命令格式:
head [-参数] 文件名
命令功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
参数:
-c<字节> 显示字节数
-n<行数> 显示的行数
案例:
head server.xml //默认显示开始的10行数据
head -n 5 server.xml //指定显示5行数据
head -c 5 file2 //指定显示的字节数
1.6 阅读文件的结尾 和 循环查看新日志:tail
命令格式:
tail [-参数] 文件名
命令功能:
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
参数:
-f 循环读取
-c<数目> 显示的字节数
-n<行数> 显示行数
案例:
tail server.xml //默认显示尾部的10行数据
tail -n 2 file2 //显示后两行数据
2) 从文件的第二行开始展示数据
[user4@localhost ~]$ tail -n +2 file1
3) 循环展示数据
[user4@localhost ~]$ tail -f file1//循环的读取该文件的内容,循环输出,结束循环读取状态按Ctrl+c
1.7 更好的文本阅读工具:less
文本阅读工具,可以对大文本进行分页显示
可以向上或向下搜索指定的内容
命令格式:
less [-参数] 文件
命令功能:
使用 less 可以随意浏览文件,而且 less 在查看之前不会加载整个文件。
参数:
-m 显示文件的百分比
-N 显示每行的行号
在文件内的操作命令:
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
j:向下滚动一行 ↑
k:向上滚动一行 ↓
G : 跳转到文件尾
g: 跳转到文件头
q:退出
案例:
less server.xml //分页显示文件,按q退出
less -m server.xml //less -m server.xml
less -mN server.xml //显示百分比和行号
搜索指定内容
/server:向下搜索server (n:向下,N:向上)
?server:向上搜索server (n:向上,N:向下)
q:退出
1.8 查找文件内容:grep
grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep 能将包含关键字所在的一行内容都输出出来,所以grep又叫行数据查询;
grep常用用法:
grep [-acinv] [--color=auto] '搜寻字符串' 文件名
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数,如果同一行有相同的,则视为同一次数
-i :忽略大小写的不同,大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即 显示出没有 '搜寻字符串' 内容的那一行!
-E : 按照正则表达式匹配查找
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的行首。
$: 匹配正则表达式的行尾
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
[ . ]:表示任意单个字符,如 a…b,a12b、aabb都可以。
[ * ] :表示有0个或多个 某个字符,如 ab*,a必须有,但b可以有0到多个;a*,a可以有0到多个,也就是所有。
案例:
grep '8080' server.xml //搜索8080所在的行
grep -n '8080' server.xml //搜索8080所在的行并显示行号
grep -n 'hello' file2 //搜索hello所在的行并显示行号
grep -c 'hello' file2 //统计次数
grep -ic 'hello' file2 //忽略大小写统计次数
grep -v 'hello' file2 //反向选择,显示不包含hello的行
grep -iv 'hello' file2 //忽略大小写的反向选择
grep -ivc 'hello' file2 //忽略大小写的反向选择的统计次数
grep '^yyyy' file2 //以yyyy开头的行
grep 'hadoop$' file2 //以hadoop结尾的行
grep '[c-f]' file2 //查询包含c-f之间字符的行
使用正则查询行
grep -E 'a*' file2 //查询文件所有内容,*代表0个或多个字符
grep -E 'a+' file2 //+,代表1个或多个字符
特殊字符*
grep '*' file2 //直接查找包含*字符的行
grep \* file2 //使用转义字符\
1.9 文本分析工具:AWK 补充案例
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
awk 和 grep一般都是放在一起使用的:
grep负责查询数据,搜索指定的行
awk负责截取数据,截取一行的部分数据,类似String的split方法
awk常用用法:
awk [选项参数] 'script' var=value file(s)
或
awk [选项参数] -f scriptfile var=value file(s)
选项参数说明:
-F fs or --field-separator fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。 String msg = "IPADDR="192.168.92.11"; String[] strs = msg.split("=")
-v var=value or --asign var=value
赋值一个用户定义变量。
-f scripfile or --file scriptfile
从脚本文件中读取awk命令。
-mf nnn and -mr nnn
对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
-W compact or --compat, -W traditional or --traditional
在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
-W copyleft or --copyleft, -W copyright or --copyright
打印简短的版权信息。
-W help or --help, -W usage or --usage
打印全部awk选项和每个选项的简短说明。
-W lint or --lint
打印不能向传统unix平台移植的结构的警告。
-W lint-old or --lint-old
打印关于不能向传统unix平台移植的结构的警告。
-W posix
打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。
-W re-interval or --re-inerval
允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
-W source program-text or --source program-text
使用program-text作为源代码,可与-f命令混用。
-W version or --version
打印bug报告信息的版本。
//案例
//添加测试数据:
[root@localhost ~]# vi log1
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
//查看文件内容
[root@localhost ~]# cat log1
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
//按照空格或tab键分隔每行数据,输出第一、四项数据
[root@localhost ~]# awk '{print $1,$4}' log1
2 a
3 like
This's
10 orange,apple,mongo
//按照逗号分隔每行数据,输出第一项数据
[root@localhost ~]# awk -F ',' '{print $1}' log1
2 this is a test
3 Are you like awk
This's a test
10 There are orange
//按照逗号和空格分隔每行数据,输出第一、四项数据
[root@localhost ~]# awk -F '[ ,]' '{print $1,$4}' log1
2 a
3 like
This's
10 orange
//通过grep查询 然后获取想要的数据
[root@localhost ~]# cat /etc/passwd | grep user* | awk -F ':' '{print $1,$3,$4,$6,$7}'
user1 1000 1003 /home/user1 /bin/bash
userop1 1001 1001 /home/userop1 /bin/bash
user2 1002 1004 /home/user2 /bin/bash
user3 1003 1005 /home/user3 /bin/bash
user11 1004 1007 /home/user11 /bin/bash
user12 1005 1008 /home/user12 /bin/bash
user13 1006 1000 /home/user13 /bin/bash
sysuser14 997 993 /home/sysuser14 /bin/bash
//将想要的数据写入到某文件中去
[root@localhost ~]# cat /etc/passwd | grep user* | awk -F ':' '{print $1,$3,$4,$6,$7}' >> file2 //将想要的数据输入到file2中去
[root@localhost ~]# cat file2 //查看文件内容
hello link
user1 1000 1003 /home/user1 /bin/bash
userop1 1001 1001 /home/userop1 /bin/bash
user2 1002 1004 /home/user2 /bin/bash
user3 1003 1005 /home/user3 /bin/bash
user11 1004 1007 /home/user11 /bin/bash
user12 1005 1008 /home/user12 /bin/bash
user13 1006 1000 /home/user13 /bin/bash
sysuser14 997 993 /home/sysuser14 /bin/bash
//获得最后一列的数据
[root@localhost ~]# cat /etc/passwd | grep user* | awk -F ':' '{print $1,$3,$4,$NF}'
user1 1000 1003 /bin/bash
userop1 1001 1001 /bin/bash
user2 1002 1004 /bin/bash
user3 1003 1005 /bin/bash
user11 1004 1007 /bin/bash
user12 1005 1008 /bin/bash
user13 1006 1000 /bin/bash
sysuser14 997 993 /bin/bash
2.文本编辑工具:SED 重点
Linux sed 命令是利用脚本来处理文本文件
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
语法格式:
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。
动作说明:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
//案例:
//1.在file1的第四行添加一行数据
//(-e是先在内存中插入内容,可以cat查看,文件内容不会改变
//-i是直接插入,非常危险,先使用e测试通过了再使用i插入文件)
[root@localhost file1]# cat file1 //查看file1文件的内容
java
hadoop
HTML
jQuery
hello
//方式一
[root@localhost file1]# sed -e 4a\hello,sed file1 //在file1的第四行添加一行数据
java
hadoop
HTML
hello,sed
jQuery
hello
//方式二
[root@localhost file1]# sed -e '4a hello sed' file1
java
hadoop
HTML
hello sed
jQuery
hello
//2.将file1的内容列出并且列印行号,同时,请将第 2~5 行删除!
//nl:输出文本内容并添加行号
[root@localhost file1]# nl file1 | sed '2,5d'
1 java
5 hello
[root@localhost file1]#
//同时也要注意的是, sed 后面接的动作,请务必以 '' 两个单引号括住喔!
//3.只删除第 2 行
[root@localhost file1]# nl file1 | sed '2d'
1 java
3 HTML
4 jQuery
5 hello
//4.删除第 3 到最后一行
[root@localhost file1]# nl file1 | sed '3,$d'
1 java
2 hadoop
//5.在第二行后加上『赵文明』字样!
[root@localhost file1]# nl file1 | sed '2a 赵文明'
1 java
2 hadoop
赵文明
3 HTML
4 jQuery
5 hello
//6.那如果是要在第二行前
[root@localhost file1]# nl file1 | sed '2i 赵文明'
1 java
赵文明
2 hadoop
3 HTML
4 jQuery
5 hello
//7.以行为单位的替换与显示
//将第2-5行的内容取代成为『赵文明』呢?【2,5)
[root@localhost file1]# nl file1 | sed '2,5c 赵文明'
1 java
赵文明
5 hello
//可以透过这个 sed 的以行为单位的显示功能, 就能够将某一个文件内的某些行号选择出来显示。
//数据的搜寻并显示
//8.搜索file1中有 user 关键字的行
[root@localhost file1]# nl file1 | sed -n '/user/p'
6 user1 1000 1003 /home/user1 /bin/bash
7 userop1 1001 1001 /home/userop1 /bin/bash
8 user2 1002 1004 /home/user2 /bin/bash
9 user3 1003 1005 /home/user3 /bin/bash
10 user11 1004 1007 /home/user11 /bin/bash
11 user12 1005 1008 /home/user12 /bin/bash
12 user13 1006 1000 /home/user13 /bin/bash
13 sysuser14 997 993 /home/sysuser14 /bin/bash
//数据的搜寻并删除
//9.将搜索的数据删除,其他行输出
[root@localhost file1]# nl file1 | sed '/1003/d'
1 java
2 hadoop
3 HTML
4 jQuery
5 hello
7 userop1 1001 1001 /home/userop1 /bin/bash
8 user2 1002 1004 /home/user2 /bin/bash
10 user11 1004 1007 /home/user11 /bin/bash
11 user12 1005 1008 /home/user12 /bin/bash
12 user13 1006 1000 /home/user13 /bin/bash
13 sysuser14 997 993 /home/sysuser14 /bin/bash
//10.搜索file1找到user对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把bin替换为abc,再输出这行:
//(如果要全部替换不使用q推出即可)
[root@localhost file1]# nl file1 | sed -n '/user/{s/bin/abc/;p;q}'
6 user1 1000 1003 /home/user1 /abc/bash
//11.数据的搜寻并替换
//除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!他有点像这样:
语法:sed 's/要被取代的字串/新的字串/g'
[root@localhost ~]# ip add >> file3 //搜集本机的IP地址
[root@localhost ~]# cat file3
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:3d:17:69 brd ff:ff:ff:ff:ff:ff
inet 192.168.131.129/24 brd 192.168.131.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe3d:1769/64 scope link
valid_lft forever preferred_lft forever
//本机的ip是192.168.92.12 127.0.0.1 只保留这两个部分
//采用了正则表达式替换
[root@localhost ~]# cat file3 | grep 'inet' | sed 's/^.*inet//g' | sed 's/\/.*$//g' | sed 's/^6.*//g'
127.0.0.1
192.168.131.129
//12.多点编辑
//一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为abc
[root@localhost ~]# nl file2 | sed -e '3,$d' -e 's/bin/abc/'
1 hello link
2 user1 1000 1003 /home/user1 /abc/bash
//13.直接修改文件内容(危险动作)
// sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向! 不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试!
//13.1将passwd文件中的 冒号 全部替换成 空格
[root@localhost ~]# sed -i 's/ /:/g' file2
[root@localhost ~]# nl file2
1 hello:link
2 user1:1000:1003:/home/user1:/bin/bash
3 userop1:1001:1001:/home/userop1:/bin/bash
//13.2利用 sed 直接在 file1 最后一行加入 新年好
[root@localhost ~]# sed -i '$a hello,sed 新年好!' file2
[root@localhost ~]# nl file2
1 hello:link
…………
10 hello,sed
11 hello,sed 新年好!
3.文件查询命令 find 命令
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
递归查询。
命令格式:
find 文件目录 [选项]
命令功能:
用于在文件树中查找文件,并作出相应的处理。用 . 来表示当前目录,用 / 来表示系统根目录 用~ 表示家目录。
命令选项:
-name 文件名 : 按照文件名查找文件。
-perm 权限 : 按照文件权限来查找文件。
-user UID或用户名 :按照文件属主来查找文件。
-group GID或组名 :按照文件所属的组来查找文件。
-type 类型 :查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-newer 文件名:查找更新时间比文件新的文件。
-newer file1 ! -newer file2 查找更改时间比文件file1 新但没有比文件file2新的文件。
-mtime -n +n 按照文件的更改时间来查找文件
- n 表示文件更改时间距现在n天以内,
+ n 表示文件更改时间距现在n天以前。
案例:
1) 模糊查询案例
1.1在当前目录下,查找文件名以f开头的文件或目录
[root@localhost ~]# find . -name 'f*'
./file2
./f1
./f2
./file1
./file1/file1
./file3
1.2在/root目录下查找,查找文件名以f开头的文件或目录
[root@localhost ~]# find /root -name 'f*'
/root/file2
/root/f1
/root/f2
/root/file1
/root/file1/file1
/root/file3
1.3查找以1结尾的文件或目录
[root@localhost ~]# find . -name '*1'
./f1
./log1
./file1
./file1/file1
2) 按文件所属的UID或者用户名查询
按用户id查询
[user4@localhost ~]$ find . -user 1003
.
./.bash_logout
./.bash_profile
…………
按用户id查询
[user4@localhost ~]$ find /home/user4 -user 1003
/home/user4
/home/user4/.bash_logout
/home/user4/.bash_profile
…………
按用户名称查询
[user4@localhost ~]$ find /home/user4 -user user4
/home/user4
/home/user4/.bash_logout
/home/user4/.bash_profile
…………
3) 按文件的类型查询
按照文件查询
[root@localhost ~]# find . -type f
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
./.bash_history
./file2
./group
./Centos-7.repo
./log1
./file1/file1
./file3
按照目录查询
[root@localhost ~]# find . -type d
.
./f1
./file1
按照连接查询
[root@localhost ~]# find . -type l
./f2
4) 按文件新旧程度查询
查询比file1新的文件
[root@localhost ~]# find -newer file1
.
./.bash_history
./file2
./file3
查询比file2新但是没有file1新的文件(没有,因为没有创建文件)
[root@localhost ~]# find -newer file2 ! -newer file1
[root@localhost ~]#
查询距离现在一个小时之内并且是30分钟之前创建的文件
[root@localhost ~]# find -mmin +30 -mmin -60
.
./file2
4.查找特定程序:whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
查找系统中可执行文件、man说明文件、源代码文件。
命令格式:
whereis [参数] 文件名
命令功能:
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件
//案例:
//1)找到程序的所有文件
[root@localhost bin]# whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz
//2)找到程序的所有可执行文件
[root@localhost bin]# whereis -b find
find: /usr/bin/find
5.查找可执行文件:which
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
命令格式:
which 可执行文件
命令功能:
which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
案例:
//在环境变量的配置中搜索指定命令的位置
[root@localhost bin]# which find
/usr/bin/find
6. 用户及版本信息查看
6.1 用户信息查看:who 和 whoami
who命令用于显示谁登录了系统(show who is logged on),who am i与之相同。另外一个叫whoami的命令,只输出用户账号。而who或者who am i不仅显示账号,还显示终端文件名、时间、来源IP等。
//案例:显示当前登录的用户
//root的记录明细(显示用户名,终端文件名,时间,ip)
[root@localhost bin]# who
root tty1 2019-08-19 19:24
root pts/0 2019-08-22 05:35 (192.168.131.1)
//查看当前登陆的用户是谁(只显示用户名)
[root@localhost bin]# whoami
root
6.2 系统版本信息查看:uname
命令格式:
uname -a #系统版本所有信息
uname -r #系统内核信息
命令功能:
显示系统版本信息。
//案例:
//系统版本所有信息
[root@localhost bin]# uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
//系统内核信息
[root@localhost bin]# uname -r
3.10.0-862.el7.x86_64
7. 寻求帮助:man
使用man 命令可以获取某个命令的帮助信息。man命令在显示手册页时是调用less程序,可以用less的控制命令进行上翻,下翻,查找等。
命令格式:
命令格式:
man 命令名
示例:
man find
//man 命令里支持less 命令,可以用less 搜索高亮显示。