重要的文件
在Linux里面,任何一个文件都具有“User”、“Group”、“Others”三种身份的个别权限,以及一个可以万能的权限就是“root”
在默认的情况下,所有系统上的账号与一般身份使用者,还有那个root的相关信息,都记录在/etc/passwd这个文件内的
个人的密码是记录在ect/shadow这个文件下
所有的群组名称都记录在/etc/group内
这里我使用的是ubuntu进行的实验:
输入 sudo -i
将会切换身份为root模式 {使用exit即可退出root模式}
使用 ls -al指令,可以查看文件 包括隐藏文件(以 . 开头的文件)
也可以使用ls --help 、man ls查看各种ls 的用法
ls -C默认ls下的文件查看
ls -a查看所有文件包括(. ..隐藏文件)
ls -A查看所有文件除了(. ..隐藏文件)
ls -l以列表信息格式列出所有文件
ls -d查看目录名 而不查看目录下内容
ls -F在每个输出项后追加文件的类型标识符 {*表示可执行文件}{/表示目录文件}{什么都无表示普通文件}{|表示管道文件}
其他的一些指令具体可以查看下面两个我之前整理好的链接
1/Linux基础命令
文件权限+链接(表示有多少文件名连接到此节点)
? +拥有者+群组+文件大小(一般是Bytes)
? +修改日期(如果这个文件距离现在修改的时间太久了,那时间部分只会显示年份)
? +文件名
a)- r w x r w x - - -含义:
第一个字符代表这个文件是“目录、文件、链接文件等待”
d:目录
l:链接文件
b:设备文件中的可供存储的周边设备
-:普通文件
c:设备文件中的一次性读取设备
r:代表着可读
w:代表着可写
x:代表着可执行
在windows中判断一个文件是否为可执行文件是通过文件名后缀是否为.exe
在Linux中判断则是查看文件权限是否含有x
-:表示没有该权限
第一组为“文件的拥有者所具备的条件”
第二组为“加入此群组账号的权限”
第三组为“非本人且没有加入此群组的账号的权限”
假设test1, test2, test3同属于testgroup这个群组,如果有下面的两个文件,请说明两个
文件的拥有者与其相关的权限为何?
-rw-r--r-- 1 root root 238 Jun 18 17:22 test.txt
-rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai
test.txt的拥有者为root、ping_tsai的拥有者为test1
test.txt的所属群组为root、ping_tsai的所属群组为testgroup
test.txt只有root用户具有可写的能力,其余只有可读的权限
ping_tsai文件:test1用户具有可读可写可执行的权限
? testgroup中的用户具有可读可执行的权限
? 其余用户只具有可读的权限
对于目录文件的权限 若不存在x可执行权限就进不去该目录
使用命令:
所改变的群组名称必须要在 /etc/group中存在才行
sudo chgrp newGroupName dirname/filename
-R表示该文件夹下的一系列文件都会修改群组
所改变的拥有者名称必须要在 /etc/passwd中存在才行
sudo chown newOwner dirname/filename
-R表示该文件夹下的一系列文件都会修改所有者
数字类型改变文件权限
r:4 > w:2 > x:1
owner = rwx = 4+2+1 = 7 > group = rwx = 4+2+1 = 7 > others= — = 0+0+0 = 0
所有当我们设置的时候该文件的权限是就是770
sudo chmod xyz dirname/filename
-R表示该文件夹下的一系列文件都会修改文件权限
符号类型改变文件权限
假如我们要“设置”一个文件的权限成为“-rwxr-xr-x”时,基本上就是:
sudo chmod u=rwx,go=rx filename
假如我后面又得添加新的文件权限就可以直接使用
sudo chmod a+w filename 所有用户都会添加可读属性
假如我后面又要删除文件属性呢
sudo chmod a-w filename
文件和权限和目录的权限作用上有很大的区别,remember
表示具有读取目录结构清单的权限,拥有r就可以使用ls来查询该目录下文件的相关信息
创建新的文件与目录
删除存在的文件与目录
将存在的文件或者目录进行更名
搬移该目录下的文件和目录
目录的x代表的是使用者能否进入该目录
:假设有个帐号名称为dmtsai,他的主文件夹在/home/dmtsai/,dmtsai对此目录具有
[rwx]的权限。 若在此目录下有个名为the_root.data的文件,该文件的权限如下:
-rwx------ 1 root root 4365 Sep 19 23:20 the_root.data
请问dmtsai对此文件的权限为何?可否删除此文件?
dmtsai对此文件是属于Others所以并不能查看、修改、执行该文件
但是dmtsai是可以删除该文件的,因为dmtsai对此目录拥有w权限,所以可以删除该目录下的文件
纯文本文件(ASCII)
二进制文件(binary)
数据格式文件(data)
数据格式文件不同于纯文本文件,是使用last指令才能查看,而纯文本文件是使用cat指令查看
区块(block)设备文件:【b】
就是一些储存数据, 以提供系统随机存取的周边设备,举例来说,硬盘与软盘等就是
字符(character)设备文件:【c】
例如:键盘、鼠标,一次性读取,不间断输入输出
具有通讯作用的文件,用于网络上的数据传输,一般在/run和/tmp这些目录中可以看见
FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题
单一文件或着目录的名称限制字符大小为255Bytes
设置文件名时尽量避免:?> < ; & ! [ ] | \ ’ - +
Linux目录的配置是否有一套标准的规范来规定每个目录的功能和存放位置呢
FHS(filesystem hierarchy standard)标准来规范
“按照文件系统的使用频率和是否允许随意变动”来分成了四种形态
可分享的(shareable) | 不可分享的(unshareable) | |
---|---|---|
不变的(static) | /usr (软件放置处) | /etc (配置文件) |
/opt (第三方协力软件) | /boot (开机与核心档) | |
可变动的(variable) | /var/mail (使用者邮件信箱) | /var/run (程序相关) |
/var/spool/news (新闻群组) | /var/lock (程序相关) |
不可分享:只针对本机的设置相关
可分享:可以分享给其他系统挂载使用的目录
不变的:类似于函数库,主机服务配置文件等
可变的:经常改变的文件(还没有用过)
/(根目录):和开机系统有关
/bin 与指令相关
/boot 与开机启动相关
/dev 与周边设备相关
/etc 系统主要的配置文件
/lib 与函数库文件相关
/media 与可移动的设备相关
/opt 与第三方软件相关
/run 开机后的各项产生信息
/srv 与服务器相关数据有关
/tmp 程序临时文件相关
/usr:与软件安装和执行有关
/var:与系统的运行有关
/home 默认使用者的主文件夹
/root 系统管理员root的主文件夹
/proc 这个目录本身是一个“虚拟文件系统
/sys 主要也是记录核心与系统硬件信息较相关的信息
unix软件资源放置的区域
/usr/bin/ 所有一般用户能够使用的指令都放在这里
/usr/lib/ 基本上,与 /lib 功能相同,所以 /lib 就是链接到此目录中的
/usr/local/ 系统管理员在本机自行安装自己下载的软件
/usr/sbin/ 非系统正常运行所需要的系统指令
/usr/share/ 主要放置只读架构的数据文件,当然也包括共享文件。
/usr/games/ 游戏比较相关的数据
/usr/include/ c/c++等程序语言的文件开始(header)与包含档(include)放置处
/usr/libexec/ 某些不被一般使用者惯用的可执行文件或脚本(script)等等
/usr/src/ 一般源代码建议放置到这里
/usr是系统安装时占用硬盘较大的文件夹,/var是系统运行时占用硬盘较大的文件夹
/var/cache/ 应用程序本身运行过程中会产生的一些暂存盘
/var/lib/ 程序本身执行的过程中,需要使用到的数据文件放置的目录
/var/lock/ 某些设备或者是文件资源一次只能被一个应用程序所使用,如果同时有两
个程序使用该设备时, 就可能产生一些错误的状况,因此就得要将该设备
上锁(lock),以确保该设备只会给单一软件所使用。
/var/log/ 重要到不行!这是登录文件放置的目录!
/var/mail/ 放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/
目录中! 通常这两个目录是互为链接文件啦!
/var/run/ 某些程序或者是服务启动后,会将他们的PID放置在这个目录下
/var/spool/ 这个目录通常放置一些伫列数据,所谓的“伫列”就是排队等待其他程序使
用的数据
总体上就是这个样子
绝对路径:由根目录 (/)开始写起的文件名或目录名称,例如 /home/dmtsai/.bashrc ;
相对路径:相对于目前路径的文件名写法 。 例如 ./home/dmtsai 或 …/…/home/dmtsai/等等。反正开头不是/就属于相对路径的写法
. :代表当前的目录,也可以使用 ./来表示 ;
… : 代表上一层目录,也可以…/来代表
撰写不易,留下您的关注和点赞,我们一起进步!