• Linux Shell基础知识


    一、文件系统和安全

    chmod命令

    chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限;另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限。

    • 符号模式

    chmod命令的格式为 chmod [who] operator [permission] filename

    其中[who]的取值可以为

    1 u:文件属主的权限
    2 g:用户所在组的权限
    3 o:其他用户权限
    4 a:所有用户权限
    5 如果省略[who]参数,会同时为u和g设置权限,即同时为属主和用户所在组设置权限

    operator取值为

    1 +:增加权限
    2 -:取消权限
    3 =:设定权限

    permission

    1 r:读
    2 w:写
    3 x:执行
    4 另外还有s,t,l,u,g,o不常用

    命令举例,

    1 chmod +x temp //为属主和所用所在组增加执行权限
    2 chmod a-w temp //收回所有用户的写权限(当然属主自己执行的话已然会有w权限)

    绝对模式

    绝对模式下,chmod命令的格式为 chmod [mode] file

    [mode]是一个八进制数,八进制数与用户对应关系如下,

     1 0 4 0 0 文件属主可读
     2 0 2 0 0 文件属主可写
     3 0 1 0 0 文件属主可执行
     4 
     5 0 0 4 0 属组用户可读
     6 0 0 2 0 属组用户可写
     7 0 0 1 0 属组用户可执行
     8 
     9 0 0 0 4 其他用户可读
    10 0 0 0 2 其他用户可写
    11 0 0 0 1 其他用户可执行

    将相同类型用户所拥有的权值相加就是这类用户最终的权限,

    例如

    令属主可读写并能执行,则权值为4+2+1=7

    属组可读不可写可执行,则权值为4+0+1=5

    其他用户可读不可写不可执行,则权值为4+0+0=4

    最终我们设置权限的命令就是 chmod 754 filename

    用下面方式表达更直观,

    1 文件属主:r w x:4 + 2 + 1
    2 属组用户:r w x:4 + 2 + 1
    3 其他用户:r w x:4 + 2 + 1

    硬连接和软连接

    文件节点

    在linux底层,并不是按照文件名来唯一标识一个文件,而是通过文件节点(inode)来标识的。

    硬连接

    Hard Link就是建立多个不同文件名,但是文件节点相同的文件(即在底层属于同一个地址空间),用命令 ln f1 f2

    软连接

    也叫符号链接(Symbolic link)就是建立元文件的一个文本文件,保存着原文件的位置信息,访问软连接文件也等同于访问原文件,类似windows的快捷方式。

    软连接与硬连接的区别在于删除文件,如果删除一个文件,对它的硬连接文件不会有影响(相当于硬连接文件取代了原文件),但是其软连接文件不再是有效文件。

    下面举例说明,

    随便新建一个文件  echo agfgfgfdg3fsfsdf > f1

    新建硬连接    ln f1 f2

    新建软连接    ln -s f1 f3

    如果修改f3    echo 23423423 >> f3

    会发现f1和f2都被修改了

    1 cat f3
    2 agfgfgfdg3fsfsdf
    3 23423423
    1 cat f2
    2 cat f3
    3 agfgfgfdg3fsfsdf
    4 23423423
    1 cat f1
    2 agfgfgfdg3fsfsdf
    3 23423423

    如果删除f1, 会发现其硬连接f2已然可访问,但是软连接f3已经无效了,

    1 cat f3
    2 cat: f3: No such file or directory
  • 相关阅读:
    Apache+php在windows下的安装和配置
    我的mac的其他满了,发现是一个叫core的文件
    如何去掉drwxr-xr-x@中的@符号Linux文件扩展信息
    Wireshark使用教程
    nano 编辑
    sed: 1: “…”: invalid command code on Mac OS
    wireshark error: There are no interfaces on which a capture can be done.
    mac os x10.9.2 查看进程对应端口
    Mac下安装LNMP(Nginx+PHP5.6)环境
    Web实现浏览器端大文件分片上传
  • 原文地址:https://www.cnblogs.com/fysola/p/6241408.html
Copyright © 2020-2023  润新知