Linux随笔2( 六 )


创建符号链接的两种方式与创建硬链接的方式类似,具体如下所示:
不过由于硬链接在使用上的限制,无法链接目录,且无法跨越文件系统,所以在实际使用上,符号链接使用的更加广泛一些 。
由于符号链接是通过创建一个新的文件,并且将该文件连接到目标文件的文件名上,所以操作符号链接的时候,实际上操作的就是原始文件或者目录 。比如创建了一个目录的符号链接/root/bin,并将这个符号链接文件指向/bin这个目录,当删除/root/bin中内容的时候,实际上删除的就是原始的目标路径/bin中的内容 。所以使用上千万注意 。
3.3 关于目录的链接数量
当在当前目录中创建一个新目录的时候,实际上并不会增加inode数(只要该目录命没有填满此目录当前的inode号所指定的区块,就不会创建新的inode以及区块) 。一个空目录实际包含三部分内容,具体如下所示:
下面分别以上述的三部分分别查看目录的元数据信息,可以看出,虽然创建了新的目录名,但是当前目录以及当前目录的父目录的inode号相同,即并没有因为创建了新的目录而增加inode号 。具体如下所示:
~]# ls -lid .402653313 dr-xr-x---. 27 root root 4096 Mar 21 14:43 .~]# ls -lid ${PWD}402653313 dr-xr-x---. 27 root root 4096 Mar 21 14:43 /root~]# mkdir test_link~]# ls -lid ${PWD}/test_link402846113 drwxr-xr-x 2 root root 6 Mar 21 14:43 /root/test_link~]# ls -lid ${PWD}/test_link/.402846113 drwxr-xr-x 2 root root 6 Mar 21 14:43 /root/test_link/.~]# ls -lid ${PWD}/test_link/..402653313 dr-xr-x---. 28 root root 4096 Mar 21 14:43 /root/test_link/..~]# ls -lid ${PWD}402653313 dr-xr-x---. 28 root root 4096 Mar 21 14:43 /root~]# ls -lid test_link402846113 drwxr-xr-x 2 root root 6 Mar 21 14:43 test_link
从上述输出也映射了此前的说法,即在目录中创建文件名或者目录名的时候,包含该文件或者目录的父目录并没有增加inode数 。
上述新创建的目录中,虽然是新创建的空目录,没有创建任何其他链接,但是其链接数并不是1,不同于新创建的文件,链接数为1,此处新目录的链接数是2,因为除了当前目录命之外,在当前目录下还有一个.,表示当前目录,所以也是链接到这个目录上的 。
当创建了新空目录之后,该新目录的链接数为2,而新创建目录的父目录则会增加1,在上述的代码框中也确实是从27增加到了28个链接 。
4. 常用的文件管理命令
Linux系统的文件是以目录的形式组织起来的,且一切皆文件,而伴随着文件和目录存在的一个很重要的存在,就是权限 。这部分将会介绍文件和目录的基本管理命令、文件内容查看命令、文件与目录的权限管理命令、以及命令与文件查找相关的命令 。
4.1 文件和目录的基本管理命令
Linux上目录相关的特殊符号和环境变量可以增加工作效率,主要有以下几个:
在所有目录下面都会存在的两个目录就是.和..这两个目录 。此外还有一个很重要的环境变量:
Linux文件系统中的路径分为绝对路径和相对路径,其中:
在Linux系统的日常使用中,常见的处理文件和目录的命令有如下几个:
pwd:显示当前工作目录
该命令的使用形式为:pwd [-P]其中-P选项可以省略,其含义为显示真正的路径,而不是使用符号链接路径 。该命令的使用示例如下:
mkdir:创建新目录
该命令的使用形式为:mkdir [-mp],中括号中的选项可以省略,省略的时候,只能创建一级目录,其选项解释如下:
该条命令的使用示例如下:
rmdir:删除一个空目录
该命令的使用形式为:rmdir [-p],选项-p表示连同上一级目录一起删除 。需要注意的是,该命令只能删除空目录,如果其中包含文件则无法删除 。该命令的使用示例如下所示: