LINUX 文件管理
ccwgpt 2024-12-28 23:21 33 浏览 0 评论
【七】文件管理
7.1文件(目录)是如何访问的?
1)inode是什么?
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等,这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
2)Unix/Linux如何识别文件?
系统内部不使用文件名,而使用inode号码来识别文件。在Linux中创建一个文件,系统就为该文件分配一个惟一的inode,文件的inode用于访问文件的属性。表面上,用户通过文件名打开文件,实际上,系统内部这个过程分成三步:
首先,系统找到这个文件名对应的inode号码
其次,通过inode号码,获取 inode信息
最后,根据inode信息,找到文件数据所在的block,读出数据。
3)Unix/Linux如何识别目录?
目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。
目录文件的结构非常简单,就是一系列目录项的列表,每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。
4)查看某个文件的inode信息:
[root@cuug ~]# stat /etc/hosts
File: `/etc/hosts'
Size: 167 Blocks: 16 IO Block: 4096 regular file
Device: 802h/2050d Inode: 1012846 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-04-21 10:37:02.000000000 +0800
Modify: 2015-05-24 21:44:21.000000000 +0800
Change: 2015-05-24 21:44:21.000000000 +0800
[root@cuug ~]# ll -i /etc/hosts
1012846 -rw-r--r-- 2 root root 167 May 24 2015 /etc/hosts 第一列就是Inode
5)查看一个磁盘分区的inode使用情况
[root@cuug ~]# df -i
文件系统 Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/sda2 7318528 127440 7191088 2% /
/dev/sda1 26104 34 26070 1% /boot
tmpfs 223858 1 223857 1% /dev/shm
7.2目录的功能介绍
根据1994年发布的文件系统标准(FSSTND),所有的Linux文件系统都有标准的文件和目录结构,那些标准目录又包含一些特定的文件,下面来简要介绍一下每个目录的作用:
1)根目录(/)
根目录位于分层文件系统的最顶层,用斜线(/)表示。它包含一些标准文件和目录,因此可以说它包含了所有的目录和文件。
2)/bin
/bin目录,也称为二进制目录,包含了那些供系统管理员和普通用户使用的重要的Linux命令的二进制(可执行)映像。这个目录下的文件要么是可执行文件,要么是其他目录下的可执行文件的符号连接,目录/usr/bin存放了大部分的用户命令。
3)/boot
/boot目录下存放的是Linux系统启动时要用到的所有文件,包括Linux内核的二进制映像。当用lilo引导Linux时,会用到这里的一些信息,grub的配置文件也放在这里。
4)/dev
/dev目录,也称为设备目录,存放连接到计算机上的设备的对应文件,包含了Linux 系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。
5)/etc
/etc目录存放了系统管理时要用到的各种配置文件和子目录,示例网络配置文件、文件系统、X窗口系统配置文件、设备配置信息、设置用户信息等;/etc目录不包含任何二进制文件。这个目录下的文件主要由管理员使用;普通用户对大部分文件有读权限。
6)/home
用户的基本目录,/home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
7)/lib
/lib目录下存放了各种编程语言库,包括库文件和kernel模块。典型的Linux系统包含了C、C++、FORTRAN语言的库文件。/lib目录下的库映像文件可以用来启动系统并执行一些命令。实际上它包含了标准C库/lib/libc.so.*,数学库libm.so.*,共享的动态链接库/lib/ld/so以及目录/lib和/sbin下命令用到的其他共享库。
8)/lost+found
/lost+found 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
9)/mnt
/mnt目录在一般情况下也是空的,主要用来临时装载文件系统,系统管理员执行mount命令完成装载。工作在系统中,这个目录包含了光驱、磁盘和软驱的装载点。这样,当装载了一个设备时,如光驱,就可以通过访问目录/mnt/cdrom的文件来访问相应光盘上的文件。
10)/proc
/proc目录存放了进程信息和系统信息,这些信息是在内存中由系统自己产生的。
11)/root
许多Linux系统都将目录/root作为根用户(超级用户)的主目录,该目录受到完全保护,不受普通用户的影响,普通用户没有权限访问/root目录。
12)/sbin
/sbin 该目录用来存放系统管理员的系统管理程序。目录/sbin、/usr/sbin、/usr/local/sbin包含系统管理工具、实用程序和通用的根用户专用命令。
13)/usr
/usr目录是Linux文件系统中最大的一个部分,要用到的应用程序和文件几乎都存放在这个目录下面。它包含了主机之间可以共享的只读数据。在多数Linux系统中,/usr至少包含了下面的子目录:X11R6、bin、doc、games、include、lib、local、man、sbin、share、src和tmp。
14)/tmp
/tmp目录用来存放不同程序执行时产生的临时文件。一些命令和应用程序要用到该目录。您也可以用该目录存放自己的一些临时文件。该目录中的所有文件会被定期删除,以保证磁盘(或磁盘分区)不会被临时文件所塞满。/tmp目录下某个文件的生命期是由系统管理员设定的,而且因系统而异,但通常只有若干分钟。多数系统都为/tmp目录设置了粘滞位(sticky bit),这样只有文件的所有者才能从该目录中删除文件。
15)/opt
/opt目录用来安装附加软件包。用户调用的软件包程序放在目录/opt/package_name/bin下,package_name是安装的软件包名称。软件包的参考手册放在/opt/package_name/man下。
16)/var
/var目录是系统在工作时预先设置的工作目录,如各种服务的日志文件和收发的邮件等。/var目录用于放置变量数据(当系统运行时这些数据不断变化)。
7.3文件和目录属性
7.4文件和目录的访问权限
7.5更改属性及权限的方法
1)更改目录或文件所有者及组
由root用户去执行,常用命令是:
chown [R] 用户:组 [目录|文件]
R表示递归,即该目录下所有目录和文件都一同更改。如:
#chown -R oracle:oinstall /u01
2)更改目录或文件的权限
由root用户和所有者都可以去执行,有三种方法
第一种:权重法
r(权重)=4,w(权重)=2,x(权重)=1。如:
#chmod 755 abc 赋予abc权限为rwxr-xr-x
[R]是递归,有效性截止到命令发出之前,对命令之后创建目录或文件无效
第二种:赋值法
#chmod u=rwx,g=rx,o=rx abc 同上例
这里:u=用户权限,g=组权限,o=不同组其他用户权限
第三种:加减法
#chmod u-x,g+w abc 给abc去除用户执行的权限,增加组写的权限
#chmod a+r abc 给所有用户添加读的权限
权限的理解需要注意两点:
1)凡是对某个文件有写动作的操作,不是看你是否对这个文件是否有W权限,而是看你对这个文件的上级目录的是否有W和X权限,因为你的写操作是对目录的内容的写操作。
2)root用户一般不受权限的限制,谁的目录或文件root都可以做写操作,但执行一个shell脚本所有用户必须有X权限,root也不例外。
[root@cuug abc]# cat a1.sh 这个shell文本里只包括一句执行命令
date
[root@cuug abc]# ls -al
总计 16
drwxr-xrwx 2 root root 4096 12-03 18:01 .
drwxr-xr-x 26 root root 4096 12-03 17:03 ..
-rw-r--r-- 1 root root 5 12-03 18:01 a1.sh
[root@cuug abc]# ./a1.sh 显而易见root缺省X权限,受限
-bash: ./a1.sh: 权限不够
[root@cuug abc]# sh a1.sh或bash a1.sh,此办法是可以的,因root调用了shell解释器
2015年 12月 03日 星期四 18:03:35 CST
[root@cuug abc]# chmod u+x a1.sh
[root@cuug abc]# ls -al
总计 16
drwxr-xrwx 2 root root 4096 12-03 18:01 .
drwxr-xr-x 26 root root 4096 12-03 17:03 ..
-rwxr--r-- 1 root root 5 12-03 18:01 a1.sh
[root@cuug abc]# ./a1.sh
2015年 12月 03日 星期四 18:04:12 CST
[root@cuug abc]#
7.6使用附加权限
1)SET位权限
主要用途:
为可执行(有 x 权限的)文件设置,权限字符为“s”,其他用户执行该文件时,将拥有属主或属组用户的权限。SET位权限类型:
chmod u=rws,o=rx
-rws---r-x:表示对属主用户增加SET位权限
应用示例/usr/bin/passwd
2)粘滞位权限(Sticky)
主要用途:
为公共目录(示例,权限为777的)设置,权限字符为“t”,用户不能删除该目录中其他用户的文件。
应用示例:/tmp、/var/tmp
3)设置SET位、粘滞位权限
设置权限字符chmod o±t 目录名...
示例:
【第一步】 建立公共目录,不同用户建立的各自的文件
[root@cuug /]#mkdir /abc root用户建立一个公共目录
[root@cuug /]#chmod 777 /abc 授予所有用户rwx权限
[root@cuug /]#ls -ald /abc
drwxrwxrwx 2 root root 4096 12-09 21:32 /abc
[tim@cuug ~]$touch /abc/timfile 以tim身份建立一个timfile
[ran@cuug ~]$touch /abc/ranfile 以ran身份建立一个ranfile
[ran@cuug ~]$ls -al /abc 查看一下文件的属性和权限
-rw-r--r-- 1 ran g1 0 12-09 21:41 ranfile
-rw-r--r-- 1 tim g1 0 12-09 21:40 timfile
【第二步】 测试ran用户可以删除timfile
删除后,tim重建/abc/timfile
【第三步】 为/abc目录设置粘贴位
测试ran用户删除timfile时报错
[root@cuug ~]#ls -ald /abc
drwxrwxrwx 2 root root 4096 12-09 22:02 /abc
[root@cuug ~]#chmod o+t /abc 为/abc设粘贴位
[root@cuug ~]#ls -ald /abc
drwxrwxrwt 2 root root 4096 12-09 22:02 /abc
[ran@cuug ~]$rm /abc/timfile 用户ran删别人的文件会报错
rm:是否删除有写保护的 一般空文件 “/abc/timfile”? y
rm: 无法删除 “/abc/timfile”: 不允许的操作
4)附加权限的特点
1、系统中要尽量避免使用set位,可以适当使用粘滞位;
2、Set位只能设置在文件上,而且只当文件有执行权限时才有意义;
3、粘滞位只能设置在目录上,而且不需要指定设置在针对谁的权限上。
the end !!!
@jackman 共筑美好!
相关推荐
- 如何让老师看完文章后还啧啧称奇?满分作文有框架,这3点是关键
-
历年来语文考试中,作文的分数都占着相当大的一个比例,同时作文也是最容易拉开差距的一个模块。别人拿满分,而你却只有20分左右,分数的差距就是这样拉开的。作文想拿很高的分数却是不容易,但不是完全不可能的事...
- 小学作文写作技巧和方法,万能公式框架法。家长收藏
-
小学语文老师用心整理,将写作框架编成万能公式。作文的写作是语文学习中的重要一环,从小学到初中再到高中,作文一直是语文考试中占分比重最高的部分。小学阶段的语文写作相对来说比较简单,主要是打基础,但是很多...
- 如何用爆款改写技巧提升文章吸引力结构重塑:打破原文框架悬念前
-
如何用爆款改写技巧提升文章吸引力?结构重塑:打破原文框架悬念前置法-在开头设置悬念或提出反常识的结论,吸引读者注意力。例如,将“接纳不完美是治愈的开始”改写为“天天逼自己当完美超人?别杠了!生活本就...
- 守护袁昆:是否有必要按框架去写文章,拍摄剪辑视频?
-
(文/守护袁昆)如今不管是写文章还是剪辑视频,越来越多的朋友喜欢用框架、用脚本,作为互联网创作者,我们是否有必要按框架去写文章,拍摄剪辑短视频呢?其实在内容创作过程中,是否使用框架始终是一个充满争议的...
- 揭秘!爆款文章的秘密:让读者无法抗拒的文章框架
-
说说我自己一开始写文章都会犯一个毛病,文章,通常是想到哪里,写到哪里,“管不住字儿”。这样往往会出现以下问题绊住我们继续写下去1、很容易,写着就跑偏了,最终出来的成品和最初的设想偏离很大2、会写得很慢...
- 想要写出逻辑清晰的文章,你需要掌握哪些写作结构
-
想要写出好文章,就必须要了解文章的结构和框架。一篇文章结构清晰,读者就很容易跟上作者的思路,看出文章的重点内容。如果你对新媒体的文章有进行过研究,你就会发现很多公众号的文章结构都是类似的。所以你需要掌...
- 写作结构拆解:从选题到框架,如何让文章说服力翻倍?
-
你有没有想过,为什么有些文章能轻松获得很高的阅读量,而你的文章却始终无人问津?其实,写出爆款文章并没有想象中那么难。关键在于选择一个吸引人的主题,并用一个清晰的写作框架,通过2-3个有力的子观点支撑...
- 写作总被吐槽逻辑混乱?三步搭建框架法,新手也能写出漂亮文章
-
一、结构决定论:信息传递的桥梁写作者和读者之间始终存在一道隐形的鸿沟。作者脑海中的想法如同一棵枝繁叶茂的大树,但直接倾倒给读者时,往往只剩下零散的枝叶,信息在传达过程中的丢失,作者输出的和读者读到的不...
- 如何搭建文章框架:新手写作者很有必要看
-
#头条深一度-深度阅读计划#见面好呀,我是潼臻~37岁,边上班边带娃的二胎妈妈藏起生活里的琐碎,期望你我都能遇到更好的自己~~~~~~~~~~~~~~~~~~果然多读书是可以真切学习到有用的东西最近把...
- 模型上下文协议(MCP)的可视化向导
-
最近,模型上下文协议(MCP)引起了广泛关注。你一定听说过它。今天,让我们来了解一下它是什么。直观地说,MCP就像是AI应用的USB-C接口。正如USB-C提供了一种标准化的方式,用于将...
- 97个人放一页PPT!用对Smartart架构图直接开挂!
-
从讯飞出差回来的路上,在高铁上看到一条微博,关于红楼梦人物的思维导图:下面很多家长说,帮助很大,能帮助上学的孩子梳理清人物关系,我看了下,清楚是清楚,但真的不太好看!作为一名PPT博主,我就顺带在高...
- 技术架构规范与实践(二)架构设计示例
-
1.逻辑架构1.1领域概念1.2宏观应用架构1.3宏观流程1.4微服务拆分与分层2.技术架构3.开发架构3.1后端技术栈分类名称版本描述后端框架/组件JavaJdk8(openjdk:8u342)后...
- 倾斜柱模板安装加固
-
1、适用范围:呈梯形逐层向内侧倾斜的框架柱。2、工艺流程:定位放线-配模-校正梁位置-安装加固。3、工艺方法:(1)定位放线首先现场技术管理人员对每颗不同标高的梁底、梁中边线及200mm控制线进行平面...
- 地基与基础工程、主体工程节点构造
-
#去班味吧#桩头凿除环切法工艺说明:1、根据桩头预留长度(深入承台10cm)放样桩顶标高,施工人员根据测量结果在基桩上用红油漆标注环切线;2、在切割线以上部分桩底,人工用钢钎打入桩底约15cm,打入时...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- 知识框架图 (52)
- ppt框架 (55)
- 框架图模板 (59)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)