文件目录和管理

mac2022-07-05  38

Linux目录配置标准:FHS

FHS(Filesystem Hierarchy Standard) 目录定义有四种交互作用的形态      可分享的    不可分享的 不变的                         /usr(软件放置处)    /etc(配置文件)                      /opt(第三方软件)    /boot(内核) 可变动的    /var/mail(邮箱)    /var/run(程序相关) /var/spool/news(新闻群组)    /var/lock(程序相关) 目录    应放置文件内容 第一部分 FHS要求必须要存在的目录 /bin    系统可执行文件的目录,单人维护模式下还能够被操作的指令 /boot    开机是同的文件,包括linux核心文件以及开机菜单和开机配置文件等 /dev    周边设备以文件形态存放于该目录下 /etc    大部分系统主要配置文件存放的目录 /lib    开机或者/bin还有/sbin指令调用的函数库 /media    可移除设备 /mnt    暂时挂载的目录 /opt    第三方软件目录 /run    开机启动后产生的各项信息,早期为/var/run目录 /sbin    开机过程做需要的指令,包括开机、修复、还原系统命令 /srv    网络服务启动后所需要取用的数据目录 /tmp    临时目录 /usr    第二层FHS设置 /var    第二层FHS设置 第二部分 FHS建议可以存在的目录 /home    系统默认的使用者主文件夹 /lib<qual>    存放与/lib不同格式的二进制函数库,例如64位的/lib64函数库等 /root    系统管理员主文件夹 重要的目录 目录    应放置文件内容 /lost+found    ext文件系统产生,当文件系统发生错误,暂存文件目录 /proc    虚拟文件系统,数据存放在内存中,例如核心、进程、周边设备以及网络状态信息等 /sys    虚拟文件系统,主要记录核心和硬件相关信息 /usr目录 目录    应放置文件内容 第一部分 FHS要求必须要存在的目录 /usr/bin    一般用户能用到的指令,目前centos7已将全部使用者指令放置到该目录,/bin链接到该目录 /usr/lib    与/lib目录相同,/lib链接到该目录 /usr/local    管理员安装第三方软件的目录 /usr/sbin    非系统正常运行需要的系统指令,/sbin链接到该目录 /usr/share    只读架构的数据文件 第二部分 FHS建议可以存在的目录 /usr/games    游戏相关数据目录 /usr/include    程序头文件 /usr/libexec    不被一般使用者常用的可执行文件或脚本 /usr/lib<qual>    与/lib<qual>相同,/lib<qual>链接到该目录 /usr/src    源代码目录 /var目录 目录    应放置文件内容 /var/cache    引用文件缓存存放目录 /var/lib    程序数据文件目录 /var/lock                         设备或文件锁目录 /var/log    日志文件目录 /var/mail                         个人电子邮箱目录 /var/run    程序或服务PID目录                      /var/spool    队列数据文件 centos7与早期版本目录差异 /bin --> /usr/bin /sbin --> /usr/sbin /lib --> /usr/lib /lib64 --> /usr/lib64 /var/lock --> /run/lock /var/run --> /run

 

路径、文件和目录的查看和修改

路径:绝对路径和相对路径        绝对路径:以根目录/开头        相对路径:                1、'.'表示当前目录                2、'..'表示上一级目录                3、'-'表示上一个工作目录                4、'~'表示当前账户的住文件夹(home文件夹)                5、'~account'表示账户account的住文件夹(home文件夹)

目录的查询和切换        cd(change directory),切换文件夹        pwd(print work directory),显示当前目录的绝对路径        mkdir,创建空文件夹        rmdir,移除空文件夹

文件和目录的检视        ls [-aldFh] file/direcrtory                -a,显示全部文件,包括隐藏文件                -A,显示全部文件,不包括隐藏文件                -l,显示文件的信息,例如文件的权限和属性等                -F,根据文件、目录等信息,给予附加数据结构信息                -d,列出目录本身的信息而不是目录内的文件信息                -h,将文件大小以更加易读的形式显示出来,例如默认是以bytes为单位,对于大小适合的文件,可以转换为KB、MB、GB等,通常需要配合'-l'一起使用

       cp [-adrfpui] source_file[...] destination_file/directory                -d,当复制文件为链接文件(link file)时,复制链接文件属性而不是链接文件指向的实际文件                -r,递归操作,同时复制目录以及目录底下的文件                -f,(force)强制进行操作                -p,复制文件原本的所有属性,实际结果与用户权限有关                -u,当文件source_file比destination_file更新时或者destination_file不存在时,才进行动作                -a,等价与-dr                -i,进行操作时与用户互动,确认操作是否进行

       rm [-fir] file/directory                -f,强制操作                -i,进行操作时与用户互动,确认操作是否进行                -r,递归操作,同时删除目录以及目录底下的文件

       mv [-fiu] source_file/source_directory  destination_file/destination_directory                -f,强制操作                -i,进行操作时与用户互动,确认操作是否进行                -u,当source_file/source_directory比destination_file/destination_directory更新时,才进行动作

