文件属性---三剑客命令
grep
·grep "^root" /etc/passwd 以root开头的行输出
·grep "/bin/bash$" /etc/passwd 以binbash结尾的行
· -i 忽略大小写
· -v "root" 有root的都不要
·egrep "root|sshd|aaa" 输出有root或sshd或aaa的,或者grep -E
· -n 取行号
· "."点代表任意字符
· grep -n -A 2 打印后再打印后两行
·grep -n B 2 打印后再打印前两行
· -o 可以取出文件中每个字符
grep -o "." /etc/passwd 取出所有字符
-w 精确匹配
sed
· sed 's#要还的#换成什么#g' 文件路径
·最后加个g是把全部匹配的都换
·不会改变原文件
· -i 会修改原文件
· sed "8s###' 只替换第八行的数据
· sed '2p'输出第二行,然后再完整输出
· sed -n '2p' 只输出第二行
· sed 's#(^.*et)(.*)(net.*$)# \2 #g'
· sed -n '/xxxx/Ip' 搜索文件中有xxx的行,I忽略大小写
·sed -r 's#(^.*et)(.*)(net.*$)#/2#g'
· 这里的.是指全部字符,*表示重复前一个字符一次或多次,^和$表示开头和结尾
· \2 表示提取第二个括号的内容出来
·必须带上 -r,让这行指令支持正则表达式
·sed -ri '16s#(^.*=)(.*$)#\ajkfabfjkafk#g'
将第十六行的从=开始到结尾改成这一串字符
文件类型
·linux不会识别文件后缀
- :普通文件(音频文件,txt文件,脚本文件,mp4文件)
s : socket进程间通信
b : 块设备(磁盘,U盘,SD卡)
c : 字符设备(键盘,终端)
l : 链接文件
p
d : 目录文件
file 命令
·可以查看文件类型
系统链接文件
·元数据(metadata),也叫inode,用来记录文件大小、创建时间、所有者等信息,但不包含文件名称
·Inode包含:
1.文件的字节数
2.文件的User ID, Group ID
3.文件的权限
4.文件的时间戳
5.链接数,即有多少文件名指向这个Inode
6.文件数据block的位置
·系统找到文件名对应的node编号,然后找到文件数据所在的block块,读出数据
文件存储
·真正存储文件时,会将文件名称---->映射ui对应的Inode值---->保存文件的描述----->文件存储在磁盘的哪个block块上
软链接 ln -s
·ln -s 1.txt 2.txt 把1.txt作了一个软链接连到2.txt
·2.txt ---> 1.txt,2.txt就是1.txt的快捷方式
·软连接使用场景
1.代码发布时
2.版本升级时
硬链接 ln
·不同的文件!
·ln 1.txt 2.txt
·这两个文件的inode编号是一样的,然后硬链接数都加一
·无论删除哪一个,都可以访问,因为都指向同一个block
·cd .里面的 .就是一个指向同一个文件夹得硬链接
·文件已经存在时不能创建链接
![上传中...]()
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。