Linux mode命令,linux命令

一、inode节点号

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

文件类型,权限,UID ,GID

链接数(指向这个文件名路径名称个数)

该文件的大小和不同的时间戳

指向磁盘上文件的数据块指针

有关文件的其他数据

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

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

4f622f79a65a22344b1adcf1d41cffc1.png

节点编号是由分区分配的,不是由磁盘分配,在同一个分区中,不会存在相同的节点编号,

节点编号是唯一的。但在不同的分区中,节点编号可以相同

在centos7中,根上的目录文件的节点号都是64开始,centos6中,跟上的目录文件的节点号为2,/sys、/proc文件在内存中,节点编号为1,节点编号是有限的

76e60d2622ffa15866759079a17ef928.png                                                   

856e54a0c4d134b326940f24ea673b77.png

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

3a4acb550e872cd36811582fd0a8f43f.png

whatch -n1每秒扫描一次

创建大量节点号

1721b38ad72f910f7cdfe53767a386ab.png

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

b8b1239c51f0323466ad2ae833747c63.png

3ea66cf292bd1ea2ff7def620b5cfaa1.png

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

15d84a56bc68f035180c2e24ebf111fb.png

8dfa50e5b78b45a2790359a5c171cd18.png

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

7b0e959232e097d3117ee4914ce80f34.png

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

ddcf6d8df0348508e4263edb555949f7.png

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 显示版本信息9d4ac2a9a447de222cc9a11a36e3fc36.png

3、复制

cp 复制文件

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

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

a68945df891ce592014df6c5c21e66c8.png20abc51cbf2a297383a5cad6814e0552.png

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

-a: 归档,相当于-dR –preserv=all

-d:–no-dereference –preserv=links 不复制原文件,只复制链接名

8027d28da5f12fd23023f7ff2a02606e.png–preserv[=ATTR_LIST]

mode: 权限

ownership: 属主

timestamp:时间戳

links:复制链接文件

xattr

context 安全上下文

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

-v:–verbose 显示复制过程-f:–force如果原文件不能打开,则删除原文件后再次重新写入,属性发生改变

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

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

cp -a /etc/passwd /etc/passwd.bak63954445d9d8e3d14964f466b469ef88.png

mknod 创建复制设备文件

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

创建设备文件/app/sda

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

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

2f514b0f7be7d37389e5cc03482f4ceb.png

创建空设备文件

948bee3a753783837fdf0429cb68dd60.png

4、rename 批量更改文件名

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

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

3f91298844dac5ec1d65492e315ccb32.png                                                         

23da13a6ae7dee72a2c256d0f90b725a.png

5、tree 显示目录树

-d:只显示目录

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

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

d5857080139c900457cc5ed1545233f9.png                                                                                                             

48139ac0c7e3f0b6500aa14b19decc17.png

4d5b44778d8916df319aa5be3e675e95.png          

578575bac619e2e80716a1dec0a7218f.png

6、mkdir 创建目录

-p: 递归创建目录

-v: 显示详细信息

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

3aa4ded781dad06a22bca02a8e603b49.png                                                                                                   

5d338165b349dc5af6ed94bea7c3ff32.png

9c49e993a62529a0e6e1216328b63a2d.png

7、tr:转换删除字符

tr [OPTION] ... SET1 [SET2]

选项:

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

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

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

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

4bcea2a113fb8d8abcc5368619abd8fd.png

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

e2836a6c8fbb68e2f936f22963a6b35c.png

c45ce992dfefb5cec7db74a5506402b9.png

s 重复字符压缩

80ea402f5f29220093ff6eb155fc40e4.png

8460813edd4da60b80c70ff98e29945e.png

bf1a5b0ff924c67adf0593dcd422551d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值