Linux63期 day-14 操作系统文件属性

文件属性组成部分
# ll -i /etc
67430480    d  rwxr-xr-x.  3   root root      101   Jul  4 00:00   abrt
67474196    -  rw-r--r--   1   root root       18   Jul 18 22:01   adjtime
67161484    -  rw-r--r--.  1   root root     1518   Jun  7  2013   aliases
67729688    -  rw-r--r--.  1   root root    12288   Jul  4 00:05   aliases.db
134319563   d  rwxr-xr-x.  2   root root      236   Jul  4 00:00   alternatives
   01       02     03      04   05   06        07        08           09
01、文件inode号码                inode==书的目录
02、文件类型信息                     
03、文件权限信息
04、文件硬链接数
05、文件所属用户(属主)           管理数据最高权力
06、文件所属用户(属组)           可以管理数据信息
        其他用户                 管理数据信息权力最低
07、文件容量大小                     
08、文件时间信息(修改时间)
文件名称信息不属于文件属性
09、文件名称信息
文件属性详细说明--文件类型信息
ps:Linux系统中一切皆文件
文件类型说明:文件类型查看命令  file

普通文件  '-'   中有  文本文件  二进制文件(命令)  脚本文件  数据文件(压缩文件)
                   1.文本文件:file 文本文件
                    ASCII text
                   2.命令文件:file 命令文件
                    ELF 64-bit LSB executable
                   3.脚本文件:file 脚本文件
                    test.sh: Bourne-Again shell script, ASCII text executable
                   4.数据文件(压缩):file 数据文件
                    gzip compressed data, from Unix
目录文件   'd'     directory(目录)
链接文件   'l'     link                 软连接文件(快捷方式) 例:rc.local
设备文件   'b'     block                块设备文件    存储设备文件信息 例:硬盘 光驱等
          'c'     character 字符流设备文件 产生大量字符可以生成随机码 例:/dev/urandom
套接字文件  's'    socket(网络开发 网络通讯)

常用的一些扩展名标识:
 .log                 日志文件
.conf                 配置文件
.sh                   脚本文件
.py                   python脚本文件
.tar.gz               压缩文件

文件新命令:file whice whereis locate find tree tar

file                ---查看一个文件类型属性信息
which               ---查看一个命令文件的路径(绝对路径表示)
whereis             ---显示命令路径信息 和 相关其他文件(帮助手册文件)路径信息
locate              ---查询文件所在路径信息(所有类型文件)
   操作方法:     需要安装locate,但locate是扩展包 
                 ①yum provides locate      ---查询locate出自哪个软件(mlocate)
                 ②yum install -y  mlocate
              想要使用locate,需要有个数据库文件
               ①创建一个文件索引数据库文件               
                updatedb(不自动更新,需手动更新)
               ②即可直接搜索  


补充: 停止yum安装软件
方法一: ctrl + c 
方法二: kill 进程号(进程号--ps -ef)    

find                  ---擅长从系统中查找文件
     说明:find命令参数基本基本都是短格式参数
     根据文件名称查找文件:格式    find 路径 -多个寻找条件  "需要寻找的东西"
  例:    # find /opt -name "oldboy.sh"
            /opt/oldboy.sh
         # find /opt -name "old*" 
            /opt/oldboy.sh
         # find /opt -name "*.sh"
            /opt/oldboy.sh
         # find /opt -name "old*.sh"
            /opt/oldboy.sh
     find /opt -iname "oldboy.txt"   --- 忽略大小写查找
     
      根据文件名称查找文件:
  例:    # find /opt -type f
            /opt/oldboy.sh
            /opt/Oldboy.txt
    
      根据多个调价查找文件: 
  例:    # find /opt -type f  -name "oldboy.sh"   --- 多个查找条件是并且关系
            /opt/oldboy.sh

  文件类型有什么:man find  -type  常用类型:
            f  file       找寻普通文件
            d  directory  找寻目录文件
            l  link       找寻软链接文件
            c             字符流设备文件
            b             块设备文件 
            s             套接字文件

      根据指定目录层级查找文件: - maxdepth  -mindepth
         -maxdepth           --- 根据指定目录最大层级查找数据(从开始到几)
         -mindepth           --- 根据指定目录最小层级查找数据(从几到结束)
