• 二、linux目录


    文件目录结构

    • 文件和目录被组织成一颗倒置的树状结构

    • 文件系统从根开始,“/”

    • 文件名称严格区分大小写  (window不区分)

    • 隐藏文件以"."开头    

    • 路径的分隔符为"/"   (window    反斜杠)

     

    文件命名规范

    • 文件字符最长为255个字符

    • 包括路径在内文件名称最长为4095个

    • 颜色表示

      • 蓝色 ---> 文件夹

      • 绿色 --> 可执行文件

      • 红色 --> 压缩文件

      • 蓝绿色 --> 链接文件

      • 灰色-->其他文件

      • 白色 --> 文件

    • 除了斜杠和NULL,其他所有字符都可以使用

    • 对大小写敏感

     

    文件系统结构

      • /boot 引导文件的存放位置,内核文件、引导加载器都在此目录

      • /bin 所有的用户都可以使用的命令 (binary二进制执行文件目录)

      • /sbin 管理类的命令

      • /lib 启动时程序使用的基本库文件 .so结尾

      • /lib64 专门存放X86_64系统上得辅助库文件

      • /etc 存放配置文件 (etcetera)

      • /home/USERNAME 普通用户的家目录

      • /root 管理员的家目录

      • /media 便携式移动设备的挂载点

      • /mnt 临时文件的挂载点 (mount “挂载” 挂接光驱、USB设备的目录)

      • /dev 设备文件和特殊文件的存放位置 (device 外部设备 )

      • /opt 第三方的应用的安装位置 (option)

      • /tmp 临时文件的存放位置 (temporary)

      • /usr 存放安装程序 (user)

      • /var 存放经常变化的文件,比如日志 (variable)

      • /proc 存放内核启动和进程相关的虚拟文件 (process)

      • /sys 输出当前系统上的硬件相关的文件

      • /srv 系统上允许的服务用到的数据

     

    linux应用程序的组成

    • 二进制文件

      • /bin

      • /sbin

      • /usr/bin

      • /usr/sbin

      • /usr/local/bin

      • /usr/local/sbin

    • 库文件

      • /lib

      • /lib64

      • /usr/lib

      • /usr/lib64

      • /usr/local/lib

      • /usr/local/lib64

    • 配置文件

      • /etc

      • /etc/name

      • /usr/local/etc

    • 帮助文件

      • /usr/share/man

      • /usr/share/doc

      • /usr/local/share/man

      • /usr/local/share/doc

     

    绝对路径和相对路径

    • 绝对路径

      • 以根开始

      • 完整的文件的存放位置

      • 可以读取到任何一个文件或者文件夹

    • 相对路径

      • 不以根开始

      • 相对当前的位置来决定

      • 可以简短的表示一个文件或者文件夹

      • . 当前目录

      • .. 父级目录

    目录名和基名

    [root@localhost log]#basename /etc/sysconfig/network-scripts/ifcfg-ens33 
    ifcfg-ens33
    [root@localhost log]#basename /etc/sysconfig/network-scripts
    network-scripts
    [root@localhost log]#dirname /etc/sysconfig/network-scripts
    /etc/sysconfig
    [root@localhost log]#dirname /etc/sysconfig/network-scripts/ifcfg-ens33
    /etc/sysconfig/network-scripts

    切换目录

    cd 切换目录 change directory

    • 可以使用相对路径

    • 可以使用绝对路径

    切换到家目录

    [root@localhost log]#cd 
    [root@localhost ~]#

    切换到上一次的目录

    [root@localhost ~]#cd /etc/sysconfig/network-scripts/
    [root@localhost network-scripts]#cd -
    /root
    [root@localhost ~]#cd -
    /etc/sysconfig/network-scripts

    显示当前的工作目录

    pwd print working directory

    [root@localhost network-scripts]#pwd
    /etc/sysconfig/network-scripts
    # 查看链接的真正目录
    [root@localhost /]#cd lib
    [root@localhost lib]#pwd -P
    /usr/lib

    列出目录或者文件

    ls list

    命令格式:Usage: ls [OPTION]... [FILE]...

    ls -a 显示所有文件
    ls -l 以长格式显示文件列表
    total 21104
    -rw-r--r--. 1 root root        0 Aug 22 17:21 10
    权限       硬盘的引用次数 属主 属组 大小 访问时间 文件名称
    ls -R 递归显示目录
    ls -d 显示目录本身
    ls -1(数字1) 文件分行显示
    ls -S 安装文件大小排序
    ls -r 倒序显示
    ls -t 按照时间来排序
    ls -lh 显示人类易读的方式
    ls -d */ 显示当前目录下的文件夹
    l. 只显示隐藏文件

    linux下的目录类型

    • - 用来表示文件

    • d 用来表示目录

    • b 块设备

    • c 字符设备

    • l 表示符号链接文件

    • s socket套接字

    查看文件状态

      File: ‘anaconda-ks.cfg’
    Size: 1747     Blocks: 8         IO Block: 4096   regular file
    Device: fd00h/64768d Inode: 33574992   Links: 1
    Access: (0600/-rw-------) Uid: (    0/   root)   Gid: (    0/   root)
    Context: system_u:object_r:admin_home_t:s0
    Access: 2019-08-22 12:09:03.288000381 +0900 # 访问时间
    Modify: 2019-08-22 11:47:12.262947345 +0900 # 修改时间
    Change: 2019-08-22 11:47:12.262947345 +0900 # 改动时间
    atime 访问时间 查看文件内容就会改变
    mtime 修改时间 改变内容发生变化
    ctime 改动时间 元数据发生变化

    touch

    创建空文件和刷新时间,如果文件存在,则刷新时间,如果文件不存在,则创建文件

    touch a 创建a文件

    touch a 刷新时间

    touch -a a

    -a 只修改atime和ctime

    touch -m a

    -m 只修改mtime和ctime

     

    touch a{1..9}

    touch a{a..z}

    rm -rf * 删除当前文件夹文件

    touch -mt  201909052248  test.log
    
    -m     modify的意思,修改,----更改修改时间
    
    -t       时间格式【【CC】YYMMddhhmm【.ss】】   CC 代表年前两位,YY代表年后两位,MM月,dd日,hh小时,mm分钟
    
    给文件夹修改时间
    
    touch -r 文件    文件夹
    
    意思是把文件的日期设置给文件夹。

     

    文件通配符

    • * 所有

    • ? 匹配的是任意单个字符

    • ~ 表示用户的家目录

    • [123] 其中一个

    • [^123] 取反

    • [0-9] 表示数字

    • file[a-z] 字母(有坑)缺少Z

    • file[A-Z] 字母(有坑)缺少a

    • [:lower:] 小写字母

    • [[:lower:]] 所有小写字母 ls file[[:lower:]]

    • [:upper:] 大写字母

    • [[:upper:]] 所有大写字母

    • [:alpha:] 所有字母 a-zA-Z

    • [:alnum:] 表示字母和数字

    • [:digit:] 表示数字

    创建目录

    mkdir 创建目录

    • -p 递归创建 (一次性创建,mkdir - p a/b/c/d 前面的文件夹不存在的情况也可以创建)

    • -v 显示详细过程 (mkdir - pv a/b/c/d)

    显示目录树

    安装:yum install -y tree

    tree 显示目录树 tree .

    -d 只显示文件夹 tree -d .

    -L # 只显示#层 tree -L # .

    删除目录

    rmdir 只能删除非空目录

    rmdir a/b/c

    -p 递归删除空父目录

    rmdir -p a/c/d

    -v 显示删除过程

    rmdir -pv a/c/d

    rm -rf 删除非空目录

  • 相关阅读:
    mysql 插入字段 字符串
    python---统计列表中数字出现的次数
    pycharm激活
    Jmeter遇到的坑
    通用接口测试用例设计【转】
    selenium系列------元素定位套路
    jmeter系列-------注意事项
    jmeter系列-------脚本编写格式
    jmeter系列------变量的提取
    jmeter系列------参数关联
  • 原文地址:https://www.cnblogs.com/zhuangdd/p/14249076.html
Copyright © 2020-2023  润新知