1.文件属性
drwxrwxrwx. 15 root root 4096 7月 27 10:31 tmp [权限] [连接][文件所有者][用户所在组][大小(单位byte)][最后修改时间][文件名] drwxrwxrwx [1234567890] 1: d代表目录 -代表一般文件(ASCII binary data) l代表链接文件 b代表设备文件里可供存储的接口设备 c代表一次读取的串口设备(鼠标,键盘) s代表socket套接字数据接口文件,通常用在网络数据连接 p FIFO先进先出管道文件,防止多个程序同时访问一个文件时候产生的错误 234[rwx]: 读写执行,3个一组,代表文件所有者可以拥有的权限 -代表没有这个权限 567[rwx]: 代表用户组所拥有的权限 -代表没有这个权限 890[r-x]: 代表其他用户所拥有的权限 -代表没有这个权限[连接]:linux系统下的每个文件都会将他的权限与属性记录到i-node中.但是目录树是根据文件名来记录,每个文件名都会连接到i-node\ 一个记录中,这个连接数就表示,有多少个文件名连接到这个i-node中的这条记录[文件名]
文件前面有.代表该文件是隐藏文件,如果文件名是中文的而终端不支持中文,可以修改系统配置文件"/etc/sysconfig/i18n"
"LANG=en_US"
2.改变文件属性与权限
chgrp:改变文件所属用户组
chgrp [-R] 用户组 文件/目录名
-R:递归修改
所更改的组必须要存在"/etc/group"文件中
chown [-R] 用户 文件/目录
chown [-R] 用户:用户组 文件/目录
chmod
修改文件属性数字法::
r:4
w:2
x:1
修改文件的三个不同用户的权限[owner,group,other] 例如修改text权限为:[rwxr-xr--]
onwer =r+w+x=4+2+1=7
group=r+x==4+1=5
other=r=4;
chmod 754 text
符号修改法
u ==>user
g ==>group
o ==>other
a ==>all
chmod u=rwx,go=rx text
修改text属性为 [rwxr-xr-x]
chmod a+w text
代表所有人 添加写权限[rwxrwxrwx]
chmod a-x text
代表所有人去除执行权限[rw-rw-rw-]
chmod u+x text
代表用户自己添加执行权限[rwxrwrw]
3.目录属性
r:表示你拥有读取目录里面的文件名列表的权限
w:代表拥有改变目录结构的权限(添加删除文件/目录)不管该文件的属性为什么
x:代表该用户是否有权限进入该目录并且工作.如果没有该权限w权限也是不能工作的
4.LINUX目录结构
FHS标准:
不可变的:目录结构和里面的数据不会随意去变动的,跟随着官方但不会轻易变动:/usr(软件放置处) /opt(第三方软件) /etc(系统配置) /boot(开机与内核文件)
FHS定义了3层目录下应该放什么数据:
1./(跟目录):与开机系统有关
(所有目录的跟目录)与开机(开机需要特定的开机软件,内核文件函数库等) 还原,系统修复等操作有关,若系统出现错误,根目录必须包含能够修复文件系统的软件.
FHS建议:根目录分区越小越好,应用程序不要安装与根目录同一分区内 ,这样根目录所在的文件系统不容易发生问题
2./usr(unix sofeware resource) :与软件安装执行有关
类似于c:\windows c:\progam file\
/usr/bin用户可以使用的命令
usr/include c/c++头文件,
/usr/lib 包含各应用软件的函式库、目标档案(object file),以及丌被一般使用者惯用的执
行档戒脚本(script)。 某些软件会提供一些特殊的挃令来迚行朋务器的讴定,这些
挃令也丌会经常被系统管理员操作, 那就会被摆放到这个目彔下啦。
/usr/local root自行安装的软件目录,
/usr/share/ 放置共享文件的地方,./man帮助文件 ./doc 杂项文件说明 ,./zoneinfo 时区文件
/usr/src 源码目录 内核源码./linux/目录下
3/var(variable) :与系统的运作过程有关(常态性变动文件)
/var/cache/ 应用程序运行产生的缓存文件
./lib/ 文件执行过程中需要的数据存放的目录,各种的软件有各自的目录 例如 数据库文件/var/lib/mysql
/var/lock/ 一个设备一次只能被一个程序使用,所以需要上锁文件
/var/log 登录文件放置的目录 ./messages ./wtmp(记录登录者信息)
/var/run 某些程序或者服务启动后产生的pid放置在这个目录下
/var/spool/ 放置队列数据,数据被使用后将会被删除
4./bin :系统可执行文件目录
放置在该目录的可执行文件可以被一般帐号和root帐号所使用 cat,chown cd 等
5 /boot :开机使用到的文件
包含linux内核文件(vmlinuz) 开机菜单以及开机所需的配置文件,如果使用grub这个引导装载程序还会存在 /boot/grub目录
6./dev 设备目录
linux系统任何设备与接口都是以文件的形式存放在该目录下,访问设备文件就等于访问该设备
7 /etc 系统配置目录
系统主要的配置文件都放在该目录下 (管理人员的帐号密码文件,各种服务的起始文件)该目录下一般用户只有查阅权限 root才有修改权限,该目录下不要放置可执行文件
重要的配置文件:
/etc/init.d/: 所有服务的默认启动脚本都是放在这里,例如防火墙 service iptables start ==>/etc/init.d/iptables start
/etc/xinit.d/ 是super daemon管理的各项服务的配置文目录
/etc/x11/X Window 有关的各项配置文件目录 xorg.cong这个XServer配置文件
8 /home 系统默认的用户主文件夹
~:代表目前这个用户的主文件夹
~dmstai:代表用户dmstai的主文件夹
9 /lib 文件夹放置开机所需要的函数库,或者在/bin /sbin系统可执行文件命令调用的函数库
/lib/modules 放置内核相关的模块(驱动程序)
10 /media 可删除设备U盘 DVD 软盘等,/media/floppy /media/cdrom
11/mnt 暂时挂载某些额外的设备
12 /opt 第三方软件目录,以前的linux系统 函数喜欢放在/usr/local目录下
13 /root 系统管理的主文件夹,放在这里是因为如果进入"单用户维护模式"而仅"挂载"跟目录时候,该目录就能够拥有root的主文件夹,所以我们会希望
"root"的主文件夹与根目录放置在同一个分区中
单用户维护模式: 其实这个运行级别主要是默认启动的东西不同,比如尽可能少的启动服务,直接进入 shell 而不是使用 init 进程把 shell 启动多个到不同的控制台终端。 单用户模式很多系统都是启动几个必须的服务,主要是和硬件有关的,以及挂载几个必须的文件系统,之后直接进入 shell 。
挂载:14 /sbin 开机修复还原系统所需要的命令(fdisk,fsck,ifconfig,init ,mkfs)等这样说吧,在DOS/Windows中,C盘和D盘是并列的最顶级目录,但Linux中没有C盘D盘E盘的概念,整个文件系统就只有一个顶级的根目录(/),所有的物理磁盘都是根目录(/)下的一个子目录而已。
所以,如果你要给现在的系统加块硬盘或添加分区,就先创建一个目录,然后用MOUNT和相应的格式参数把硬盘或分区挂载到你创建的那个目录中去,成功后,访问那个目录即是访问你加上的硬盘或分区。
某些服务器程序则一般放置到/usr/sbin,本机自行安装的的软件所产生的系统执行文件则放置到/usr/local/sbin
15 /srv service 的缩写,网络服务启动后,所需要取用的数据目录,例如WWW服务需要的网页数据就可以放置/srv/WWW/里面
16 /tmp 给一般用户或者正在执行的程序放置文件的地方,.在开机时候将该目录下的数据删除
17 /lost+found:使用标准的ext2/ext3才会产生的目录,当文件系统发生错误的时候,将一些丢失的片段放置该目录下.若新增一块硬盘,挂载打牌/disk 中
那么/disk/lost+found会自动生成
18/proc 该目录本身就是一个虚拟文件系统,放置的数据是在内存中的,本身不占用任何硬盘空间(内核,进程,外部设备以及网络状态)
重要的信息 /proc/cpuinfo cpu信息, /proc/dma /proc/interrupts /prov/ioport /proc/net/*
19 /sys 和/proc类似 是个虚拟文件系统,记录内核相关的信息(目前已经加载的内核模块,内核检测到的硬件设备信息)
20 /selinux 目录内容也是内存中的数据本身并不占用硬盘大小(Secure Enhance Linux) 用做具体的权限管理主要针对程序(网络程序)的访问权限限制
重点:
开机的时候只会挂载跟目录,开机完成之后其他分区才会被依次挂载,所以以下目录必须要和根目录放在一个分区
1./etc 系统配置
2/bin 重要的执行程序
3 /boot 开机用的程序和文件
4./lib 内核所需函数库与模块
5/sbin 重要的系统执行文件
6./dev 设备文件
uname -r 查看内核版本
lsb_release -a
查看系统版本