美文网首页
课堂笔记11

课堂笔记11

作者: 不知道就 | 来源:发表于2019-03-17 16:55 被阅读0次

    符号链接(symbolic link)文件,也称软链接(soft link)

    以l开头是软链接,软链接是一种快捷方式:

    创建软链接:ln -s oldboy.txt oldboy_soft_link

                          cat oldboy_soft_link

    删除:rm

    4.字符(character)/块(block)设备文件

    以C开头的就是字符设备(猫等串口设备)

    以b开头的就是块设备(硬盘、光驱是块设备的代表)

    5.套接口(socket)文件

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

    which 命令

    重点:

    PATH变量

    $PATH    命令行执行命令会从PATH对应的路径中查找命令

    PATH 对应的路径中没有这个命令就会报command not found

    whereis:显示命令、源码、说明文档等的路径

    只查找二进制命令

    locate:快速定位文件路径

    查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询

    更新A数据库用updatedb

    c7默认没安装,可不学

    备注:找指定Yum安装命令(查看命令对应的软件包)

    6.find: 查找目录下的文件*****

    查找原理:磁盘遍历(从硬盘里一个个查找),速度慢。

    [root@localhost.localdomain

        ~]# find ~ -name "keyan"

              路径    名字参数  具体文件

    /root/keyan

    模糊查找  用*表示所有

    [root@localhost.localdomain

        ~]# find / -name "ifcfg*"

    按文件类型查找-type

    [root@localhost.localdomain

        ~]# find / -type f -name "ifcfg*"

    查找目录 -d

    [root@localhost.localdomain

        ~]# find / -type d -name "ifcfg*"

    -type c

                  File is of type 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.

    如果取并集即或者用-o分割查找的项(-o 表示或的关系,表示前后两个条件满足其中一个即可)

    -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

    -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

    xargs 分组

    [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 <test.txt

    1 2 3

    4 5 6

    7 8 9

    10

    [root@oldboyedu /data]# xargs -n 4 <test.txt

    1 2 3 4

    5 6 7 8

    9 10

    [root@oldboyedu /data]# xargs -n 5 <test.txt

    1 2 3 4 5

    6 7 8 9 10

    -d 指定分隔符,不指定默认空格

    备注:少用管道,效率低,

    [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]# ifconfig|grep 10

            inet

    10.0.0.201  netmask

    255.255.255.0  broadcast

    10.0.0.255

            ether 00:0c:29:2a:ca:54  txqueuelen 1000  (Ethernet)

            inet6 ::1  prefixlen 128  scopeid 0x10<host>

            loop  txqueuelen 1000  (Local Loopback)

    [root@oldboyedu /data]#

    [root@oldboyedu /data]# ifconfig|grep 10|grep 201

            inet

    10.0.0.201  netmask

    255.255.255.0  broadcast

    10.0.0.255

    管道使用

    [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

    删除:

    接啥执行啥

    [root@oldboyedu /data]# find /data -type f|xargs rm -f

    [root@oldboyedu /data]# ll

    total 0

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 a

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 b

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 c

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 d

    [root@oldboyedu /data]# touch oldboy{1..5}.txt

    [root@oldboyedu /data]# ls

    a  b  c  d  oldboy1.txt  oldboy2.txt  oldboy3.txt  oldboy4.txt  oldboy5.txt

    [root@oldboyedu /data]# find /data -type f -exec rm -f {} \;

    [root@oldboyedu /data]# ls

    a  b  c  d

    删除:

    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

    - 过去

    +未来

    [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

    打包  压缩

    打包  框 放文件 压缩体积降低

    文件压缩,大小会降低

    tar *****

    打包:

    语法:

    tar 参数 框 (压缩包)苹果(被打包的文件)

    打包集合参数zcvf:

    压缩包名字:data.tar.gz tar 表示打包,gz表示gzip格式压缩

    打包过程实例:

    cd ~

    [root@localhost.localdomain

        ~]# mkdir /data

    mkdir: cannot create directory ‘/data’: File exists

    [root@localhost.localdomain

        ~]# cd /data

    [root@localhost.localdomain

        /data]# touch {1..5}.txt

    [root@localhost.localdomain

        /data]# ls

    1.txt  2.txt  3.txt  4.txt  5.txt

    [root@localhost.localdomain

        /data]# cd ..

    [root@localhost.localdomain

        /]# tar zcvf /opt/data.tar.gz ./data

    ./data/

    ./data/1.txt

    ./data/2.txt

    ./data/3.txt

    ./data/4.txt

    ./data/5.txt

    [root@localhost.localdomain

        /]# tar -tf /opt/data.tar.gz

    ./data/

    ./data/1.txt

    ./data/2.txt

    ./data/3.txt

    ./data/4.txt

    ./data/5.txt

    [root@localhost.localdomain

        /]#

    解压过程:

    指定位置:

    相关文章

      网友评论

          本文标题:课堂笔记11

          本文链接:https://www.haomeiwen.com/subject/iavumqtx.html