zoukankan      html  css  js  c++  java
  • Linux文件目录及权限

    一、Linux下的文件目录

    简介:linux的文件系统是采用级层式树状目录结构,在此 结构中的最上层是根目录“/”,然后在此目录下再创建 其他的目录。深刻理解linux文件目录是非常重要的,如下图所示:

    将来你用哪个用户登录,你就会在那个用户的目录下面。为了大家再进一步加深对Linux的文件目录的理解,下面再附上一张对应目录作用的解释:

    简单演示:

    bin:目录下面的文件:

    在这里大家可以使用上面的命令,进入到其他的目录下面看看,里面的文件。(只是简单的看看哦,不要随意修改。)

    总结:常用命令

    ls:显示当前目录下面的所有文件。

    ls 命令罗列出了终端当前目录下的所有文件及目录。当然,所有这些目录中都可能还有子目录和文件。我们想知道这些目录下面还有哪些目录和文件可以使用 -R 参数将它们都显示出来。

    :ls -r

    ls 命令还有许多参数,可以获得更加详细的信息。比如 -1 参数。它可以使目录内的文件和目录每行只显示一个。

    另外还有一个问题是我们的 Linux 系统中也会有隐藏文件,这点与 Windows 系统很像。除用户自己的文件之外,有一些文件是由系统、或应用程序使用并修改的。在默认情况下将它们隐藏确实对“用户本身”是一种保护。如果我们需要检查 Linux 系统中这些隐藏文件怎么办?

    注意:以“.”开头的文件和目录名称,它们都是隐藏的。同样,用蓝色显示出来的是目录,隐藏的目录。

    另外这样看好像很乱不是吗?我们可以把 -1 和 -a 参数结合使用

     

    这样是不是整齐一点了,如果有人想想在 Windows 中可以用列表显示文件及目录的详细信息一样,我们可以使用 ls -l

    clear清屏

    如果想看自己现在是在哪个目录下面,可以使用pwd命令,这个命令非常有用!!!当你不知道自己现在是在哪里,可以使用它。

    关于ls的命令大家可以参考:http://man.linuxde.net/ls

    find命令的使用:

    解释:注意之间的空格,/表示root目录,-name表示文件的名字。

    注意:这样会查找的很慢,因为它是从根目录开始的,所以以后尽量从一个目录下面查找,这样可以缩短查找的范围。

    grep命令的使用:

    解释:-n显示行号  guozheng表示要查询的关键字  hello.cpp表示要在那个文件中查找。

     cd /表示:回到根目录下面

    cd ../表示:回到上一级目录

    cd 表示:回到该用户所在的目录下面

     需求:有时我需要把查找的信息或者统计的信息保存到另外一个文件,提供给别人。

    重定向命令:

    ls -l > a.bak 列表的内容写入文件a.bak中(覆盖写)

    ls -al >> aa.bak列表的内容追加到文件aa.bak的末尾

    注意:这个命令非常有用,作用就是把统计的信息保存到a.bak文件中。

    二、Linux中的文件所有者、所在组和其它组

    在讲解Linux中的用户和组的问题,我们先看一下Windows中的用户和组,如下图所示:

    好了,我们来看看Linux中的用户和组的概念。

    简介:

    在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。

    1)所有者 (2)所在组 (3)其它组 (4)改变用户所在的组

    • 文件所有者

    一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。

    用【ls –ahl 】命令可以看到文件的所有者。

    你也可以用 【chown 用户名 文件名 】来修该文件的所有者。

     

    我们使用gz普通用户创建的目录,默认属于该用户,如果我想改变该目录的所属用户,可以使用:chown 用户名 文件名 

    •  用户所在组

    当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。 用【ls –ahl 】命令可以看到文件的所有组。 你可以通过【chgrp 组名 文件名】来修改文件所在的组。

    使用:ls -ahl | more

    修改该目录所在的组:chgrp root mysrc  可以改变该目录所在的组。

    现在我把mysrc目录所在的组gz修改为root

    • 其他组

    除开文件的所有者和所在组的用户外,系统的其它用 户都是文件的其它组。

    • 改变用户所在的组

    在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的 管理权限可以改变某个用户所在的组:

         usermod –g 组名 用户名 你可以 用

         usermod –d 目录名 用户名 改变该用户登陆的初始目录

    我知道你很晕不要紧,我们来看一个案例:(我们要把下面的用户添加到对应的组中)

     step1:使用root身份创建对应的组

    如何查看创建的组呢?使用:cat /etc/group

    解释:policeman:组的名称   1001:改组的ID号是唯一的。

    使用相同的命令创建土匪组。

    step2:创建用户,并同时指定该用户属于哪个组

    命令使用:

    useradd  -m 用户名

    案例: useradd -m xiaoming 【 添加用户 xiaoming】  (特别提醒:这里一定要加上:-m 并且是小写的,否则创建好的用户你是登陆不上的。)

    passwd 用户名 【修改密码】

    案例: passwd xiaoming 【修改xiaomiing的密码】

    userdel 用户名 【删除用户】

    userdel xiaoming 【删除用户xiaoming】

    userdel -r xiaoming 【删除用户以及用户主目录】

    创建:施瓦辛格(Iamback)

    查看Linux中的所有用户信息:cat /etc/passwd

    解释:shitailong:表示用户的名字;x:表示加密后的用户的密码;1003:表示用户的ID;1002:表示用户所在组的ID;/home/shitailong:用户所在的主目录

    step3:分配密码

    为了好记,这三个用户默认密码是123456

    step4:测试

    现在:我想把施瓦辛格(Iamback)也移动到土匪组中,该如何办?

    使用:usermod –g tufei iamback

    现在金三角都在土匪组了。

    三、文件权限的管理

    ls -l中显示的内容如下:

    -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

      10个字符确定不同用户能对文件干什么

      第一个字符代表文件(-),目录(d),链接(l)

      其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)

    第一组rwx : 文件拥有者的权限是读、写和执行

    第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行

    第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行 可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

    1 表示连接的文件数(如果是文件夹也就是目录的话,表示:该目录下面的文件数)

    root 用户

    root 组

    1213 文件大小(字节)

    Feb 2 09:39 最后修改日期

    abc 文件名

    现在我用jiesen登陆创建文件:

    例如:-rw-r--r--

     

     现在我用shitailong用户进入到jiesen的目录下面,结果如下:

    结果可以进入到该目录下面,原因是jiesen目录的权限如下:

    对照上面的分析:其他组的用户对jiesen目录有可读的权限。

    Linux下使用对目录权限的管理,不能一个用户进入到另外一个用户的目录。

    现在jiesen允许shitailong进入到自己的主目录下面,并且有可写权限该如何操作?,如下图所示:

    注意:不能使用shitailong开修改jiesen的目录权限。只能有jiesen和root能修改。

    这样设置的话等于是完全公开,其他组的用户也可以进入到该目录下面,所以我要该用户本身以及该用户所在的组可以进入,其他组的用户不允许进来。

    然后,我用gz用户登录,看看能不能进入到jiesen目录中,结果如下:

    注意:这里只是修改文件夹(目录的)权限,目录下面的文件权限没有修改。

    补充:

    改变权限的命令:

    chmod 改变文件或目录的权限

      chmod 755 abc : 赋予abc权限rwxr-xr-x

      chmod u=rwx,g=rx,o=rx abc : 同上 u=用户权限 g=组权限 o=不 同组其他用户权限

      chmod u-x,g+w abc : 给abc去除用户执行的权限,增加组写的权限

      chmod a+r abc :给所有用户添加读的权限

    改变拥有者(chown)和用户组(chgrp)命令

      chown xiaoming abc : 改变abc的拥有者为xiaoming

      chgrp root abc : 改变abc所属的组为root

      chown root ./abc : 改变abc 这个目录的所有者是root

      chown -R root ./abc : 改变abc 这个目录及其下面所有的文件和目 录的所有者是root

    建议还是要多练习多敲命令。权限这部分确实很复杂,大家可以练习一下,如果遇到问题解决不了的,可以在评论区提出来,我会帮大家看看。

    原文链接:https://www.linuxidc.com/Linux/2017-10/147455.htm

  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/guantou1992/p/12771851.html
Copyright © 2011-2022 走看看