符号连接(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<test.txt
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