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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容