目录
重定向
Linux重定向:主要指的是输入重定向和输出重定向,系统中默认标准输出是指将输出结果展现在屏幕上,标准输入是从键盘上输入。但是在Linux中还有另外一种输出方式,即标准错误输出,是将错误的输出结果输出到屏幕上(仅表示错误的时候)。
标准输入:stdin,文件描述符为0。
标准输出:stdout,文件描述符为1。
标准错误输出:stderr,文件描述符为2。
重定向符:
使用形式 | 功能 |
---|---|
命令>文件或者:命令 1> 文件 | 将命令执行后的输出信息不在默认的屏幕上显示,二十一覆盖的方式写入到指定的文件中,若指定的文件不存在,则自动创建该文件 |
命令 2> 文件 | 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的凡是写入到指定文件中,若指定文件不存在,则自动创建该文件 |
命令 &> 文件 | 将命令执行后的输出信息和错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件 |
命令 2> /dev/null | 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备文件中,即将输出的错误信息丢弃 |
命令 >> 文件 | 将命令执行后的输出信息以追加的方式写入到指定的文件中 |
命令 < 文件 | 使命令从指定的文件中读取输入数据 |
命令 << 结束表示字符串 | 读取命令行输入,直到遇到输入行为指定的结束标识字符串 |
示例:
&符号的用法
输入重定向
< :从文件读入
<< :从命令行读入,输入指定的结束字符串后结束
命令搜索
whereis命令
whereis命令使搜索系统命令的命令,该命令不能搜索普通文件。
示例:
which命令
which命令也是搜索系统命令的命令。
which命令与whereis命令的区别:
-
whereis命令可以查找到二进制的命令的同时,可以查找到帮助文档的位置;
-
which命令在查找到二进制命令的同时,若该被查找的命令有别名,还可以找到别名命令;
示例:
locate命令
locate命令是可以按照文件名搜索普通文件的命令。
优点:按照数据搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db,可以使用updatedb命令强制更新数据库。
缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件。
示例:
使用find命令进行全盘搜索虽然准确,但是效率有点低,如果我们仅仅是想找一些常见的、又知道大概名称的文件,不如试试locale命令的功能。locate命令是将一些常用的目录做成一个索引库文件,一般是叫做"var/lib/mlocate/mlocate.db",后续在搜索文件的时候就是根据这个数据库中所包含的路径进行查找,速度会快很多。
find查找
命令格式:find [查找路径] 寻找条件 操作
功能:按照指定条件在路径中搜索,搜索完成之后可以执行某些操作。
参数及作用:
参数 | 作用 |
---|---|
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
--type b/d/c/p/l/f | 匹配文件类型(后面的字母参数以此表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …… {} \ ; | 后面可跟用于进一步处理搜索结果的命令 |
示例:
1、-name 根据文件名称(精准匹配,除非加了通配符 *)
2、-size 根据文件大小后面可以跟+|-,+代表大于,-代表小于
3、-mtime:-mtime n,n表示n
4、-newer file:比file文件新的文件
5、-perm:
6、-type:文件类型
7、-exec:即execute,执行的意思
在查找到信息之后,去执行某些操作。(会在shell脚本中经常出现)
-print:每行打印一条
-print0:Linux中的空字符"\0"分隔每一个内容
文本排序统计
cut命令
cut命令是按列提取文本内容。
命令格式:cut [选项] 文件
参数:
示例:
uniq命令
uniq命令,英文全称"unique"用于去除文本中连续重复行。(着重注意:去的是连续重复行)
格式:uniq [参数] 文件名称
示例:
sort命令
sort命令用于对文本内容进行排序。
格式:sort [参数] 文件名称
参数及作用:
参数 | 作用 |
---|---|
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 以数值型排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 |
示例:
-n,按数字进行排序(1111和123,如果按照字符串排序:1111,123;如果按照数字排序:123,1111。)
-t和-k:-t,指定分隔符,-k,分割的字段
tr命令
在linux中tr命令用于删除或转换文件中的字符。
语法格式:tr [选项] SET1 SET2
替换功能:就是将SET1和SET2对于其拉力进行替换,SET1和SET2是两个集合
SET1=SET2 =》 SET1可以和SET2一一对应上
SET1<SET2 =》 SET1中元素少,SET2元素多
SET1>SET2 => SET1中元素多,SET2的元素少
用SET2中的字符去替换SET1中字符,一一对应去替换
参数:
示例:
wc命令
wc命令用于统计指定文本文件的行树、字数或字节数。
语法格式:wc [参数] 文件名称
参数及作用:
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
示例:
压缩和解压缩
zip和unzip命令
zip和unzip命令主要是对文件的压缩和解压缩,并且还可以压缩目录。
格式:zip/unzip [选项] 文件名称
参数及作用:
示例:
-r:连同目录一起压缩
-m:向压缩文件中添加另一个文件
-d:删除压缩文件中的文件
-x:压缩文件时排除某个文件
解压缩文件
-v:查看压缩文件目录,但不解压
gzip和gunzip命令
注意:gzip压缩文件之后,原文件将不存在;gunzip解压缩文件之后,原压缩文件也将不存在。
示例:
gzip压缩文件:
gzip压缩目录下文件:
bzip2和bunzip命令
bzip2、bunzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。
xz和unxz命令
示例:
压缩文件:
压缩dir1目录下文件
查看压缩文件内容:
解压缩:
解压缩目录dir1下文件