• Linux文件与目录管理


    .      代表此层目录

    . .     代表上一层目录

    -      代表前一个工作目录

    ~     代表“目前用户身份”所在的中文件夹

    ~account   代表account这个用户的主文件夹(account是个账号名称)

    cd:切换目录

    cd ~vurtne          切换到vurtne这个用户的主文件夹,即/home/vurtne

    cd ~                表示回到自己的主文件夹,即/root. 等同于cd

    cd . .                切换到上层目录

    cd -                 代表回到刚才的目录

    pwd:显示当前目录

    pwd  -P            显示出实际的工作目录,而非链接文件本身的目录名 

                        (如/var/mail)

    mkdir:新建一个新的目录

    mkdir  -m  770  test      直接配置目录权限

    mkdir  -p   test/test1/test2/test3/test4     创建递归目录 

    rmdir:删除一个空的目录

    rmdir -p test/test1/test2/test3/test4  删除递归目录(空目录)

    执行文件路径的变量:$PATH

    PATH=”$PATH”:/root     将/root加入PATH当中

    ① 不同身份用户默认的PATH不同,默认能够随意执行的命令也不同(如root和一般用户);  

    ② PAHT是可以修改的,所以一般用户还是可以通过修改PATH来执行某些位于/sbin或  

    /usr/sbin下的命令来查询;

    ③ 使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查询PATH来得正确;

    ④ 命令应该要放置到正确的目录下,执行才会比较方便;

    ⑤ 本目录(.)最好不要放到PATH当中。

    cat:由第一行开始显示文件内容

    tac:从最后一行开始显示

    nl:显示的时候输出行号

    more:一页一页显示文件内容

    less:与more类似,可以向前翻页

    head:只看头几行   head -n 3 /etc/passwd

    tail:只看结尾几行

    od:以二进制的方式读取文件内容

    ls -al --full-time : 查阅完整时间格式

    cp,rm,mv : 复制、删除、移动

    由于cp有种种的文件属性与权限的特性,所以,在复制时应注意:

    ① 是否需要完整保留来源文件的信息

    ② 源文件是否为软连接文件

    ③ 源文件是否为特殊的文件

    ④ 源文件是否为目录

    basename  /etc/sysconfig/network       取得最后的文件名

    dirname  /etc/sysconfig/network        取得目录名

    修改文件时间或创建新文件:touch 

    -a : 仅修改访问时间;

    -c : 仅修改文件的时间,若该文件不存在则不创建新文件;

    -d : 后面可以接欲修改的日期而不用目前的日期,也可以使用--date=”日期或时间”;

    -m : 仅修改mtime;

    -t : 后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm].

    mtime(medify time):最后一次修改文件或目录的时间;

    ctime(change time):最后一次改变文件或目录(改变的是原数据即属性)的时间;

    atime(access time):最后一次访问文件或目录的时间。

    文件默认权限:umask

    umask:就是指定“目前用户在新建文件或目录时候的权限默认值”。

    默认情况下:

    ★ 若用户创建“文件”则默认没有可执行(x)权限,即只有r、w权限,也就是最大为666,默认权限如下:

    -rw-rw-rw-

    ★ 若用户新建“目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为:drwxrwxrwx

    umask对于新建文件与目录的默认权限是很有关系的。

    例如:假设你的umask为003,请问该umask情况下,新建的文件与目录权限是什么?

    答:umask为003,所以去掉的权限为--------wx,因此:

    文件:(-rw-rw-rw-)-(--------wx)=-rw-rw-r--

    目录:(drwxrwxrwx)-(--------wx)=drwxrwxr--

    文件隐藏属性:chattr , lsattr

    chattr(设置文件的隐藏属性)

    [vurtne@localhost ~]$chattr [+-=] [ASacdistu] 文件或目录名称

    参数:()

    +:增加某一个特殊参数,其他原本存在参数则不动;

    -:删除某一个特殊参数,其他原本存在参数则不动;

    =:仅有后面接的参数。

    注意:由于属性设置常见的是a与i的设置值,而且很多设置值必须要身为root才能设置,     

          所以现仅列出a与i两项。

    a:当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才

       能设置这个属性。

    i:它可以让一个文件“不能被删除、改名,设置链接也无法写入或添加数据。”对于系统安

      全性有相当大的帮助。只有root能设置此属性。

    wKioL1T9eN7BCj5oAAF-stzj1WU335.jpg

    lsattr:显示文件隐藏属性

    [vurtne@localhost ~]$lsattr [-adR] 文件或目录

    参数:

    -a:将隐藏文件的属性显示出来;

    -d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名;

    -R:连同子目录的数据也一并列出来。

    wKiom1T9d9_zHBmTAABuI5bkhA0262.jpg

    文件特殊权限:SUID,SGID,SBIT

    s 与 t 这两个权限的意义与系统的帐号及系统的程序较为相关。

    ★ SetUID

    ① SUID 权限仅对二进位程序(binary program)有效; 

    ② 运行者对於该程序需要具有 x 的可运行权限; 

    ③ 本权限仅在运行该程序的过程中有效 (run-time); 

    ④ 运行者将具有该程序拥有者 (owner) 的权限。

    ★ SetGID

    SGID 有如下的功能:

    ① SGID 对二进位程序有用; 

    ② 程序运行者对於该程序来说,需具备 x 的权限; 

    ③ 运行者在运行的过程中将会获得该程序群组的支持! 

    当一个目录配置了 SGID 的权限后,他将具有如下的功能:

    ① 使用者若对於此目录具有 r 与 x 的权限时,该使用者能够进入此目录; 

    ② 使用者在此目录下的有效群组(effective group)将会变成该目录的群组; 

    ③ 用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,  

       该新文件的群组与此目录的群组相同。 

    ★ Sticky Bit

    Sticky Bit, SBIT 目前只针对目录有效,对于文件已经没有效果了。 其对于目录的作用是:① 当使用者对於此目录具有 w, x 权限,亦即具有写入的权限时; 

    ② 当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件

    查看文件类型:file

    查询某个文件的基本数据,例如是属于ASCII或者是data文件,或者是 binary,且其中有没有使用到动态函式库 (share library) 等等的资讯,就可以利用 file来查阅。

    命令和文件的查询:

    ★ which(寻找“执行文件”)

    -a:将所有由PATH目录中可以找到的命令均列出,且不只第一个被找到的命令名称。

    ★ whereis(寻找特定文件)

    -b:只找二进制格式的文件;

    -m:只找在说明文件manual路径下的文件;

    -s:只找source源文件;

    -u:查找不在上述三个选项当中的其他特殊文件。

    ★ locate

    -i:忽略大小写的差异;

    -r:后面可接正则表达式的显示方式。

    ★ find

    权限和命令之间的关系

    一、让使用者能进入某目录成为『可工作目录』的基本权限为何?

    ① 可使用的命令:例如 cd 等变换工作目录的命令; 

    ② 目录所需权限:使用者对这个目录至少需要具有 x 的权限 

    ③ 如果使用者想要在这个目录内利用 ls 查阅档名,则使用者对此目录还需要 r 的权限。

    二、使用者在某个目录内读取一个文件的基本权限为何?

    ① 可使用的命令:cat, more, less等等 

    ② 目录所需权限:使用者对这个目录至少需要具有 x 权限; 

    ③ 文件所需权限:使用者对文件至少需要具有 r 的权限才行!

    三、让使用者可以修改一个文件的基本权限为何?

    ① 可使用的命令:nano 或未来要介绍的 vi/vim 编辑器等; 

    ② 目录所需权限:使用者在该文件所在的目录至少要有 x 权限; 

    ③ 文件所需权限:使用者对该文件至少要有 r, w 权限

    四、让一个使用者可以创建一个文件的基本权限为何?

    目录所需权限:使用者在该目录要具有 w,x 的权限,重点是w权限

    五、让使用者进入某目录并运行该目录下的某个命令之基本权限为何?

    ① 目录所需权限:使用者在该目录至少要有 x 的权限; 

    ② 文件所需权限:使用者在该文件至少需要有 x 的权限。

  • 相关阅读:
    2.17NOIP模拟赛(by hzwer) T2 小奇的序列
    2.17NOIP模拟赛(by hzwer) T1 小奇挖矿
    题解【洛谷P3662】[USACO17FEB]Why Did the Cow Cross the Road II S
    题解【CF886B】Vlad and Cafes
    题解【CJOJ1070/UVA】嵌套矩形
    题解 【CF381A】 Sereja and Dima
    何时使用UI层的智能表单技术
    开机加电到系统打开究竟发生了什么?(1)
    asp.net MVC 常见安全问题及解决方案
    HDU 4422 The Little Girl who Picks Mushrooms【水题】
  • 原文地址:https://www.cnblogs.com/vurtne-lu/p/6252973.html
Copyright © 2020-2023  润新知