一切皆文件!
1 软链接
命令:
ln -s file file.s
上图是为 file 创建一个名为 file.s 的软链接,该链接相当于Windows下的快捷方式。
通过查看 file 文件内容和 file.s 文件内容是相同的。
如图 file.s 文件大小为4个字节,存储文件file的访问路径。
如上图所示创建 ./file 文件的软链接发现大小变为6字节。
注意为保证软链接可以在任意目录访问,在创建的时候必须使用绝对路径!!!
总结:使用绝对路径创建软链接后,该软链接的大小发生变化,使用 mv 指令将它移动到任意路径也能访问到 file 文件里面的内容。
软链接的权限是全开放,但是源文件的权限并不改变。
2 硬链接
ln file file.h
如图所示创建两个硬链接,分别为 file.h file.hard,图中绿色框为硬链接计数。
**硬链接特点:**修改file file.h file.hard 中的任意一个文件内容,其它文件也会变化。三个文件是同步的。Windows上面没有。有兴趣可以对这一原理进行更深入的研究-_-!
操作系统会给每一个文件赋予唯一的inode,当有相同的文件存在时,彼此同步。
删除创建的硬链接并不影响源文件,硬链接计数会减少。当硬链接计数减为零时才真正的删除源文件。
3 文件属性和用户组
whoami:
查看当前登录的用户:
whoami
切换root用户:
sudo su
退出root用户:
exit
chmod
所有者(u)、同组用户(g)、其他人(o)、所有用户(a)
-
字符设定法
修改文件权限:
chmod u+x a.c
如上图所示,为 a.c 文件的所有者添加执行权限 -
数字设定法
r --> 4
w --> 2
x --> 1将用户组改为只读、同组改为读写执行、其它只能执行:
chmod 471 a.c
chown修改文件的所有者chown zhangsan a.c
更改所有者为wangwu,则在此文件中所有者只能读,而money用户在所属组中可以读写执行。切换为wangwu用户:
su wangwu
chgrp修改文件的所属组
chgrp g88 a.c
同时修改所有者和所属组:
sudo chown nobody:nogroup a.c
添加用户
添加一个名为zhangsan的用户:
sudo adduser zhangsan
创建一个名为g88的用户组:
sudo addgroup g88
删除一个名为zhangsan的用户:
sudo deluser zhangsan
删除一个名为g88的用户组:
sudo delgroup g88