Linux 文件类型及查找命令实践
一、符号链接
1、ln -s make symbolic links instead of hard links用符号链接代替硬链接
2、字符(character)/块(block)设备文件
以c开头的就是字符设备,猫等串口设备
以b开头的就是块设备,硬盘、光驱等
3、套接口(socket)文件
以s开头
.sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,
如:我们可以启动一个程序来监听客户端请求,客户端可以通过套接字来进行数据通信。
用于进程之间通信的文件。
4、which查命令所在路径
5、PATH(重点)
变量作用。
命令行命令会从PSTH对应的路径中查找命令,PATH对应的路径没有这个命令就会报
command not found。
6、whereis:显示命令及相关文件全路径(显示命令、源码、帮助的全路径)
-b查二进制命令
7、locate:快速定位文件路径
C7默认没安装,不用学习
locate查找文件及帮助相关,从updatedb对应的数据库里查
8、find:查找命令下的文件*****
查找原理:磁盘遍历,速度慢。
[root@oldboyedu ~]# find ~ -name " oldboy.txt"
路径 名字参数 具体文件
/root/data/oldboy.txt
/root/oldboy.txt
练习:
从跟下查找ifcfg-eth0网卡文件
迷糊查找用“*”查找
[root@oldboyedu ~]# find / -name "host*"
按文件类型查找:-type
[root@oldboyedu ~]# find / -type f -name "oldboy"
/var/spool/mail/oldboy
[root@oldboyedu ~]# find / -type d -name "oldboy"
/home/oldboy
-type c:file is of type c(文件类型为c)
b block (buffered) special
c character字符 (unbuffered)无缓冲的 special
d directory
p named pipe (FIFO)
f regular规则的 file
l symbolic link; this is never true if the -L
option or the -follow option is in effect, unless
the symbolic link is broken. If you want to
search for symbolic links when -L is in effect,
use -xtype.
符号链接;如果-L不成立
选项或-follow选项有效,除非
符号链接断开。如果你想
搜索符号链接时-L是有效的,
使用-xtype。
s socket套接字
-o:表示或的关系,表示前后两个条件满足其中一个即可
-exce对查找的结果再处理
例如:find /var/ -type s -exec ls -l {} \;
-exec后面跟的是command命令,最后以分号(;)作为结束标志的,考虑到各个系统中
分号会有不同的意义,所以前面要加反斜杠转义。
{}的作用:指代前面find命令查找到的内容。
{}前后都要有空格
command可以是其他任何命令,例如例子中的ls、rm等命令。
-mtime按修改时间查找
[root@oldboyedu ~]# find /root -type f -mtime -1 -exec ls -l {} \;
-1表示文件更改时间距现在1天以内
+1表示文件修改时间距现在1天以前
1表示距现在第一天
9、xargs:分组 从标准输入执行命令
-n数字 以几个数字为一组进行分组
-n 数字 以几个数字为一组进行分组
[root@oldboyedu ~]# echo {1..15} >test.txt
[root@oldboyedu ~]# cat test.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[root@oldboyedu ~]# xargs -n 4 < test.txt
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15
-d指定分隔符,不指定默认空格
-i把{}当做前面查找的结果
find /data -type f -exec rm -f {} \;
相当于
rm -f oldboy1.txt
rm -f oldboy2.txt
rm -f oldboy3.txt
效率低
find /data -type f|xargs rm -f
知识一条命令
rm -f oldboy1.txt oldboy2.txt oldboy3.txt
[root@oldboyedu /data]# find /data -type f|xargs -i cp {} /opt
[root@oldboyedu /data]# ls /opt/
oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt
10、date:显示系统时间和日期
-s:修改时间
date -s "2020/10/1 00:00:00"
[root@oldboyedu ~]# date +%F
2019-03-14
[root@oldboyedu ~]# date +%Y
2019
[root@oldboyedu ~]# date +%y
19
[root@oldboyedu ~]# date +%m
03
[root@oldboyedu ~]# date +%d
14
[root@oldboyedu ~]# date +%H
12
[root@oldboyedu ~]# date +%M
08
[root@oldboyedu ~]# date +%S
02
-d指定相关格式
11、tar:打包压缩*****
打包:
语法:tar参数 筐 苹果
集合参数zcvf:
-z:压缩
-c:创建
-v:输出过程
-f:表示对文件打包
-C:指定解压的路径
-x:解压
-h:跟随软链接