Day11课堂笔记

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

你可能感兴趣的:(Day11课堂笔记)