find查找条件中的maxdepth与mindepth
     查找文件根据文件大小信息,文件尺寸单位    -size
例:
  find / -type f -size +50M   --- 大于50M的文件找出来
  find / -type f -size 50M    --- 等于50M的文件找出来
  find / -type f -size -50M   --- 小于50M的文件找出来
  查找文件根据文件大小信息,文件尺寸单位
`b'    for 512-byte blocks (this is the default if no suffix is used)
`c'    for bytes                                一个字节
`w'    for two-byte words                        两字节
`k'    for Kilobytes (units of 1024 bytes)        1kb  
`M'    for Megabytes (units of 1048576 bytes)      1M
`G'    for Gigabytes (units of 1073741824 bytes)   1G




tree         ---显示目录层级
          显示指定目录层级结构信息  格式:tree -L n   路径     ---只看到几层,往下不展示
例:
        # tree -L 1 /oldboy   --- 只查看/oldboy目录下面的数据信息,不看子目录中数据信息
          /oldboy
            ├── a.log
            ├── b.log
            ├── c.log
            ├── oldboy01
            ├── oldboy02
            └── oldboy03
            3 directories, 3 files
      但是显示所有信息包括文件以及目录
          # tree -L 1 -d /oldboy          --- 只显示目录结构
            /oldboy
            ├── oldboy01
            ├── oldboy02
            └── oldboy03
    条件中添加一个 -d 只显示目录


 

tar           ---压缩命令
     压缩什么数据 (文本数据 脚本数据  小文件不要压缩 已经压缩过文件 视频 图片)
  格式信息:  tar 参数  生成压缩包文件(路径信息)   将什么文件进行压缩
例:
      tar   zcvf     /opt/service.tar.gz      /tmp/services
            z    --- 压缩文件的方式 gzip
            c    --- 创建一个压缩包文件
            v    --- 详细显示压缩的过程
            f    --- 指定压缩包的路径(必须写在所有参数最后)

检查压缩包数据
 方法一:不解压直接检查
            tar tf /opt/service.tar.gz
            t    --- 不解压,检查压缩包里面内容
 方法二:解压检查数据
            tar xvf /opt/service.tar.gz
            x    --- 解压指定压缩包
 方法三:指定解压数据路径
            tar xf /opt/oldboy03.tar.gz -C /opt/
            C    --- 指定解压缩数据路径
            f    --- 指定压缩包的路径(必须写在所有参数最后)


  说明:
    01. 压缩数据提示:
     tar: Removing leading `/' from member names  --- 每次压缩数据会将绝对路径/移除
     解决方式一: 利用相对路径压缩
        cd /
        tar zcvhf /opt/oldboy01.tar.gz ./etc/rc.local
        cd /etc/
        tar zcvhf /opt/oldboy01.tar.gz ./rc.local
     解决方式二:利用P参数
        P    --- 压缩数据时采用绝对路径压缩/解压采用绝对路径解压
作业:
01. 如何生成随机数  /dev/urandom

   tr -cd 'a-z' </dev/urandom |head -c 5       ---生成五位英文验证码

02. 将有txt结尾的文件找出,请批量复制到/tmp, 将文件进行删除    
 环境部署 mkdir -p /oldboy 
         touch /oldboy/oldboy{01..10}.txt

第一种方法:cp `find /oldboy  -type f -name 'oldboy*'` /tmp
第二种方法:find /oldboy -type f -name "oldboy*"|xargs cp -t /tmp
第三种方法:find /oldboy -type f -name "oldboy*"|xargs -i cp {} /tmp

03. 查找数据时,排除指定子目录不要被查找
# mkdir /oldboy/oldboy{01..03}
# touch /oldboy/oldboy{01..03}/{a..c}.txt
# tree /oldboy

/oldboy
├── oldboy01
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── oldboy02
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
└── oldboy03
    ├── a.txt
    ├── b.txt
    └── c.txt
查找a.txt文件,排除b目录不要进行查找

第一种方法:find /oldboy ! -path "oldboy/oldboy02*" -type f -name "*.txt"
第二种方法:find /oldboy -path "oldboy/oldboy02" -prune -o  -type f -name "*.txt" -print
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容