• linux命令学习-第三天


    3.1 Linux文件信息

    inode和目录项

    1,什么是inode和目录项

    文件在硬盘上的最小存储单位叫做扇区,每个扇区存储512字节。操作系统读取硬盘的时候,不会一个个扇区读取,而是一次性连续读取多个扇区,即一次性读取一个块,块的大小最常见的就是4K,即连续八个扇区组成一个块。

    文件数据都存储在块中,那么和显然,还必须有一个地方存储文件的元信息。比如文件的创建者,文件的创建日期,文件的长度等,这种存储文件元信息的区域就叫做inode(索引节点)。

    文件名不是保存在inode中,而是保存在目录项中,文件名把文件的名称和对应的inode关联在一起。

    2,inode大小

    inode也会占用磁盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分为两个区域,一个是数据区,存放文件数据,另一个是inode区,存放inode所包含的信息。

    每个inode节点的大小,一般是128字节或256字节,inode字节的总数,在格式化时就给指定了,一般是每1KB或每2KB就设置一个inode.假设在一块1GB的硬盘中,每个inode节点大大小为128字节,每1KB

    就设置一个inode,那么inode表的大小就会达到128MB,占整个硬盘的12.8%。使用df命令可以查看每个硬盘分区的inode总数和已经适应的数量。

    # df -i

    文件系统              Inode  已用(I)  可用(I) 已用(I)%% 挂载点

    /dev/mapper/vg_server-lv_root

                         3276800   94445 3182355    3% /

    tmpfs                 256881       5  256876    1% /dev/shm

    /dev/sda1             128016      43  127973    1% /boot

    /dev/mapper/vg_server-lv_home

                         2990080      12 2990068    1% /home

    ---------------------------------------------------------------------

    查看每个inode的大小,可以使用以下命令:

    # dumpe2fs -h /dev/sda1 |grep "Inode size"

    dumpe2fs 1.41.12 (17-May-2010)

    Inode size:               128

    ---------------------------------------------------------------------

    由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况,这时就无法再硬盘上创建新文件。

    3,inode号码:

    每个inode都有一个号码,Linux系统用inode号码来识别不同的文件,Linux系统内部不使用文件名,而使用inode号码来识别文件,对系统来说,文件名只是inode号码便于识别的别名。表面上用户通过文件名打开文件,实际上系统内部这个过程分为三步:首先系统找到这个文件名对应的 inode号码,其次通过inode号码获取inode信息,最后根据信息找到文件数据所在的块,然后读取数据。

    使用ls -i 命令可以查看文件名对应的inode号码:

    # ls -i test.log

    3019507 test.log

    ---------------------------------------------------------------------

    3.2 使用stat命令查看文件信息。

    使用stat命令可以查看文件信息,比如文件的inode,权限,时间属性,文件大小,所有者,链接数量以及文件类型等。

    #stat kkk

      File: "kkk"

      Size: 4096            Blocks: 8          IO Block: 4096   目录

    Device: fc02h/64514d    Inode: 2228225     Links: 2

    Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

    Access: 2017-07-17 20:07:20.463000814 +0800

    Modify: 2017-07-17 20:06:49.095997672 +0800

    Change: 2017-07-17 20:06:49.095997672 +0800

    cd 更改工作目录路径

    绝对路径从/(根)开始,然后循环所需的目录下

    相对路径从当前目录开始

    cd ~       :进入用户主目录

    --------------------------------------------------------------------

    cd -       :返回进入此目录之前所在的目录

    --------------------------------------------------------------------

    cd ..      :返回上级目录

    --------------------------------------------------------------------

    cd ../..   :返回上两级目录

    ---------------------------------------------------------------------

    touch:创建空文件,更改文件时间。

    ---------------------------------------------------------------------

    mkdir:创建目录:

    -p :一次创建多个目录。

    ---------------------------------------------------------------------

    #du -a /boot|sort -rn|head -5

    45791   /boot

    16124   /boot/initramfs-2.6.32-358.el6.x86_64.img

    15816   /boot/initramfs-2.6.39-400.17.1.el6uek.x86_64.img

    4011    /boot/vmlinuz-2.6.39-400.17.1.el6uek.x86_64

    3951    /boot/vmlinuz-2.6.32-358.el6.x86_64

    ---------------------------------------------------------------------

    sort:

    -n 依据数值的大小排序。

    -r 以相反的顺序来排序。

    ---------------------------------------------------------------------

    head:

    head用来显示档案的开头至标准输出当中,默认head命令打印其相应文件的开头10行。

    head -n 显示的行数。

    ---------------------------------------------------------------------

    tail:

    默认查看文件的最后10行。

    tail -5 查看文档的最后5行

    ---------------------------------------------------------------------

    ls 列出目录和文件信息

    文件属性    文件数 拥有者  所属的group  文件大小     建档日期   文件名  
    drwx------    2    Guest     users         1024       21 21:05   Mail
    -rwx--x—x    1    root     root           89080     7 22:41    tar 
    -rwxr-xr-x    1    root     bin            5013       15 9:32    uname
    -rwxr-xr-x    1    root     bin            308364     29 7:43    zsh 
    -rwsr-x---    1    root     bin            9853       15 5:46    su

    例,一文件的最后一次访问时间(最近时间为后),对/root目录中的文件和子目录进行排序显示

    #ls -ltr /root

    总用量 32

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 桌面

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 音乐

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 下载

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 文档

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 图片

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 视频

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 模板

    drwxr-xr-x. 2 root root 4096 7月  17 13:29 公共的

    -rw-r--r--  1 root root    0 7月  18 19:49 oracle-release

    3.3链接文件的简介:

      Linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。

    1,硬链接:由于linux下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。

    可以用:ln命令来建立硬链接

    例如:

    ln file01 hardfile01  建立file01的硬链接

    不足:

    尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足之处:

    (1)不可以在不同文件系统的文件间建立链接

    (2)只有超级用户才可以为目录创建硬链接。

    取消硬链接时可以使用unlink取消任何一个,对其他文件没有影响

    例如:unlink file01

    2,软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。

    ln -s abc cde 建立abc 的软连接

  • 相关阅读:
    css子元素水平垂直居中
    js 防抖节流
    NOIP 游记
    flash player播放器用法
    android设备连接不上电脑的解决方法
    AndroidStudio自动下载gradle失败问题解决
    3组Alpha冲刺5/6
    3组Beta冲刺2/5
    3组Beta冲刺5/5
    3组Beta冲刺1/5
  • 原文地址:https://www.cnblogs.com/redhat-oracle/p/7207640.html
Copyright © 2020-2023  润新知