文章目录
1、Linux 系统目录结构
登陆系统,输入:
ls /
可以看到:
[admin@Dragon ~]$ ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[admin@Dragon ~]$
目录结构为
目录名 | 作用 |
---|---|
/ | 每一个文件和目录从根目录开始。只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样 |
/bin | 用户二进制文件 包含二进制可执行文件。在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。例如:ps、ls、ping、grep、cp |
/etc | 配置文件 包含所有程序所需的配置文件。也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf |
/sbin | 系统二进制文件 就像/bin,/sbin同样也包含二进制可执行文件。但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令 |
/dev | 设备文件 包含设备文件。这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0 |
/proc | 进程信息 包含系统进程的相关信息。这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。系统资源以文本信息形式存在。例如:/proc/uptime |
/var | 变量文件 var代表变量文件,这个目录下可以找到内容可能增长的文件。这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp); |
/tmp | 临时文件 包含系统和用户创建的临时文件。当系统重新启动时,这个目录下的文件都将被删除。 |
/usr | 用户程序 包含二进制文件、库文件、文档和二级程序的源代码。/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。/usr/lib中包含了/usr/bin和/usr/sbin用到的库。/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。 |
/home | HOME目录 所有用户用home目录来存储他们的个人档案.例如:/home/john、/home/nikita |
/boot | 引导加载程序文件 包含引导加载程序相关的文件。内核的initrd、vmlinux、grub文件位于/boot下。例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic |
/lib | 系统库 包含支持位于/bin和/sbin下的二进制文件的库文件.库文件名为 ld或lib.so.*例如:ld-2.11.1.so,libncurses.so.5.7 |
/opt | 可选的附加应用程序 opt代表可选的.包含从个别厂商的附加应用程序。附加应用程序应该安装在/opt/或者/opt/的子目录下. |
/mnt | 挂载目录 临时安装目录,系统管理员可以挂载文件系统。 |
/media | 可移动媒体设备 用于挂载可移动设备的临时目录.举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy; |
/srv | 服务数据 包含服务器特定服务相关的数据。例如,/srv/cvs包含cvs相关的数据。 |
2、Linux 文件基本属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
chown (change ownerp) : 修改所属用户与组。
chmod (change mode) : 修改用户的权限。
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:
[admin@Dragon ~]$ ls / -l
总用量 20
lrwxrwxrwx. 1 root root 7 6月 27 23:03 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 6月 27 23:57 boot
drwxr-xr-x. 20 root root 3300 6月 28 19:38 dev
drwxr-xr-x. 139 root root 8192 6月 29 11:04 etc
drwxr-xr-x. 3 root root 19 6月 27 23:11 home
lrwxrwxrwx. 1 root root 7 6月 27 23:03 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 6月 27 23:03 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 2 root root 6 4月 11 2018 mnt
drwxr-xr-x. 3 root root 16 6月 27 23:08 opt
dr-xr-xr-x. 231 root root 0 6月 28 19:38 proc
dr-xr-x---. 4 root root 169 6月 27 23:14 root
drwxr-xr-x. 42 root root 1300 6月 29 11:04 run
lrwxrwxrwx. 1 root root 8 6月 27 23:03 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x. 13 root root 0 6月 28 19:38 sys
drwxrwxrwt. 22 root root 4096 6月 29 11:18 tmp
drwxr-xr-x. 13 root root 155 6月 27 23:03 usr
drwxr-xr-x. 20 root root 282 6月 27 23:13 var
每一行的第一个字符代表文件的type:
字符 | type |
---|---|
d | 目录 |
- | 文件 |
l | 链接文件(link file) |
b | 表示为装置文件里面的可供储存的接口设备(可随机存取装置) |
c | 表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 |
后面的9个字符,每三个一组分别为:属主权限、属组权限、其他用户权限。r表示可读,w为可写,x为可执行。当无权限是显示-。
3、Linux文件属主和属组
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中,mysql 文件是一个目录文件,属主和属组都为 mysql,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。
对于 root 用户来说,一般情况下,文件的权限对其不起作用。
4、更改文件属性
4.1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
参数选项:
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
4.2、chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
4.3、chmod:更改文件9个属性
Linux文件属性有两种设置方法,一种是数字,一种是符号。
4.3.1、数字类型改变文件权限
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限
我们可以使用数字来代表各个权限,各权限的分数对照表如下:
权限 | 分数 |
---|---|
r | 4 |
w | 2 |
x | 1 |
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx— 分数则是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= — = 0+0+0 = 0
所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:
chmod [-R] xyz 文件或目录
选项与参数:
- xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
- -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
4.3.2、符号类型改变文件权限
- user
- group
- otgers
使用u,g,o代表三种身份。此外使用a代表all,即全部身份。读写的权限用r,w,x代替,于是使用下面的方式:
chmod | u g o a | +(加入) -(减去) =(设定) | r w x | 文件或目录 |
---|
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定