第八章:文件属性概述,day11

重点:打包、管道、find查找、PATH变量

文件属性:文件的大小 时间 类型 权限

索引节点:文件的唯一标识(相当于人的身份证)
进程号:进程的唯一标识

  • [root@oldboyedu ~]# ls -lhi
    total 24K
    16964029 drwxr-xr-x. 2 root root 6 Mar 7 10:56 test
    33631865 -rw-r--r--. 1 root root 24 Mar 13 11:46 test.txt
    33631864 -rw-r--r--. 1 root root 54 Mar 13 10:26 test.txt.ori
    1 2 3 4 5 6 7 8 9 10
    共10列
  1. 第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);
    系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。
  2. 第二列:文件类型及权限。这一列共11个字符,其中第一个字符为文件类型,随后的9个字符为文件的对应权限,
    最后一个字符点号“.”是和selinux有关的一个标识;(1、selinux是让Linux系统更安全的一套规则。这个规则太严格了,一般的情况下都会关闭selinux。一般利用自己开启防火墙之类的,用其他手段来实现同样的安全目的。
    怎么关掉Selinux?
    查看方法:
    [root@oldboyedu ~]# getenforce
    Enforcing
    临时关掉:
    [root@oldboyedu ~]# setenforce
    usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
    [root@oldboyedu ~]# setenforce 0
    [root@oldboyedu ~]# getenforce
    Permissive
    永久关闭:
    vim /etc/selinux/config
    [root@oldboyedu ~]# grep dis /etc/selinux/config
    disabled - No SELinux policy is loaded.
    SELINUX=disabled)
  3. 第三列: 硬连接数
  4. 第四列: 属主:文件的拥有者,用户
  5. 第五列: 属组:文件属于的组,用户组
  6. 第六列: 大小
  7. 第七列: 月份
  8. 第八列: 日
  9. 第九列: 时间
  10. 第十列: 文件名

2. Linux中的文件类型

第八章:文件属性概述,day11_第1张图片
image.png
  1. “-” 普通文件
    创建方式:vim touch echo cat——拷贝、移动:cp mv——删除:rm
    三种类型:
    a:纯文本文件(字符数字等内容)
    b:数据文件(存放命令的信息)
    c:二进制文件(可执行的命令)

  2. "d"目录——创建:mkdir -p——复制:cp -a/-r——删除:rm -rf
    区分:
    a:开头为d
    b:颜色为蓝色
    c:ls -p,目录结尾加斜线

  3. l开头表示软链接文件
    软链接:快捷方式


    image.png
  4. 以c开头的就是字符设备,猫等串口设备(character)

  5. 以b开头的就是块设备 硬盘、光驱等都属于块设备(block)

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

  7. 以p开头表示管道文件

2.which:查命令所在路径

  • [root@oldboyedu ~]# which cp
    alias cp='cp -i'
    /usr/bin/cp
  • [root@oldboyedu ~]# which ls
    alias ls='ls --color=auto'
    /usr/bin/ls
  • [root@oldboyedu ~]# which ip
    /usr/sbin/ip

3. PATH 变量作用

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

  • [root@oldboyedu ~]# ff
    -bash: ff: command not found
    [root@oldboyedu ~]# cd /usr/local/sbin
    [root@oldboyedu /usr/local/sbin]# vim ff
    [root@oldboyedu /usr/local/sbin]# cat ff
    echo $1
    [root@oldboyedu /usr/local/sbin]# chmod +x ff

  • [root@oldboyedu ~]# fff
    -bash: fff: command not found
    [root@oldboyedu ~]# ff

  • [root@oldboyedu ~]# ff oldboy
    oldboy
    [root@oldboyedu ~]# ff oldgirl
    oldgirl
    [root@oldboyedu ~]# echo oldgirl
    oldgirl
    [root@oldboyedu ~]# which ff
    /usr/local/sbin/ff

4. whereis:显示目录及其相关文件全路径

  • -b 只查找二进制命令
  • whereis:显示命令、源码、说明文档等的路径
    locate:[root@oldboyedu ~]# whereis -b cp
    cp: /usr/bin/cp

