文档管理

which 查找可执行文件

如:which ls

grep:文件内容过滤

find 寻找文件

1.文件名查找

find /etc -name "ifcfg-eth0"  
-name   文件名, 后面-print 动作时默认的,已省略

find /etc -iname "ifcfg-eth0"           
-i忽略大小写

find /etc -iname "ifcfg-eth*"

2.文件大小:

find /etc -size +5M           //大于5M
find /etc -size 5M
find /etc -size -5M
find /etc -size +5M -ls      //-ls找到的处理动作, 不是平时用的ls
ll - h   查看大小

3.指定查找的目录深度

-maxdepth levels
-mindepth levels
find / -maxdepth 3 -a  -name "ifcfg-eth0"           maxdepth 3   最大3层    
a要满足2个条件 
并且按时间找(atime,mtime,ctime):
[root@tianyun ~]# find /etc -mtime +5       //修改时间超过5天
[root@tianyun ~]# find /etc -mtime 5        //修改时间等于5天
[root@tianyun ~]# find /etc -mtime -5       //修改时间5天以内

4.按文件类型

find /dev -type f                          //f普通
find /dev -type d                          //d目录
find /dev -type l                          //l链接
find /dev -type b                          //b块设备
find /dev -type c                          //c字符设备
find /dev -type s                          //s套接字
find /dev -type p                          //p管道文件 

5.按文件权限

find . -perm 644 -ls            

. 是当前目录    精确查找  644    一般都是进行精确查找

find . -perm -644 -ls    
-是包含的意思 
带不带- 自己对比一下查看。       
带-表示只要6就可以
find . -perm -600 -ls
find . -perm -222 -ls              //全局可写
find /usr/bin /usr/sbin -perm -4000 -ls       //包含set uid
find /usr/bin /usr/sbin -perm -2000 -ls       //包含set gid
find /usr/bin /usr/sbin -perm -1000 -ls       //包含sticky 

注意:查找出来的文件权限都是大于所找条件的

找到后执行其他动作

-print  默认
-ls    列出结果文件的属性,就像 ls  -l 的效果

-exec  继续执行其他命令
|xargs  支持更多参数

exec

find    /etc  -name  "root"  -exec   cp  -rvf  {}  /tmp    \; 
exec 命令用于调用并执行指令的命令 查找带 root 带文件 复制到 tmp下

xargs

 find . -name "yang*.txt" |xargs rm -rf   

xargs与exec的区别与联系

xargs其实就是获取前面指令得到的结果,然后在执行后面的,其效果与exec中的{}效果类似
不同的是,exec执行时候是一条条单独执行,这就意味着,进程越多就越耗性能,一般来说,只要不是执行带有空格名字的文件,用xargs比较方便

关于$(xargs)的一些命令

-O 大写字母 O, 把空格字符改变为一般字符 
-e 后面跟字符串,当xargs分析到字符串时就停止,格式为 -e'test' 中间没有空格
-p 执行时询问
-n 后面接数字,定义command执行时,要使用几个参数

找出 /sbin 目录下的文档,并使用 ls -l 列出详细数据

find /sbin -perm +0700|ls -I $(xargs)

linux目录

image.png

在执行命令时候,一定要清楚自己在哪个目录

文件内容操作

cut字段分隔
d' ' f1 就是空格为分段符,取出第一段;d'-' f2 -为分段符,取出第二段


image.png

image.png

image.png

grep关键字搜索

grep [-acinv] [--color=auto] '搜寻字符串' filename

-a //将binary 文件以text文件的方式搜索数据
-c //计算找到的字符串的次数
-i //忽略大小写
-n //输出行号
-v //反向选择,意思就是除了那个之外其他都符合要求

排序统计命令:sort,wc,uniq

sort [-fbMnrtuk] [file or stdin]
选项不参数:
-n : 使用『纯数字』进行排序(默认是以文字型态来排序的);
-u :就是 uniq ,相同的数据中,仅出现一行代表
-f :忽略大小写
-b :忽略最前面的空格符部分;
-r :反向排序;
-t :分隔符,预设是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思

uniq去重+统计

只会把连续行内容一样的去重
-c 进行统计重复的次数
-i 忽略大小写

wc 字符,行统计

-l    仅列出行
-w   仅列出多少字
-m   列出字符

tr字符替换

cat /etc/passwd | tr -d ':' //将冒号删除
tr ':' ' '      //将:替换成空格
last | tr '[a-z]' '[A-Z]' //所以小写变成大写

tee双向输出

cat   anaconda-ks.cfg   | tee  an.bak
将文件anacondaks.cfg显示出来,并把它写入an.bak

[更多详情]
(https://www.jianshu.com/p/22cda3116e03
)

你可能感兴趣的:(文档管理)