3月14日第11天课堂笔记

1、符号链接(symbolic link)文件,软连接(soft link)

快捷方式:ln -s(创建),rm(删除)

2、字符(character)/块(block)设备文件 mknod(创建字符设备或块设备)

以c开头的就是字符设备,猫等串口设备
以b开头的就是块设备,硬盘,光驱等都属于块设备

3、套接口(socket)文件

以s开头,.sock文件也是一类特殊的文件,这类文件通常在网络之间,进行数据连接,如:我们可以启动一个程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。

4、which 显示命令的全路径

重点:PATH:命令行执行命令会从PATH对应的路径中查找命令,PATH对应的路径中没有这个命令就会报command not found

5、whereis:显示命令、源码、说明文档全路径

whereis -b 查二进制命令

6、locate:快速定位文件路径(C7默认没安装,不学了),从updatedb对应的数据库里查

yum provides locate ==》查看命令对应的软件包

7、find 查找目录下的文件*****

查找原理:磁盘遍历,速度慢。
7.1、按文件名查找:-name
[root@yuzhiwei~]# find ~ -name "oldboy.txt"
/root/oldboy.txt
[root@yuzhiwei~]# find / -name "ifcfg-eth0"
/etc/sysconfig/network-scripts/ifcfg-eth0
7.2、模糊查找:*
find / -name "ifcfg" 表示所有
7.3、按文件类型查找:-type
[root@oldboyedu ~]# find / -type f -name "oldboy
"(文件)
[root@oldboyedu ~]# find / -type d -name "oldboy
"(目录)
7.3.1、find / -type d -name "oldboy"
这里的类型和名字是取交集,两个条件都满足。默认就是交集,相当于-a
find / -type d -o -name "oldboy
"
7.3.2、-o是取并集,满足一个条件即可。
7.3.3、-a and 并且 -o or 或者 !取反
[root@oldboyedu /data]# touch oldboy{1..10}.txt
[root@oldboyedu /data]# ls
oldboy10.txt oldboy2.txt oldboy4.txt oldboy6.txt oldboy8.txt
oldboy1.txt oldboy3.txt oldboy5.txt oldboy7.txt oldboy9.txt
[root@oldboyedu /data]# find /data -type f
/data/oldboy1.txt
/data/oldboy2.txt
/data/oldboy3.txt
/data/oldboy4.txt
/data/oldboy5.txt
/data/oldboy6.txt
/data/oldboy7.txt
/data/oldboy8.txt
/data/oldboy9.txt
/data/oldboy10.txt
[root@oldboyedu /data]# find /data ! -type f
/data
[root@oldboyedu /data]# mkdir {a..d}
[root@oldboyedu /data]# find /data ! -type f
/data
/data/a
/data/b
/data/c
/data/d

7.3.4、-exec 对查找的结果再处理
[root@oldboyedu /data]# find /data -type f -exec ls -l {} ;
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

7.3.5、-mtime 修改时间

3月14日第11天课堂笔记_第1张图片
图片6.png

8、xargs从标准输入执行命令

8.1、-n 分组,n表示几个一组
[root@oldboyedu /data]# echo {1..10} >test.txt
[root@oldboyedu /data]# cat test.txt
1 2 3 4 5 6 7 8 9 10
[root@oldboyedu /data]# xargs -n 3 1 2 3
4 5 6
7 8 9
10
[root@oldboyedu /data]# xargs -n 4 1 2 3 4
5 6 7 8
9 10
[root@oldboyedu /data]# xargs -n 5 1 2 3 4 5
6 7 8 9 10
8.2、-d 制定分隔符
8.2、-i 前面所找到的内容放到{}里面

9、特殊字符集合:

.当前目录
..上一级目录

  • 上一次所在目录
    ~ 家目录
    \ 转义字符
  • 表示所有字符
    ! 取反

| 管道
[root@oldboyedu /data]# cat test.txt
a.b.c.d
[root@oldboyedu /data]# echo "Oldboy" >test.txt
[root@oldboyedu /data]# echo "Oldgirl" >>test.txt
[root@oldboyedu /data]# echo "Oldboedu" >>test.txt
[root@oldboyedu /data]# echo "Oldboyedu" >>test.txt
[root@oldboyedu /data]# cat test.txt
Oldboy
Oldgirl
Oldboedu
Oldboyedu
[root@oldboyedu /data]# cat test.txt|grep "boy"
Oldboy
Oldboyedu
[root@oldboyedu /data]# grep "boy" test.txt
Oldboy
Oldboyedu

[root@oldboyedu /data]# find /data -type f -name "oldboy" -mtime -7 -exec ls -l {} ;
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt
[root@oldboyedu /data]# find /data -type f -name "oldboy
" -mtime -7|xargs ls -l
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt
-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

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 修改时间“2020/10/1 00:00:00”

date +%(F年月日、Y年、y年份后两位数、m月、d日、H时、M分、S秒)
date -d
[root@oldboyedu /data]# date +%F -d "-1day"
2020-09-30
[root@oldboyedu /data]# date +%F -d "+1day"
2020-10-02
[root@oldboyedu /data]# date +%F -d "+1month"
2020-11-01
[root@oldboyedu /data]# date +%F -d "+1Y"
date: invalid date ‘+1Y’
[root@oldboyedu /data]# date +%F -d "+1year"
2021-10-01

  • 过去
  • 未来
    [root@oldboyedu /data]# date +"%Y-%m-%d %H:%M:%S"
    2020-10-01 00:09:36
    [root@oldboyedu /data]# date +"%F %T"
    2020-10-01 00:09:39

11、打包 压缩

打包 筐 放文件 压缩体积降低
文件压缩,大小会降低
tar 打包***** 参数 筐(压缩包) 苹果(被打包的文件)
-z 压缩
-c 创建
-v 输出打包过程
-f 文件打包
data.tar.gz tar表示打包,gz表示gzip格式压缩。
[root@oldboyedu ~]# mkdir /data
[root@oldboyedu ~]# cd /data
[root@oldboyedu /data]# touch {1..5}.txt
[root@oldboyedu /data]# ls
1.txt 2.txt 3.txt 4.txt 5.txt
[root@oldboyedu /data]# cd ..
[root@oldboyedu /]# tar zcvf /opt/data.tar.gz ./data
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
-t 查看文件
[root@oldboyedu /]# tar tf /opt/data.tar.gz
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
-x 解压
tar -zxcf +压缩包 解压压缩包 -C 指定解压的路径
-h 跟随软链接
--exclude 排除不打包的文件

3月14日第11天课堂笔记_第2张图片
图片7.png

-X 从文件中排除不打包的文件

你可能感兴趣的:(3月14日第11天课堂笔记)