重定向和文件的查找

时人不识凌云木,直待凌云始道高。这篇文章主要讲述重定向和文件的查找相关的知识,希望能为你提供帮助。
1.
/proc/进程ID/fd/  #这个fd目录下,专门存放文件描述符。对文件描述符的操作就是针对文件本身的操作。
一个程序打开的文件数是有限制的,可以使用如下命令查看:

[root@xuegod63 ~]# ulimit -n
1024
[root@xuegod63 ~]# ulimit -n 2048#设置进程最大打开文件数

2.
标准输入:0< 或<  
标准输出:1> 或>
3.
管道命令只处理前一个命令的正确输出,不处理错误输出
tee命令
读取标准输入的数据,并将其内容输出成文件。因为管道了,默认输出重定向了,这个tee,可以又输出给后面,还输出到文件。 -a参数追加而非覆盖。其实就是又想输出到显示器,还想同时输出到文件。
[root@xuegod63 ~]# ps -aux|grep vim |tee file1.txt
root161070.00.564456 11360 pts/0S+19:200:00 vim .vimrc
root162100.00.0123201072 pts/1S+20:170:00 grep --color=auto vim
[root@xuegod63 ~]# cat file1.txt
root161070.00.564456 11360 pts/0S+19:200:00 vim .vimrc
root162100.00.0123201072 pts/1S+20:170:00 grep --color=auto vim

4.
查找命令
which  查看可执行文件的位置
【重定向和文件的查找】whereis  查看可执行文件的位置及相关文件
locate  配合数据库缓存,快速查看文件位置
[root@xuegod63 ~]# which cd
/usr/bin/cd
[root@xuegod63 ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz

locate查询不到文件,可能是因为数据库没有更新导致,需要使用updatedb命令更新数据库
5.
grep
[root@xuegod63 ~]# grep "root\\|nologin" /etc/passwd |wc -l
20
[root@xuegod63 ~]# egrep "root|nologin" /etc/passwd|wc -l
20
#上面两种是相同效果的,都是查看包含root或者nologin的行,与下面的不同
[root@xuegod63 ~]# grep -e "root|nologin" /etc/passwd|wc -l
0

6.
find
-perm权限查找
-prune使用这个选项可以忽略指定文件夹下的搜索,如果同时使用-depth选项,那么-prune将被忽略
find -exec可以换成find |xargs -i 
find -perm -644表示至少有644权限的文件或目录。注:find -perm -777  则1777 2777 4777都能查找出来,这个用于查找危险权限的目录,如果查找危险文件需要加个-type f
find /bin和find /bin/是不一样的,不加/表示目录本身

























    推荐阅读