• linux学习笔记---一些有趣的命令


    一 

      在说链接之前我们哈需要说明一个东西,就是inode,一个文件的名字可以有多个,但是inode里的i-number却只有一个,(inode是一个数据结构,里面存放文件的各种属性,属主,属组,权限,大小,最后访问的时间)

      那怎么查看那i-number呢?直接输入ls -li就可以查看了(第一列)

    ➜ linux ls -li
    total 20
    940224 -rw-rw-r-- 2 xujie xujie 23 Nov 25 21:17 a
    940219 lrwxrwxrwx 1 xujie xujie 1 Nov 25 21:18 a1 -> a
    940224 -rw-rw-r-- 2 xujie xujie 23 Nov 25 21:17 b

      这就是在 linux 目录下输入 ls -li 的结果,观察上面的结果我们可以发现 a 和 b 所有的信息除了名字都是一样的,说明 a 和 b 是相同的两个文件。

      修改其中的一个就相当于修改了另一个。

      使用 ln a b 命令实现,a 代表原始文件,b 代表又给他起了一个新的名字。

      这就好比一个文件有多个名字一样。这样的链接叫做硬链接。

      而上面的第二行后面显示的是 a1 -> a, 但是我们用 ls 查看一下文件

    ➜ linux ls
    a a1 b 

      发现只有 a1, 没有a1 -> a,同时也可以看到 a1 的文件类型是 l , l 代表这是一个符号链接文件,可以通过这个链接文件来使用 a,它拥有和 a 的相同的权限。所以符号链接就可以看做一个文件的快捷方式。

      它可以通过命令 ln -s a a1来实现。

      那么现在链接都建立好了,如果删除的话

    ➜ linux ls -li
    total 20
    940224 -rw-rw-r-- 2 xujie xujie 23 Nov 25 21:17 a
    940224 -rw-rw-r-- 2 xujie xujie 23 Nov 25 21:17 b

      可以看到删除一个符号链接不会对原来的文件产生任何影响。

    ➜ linux rm a
    ➜ linux ls -li
    total 16
    940224 -rw-rw-r-- 1 xujie xujie 23 Nov 25 21:17 b

      看到我们删除一个硬链接时,后有一个东西发生了变化,权限后面的数字变为了1,这个叫做链接数,来表示这个文件有多少个链接(有多少个名字)(而且通过第一个结果,字母链接不会增加链接数)

    ➜ /home ls -li
    total 4
    932917 drwxr-xr-x 92 xujie xujie 4096 Nov 25 21:41 xujie

      看到这个文件的链接数,有这么多,主要原因是当前目录下的 . 和子目录下的 .. 文件都是它的硬链接。

      所以删除文件时,只有链接数减为0,文件才会被删除。

      

      这里需要说明的是,有两种情况不可以建立硬连接:

        1,不能为目录建立硬链接,以免出现环状目录结构,增加复杂性。(. 和 .. 文件时系统自动创建的。)

        2,如果文件在不同的卷,即不同的文件系统(或者是不同的磁盘,windows的说法)建立硬链接。

      但是所有的情况都可以使用符号链接。

      关于文件权限

    $ ls -l
    - rw-r-- r-- 1 tux system 1081 Jun 13 11:32 file
    drwxr-xr-x 2 tux system 512 Jun 13 11:32 man

      第一列代表文件类型, d:目录文件, l:符号链接文件, s:套接字文件,b:块设备文件,

    c:字符设备文件, p:命名管道文件,-:普通文件。

      第一段rwx,表示属主的权限。

      第二段r-x,表示属组的权限。

      第三段r-x,表示除了不是或不属于上面这些用户的权限(其他用户)。

      root拥有超级权限。

      这里的 tux 表示属主,system表示属组,后面的数组是文件大小,在后面是最后一次打开时间,最后是文件名字。

      需要说明的几点:

        1,如果权限表中都没有课执行权限,那么root也没有可执行权限。

        2,对于普通文件,有执行权限,肯定有可读权限。

        3,对于目录 r 代表可查看当前目录,w 代表可修改这个目录的文件,x 代表可进入这个目录。

        4,没有这个文件的权限,但是有所在的目录的权限,可不可以改?可以把它删了,建同名的文件,但是这种做法文件的i-number可能相同,可能不同。

      以上。

  • 相关阅读:
    用开源项目CropImage实现图片的裁剪(不推荐)
    设定当前视图中所有控件字体的方法
    用开源项目cropper实现对图片中任意部分进行裁剪
    从源码角度一步一步来修改PreferenceActivity界面
    自定义PreferenceActivity和PreferenceFragment的样式
    Eclipse 在线汉化的和修改字体大小、颜色的方法
    用level-list让同一个ImageView根据条件来显示不同的内容
    ClipDrawable属性介绍
    自己用图片做的可旋转、不确定进度的ProgressBar
    Android工具类 DateUtil,可以用它方便的进行日期的操作
  • 原文地址:https://www.cnblogs.com/xujie-nm/p/4122050.html
Copyright © 2020-2023  润新知