RHCE课程RH033Linux基础笔记三之文件以及文件权限Word文档格式.docx
- 文档编号:7895414
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:26
- 大小:891.09KB
RHCE课程RH033Linux基础笔记三之文件以及文件权限Word文档格式.docx
《RHCE课程RH033Linux基础笔记三之文件以及文件权限Word文档格式.docx》由会员分享,可在线阅读,更多相关《RHCE课程RH033Linux基础笔记三之文件以及文件权限Word文档格式.docx(26页珍藏版)》请在冰点文库上搜索。
cd/root
使用绝对路径
cdroot
使用相对路径
复习:
1、用户主目录有哪两种?
/rootand/home/username
2、常用的配置文件存放在哪个目录?
/etc
3、内核引导目录是哪个?
/boot
用了这个命令了吗?
ls-a,是不是里面有两个目录很奇怪,一个是.,一个是..
.
代表当前目录
..
代表上一级目录
如果我用cd..这个命令会切换到哪个目录?
OK就是/,应为root的上级目录就是/,~那个位置都知道是代表个人主目录(类似于Windows的C:
\DocumentandSettings\XXXX\)
但是怎么才能让他显示当前的完整路径呢?
可以更改环境变量来实现当前状态
vi/etc/bashrc,修改这一行后面大写的W,改成小写的w就可以了,保存退出。
u就是当前用户,h就是主机名字,w就是当前目录
要查看修改结果,我们需要关闭终端,重新打开终端就可以看见效果了,修改后就成了这种效果
现在讲讲ls命令
ls-a显示所有文件包括隐藏文件
ls-l
以长列表方式显示文件
LINUX里只要文件名前有一个点的就是隐藏文件
这是我在相同目录用两个命令的效果
这是长列表方式显示文件
用ls–l以长模式察看文件的详细信息
包含当前目录的硬盘使用空间、文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更动时间、文件名。
一共10个位置,大家都可以自己数下
前面
代表文件的种类和权限
第一个"
-"
是什么意思?
位置是代表文件类型的。
在linux中,所有东西都被当成文件。
文件权限前的第一个字母用来标识文件类型:
-:
一般文件
d:
目录文件
b:
块设备文件
c:
字符设备文件
l:
链接文件
p:
人工管道
第一个位置代表文件类型了,那么剩下的9个呢?
234位代表文件所有者的权限。
567位代表文件所属组的权限。
89
10
代表其他用户的权限。
文件的前面10位的含义大家都了解了吗?
r
是读的意思
W
是写的意思
X
是执行的意思
文件的硬连接数
知识点:
硬连接就像一个文件有多个文件名,
软连接就是产生一个新文件,这个文件指向另一个文件的位置,
硬连接必须在同一文件系统中,而软连接可以跨文件系统.
前面是文件的所属用户,后面是文件的所属组。
文件大小,一般是块为单位,一个块约等于1K
文件最后一次更改时间
文件名字
我想看以长列表方式看/root目录,该用什么命令?
ls-l/root
上图是看不到/root目录的长列表,你在文件名那里找不到/root,
根本不会看目录。
所以我们需要加一个d参数,ls-ld/root
注意,在打命令和目录的时候,你们一定要用TAB键来补全,这样比较轻松,也能检查命令是否正确。
如果不能补全就证明你的命令有问题
用命令补全,TAB,他会自动加上最后那个/符号,证明这是个目录,如果后面没有/的话,这个可能是目录,也可能是文件
其实还有两种方法可以查看root的长列表,你们在思考下,运用我们刚才学会的知识,好好思考下
我们刚才说过ls是查看目录内的文件,如果我在/里看的话就能看见root了,
ls-l就可以了,也可以用ll命令。
还有一种就是我们刚才提到的.和..
在/root目录用ls-a,其中的.也就是root了。
也就达到我的要求了。
用file检查文件类型
由于linux中的文件名中没有扩展名,所以可能需要用file来查看文件类型
上一个是ASCII的TEXT文本文件,第二个是目录,这个命令基本就这样了,功能不是很强
新建文件
名称:
touch
使用权限:
所有使用者
使用方式:
touch[-acfm]
[-rreference-file][--file=reference-file]
[-tMMDDhhmm[[CC]YY][.ss]]
[-dtime][--date=time][--time={atime,access,use,mtime,modify}]
[--no-create][--help][--version]
file1[file2...]
说明:
touch指令改变档案的时间记录。
ls-l可以显示档案的时间记录。
参数:
a改变档案的读取时间记录。
m改变档案的修改时间记录。
c假如目的档案不存在,不会建立新的档案。
与--no-create的效果一样。
f不使用,是为了与其他unix系统的相容性而保留。
r使用参考档的时间记录,与--file的效果一样。
d设定时间与日期,可以使用各种不同的格式。
t设定档案的时间记录,格式与date指令相同。
--no-create不会建立新档案。
--help列出指令格式。
--version列出版本讯息。
范例:
最简单的使用方式,将档案的时候记录改为现在的时间。
若档案不存在,系统会建立一个新的档案。
touchfile
touchfile1file2
将file的时间记录改为5月6日18点3分,公元两千年。
时间的格式可以参考date指令,至少需输入MMDDHHmm,就是月日时与分。
touch-c-t05061803file
touch-c-t050618032000file
将file的时间记录改变成与referencefile一样。
touch-rreferencefilefile
将file的时间记录改成5月6日18点3分,公元两千年。
时间可以使用am,pm或是24小时的格式,日期可以使用其他格式如6May2000。
====================================================
touch-d和date-s的用法相同。
如果没有指定日期,默认为系统日期
touch-d18:
03file
touch-d"
18:
03"
file
6:
03pm"
file
如果没有指定时间,默认为00:
00:
00
touch-d20000506file
05/06/2000"
20000506"
03pm05/06/2000"
2000050618:
03:
00"
问题:
LINUX的文件名最多支持多少字符?
LINUX
文件名字的长度最大是256个字符.
通常由字母、数字、“.”(点号)、“_”(下划线)和
“-”(减号)组成.
强调:
LINUX文件名字和命令都是严格区分大小写的。
51Cto
51cTo
51CTO
都是LINUX里面表示不同的文件.
大家都知道,一个用户,可以加入多个组。
但是这个用户建立的文件默认属于哪个组呢?
默认创建的文件的组是所有者的主用户组GID。
这是/etc/passwd,里面有两个500,第一个500,是redhat这个用户的UID,第二个500是这个用户的主用户组ID叫GID,用户建立的文件所属组就是这个文件定义的.
删除文件
rm
所有使用者
rm[options]name...
删除档案及目录。
-i删除前逐一询问确认。
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r将目录及以下之档案亦逐一删除。
使用rm命令要小心。
因为一旦文件被删除,它是不能被恢复的。
为了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。
删除所有C语言程式档;
删除前逐一询问确认:
rm-i*.c
将Finished子目录及子目录中所有档案删除:
rm-rFinished
快速删除log日志
rm
-f
*1001.log*1002.log*1003.log*1004.log
重命名(移动)文件
cp
cp[options]sourcedest
cp[options]source...directory
将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a尽可能将档案状态、权限等资料都照原状予以复制。
-r若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
将档案aaa复制(已存在),并命名为bbb:
cpaaabbb
将所有的C语言程式拷贝至Finished子目录中:
cp*.cFinished
我们把51cto文件复制到/home/michael目录下,并改名为blog51cto
RHCE课程-初级部分3、文件权限(重点)
文件权限
对于每一个文件,Linux都提供了一套文件权限系统。
对于每一类用户,权限系统又分别提供他们三种权限
读(r):
用户是否有权力读文件的内容
写(w):
用户是否有权利改变文件的内容
执行(x):
用户是否有权利执行文件
文件权限系统,将操作文件的用户都分成三类
文件的拥有者(u)
文件所属组的成员(g)
其他用户(o)
所属用户
每一个文件都有一个拥有者。
文件的拥有者可以改变文件的权限。
所有的用户都有一个唯一的ID号(UID)
用户的名字与标识都放在/etc/passwd里面
下面接着将讲几个简单的命令
创建用户:
useradd
添加一个叫amy的用户,amy是你想要创建的用户名.命令运行成功,是不会有任何提示的.
然后用passwd
改变这个用户的密码。
注意;
如果你passwd命令后面不跟用户名的话,他就会改变当前用户的密码。
刚才的两个命令我们就创建了一个普通用户,并修改了他的密码
删除用户:
userdel
语 法:
userdel[-r][用户帐号]
userdel可删除用户帐号与相关的文件。
若不加参数,则仅删除用户帐号,而不删除相关文件。
就像下面这样
参 数:
-f 删除用户登入目录以及目录中所有文件。
现在我们用su-amy命令切换到刚才建立的目录
谁能告诉中间那
-
符号有什么意义?
中间那个
符号的意思完整切换到amy用户。
所谓的完整就是连着所有变量一起切换.
很重要的细节,大家不要忘记,不然你切换用户会出现莫名其妙的问题
对于“-”;
切换的效果是看不出来的,在那里能体现到这一点?
好嘛,我再在这花点时间,先是完整切换到一般用户,然后不用-
切换回root。
再用useradd新建一个用户试试。
提示:
bash:
useradd:
command
not
found
这就是为什么要求你们完整切换,明白了吗?
上面你们都知道文件权限,和文件所有者还有所属组了,那么怎么改变文件权限呢?
chmod
文件权限
只有root用户可以用chown来改变文件的拥有者。
语法:
chown
用户名
文件名
建立文件用touch
命令,
大家建立一个文件
名字叫;
51cto
权限:
u=rwx
g=rx
o=rx
命令大家都会吧?
建立好了,用长列表方式查看,
改变文件权限有两种方法:
一种是用字母表示,
比如:
u+rwx
g+rwx
o+rwx,
也可以用减号u-rwx
g-rwxo-rwx
由于时间关系和大家都有基础,用字母我就提下。
一般都是用数字,这个才是重点
第二种chmod后可以用三个数字来表示用户权限
第一位代表文件拥有者权限
第二位代表文件所属组成员权限
第三位代表其他用户权限
一个文件权限分成U,G,O三部分。
每部分又分为R,W,X三种权限。
那么我们用三组数字来表示,三种用户的权限。
4(读)
2(写)
1(执行)
用数字表示,比如
777
如果是7,就证明他有那三种权限,如果是5就证明那个位置的用户只有4和1的权限,也就是没有2,写的权限。
大家把刚才那个51cto的文件改成amy所有
所属组
每一个文件只能属于一个指定的组。
所有的用户组也都有一个唯一的ID号(GID)
用户的组名与组标识都放在/etc/group里面
文件的拥有者与root用户,可以用chgrp来改变文件所属的组
chgrp组名
文件名
然后在把刚才那个的所有组也改成amy组
root用户也可以使用#chown用户名:
组名
一般普通用户的用户ID与组ID的值大于等于500,而系统用户ID与组ID小于500。
(详情请查看/etc/login.defs配置文件)
查询当前Linux版本:
uname-a
大家都知道,我们创建一个用户的时候,会自动创建用户主目录,会分配UID,还有密码策略,是怎么规定的吗?
就是在login.defs这个文件里面
打开这个文件vim/etc/login.defs
下面这行看见了吗?
意思是建立用户的时候同时也在规定的这个目录建立邮件目录。
默认不显示行号,可以使用:
setnu命令显示行号。
第17行,意思是密码有效期
第18行,是密码最小更改时间,单位是天。
为0,就是没有限制,随时可以更改。
第19行,是安全密码的最小位数
第20行,是密码过期前几天提醒用户,默认是7天。
第25行
意思是新建用户的最小UID是500
第26行
新建拥护的最大UID是60000
同理,你们就该知道GID的意思了吧,31和32行就是最小到最大的GID
每个用户都有一个对应的UID,正常情况下,服务器里不会有两个相同的UID。
PS:
在强行改变/etc/passwd的情况是可以出现两个用户有相同的UID
下面我们做个实验,先建立一个用户redhat,然后完整切换到这个用户,在家目录里创建一个文件file,把权限改成所有者可写,其他用户什么权限都没有.
在这,再讲一个命令。
cp
源文件目标地点新文件名字
复制一个文件到其他地方
用这个命令
把你们刚才建立的文件拷贝到根下面
直接用
-p
参数重新复制一次
参数的意思是保持原文件的权限和属性不变
大家仔细看下我的操作
看下我CP的时候加了
-p和没有加,两个文件的区别
一般CP都会把新生成的文件的所有者改成使用命令的用户及用户组。
如果加
就不会改变。
下面切换成
redhat
用户,然后用
vim
/file和
/file1
vim/file1
证明我们是有权限给里面写东西的,注意最下面的
然后
file
redhat用户对这个文件是没有权限更改的,因为redhat用户对file是没有写入权限
好了,进入重点。
现在我们删除redhat
用户
再新建redhat
用户,切换到redhat用户,你们说现在我可以编辑/file1吗?
不能
第二次建的redhat用户不能再编辑/file1文件
现在我们看看file1的所有者
由于没有了刚才的redhat用户,所以用户所有者及组变成了刚才redhat的UID:
500。
这是刚才的效果
再看下现在的
两个redhat用户名字一样,但是UID不一样。
他们的权限也不一样.这样你们应该就知道UID的用处了
主要这个实验步骤比较多,但是都不难
有种极端的情况:
如果这个redhat是UID最后一位用户,就是在它UID后没有比它大的UID用户,当此用户被删除后再重新建一个同名的用户时,新建的用户有它同样的UID。
如下peter用户一样:
新建的peter用户对/test文件两样有权限编辑
我们继续看刚才那个文件哈
46行,是否给新建立的用户建立家目录。
50行,给用户建立的家目录的权限掩码。
目录的初始权限是777
文件的初始权限是666
然后用初始权限减去权限掩码得到的就是新建文件或者目录的权限
可以用umask命令查看当前用户的权限掩码
普通用户的掩码是0002
root的掩码是0022
新建目录的权限就是777-022=755
新建文件的权根就是666-022=644
用户家目录的掩码是077
用户家目录的权根就是777-077=700
就是下面这种效果
最后一项,意思在建立一个用户的时候也建立相应的组。
记住我们刚才讲的是login.defs这个文件的内容:
新建用户的配置文件
#################################################################
并以此文纪念首次使用WindowsLiveWriter客户端在51CTO写博客,以前老用maxthon写,最近写前两个笔记时老是IE死机,差不多每写一稿要死机3-4次,郁闷,写得差不多了只能重写,再次郁闷。
我看看WindowsLiveWriter上传后的效果哈!
HOHO
看了后在WindowsLiveWriter中不能设置标签、文章分类及版权声明,不知道是我不知道还是本来就是这样的,要自己在网页改。
好像51cto的水印也没有了,555
再次郁闷的是我上传后我的IE又不幸死机了,郁闷进行中!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RHCE 课程 RH033Linux 基础 笔记 文件 以及 权限