参考 鸟哥的Linux私房菜
使用者与群组
使用者(UID)
每个文件都有属于他自己的拥有者(UID 用来表示文件所属的拥有者,在linux里面是用数字来标识的)。
群组 (GID)
群组和成员(使用者)是一个多对多的关系。一个成员可以属于多个群组,一个群组里面有多个成员。
其他人
假设有groupA、groupB,groupA里面有人不属于groupB。那么不属于groupB的人对groupB来说,就是个其他人的概念。
文件权限
[root@localhost home]# ls -al
total 12
drwxr-xr-x. 3 root root 4096 Aug 8 01:16 .
dr-xr-xr-x. 26 root root 4096 Aug 8 09:47 ..
drwx------. 28 y y 4096 Aug 8 09:49 y
文件类型权限 连接数 拥有者 所属群组 文件容量 最后修改时间 文件名称
-rwxrwx---
第一个位置为文件类型
d (directory) 目录
-文件
l(link file)连结档
b(block 块设备,可进行一定长度的数据的设备文件,U盘,磁盘) 装置文件里面的可供存储的接口设备
c(char 字符设备,鼠标,键盘) 装置文件里面的串行端口设备
接下来的三组 [rwx]分别表示了 拥有者权限,文件所属群组权限,和其他人的权限。
修改文件属性与权限
chgrp:改变文件所属群组
chown:改变文件拥有者
chmod: 改变文件的权限
chgrp [-R] dirname/filename
-R:进行递归(recursive)的持续变更,所有同次目录下的文件和目录都更新。
chown [-R] 账号名称 文件名称
chown [-R] 账号名称:群组名称 文件名称
cp (copy)的时候 复制的文件会将它的所有人和它的群组复制过去,需要改动。
chmod [-R] rwx 文件名称
chmod | u g o a | +(加入) -(除去) =(设定) | r w x | 文件或目录 |
u: user拥有者 g:group 群组 o:other 其他人 a:all
r:read 读 w:write 写 x:执行
Linux中文件的执行是又权限x来决定的。 对文件执行可能是运行,对目录来说执行就是是否可以进入目录。
错误案例: 如果对一个目录的权限是 rwx,但是里面存在文件是 r--,虽然对里面文件不能写和执行,但是可以通过对目录的操作对里面的文件进行删除操作。
Linux文件扩展名:
文件是否可以执行,可以通过修改权限来实现。但是可以执行和能够执行成功是两回事,具体还是要看被执行的文件里面的内容。
Linux文件名长度限制:
单个文件的文件名不能超过255个字符,2的8次方-1 (1111111)
包含完整路径名称及目录 (/) 之完整档名为 4096 个字符。
Linux文件名的限制:
* ? > < ; & ! [ ] | \ ' " ` ( ) { } 这些不可以在文件名里面
Linux目录配置
root@iZuf6isotv99f19jf:/# ls
bin home lib mnt run tmp vmlinuz.old
boot initrd.img lib64 opt sbin usr
dev initrd.img.old lost+found proc srv var
etc jdk8u media root sys vmlinuz
/bin 系统执行的程序 cp chmod....
/boot (bootstrp) 启动 与开机有关,
/dev 接口设备的文件都是在这里面
/etc 系统的配置文件都在里面
/home 里面存放着各个用户的目录文件
/lib 系统用到的函数库之类的
/media 媒体,其他挂载的dvd cd之类的会在里面
/mnt 之前是当作media用,现用来当作临时挂载的
/opt 系统需要的第三方软件
/root 系统管理者的home目录
/sbin 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。用户自己安装的命令一般放在/usr/local/sbin中
/srv。service 网络服务所需要的取用的数据目录
/tmp 临时存放的目录,开机后建议清理
/usr (unix software resouce) Unix操作系统软件资源
/var 是会在系统运行起来后慢慢变大的目录,比如缓存、日志
./run.sh 这里的./是当前目录的意思,因为不加./ 系统会去正规的执行目录去寻找 (/bin /usr/bin)