5. locate命令

  • locate:快速定位文件路径
    locate查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询
    更新A数据库用updatedb命令
    C7默认没安装
    yum provides locate #《==查看命令对应的软件包
    yum install mlocate -y
    [root@oldboyedu ~]# locate cp
    locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
    [root@oldboyedu ~]# updatedb
    [root@oldboyedu ~]# locate cp
    /boot/grub2/i386-pc/acpi.mod
    /boot/grub2/i386-pc/cpio.mod

6. find:查找命令下的文件

  • -name 代表通过名字查找
    查找原理:磁盘遍历、速度慢


    image.png
  • *代表模糊查找


    image.png
  • -type 按文件类型查找


    image.png
  • -mtime 按时间查找 +3代表3天以前 -3代表3天之内


    image.png
  • -a and 并且
    -o or 或者
    ! 取反
    -exec \ 代表转义字符,打回原形 、一般命令结尾都有;只不过是隐藏的,只不过这个要加出来


    第八章:文件属性概述,day11_第2张图片
    image.png

    第八章:文件属性概述,day11_第3张图片
    image.png

7. xargs 分组临时显示

第八章:文件属性概述,day11_第4张图片
image.png
第八章:文件属性概述,day11_第5张图片
image.png
  • -d 是指定分隔符 如果不指定 默认是空格


    第八章:文件属性概述,day11_第6张图片
    image.png
  • -i 后接大括号 括号代表文件查找的内容


    第八章:文件属性概述,day11_第7张图片
    image.png

8. 特殊字符:| 管道的意思-----------标准删除

第八章:文件属性概述,day11_第8张图片
image.png

第八章:文件属性概述,day11_第9张图片
image.png
  • [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
    效率高

  • find /data -type f|rm -f
    相当于:
    find /data -type f
    rm -f

9. date命令 显示系统时间

-s 修改时间
[root@oldboyedu /data]# date -s "2020/10/1 00:00:00"
Thu Oct 1 00:00:00 CST 2020
[root@oldboyedu /data]# date
Thu Oct 1 00:00:03 CST 2020
[root@oldboyedu /data]# clock -w

  • 显示格式


    第八章:文件属性概述,day11_第10张图片
    image.png
  • -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

10. tar打包

  • 语法:
    tar 参数 筐(压缩包) 苹果(被打包的文件)
    打包集合参数zcvf:v可以不加
    压缩包名字: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

  • 解压:
    [root@oldboyedu /opt]# tar zxvf data.tar.gz
    ./data/
    ./data/1.txt
    ./data/2.txt
    ./data/3.txt
    ./data/4.txt
    ./data/5.txt
    [root@oldboyedu /opt]# ls
    data data.tar.gz
    [root@oldboyedu /opt]# ls data
    1.txt 2.txt 3.txt 4.txt 5.txt
    [root@oldboyedu /opt]# tar xf data.tar.gz

  • -C代表指定路径[root@oldboyedu /opt]# tar xf data.tar.gz -C /tmp/
    [root@oldboyedu /opt]# ls /tmp/data
    1.txt 2.txt 3.txt 4.txt 5.txt

Linux里防火墙C6 iptables C7 firewalld

作用:防护计算机,防止被入侵。
systemctl status firewalld.service

  • 开启firewalld(C6 service iptables start 或者/etc/init.d/iptables start)
    [root@oldboyedu ~]# systemctl start firewalld.service
    [root@oldboyedu ~]# systemctl status firewalld.service
    firewalld.service - firewalld - dynamic firewall daemon
    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
    Active: active (running) since Sun 2020-10-04 20:48:49 CST; 1s ago
    Docs: man:firewalld(1)
    Main PID: 7003 (firewalld)
    CGroup: /system.slice/firewalld.service
    └─7003 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
    Oct 04 20:48:48 oldboyedu systemd[1]: Starting firewalld - dynamic firewall daemon...
    Oct 04 20:48:49 oldboyedu systemd[1]: Started firewalld - dynamic firewall daemon.

  • 让firewalld开机自启动
    [root@oldboyedu ~]# systemctl enable firewalld.service
    Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
    Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

  • C6用法:chkconfig iptables off
    C7就是一个命令systemctl
    自学能力:总结两个命令systemctl和chkconfig。

你可能感兴趣的:(第八章:文件属性概述,day11)