继上一篇基础命令后,今天带来文件处理的进阶四件套,每一个都是运维老手的压箱底技能。
大家好,我是你们的老朋友。
上篇我们聊了 ls、cp、mv、rm 这些文件管理的基本功。今天继续“文件处理(二)”,聚焦权限管理、文件隐藏属性、批量命令处理这几个高频场景。
掌握这 4 个命令,你的 Linux 操作水平又能提升一个档次。
1. chown —— 换主人,一句话的事
语法:chown [选项] 用户[:组] 文件/目录
常用玩法:
chown zhangsan file.txt:把 file.txt 的所有者改成 zhangsan
chown zhangsan:dev file.txt:同时修改所有者和所属组
chown -R zhangsan /data:递归修改 /data 目录下所有文件和子目录的所有者
小提示:chown 只有 root 或具备相应权限的用户才能执行。如果你忘了加 -R,只改了目录本身,里面的文件还是原主人的,容易出问题。
2. chattr —— 给文件上“隐形锁”
语法:chattr [选项] [模式] 文件
这个命令用来设置文件的隐藏属性,比普通权限更底层,root 也得遵守。
常用玩法:
chattr +i file.txt:给 file.txt 加上不可修改属性(连 root 都不能删、改)
chattr -i file.txt:去掉不可修改属性
chattr +a log.txt:设置只追加属性,只能往文件里加内容,不能删除或覆盖
chattr -R +i /data:递归给 /data 目录下的所有文件加锁
真实场景:防止重要配置文件被误删、防止日志被篡改,用 chattr +i 上一道保险。
3. lsattr —— 看锁,一清二楚
语法:lsattr [选项] 文件/目录
常用玩法:
组合技:先用 lsattr 确认文件是否被锁,再用 chattr 解锁或加锁。很多“删不掉”的文件,就是因为被 +i 了。
4. xargs —— 批量处理的“管道加速器”
语法:command | xargs [选项] [命令]
xargs 不是直接操作文件,而是把前一个命令的输出,变成下一个命令的参数,尤其适合批量操作。
常用玩法:
find . -name "*.log" | xargs rm:找到所有 .log 文件并删除
cat filelist.txt | xargs -I {} cp {} /backup/:逐行读取 filelist.txt,把每一行作为源文件复制到 /backup
echo "file1 file2 file3" | xargs -n1:每行只传一个参数,避免参数过长
为什么用它:有些命令不支持直接接收管道数据(比如 rm),用 xargs 就能完美解决。配合 find 使用,堪称批量删除、批量移动的神器。
写在最后
今天这四个命令,chown 管归属,chattr 管隐藏属性,lsattr 是它的侦察兵,xargs 则让你批量化操作如丝般顺滑。
它们不像 ls、cd 那样每天见面,但一旦遇到权限错乱、文件删不掉、批量处理的需求,你会发现它们就是救火队员。
如果你还没用过 chattr 或 xargs,建议马上找个测试机试试,感受一下“原来还能这样”的惊喜。
#Linux #运维 #网络安全