符号连接(symbolic link)文件,软件接
以l开头的
快捷方式:
[root@zhangxiangyu-58 ~]# cat oldboy.txt
I am oldboy
[root@zhangxiangyu-58 ~]# ln -s oldboy.txt oldboy_soft_link
[root@zhangxiangyu-58 ~]# ls -l
总用量 16
-rw-r--r-- 1 root root 42 3月 13 11:20 a.txt
-rw-r--r-- 1 root root 354 3月 12 00:00 grep.txt
lrwxrwxrwx 1 root root 10 3月 14 09:20oldboy_soft_link -> oldboy.txt
-rw-r--r-- 1 root root 12 3月 14 09:19 oldboy.txt
-rw-r--r-- 1 root root 18 3月 13 11:35 test.txt
-rw-r--r-- 1 root root 0 3月 13 10:33 test.txt.ori
drwxr-xr-x 3 root root 19 3月 13 15:53zhang
ln make links between files 创建:ln -s 删除:rm
字符(charecter)/ 块(block)设备文件
以c开头的就是字符设备 猫等串口设备
以b开头的就是块设备 硬盘 ,光驱等都属于块设备
套接口(socket)文件
Sock文件是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,如:我们可以启动一个程序来监听
File 查看文件类型
Which 查命令所在的路径
[root@zhangxiangyu-58 ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@zhangxiangyu-58 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@zhangxiangyu-58 ~]# which ip
/usr/sbin/ip
重点:
$PATH 作用
命令行命令会从PATH 对应的路径中查找命令,PATH 对应的路径中没有这个命令就会报command not found
[root@zhangxiangyu-58 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Whereis:查找命令,源码,帮助等全路径 -b 查二进制命令
[root@zhangxiangyu-58 ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
[root@zhangxiangyu-58 ~]# whereis -b cp
cp: /usr/bin/cp
Locate:快速文件定位文件路径 C7 默认没安装
查找文件路径,是从数据库A里查询
更新A数据库用updatedb命令
find:查找目录下的文件 *****
查找原理:磁盘遍历,速度慢
find ~ -name “oldboy.txt“
路径 名字参数 具体路径
按文件名查找: -name
[root@zhangxiangyu-58 ~]# find / -name "ifcfg-eth0"
/etc/sysconfig/network-scripts/ifcfg-eth0
[root@zhangxiangyu-58 ~]# find / -name "oldboy"
/oldboy
-type 按文件类型查找:[root@zhangxiangyu-58 ~]# find / -type f -name "oldboy*"
这里的类型和名字是取交集,两条件都满足。默认是交集,相当于有个-a
[root@zhangxiangyu-58 ~]# find / -type d -name "oldboy*"
[root@zhangxiangyu-58 ~]# find / -type d -o -name "oldboy*"
;代表oldboy
\; 有代表自身,即分号
[root@zhangxiangyu-58 /data]# find /data -type f
/data/oldboy.txt1
/data/oldboy.txt2
/data/oldboy.txt3
/data/oldboy.txt4
/data/oldboy.txt5
/data/oldboy.txt6
/data/oldboy.txt7
/data/oldboy.txt8
/data/oldboy.txt9
/data/oldboy.txt10
[root@zhangxiangyu-58 /data]# find /data ! -type f
/data
-exec:
[root@zhangxiangyu-58 /data]# find /data -type f -exec ls -l {} \;
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt1
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt2
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt3
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt4
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt5
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt6
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt7
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt8
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt9
-rw-r--r-- 1 root root 0 3月 14 10:43 /data/oldboy.txt10
-mtime: +3就是三天前 -3就是最近三天 3就是第三天
[root@zhangxiangyu-58 /data]# find ~ -type d -mtime +3
/root/.ssh
[root@zhangxiangyu-58 /data]# find ~ -type d -mtime -3
/root
/root/zhang
/root/zhang/xiang
/root/zhang/xiang/yu
[root@zhangxiangyu-58 /data]# find ~ -type d -mtime 3
-xargs:从标准输入执行命令 -n 数字 几个东西在一组
[root@zhangxiangyu-58 /data]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@zhangxiangyu-58 /data]# echo {1..10} >test.txt
[root@zhangxiangyu-58 /data]# cat test.txt
1 2 3 4 5 6 7 8 9 10
[root@zhangxiangyu-58 /data]# xargs -n 4
1 2 3 4
5 6 7 8
9 10
[root@zhangxiangyu-58 /data]# xargs -n 5
1 2 3 4 5
6 7 8 9 10
-d 指定分隔符
[root@zhangxiangyu-58 /data]# cat test.txt
a.b.c.d.
[root@zhangxiangyu-58 /data]# xargs -d"." -n2 a b c d | 管道 : 里面放的是文件内容,数据流 [root@zhangxiangyu-58 /data]# cat test.txt a.b.c.d. [root@zhangxiangyu-58 /data]# echo "oldboy" >test.txt [root@zhangxiangyu-58 /data]# echo "oldgirl" >>test.txt [root@zhangxiangyu-58 /data]# echo "oldboedu" >>test.txt [root@zhangxiangyu-58 /data]# echo "oldboyedu" >>test.txt [root@zhangxiangyu-58 /data]# cat test.txt oldboy oldgirl oldboedu oldboyedu [root@zhangxiangyu-58 /data]# cat test.txt|grep "boy" oldboy oldboyedu 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 -i 指定一个符号代替前面的结果,而不用-i [root@zhangxiangyu-58 /data]# find /data -type f|xargs -i cp {} /opt [root@zhangxiangyu-58 /data]# ls /opt/ data oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt test.txt Date 显示系统时间和日期 -s [root@zhangxiangyu-58 /data]# date -s "2020/10/1 00:00:00" 2020年 10月 01日 星期四 00:00:00 CST [root@zhangxiangyu-58 /data]# date 2020年 10月 01日 星期四 00:00:04 CST [root@zhangxiangyu-58 /data]# date +%F 2020-10-01 [root@zhangxiangyu-58 /data]# date +%y 年 20 [root@zhangxiangyu-58 /data]# date +%Y 年 2020 [root@zhangxiangyu-58 /data]# date +%m 月 10 [root@zhangxiangyu-58 /data]# date +%d 日 01 [root@zhangxiangyu-58 /data]# date +%H 时 00 [root@zhangxiangyu-58 /data]# date +%M 分 02 [root@zhangxiangyu-58 /data]# date +%S 秒 28 -d 指定过去或未来格式 root@zhangxiangyu-58 /data]# date +%F -d "+1year" 2020-03-14 打包压缩:tar 打包: 语法: tar 参数 筐(包) 苹果(文件) 参数集合zcvf: -z压缩 -c创建 -v输出打包过程 -f对文件打包 [root@zhangxiangyu-58 /]# tar -zcvf data.tar.gz ./data ./data/ ./data/oldboy1.txt ./data/oldboy2.txt ./data/oldboy3.txt ./data/oldboy4.txt ./data/oldboy5.txt [root@zhangxiangyu-58 /]# ls -l data.tar.gz -rw-r--r-- 1 root root 177 3月 14 12:22data.tar.gz 查看压缩包的内容:-t [root@zhangxiangyu-58 /]# tar -tf data.tar.gz ./data/ ./data/oldboy1.txt ./data/oldboy2.txt ./data/oldboy3.txt ./data/oldboy4.txt ./data/oldboy5.txt [root@zhangxiangyu-58 /data]# ls 1.txt 2.txt 3.txt 4.txt 5.txt [root@zhangxiangyu-58 /data]# cd . . [root@zhangxiangyu-58 /data]# cd / [root@zhangxiangyu-58 /]# tar zcvf /opt/ data.tar.gz ./data data.tar.gz ./data/ ./data/1.txt ./data/2.txt ./data/3.txt ./data/4.txt ./data/5.txt [root@zhangxiangyu-58 /]# tar zcvf /opt/data.tar.gz ./data ./data/ ./data/1.txt ./data/2.txt ./data/3.txt ./data/4.txt ./data/5.txt [root@zhangxiangyu-58 /]# tar tf /opt/data.tar.gz ./data/ ./data/1.txt ./data/2.txt ./data/3.txt ./data/4.txt ./data/5.txt 解压: -x [root@zhangxiangyu-58 /opt]# tar zxvf data.tar.gz ./data/ ./data/1.txt ./data/2.txt ./data/3.txt ./data/4.txt ./data/5.txt [root@zhangxiangyu-58 /opt]# ls data 1.txt 2.txt 3.txt 4.txt 5.txt 指定解压的路径: -C [root@zhangxiangyu-58 /opt]# tar zxvf data.tar.gz -C /tmp/ ./data/ ./data/1.txt ./data/2.txt ./data/3.txt ./data/4.txt ./data/5.txt [root@zhangxiangyu-58 /opt]# ls /tmp/data 1.txt 2.txt 3.txt 4.txt 5.txt 跟随软连接:-h