您的位置:首页 > 运维架构 > Linux

第二章 第一部分 Linux的文件属性与目录配置

2010-04-19 23:33 330 查看
第二部分 Linux 的文件,目录,与磁盘格式

第二章 第一部分 Linux的文件属性与目录配置

1.用户与用户组

1) 文件拥有者

2) 用户组的概念

3) 其他人概念

4) Linux用户身份与用户组记录的文件

所有系统帐户与一般身份用户,以及root相关信息,都记录在

/etc/passwd。

密码记录在/etc/shadow文件中。

用户组名称都记录在/etc/group内。

2.Linux用户权限

1.文件权限

ls -al

-rw-r--r-- 1 root root 4096 Jun 25 08:35 install.log

[属性] [连接] [拥有者] [用户组] [文件大小] [修改时间] [文件名]

-rw-r--r-- :表示10个属性,分别是

第一位:文件类型,d[目录],-[文件],l[连接],

b[可供存储的接口设备],c[串口端口,例如键盘,鼠标]

第2-10位,每三个为一组为“rwx”3个参数的组合,r:Read;w:Write;x:execute

第一到第四位:拥有者的权限

第五到七位:用户组的权限

第八到十位:其他非本用户组的权限

2.更改文件权限

chgrp:改变文件所属用户组

例如 :chgrp root aaa,将aaa文件改变为root用户组

chown:改变文件拥有者

例如 :chown root:root aaa,将aaa改变为root:root owner

chmod:改变文件的属性,SUID属性

有两种方式:

1.数字方式 r:4 w:2 x:1 并相加,例如 chmod 777 aaa,付给所有用户组所有权限

2.符号方式

u(user) + r

chmod g(group) - w 目录或文件

o(others) = x

a(all)

例如:chmod u=rwx,go=rx, aaa

2.目录属性的意义

r : 具有读取目录结构清单的权限

w :新建文件目录,删除文件目录,重命名,移动文件目录

x :能否进入该目录

3.Linux 文件类型与扩展名

1.文件类型

1) 普通类型 : 同[-]标识,包括纯文本文件,二进制文件和数据文件

2) 目录 : [d]

3) 连接文件 :类似与windows的快捷方式。[l]

4) 设备与设备文件 :与系统外设及存储器相关的一些文件,通常集中在

/dev目录下,分为两种:

1) 块(block)设备文件:数据存储的接口设备,例如硬盘,/dev/hda1

2) 字符设备文件:串行端口接口设备,例如键盘,鼠标

5)套接字 (sockets) : 网络连接 [s] /var/run 下经常能见到这个的。。。

6)管道(FIFO,pipe) :感觉就是文件锁,就是为了解决多个程序同时访问一个文件

所造成的错误,[p]

2.Linux文件扩展名

一般Linux是没有扩展名的。但是通常有以适当的扩展名来表示该文件的类型,

常用的扩展名:

.sh :批处理文件,是使用shell写成的脚本文件

.z/.tat.tar.gz/.zip/tgz:经多打包的压缩文件,这些文件分别是通过gunzip和tar等

不同的压缩软件而取得的扩展名

.html/.php 网页文件,html语法和php语法文件。

.pl perl 文件

Linux中每一个文件或者目录的文件名最长可以打255个字符,完整路径最多可达4096个字符。

3.Linux文件名的限制

最好能避免使用如下特殊字符

*?<>;&![]|/'"`(){}

4.Linux目录配置标注FHS

FHS规范:只规范了根目录下各个主目录应该放些什么样的文件

两层规范:1)根目录 “/” 各个目录应该放什么文件数据,如/etc应该放设置文件,

/bin /sbin应该放可执行文件等

2)第二层则是针对/usr和/var者两个目录的子目录来定义。

例如/var/log放置系统登录文件,/usr/share放置共享数据。

在Linux中,所有的文件和目录都是有根目录开始。

目录树的主要特性:

1) 目录树的起始点为根目录(/或root)

2) 每一个目录不仅能使用本地端分区的文件系统,也可以使用网络文件系统,

可以用网络文件系统(NFS)服务器载入特定目录

3) 每一个文件在目录树中的文件名都是独一无二的

从根目录开始的路径为绝对路径,从当前路径开始的路径为相对路径。

/usr/bin为绝对路径,./home/dillon 为相对路径

. 或./表示当前目录

.. 或../表示上一层目录

单一文件或目录最大允许文件名为255

包含完整路径名称及目录的文件名最大为4096

5.目录配置的内容(比较长,比较重要)

6.一般主机分区与目录的配置

/ : 根目录,系统启动时加载的第一个分区,所有启动相关的文件应该都放在这个分区中,

/etc /bin /dev /lib /sbin 这几个目录都应该与坟墓里连在一起,不可独立成为某个区

/bin 放置“用户可执行的二进制文件”,比如 ls,mv,rm,mkdir, gzip,

/usr/bin rmdir tar cat cp mount 等重要命令都放在这么目录中

/usr/local/bin

/boot: 这个目录主要放置Linux系统启动时用到的文件。这个目录下的文件vmlinuz就是

Linux的核心,引导程序选择grub,那么这个目录内还有/boot/grub

/dev :任何设备都以文件类型存放在这个目录之中。访问这个目录下面的某个

文件就等于访问某台设备。设备分为字符设备和块设备,此目录下的文件

多出两个属性,分别是主设备号和辅设备号。重要的文件有/dev/null,

/dev/tty[1-6], /dev/ttyS* /dev/lp* /dev/hd* /dev/sd*等

