文件管理
文件管理
文本处理三剑客 sed、awk、grep
sed 流式编辑器
sed 选项 '规则' 文件
选项:
-i 把输出到屏幕的内容写入文件(规则输出+默认输出)
-n 取消默认输出
规则:
定位+命令
定位:
行号定位
3,5
正则定位
/fiona/ 包含fiona的行
/^fiona/ 以fiona开头的行
/fiona$/ 以fiona结尾的行
命令:
d
p
s///gi g全局查找 i忽略大小写
awk 处理有规律的文件,例如/etc/passwd
内置变量
NR:行号
NF:浏览记录的域的个数, 根据分隔符分割后的列数
awk 选项 '规则' 文件
选项:
-F:指定分隔符
规则:
定位+命令
定位:
行号定位
NR>=3 && NR<=5
正则定位
$6~/fiona/ 第六列包含fiona的行
$6=="fiona" 第六列内容等于fiona的行
命令:
pattern{action}
{print $0}输出整行
grep 过滤
grep 选项 '规则' 文件
选项:
-n 显示行号
-i 忽略大小写
-rl 显示目录下包含内容的文件名
文件查找
find
-a 并且 -o 或者 -ls 列表呈现
-ok 交互式 -exec
按文件名:
-name
-iname i忽略大小写
按文件大小:
-size
指定查找的目录深度:
-maxdepth
按时间找(atime访问时间、mtime内容修改时间、ctime权限修改时间)
-atime
-mtime
-ctime
按文件属主、属组:
-user
-group
按文件类型: (f普通 d目录 l链接 b块设备 c字符设备 s套接字 p管道文件)
-type
文件上传与下载
wget 下载
-O /tmp/test/nginx.tar.gz https://nginx.org/download/nginx-1.28.0.tar.gz
--no-check-certificate 无法建立ssl连接
curl 压力测试
-O /tmp/test/nginx.tar.gz https://nginx.org/download/nginx-1.28.0.tar.gz
-k
输出与重定向
| xargs
0标准输入
1标准正确输出
2标准错误输出
&> 包含1和2
>覆盖
>>追加
字符处理命令
sort排序
-n 把数字以数字方式比较
-r 倒序
-t 分隔符
-k 第N列
uniq去重
-c 统计重复次数
-d 显示重复的行
-u 显示不重复的行
cut处理有规律的文本
-d 指定分隔符
-f 显示指定字段的内容
tr替换
-d 删除字符
wc统计
-c 统计文件的Bytes数
-l 统计文件的行数
-w 统计文件中单词个数
打包压缩
方式一:
打包
tar -cvf backup.tar /etc/passwd /etc/hosts /etc/hostname
-c 创建 -v 显示过程 -f 指定包名
-z gzip 速度快、压缩率中等 最常用
-j bzip2 速度中等、压缩率比gzip高
tar -czvf `date "+%Y_%m_%d_%H_%M_%S"`_etc_backup.tar.gz /etc/
2025_12_05_10_02_28_etc_backup.tar.gz
解包
tar xvf 文件 -C 目标文件夹
方式二:
打包
zip 压缩包 文件
解包
unzip bak.zip
文件系统
atime访问时间、mtime内容修改时间、ctime权限修改时间
只要修改文件ctime就变,只有改变文件内容mtime才变
inode:保存文件的属性
block:保存文件的内容
文件存储满了有两种:
1、inode数满了
2、内存满了
硬链接:可以用不同的名称访问同一文件的内容,共享inode号
ln 指向文件 链接文件
软链接:独享inode号,独立的文件
ln -s 指向的文件 链接文件
磁盘挂载
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1 #格式成ext4 主流
mkfs.xfs /dev/sdb1 #格式成xfs 高性能日志文件系统,适合大文件、高并发环境,如数据库、大数据处理
mkdir /mnt/disk1 创建挂载目录
mount -t ext4 /dev/sdb1 /mnt/disk1

浙公网安备 33010602011771号