文件内容的查看        cat [-AbEnTv] file                -b,标识出行号,空白行不标识                -E,将结尾符号以$标识出来(END?)                -n,标识出行号,包括空白行                -T,将Tab键以^I标识出来(Tab?)                -v,显示一些看不出的特殊                -A,等价于 -vTE,显示出特殊字符

       tac                同cat,差别在于以行为单位反序输出        nl [-bnw] file                -b a/t,空行 '列出/不列' 出行号                -n ln/rn/rz,行号在 '最左方/右方/右方且加0' 显示                -w n,n为数字,表示以多少位数字标识行号        head [-n number] file                number为数字,显示文件的前面几行内容,当number为负数时,表示不显示文件的最后几行。number默认值为10        tail [-n number | -f] file                -n,number为数字,显示文件的后面几行内容,当number为正数时,表示不显示文件的前面几行。number默认值为10                -f,表示持续检测文件内容并输出最后几行,结束以ctrl-c操作        more                以页为单位翻动                空白键(space)/Enter,向下翻动一页                b/ctrl-b,向上翻动一页,仅对文件有效,对管道数据无效                /string,在显示的内容中向下搜索字符串string                :f,显示当前文件名和目前显示行号                q,离开        less                空白键(space)/[pagedown],向下翻动一页                [pageup],向上翻动一页                /string,在显示的内容中向下搜索字符串string                ?string,在显示的内容中向上搜索字符串string                n,重复前一个搜索动作                N,反向的重复前一个搜索动作                g,返回到第一行                G,返回到最后一行                q,离开        od [-t type] file                type: a,默认字符输出                      c,ASCII码输出                      d [size],十进制输出,每个数占用 size Bytes                      f [size],浮点数输出,每个数占用 size Bytes                      o [size],八进制输出,每个数占用 size Bytes                      x [size],十六进制输出,每个数占用 size Bytes

创建空文件以及修改文件时间        文件时间主要有三种:1、modification time (mtime),文件内容变更记录的时间                         2、status time(ctime),文件状态变更记录的时间,例如文件权限和属性变更                         3、access time(atime),文件被取用记录的时间        touch [-acdmt] file                -a,修改atime                -c,如果要修改的文件不存在,此选项使touch不去创建它                -d,可以使用当前/指定时间修改文件的时间                -m,修改mtime                -t,可以使用当前/指定时间修改文件的时间,指定时间格式为MMDDhhmm[[CC]YY][.ss](月份日期小时分钟[[世纪]年份][.秒数])

查看文件的类型(file)        利用命令file可以确定文件的所属类型 file filename  

文件和目录的默认权限、特殊权限和隐藏属性

文件和目录的默认权限、特殊权限和隐藏属性        新建文件和目录的初始权限满足一下条件:                1、文件和目录的权限与用户的umask值有关,umask数值可以通过命令umask查询。umask默认四组权限,其中第一个数值是特殊权限,其余三个数值对应ugo三种身份权限                umask值是指默认需要去除的权限数值,例如一般用户的umask为0002,指的是others身份用户默认没有写入(write)权限                2、文件创建默认三种身份都没有执行权限x,因此权限最大为666                3、目录创建默认三种身份都拥有执行权限x,因此权限最大为777                4、文件和目录都含有特殊权限                特殊权限有三种:SUID、SGID、SBIT                        SUID,(1)仅对于二进制文件有效,(2)需要用户对二进制文件具有执行权限x,(3)在执行过程中可以临时获得文件所有者(owner)的权限,(4)仅在当此执行过程有效                        SGID,二进制文件:(1)有执行权限x,(2)在执行过程中可以临时获得文件所有群组(group)的权限                              目录:()具有r和x权限,可以进入该目录,(2)进入目录后用户的有效群组会变成目录的群组,(3)具有w权限,在该目录下新建文件,文件所属群组为目录的群组                        SBIT,(1)仅对文件夹有效,(2)具有wx权限,用户在目录下新建的文件只有拥有者账户和root账户能够删除                同样,对于特殊权限可以跟rwx权限一样进行二进制数值编码 [[SUID] [SGID] [SBIT]] --> [[1/0] [1/0] [1/0]],然后转换成十进制,同样可以通过字符形式授予,u+s授予SUID,g+s授予SGID,o+t授予SBIT,当对应身份具有x权限时,特殊权限显示为小写字母s或t,反之显示为大写S或T        

       隐藏属性                查看与更改:                        lsattr [-adR] file/directory                                -a,列出隐藏文件                                -d,列出目录本身的权限而不是目录里文件的权限                                -R,递归操作,同事列出子目录的文件                        chattr [+-=][ASacdisu] file/directory                                +,增加属性                                  -,去除属性                                =,赋予属性                                A,取用文件或目录,atime不修改                                S,文件被修改后会立刻同步写入磁盘                                a,文件内容只能增加,不可以修改和删除,root用户才可以设置                                c,文件自动被压缩保存,读取时自动解压                                d,在dump备份时不包含该文件或目录                                i,不能删除,重命名,增加数据甚至是设置链接,root用户才可以设置                                s,在进行删除操作时文件数据被彻底删除                                u,与s相反,在进行删除操作时文件数据不被彻底删除

指令和文件的搜索

指令和文件的搜索        which [-a] command                -a,显示所有包含在PATH里面的命令的路径,而不是第一个符合选项        whereis [-lbmsu] file/directory  (搜寻数据库)                -l,列出常用搜索文件的目录的路径                -b,仅搜索二进制文件(binary)                -m,仅搜索说明文档manual下的文件(manual)                -s,仅搜索source下的文件                -u,搜索其他文件        locate [-icblr] name (搜寻数据库)                -i,忽略大小写(ignore)                -c,输出匹配的文件数量(count)                -b '\filename',显示完全匹配文件名的文件路径(basename)                -l n,n为数字,表示只显示n行数据                -r,匹配正则表达式        updatedb                立刻更新系统的文件数据库

       find [PATH] [option] [action]

最新回复(0)