/etc :系统的设置文件都放在这个目录。例如帐户密码文件,各种服务起始文件,

比较重要的文件有 /etc/inittab /etc/init.d /etc/modprobe.conf

/etc/X11 /etc/fatab /etc/sysconfig

重要的目录有:

/etc/init.d/ : 所有服务的默认启动脚本都放在这里,例如要启动关闭iptables

/etc/init.d/iptables start

/etc/init.d/iptables stop

/etc/xinetd.d/:这是个超级守护程序管理的各项服务的设置文件目录

/etc/X11:与X window有关的各种设置文件都放在这里,尤其是xorg.cong或

XF86Config这两个X Server的设置文件

/home :系统默认的用户目录,新增一个帐户的时候,默认的用户目录都会放在这里

~表示当前这个用户的目录

~dillon,表示是dillon这个用户的目录

/lib, 系统使用的函数库目录,/lib/modules目录有核心的相关模块

/usr/lib,

/usr/local/lib

/lost+found : 系统出现异常时,就爱那个一些遗失的片段放到此目录下,通常出现在莫个分区

最顶层的目录下,如/disk/lost+found

/mnt,/media :这个是软盘与官盘的默认载入点,如软盘挂载/mnt/floppy,光盘挂在/mnt/cdrom

/media与mnt有点类似

/opt : 给主机额外安装软件的目录,以前的Linux系统,一般放在/usr/local中

/proc :这个目录本身是一个“虚拟文件系统”,它放置的内容都在内存中,例如系统核心,CPU信息,

,外设信息,网络状态,本身不占硬盘空间。如:/proc/cpuinfo /proc/dma, /proc/interrupts

/proc/ioports /proc/net等

/sbin /usr/sbin /usr/local/sbin :放一些系统管理员才会用到的命令,例如:fdisk,fsck,mkswap,mount,等,一般用户可以查看而不能设置

/srv :一些服务启动之后,这些服务需要访问的数据目录,例如www服务器需要的数据放在/srv/www中

/tmp : 让一般用户放置临时文件的地方,这个目录任何人都能访问,所有要定期清理。

/usr : 包含系统主要程序,图形界面文件,额外的函数库,本机自行安装的软件,共享目录与文件。

重要的目录有:/usr/bin,usr/sbin

/usr/include,/usr/lib, /usr/local,/usr/share(usr/share/doc, usr/share/man)

/usr/src 源码,例如/usr/src/linux放置linux核心源码

/var : 用于放置系统执行过程中经常变化的文件。例如Cache和Log文件,

1) /var/cache :程序文件运行过程的一些暂存盘

2) /var/lib :数据文件放置的目录,

3) /var/log :log放置路径,/var/log/message放置所有登录文件

4) /var/lock :单一设备的锁例如磁带机

5) /var/run :程序/服务启动后,它们的PID会放在这么目录下

6) /var/spool : 放置一些队列数据的地方。例如主机收到电子邮件后,

会放置到 /var/spool/mail中,若暂时不发出去房子/var/spool/mqueue中

用户工作任务分配(cron)放在/var/spool/cron中

7.特殊目录

1) 建议不可与root分区分开的目录,/etc /sbin /bin /lib

2) 建议最好单独成为单一分区的目录 /home /usr /var /temp

3) 特别重要的目录:/etc 系统帐号,密码,启动设置,网络服务设置。

/usr/local :用户自行安装的软件一般装在/usr/local或者/opt下

4) /var :存放临时数据,/var/lib /var/run /var/log 查看/var/log/message

看看文件是否存在异常

8.Linux支持的文件系统

Fedora支持Ext3,查看

/lib/modules/'~username -r'/kernel/fs,如果有想要的文件系统,那么核心就支持

大多数系统采用ext3和reiserfs,但是我的机器使用的是ext2

ext3比ext2多日志记录,写文件时开始写入和结束写入都记录在日志区

最大好处是错误问题的排查效率比较高,ext3兼容ext2

Linux的VFS(Virtual Filesystem Switch)

整个Linux系统都是通过虚拟文件系统交换的核心功能去读取系统文件的。

用户并不用知道每个分区上的文件系统是什么,VFS会帮助我们做好这些。

习题:

1) Linux的发展分为哪两种核心版本

答:主要分为奇数的开发版本和偶数的稳定版本

2) 早期的Unix系统文件名最多允许14个字符,新的Unix和Linux中,文件名最多

有多少字符

答:文件名最长为256个,绝对路径最长为4096

3) 文件属性为-rwxrwxrwx,表示这个文件的意义是什么

答:普通文件,owner,同用户组成员和其他成员都具有读写和执行的权限

4) 要将一个文件的属性改为-rwxr-xr--,采用什么命令

答:chmod 753 filename

5) 若需要更改一个文件的拥有者和用户组,改用什么命令

答:chown root :root filename,chgrp group file

6) Linux传统文件系统是什么,常用的登录文件格式有哪些

答 :ext2或ext3

7) 请问下面的目录主要放些什么数据,/etc /etc/init.d /boot /usr/bin /bin /usr/sbin

/sbin, /dev, /var/log

答:/etc : 配置文件

/etc/init.d : 所有服务的默认启动脚本都放在这里

/boot :启动文件

/usr/bin :用户程序指令放置的地方

/bin : 系统指令放置的地方

/usr/sbin :超级用户安装程序的地方

/sbin :系统安装超级用户程序指令的地方

/dev :设备都放在这个目录

/var/log :放置log的地方
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: