走入系统命令

一、inode节点号

        在linux中,每一个文件都有唯一的inode号,inode号也是系统识别的唯一编码,而文件名仅仅是为了使用者区分辨认, inode (index node )表中包含文件系统所有文件列表 一个节点(索引节点)是在一个表项,包含有关文件的信息(元数据 ),包括:

              文件类型,权限,UID ,GID
              链接数(指向这个文件名路径名称个数)
              该文件的大小和不同的时间戳
              指向磁盘上文件的数据块指针

              有关文件的其他数据

        目录的数据内容就是目录里面的文件列表,目录引用的是inode号,也就是目录下的文件名和文件inode号之间的映射

        ls -i 查看文件的节点编号

        走入系统命令

走入系统命令
        节点编号是由分区分配的,不是由磁盘分配,在同一个分区中,不会存在相同的节点编号,
        节点编号是唯一的。但在不同的分区中,节点编号可以相同
        在centos7中,根上的目录文件的节点号都是64开始,centos6中,跟上的目录文件的节点号为2/sys、/proc文件在内存中,节点编号为1,节点编号是有限的
/ 上的节点编号都是64
走入系统命令
         走入系统命令                  走入系统命令

       df -i 查看磁盘分区上的可用节点号

         走入系统命令

走入系统命令
         whatch -n1 每秒扫描一次

         创建大量节点号

         走入系统命令

走入系统命令

        每秒扫描一次观察df节点号的变化

        走入系统命令

        走入系统命令

走入系统命令
走入系统命令

        当系统节点数被占用完时,再创建新文件会提示报错,节点编号是可以耗尽的

       走入系统命令

走入系统命令
走入系统命令

       走入系统命令

       ls file* 会因为参数过多无法显示报错,故使用ls命令即可

       走入系统命令

走入系统命令

        xargs 逐一的传递参数,从而解决参数过多的问题,将ls列出的参数逐一的传递给rm从而删除

        走入系统命令

走入系统命令
       cp和inode号
        分配一个空闲的inode号,在inode表中生成新条目,在目录中创建一个目录项,将目录与inode编号关联拷贝数据生成新的文件
在同分区移动文件时,仅移动目录的数据块信息,如果不是在同一个分区,则需要同事将节点编号和原数据同时移动。
删除文件时,仅仅是先删除inode节点号,数据并不会删除,但在其他文件写入时,可能会覆盖占用被删除节点的数据空间
        rm和inode
          使用rm 命令:
                链接数递减,从而释放的inode 号可以被重用
                把数据块放在空闲列表中
                删除目录项
                数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖。
        mv和inode
          如果mv 命令的目标和源在相同的文件系统,使用mv 命令
                用新的文件名创建对应新的目录项
                删除旧目录条目对应的旧的文件名
                不影响inode 表(除时间戳)或磁盘上的数据位置:没有数据被移动!

         如果目标和源在一个不同的文件系统, mv相当于cp 和rm

2、shred:文件粉碎工具(覆盖原文件)

          彻底删除文件

                  shred -u file

          shred会用一些随机内容覆盖文件所在的节点和数据块,并删除文件(-u参数)。

          假如想清除的更彻底一点可以也可使用-z 参数,意思是先用随机数据填充,最后一次再用0填充。

                   shred -u -z file

另外shred还可以清除整个分区或磁盘,如果想彻底清除/dev/sdb1分区的内容可以这样:

         shred /dev/sdb1 (但是不能加-u参数)

还有一些其他参数如下:

-f, –force 更改权限允许写入(如有必要)

-n, –iterations=N 重写N次,默认为3次

–random-source=FILE 从指定文件读取数据

-s, –size=N 将文件粉碎为固定大小 (可使用后缀如K、M、C等)

-u, –remove 重写后截短并移除

-v, –verbose 显示进度

-z, –zero – add 用0覆盖数据

–help 显示帮助

–version 显示版本信息

走入系统命令

3、复制

             cp 复制文件

                   -i:覆盖前提示 是否覆盖

                   –n: 不覆盖原文件 -i、-n最后的生效

                     走入系统命令      

走入系统命令

-r, -R: 递归复制目录及内部的所有内容

-a: 归档,相当于-dR –preserv=all
-d:–no-dereference –preserv=links 不复制原文件,只复制链接名

走入系统命令

–preserv[=ATTR_LIST]

         mode: 权限

         ownership: 属主

         timestamp:时间戳

         links:复制链接文件

        xattr

         context 安全上下文

         all

走入系统命令 

-p:等同–preserv=mode,ownership,timestamp

-v:–verbose 显示复制过程

-f:–force 如果原文件不能打开,则删除原文件后再次重新写入,属性发生改变

                   走入系统命令

备份配置文件-a,文件属性信息完全复制,等同于备份)

cp -a /etc/passwd{,.bak}

cp -a /etc/passwd /etc/passwd.bak

 走入系统命令

            mknod 创建复制设备文件                

                    cp不能复制设备文件,复制设备文件用mknod

                    创建设备文件/app/sda

                    mknod /app/sda b 8 0 b表示设备文件,8表示设备的主设备号,0表示设备的次设备号

                    创建设备文件时,应制定文件类型b,以及主设备和次设备号                                  

                   走入系统命令

                   创建空设备文件

                   走入系统命令

4、rename 批量更改文件名

        rename ‘.txt’ ‘.txt.bak’ *.txt 将txt后缀名更改为txt.bak
        rename ‘.txt.bak’ ” *.txt 将txt.bak后缀名清除

       走入系统命令                                                        

       走入系统命令

5、tree 显示目录树

            -d:只显示目录

             -L level:指定显示的层级数目

             -P pattern:只显示由指定pattern匹配到的路径

            走入系统命令                      走入系统命令                

          走入系统命令          走入系统命令

6、mkdir 创建目录

           -p: 递归创建目录

           -v: 显示详细信息

           -m MODE: 创建目录时直接指定权限 eg:-m 644

        走入系统命令                 走入系统命令

       走入系统命令

7、tr:转换删除字符

          tr [OPTION]… SET1 [SET2]

          选项:

                   -c –C –complement:取字符集的补集    

                   -d –delete:删除所有属于第一字符集的字符

                   -s –squeeze-repeats:把连续重复的字符以单独一个字符表示

                   -t –truncate-set1:将第一个字符集对应字符转化为第二字符集

走入系统命令         走入系统命令

替换重定向到另一文件,或则>>追加重定向

走入系统命令

走入系统命令

 s 重复字符压缩

          走入系统命令         

         走入系统命令

          走入系统命令

原创文章,作者:danran,如若转载,请注明出处:http://www.178linux.com/76936

(0)
danrandanran
上一篇 2017-05-25 17:47
下一篇 2017-05-26 09:45

相关推荐

  • RAID+LVM详解

                                        一.RAID篇 一.什么是RAID   磁盘阵列全名是『Redundant Arrays…

    Linux干货 2016-09-07
  • openssl关于CA证书的创建

    1、用openssl实现证书申请 先在/etc/pki/CA/目录下创建一个index.txt的文件,作为ca证书的数据库 在相同目录下创建一个serial的序列号文件,并写入01 生成ca的签名证书用到的私钥文件 注意:私钥的权限时600,文件名必须是cakey.pem 生成自签证书 这样私有CA建立完成 申请认证: 在申请的机器上生成私钥 生成申请文件 …

    Linux干货 2016-09-23
  • corosync v2 + pacemaker + crmsh 实现mariadb高可用

    高可用mariadb拓扑图 一、设计前提     1、时间同步 # ntpdate 172.16.0.1 或者 # chronyc sources     2、所有的主机对应的IP地址解析可以正常工作, 主机名要与命令#uname -n 所得的结果一致   &…

    Linux干货 2016-08-28
  • ls的常用用法

    第一个命令

    2018-03-26
  • 权限

    用户组和管理权限

    2017-11-30
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-22