加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux操作系统之___文件与目录管理篇

发布时间:2022-11-22 11:18:13 所属栏目:Linux 来源:
导读:  Linux文件与目录的管理是非常重要的概念,尤其是权限的概念对于用户来说是非常重要的,因为它限制了用户能不能读取/新建/删除/修改文件的权限。在这里重点说下什么命令在什么样的权限下才能够运行。小小的部分总
  Linux文件与目录的管理是非常重要的概念,尤其是权限的概念对于用户来说是非常重要的,因为它限制了用户能不能读取/新建/删除/修改文件的权限。在这里重点说下什么命令在什么样的权限下才能够运行。小小的部分总结如下:
 
  文件目录的权限和属性
 
  让用户能进入某目录成为 “可工作目录” 的基本权限是:
 
  * 可使用的命令如:cd等
 
  * 目录所需权限: 用户至少对这个目录具有 x (execute)的权限
 
  * 注明: 如果用户想要在这个目录内利用 ls 查阅文件名称,则还需要 r (read)的权限
 
  用户在某个目录内读取一个文件的基本权限是:
 
  * 可使用的命令如:cat , more, less等
 
  * 目录所需权限:用户至少对这个目录具有 x 权限
 
  * 文件所需权限:用户至少对这个文件具有 r 权限
 
  让用户可以修改一个文件的基本权限是:
 
  * 可使用的命令如:vi, vim, nano, gedit 等等
 
  * 目录所需权限:用户在该文件所在的目录至少需要 x 的权限
 
  * 文件所需的权限: 用户对该文件只少要具有 r,w(write)的权限
 
  让一个用户可以创建一个文件的基本权限是:
 
  * 目录所需权限: 用户在该目录要具有 w,x 的权限
 
  让用户进入某个目录并执行该目录下的某个命令的基本权限是:
 
  * 目录所需的权限:用户在该目录至少具有 x 的权限
 
  * 文件所需的权限:用户的文件至少需要具有 x 的权限
 
  文件的默认权限:umask
 
  文件的默认权限是由umask来决定的,umask可以进行相关的设置,这个概念可以用在任何的Linux的服务器上面,尤其是未来你架设服务器的时候是很重要的,例如Samba Server或者 FTP Server都是很重要的概念,你可以在命令行输入umask来查看,在这里就不具体讨论了
 
  文件的隐藏属性:chattr , lsattr
 
  语法: chattr [+-=] [-Asacdistu] 文件或者目录的名称
 
  解释: a : 当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设置这个属性
 
  i : 当设置i 之后,它可以叫一个文件“不能被删除,改名,即使设置连接也无法写入或者添加数据”。"对于系统安全很有帮助"
 
  举例如下:
 
  cd /tmp
 
  touch attrtest
 
  chattr +i attrtest
 
  rm attrtest ----->提示出现错误,操作不被允许,因为文件设置了chattr +i 这样的属性(只有root可以使用),赶紧去掉
 
  chattr -i attrtest
 
  rm atrrtest----->提示是否删除,然后根据用户操作删除文件
 
  lsattr用来查看用户文件的隐藏属性:
 
  语法:lsattr [-adR] 文件或者目录
 
  参数:-a 将隐藏文件的属性也输出
 
  -d 如果接的是目录,仅列出目录本身的属性而非目录内的文件名
 
  -R 连同子目录的数据也一并列出来
 
  举例如下:
 
  chattr +ai attrtest
 
  lsattr attrtest
 
  ----ia------- attrtest-------> 输出的结果为这,显示出文件attrtest具有ia两个特殊的隐藏属性
 
  文件的特殊权限位
 
  文件的特殊权限包括: SetUID,SetGID,和SBIT(黏着位),
 
  SetUID包含的意义如下:(只对文件有用)
 
  * SetUID 对二进制程序有用
 
  * 程序执行者对于该程序来说,需要具备 x 的权限
 
  * 执行者在执行的过程中将以该程序所有者的身份来执行(重点)
 
  SetGID包含的意义如下:(只对目录有用)
 
  * SetGID 对二进制程序有用
 
  * 程序执行者对于该程序来说,需要具备 x 的权限
 
  * 执行者在执行的过程中将会获得该程序用户组的支持(重点)
 
  SBIT的含义如下:(只对目录有用)
 
  * 该目录的权限一定是777的权限,也就是 drwx-rwx-rwx 的权限
 
  * 目录一但具有SBIT,代表在该目录下用户创建的文件只有自己与root能够删除,其它人不能删除
 
  基本的要点归纳:
 
  1,绝对路径“一定由根目录 / 写起”;相对路径“不是由 根目录 / 写起”;
 
  2,特殊的目录有.,..,-,~,~wei.ming需要注意
 
  3,与目录相关的命令有cd,mkdir,rmdir,pwd rm等等
 
  4,用户能使用的命令是依据PATH变量所规定的目录去查找的
 
  5,不用的身份(root与一般帐号)系统默认的PATH并不相同。差异较大的地方在于/sbin和/usr/sbin
 
  6,ls可以查看文件的属性,尤其是-d, -a, -l等参数很重要
 
  7,文件的复制,删除Linux 文件与目录管理,移动可以分别使用cp ,rm , mv等常用的命令
 
  8, 查看文件的内容基本命令包括cat, tac, nl, more, less, head, tail, od等等
 
  9,touch的目的在修改文件的时间参数,但是可以用来创建空文件
 
  10,cat -n与nl 都可以显示行号,但是在默认的情况下,空白行是不会编号进行显示的
 
  11, 一个文件记录时间参数的方法分别是 accesstime (atime),statustime(ctime),modificationtime(mtime),ls默认显示的是mtime
 
  12,Linux除了传统的rwx权限外,在Ext2/Ext3文件系统中,还可以使用chattr与lsattr设置及查看隐藏属性
 
  13,新建文件/目录时,新文件的默认权限是使用umask来规定的,我的机器是Linux_CentOS5.5(Kernel:2.6.x)所以默认创建的文件权限是644(-rw-r--r--),默认创建的目录的权限是755(drwx-r-x-r-x)
 
  14,利用find可以加入许多参数来直接查询文件系统,以获得自己想要知道的文件名。
 
  15,查找命令的完整名可以用which或者type,这两个命令都是通过PATH环境变量来查找文件名的
 
  16,要查找文件的完整文件名可以用whereis或者locate命令到mlocate数据库里面进行查找,而不是实际查找硬盘数据。所以速度较快
 
  17,locate查找的原理是: /etc/updatedb.conf-->/var/lib/mlocate/mlocate
 
  好了,敲的我手都累了,就写这么多吧,这里只是把Linux文件与目录当中的重点举例说明了下,其中的内容还有很多,我这里就不一一举例了,如果大家有兴趣可以自己学习Linux的文件与目录管理,尤其是find查找文件,里面可以根据-user, -name,-size,-group等等来进行查询,如果有兴趣可以深入研究下。下面我还将继续写点关于Linux的东西,以期和大家分享.
 

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!