linux学习笔记鸟哥的私房菜(二)-文件与目录管理

文件权限与目录配置

1.      档案拥有者

若你有文档放在自己的目录而不希望给别人看到时,把文档设置成只有文件拥有者才能修改档案的内容,那么即时其他人知道你有这个文件,由于你设定了适当的权限,他人则无法查看

 

2.      群组的概念

设有一个组为project,内有成员class1,class2,class3,设置群组则可以限制非自己团队的其他人不能阅览内容,而且也可以让自己团队成员修改自己所简历的文件,如果自己有私人文件,仍可以设定成让自己的团队成员看不到我的文件数据。

 

如何改变文件属性与权限

一、改变所属群组,chgrp

语法:chgrp [-R] filename

参数:-R:进行递归的持续变更,即连同次目录下的所有档案、目录都更新成为这个群组。常常用在变更某一目录内所有的档案。

范例:chgrp users install.log   改变install.log文件的群组

 

tips:要改变的组名必须要在/etc/group档案内存在

 

二、改变档案拥有者,chown

语法:chown [-R] 账号名称文件或目录

     chown [-R] 账号名称:组名文件或目录

参数:-R 进行递归的持续变更,即连同次目录下的所有文件都变更

 

范例:将install.log的拥有者改为bin这个账号

chown bin install.log

 

将install.log的拥有者与群组改为root

chown root:root install.log

 

三、改变权限,chmod

1.      数字类型改变档案权限

语法: chmod [-R] xyz 文件或目录

参数:xyz 数字类型的权限属性,为rwx属性数值的相加。

-R

范例:将a这个文件的所有权限都设定启用

chmod 777 a

 

2.      符号类型改变档案权限


范例:user(u):具有可读、可写、可执行的权限;

group(g): 具有读与写的权限;

others(o): 具有读与写的权限;

chmod u=rwx,go=rx a

 

权限的重要性

r 表示具有读取目录结构列表的权限,所以当你具有读取一个目录的权限时,表示可以查询该目录下的文件名数据。

w 有下面的权限

建立新的文件与目录;

删除已经存在的文件与目录;

将已存在的文件或目录进行更名;

搬移该目录内的档案、目录位置;

 

x 表示用户能否进入该目录成为工作目录的用途。

 

文件与目录的管理

cd:变换目录

pwd:显示当前目录

mkdir:建立一个新的目录

rmdir:删除一个空目录

mkdir [-mp] 目录名称

参数: -m 配置文件的权限

-p 可以直接将所需要的目录递归建立起来

 

范例:在/temp底下建立数个新目录

cd /tmp

mkdir test //建立一个名为test的新目录

mkdir test1/test2/test3      //错误,没办法直接建立此目录

mkdir –p  test1/test2/test3    //加上-p的参数后,可以建立多层目录

 

范例:建立权限为 rwx—x—x的目录

mkdir –m 711 test2

 

rmdir:删除一个空目录

rmdir [-p] 目录名称

参数:-p连同上层空的目录也一起删除

 

范例:将mkdir范例中建立的目录删除

rmdir test        //只有单层目录可以直接删除

rmdir test1       //里面有内容,无法删除

rmdir –p test1/test2/test3/test4          //使用-p参数,可以一次性删除

 

ls 文件与目录的检查

ls  [-aAdfGhilnrRSt]目录名称

ls [--color={never,auto,always}] 目录名称

ls [--full-time] 目录名称

 

参数: -a:全部文件,连同隐藏文件(开头为.的文件)一起列出来

-d:仅列出目录本身,而不是列出目录内的档案数据

-l:长数据串列出,包括文件的属性与权限等

--color=never:不依据文件特性给予颜色显示

--color=always:显示颜色

--color=auto:让系统自行依据设定来判断是否给予颜色

--full-time:以完整时间模式(包含年、月、日、时、分)输出

 

cp (复制文件或目录)

cp [-adfilprsu] 来源文件 目标文件

参数:-a相当于-pdr的意思

-i::若目标文件已经存在时,在覆盖时会先询问动作的进行

-p:连同文件的属性一起复制过去,而非使用默认属性;

-r:递归连续复制,用于目录的复制行为;

 

范例:变换目录到/tmp,并将/var/log/wtmp 复制到/tmp

cd /tmp

cd /var/log/wtmp .    cd第二个参加为“.”表示复制到当前目录

rm(移除文件或目录)

rm  [-fir]文件或目录

参数:-f 就是force的意思,忽略不存在的文件,不会出现警告信息;

-i:互动模式,在删除前会询问使用者是否动作

-r:递归删除,常用在目录的删除

 

范例:通过匹配符*,将/tmp底下开头为bashrc的文件通通删除

rm –I bashrc*

 

mv(移动文件与目录,或更名)

mv  [-fiu]source destination

mv  [options]source1 source2 source3 … directory

参数:-f 就是force的意思,如果目标文件已存在,不会询问而直接覆盖;

-i:若目标文件已经存在时,就会询问是否覆盖

-u:若目标文件已存在,且source比较新,才会更新

 

范例:复制一文件,建立一目录,将文件移动到目录中

cd /tmp

cp ~/.bashrc bashrc

mkdir mvtest

mv bashrc mvtest

 

将刚刚的目录更名为mvtest2

mv mvtest mvtest2

 

建立2个文件,全部移动到/tmp/mvtest2中

cp  ~/.bashrc bashrc1

cp ~/.bashrc bashrc2

mv bashrc1 bashrc2 mvtest2


umask(档案的预设权限)

 

·建立文件的预设权限为666,即-rw-rw-rw-

·建立目录的预设权限为777,即drwxrwxrwx

 

tips: umask的分数是指默认值要减掉的权限

 

范例:设定文件的权限为-rw-rw-r- -

umask 002       //默认文件的权限为-rw-rw-rw-  减掉w权限即可

 

 

chattr(配置文件隐藏属性)

chattr [+-=] [ASacdistu] 文件或目录

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

-         移除某一个特殊参数,其他原本存在参数则不动。

=   设定一定,且仅有后面接的参数

 

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

i:可以让一个文件不能被删除、改名、设定连接也无法写入或新增资料,只有root能设定此属性

 

范例:在/tmp下建立文件,并加入i的参数

cd /tmp

touch attrtest                    //建立一个空文件

chattr + I attrtest             //给予i的属性

 

将该文件的i属性取消

chattr –i attrtest

 

lsattr(显示文件隐藏属性)

lsattr  [-adR]  文件或目录

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

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

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

 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值