在 Linux 系统中,修改文件内容的常用命令和操作如下:
vi
/ vim
vi 文件名
或 vim 文件名
i
(插入)或 a
(追加)Esc
后输入 :wq
Esc
后输入 :q!
nano
nano 文件名
Ctrl + O
Ctrl + X
echo
追加或覆盖echo "内容" > 文件名 # 覆盖文件
echo "内容" >> 文件名 # 追加到文件末尾
printf
格式化输出printf "内容\n" >> 文件名 # 追加带换行的内容
cat
结合重定向cat > 文件名 <<EOF # 覆盖文件(输入内容后按 Ctrl+D 结束)
内容
EOF
cat >> 文件名 <<EOF # 追加内容
内容
EOF
sed
替换文件中的文本:
sed -i 's/旧内容/新内容/g' 文件名 # 全局替换
sed -i 's/foo/bar/g' file.txt
删除某一行:
sed -i 'Nd' 文件名 # 删除第N行(如 `sed -i '5d' file.txt`)
awk
bash
awk '{if ($1=="old") $1="new"; print}' 文件名 > 临时文件 && mv 临时文件 文件名
tr
bash
cat 文件名 | tr 'a-z' 'A-Z' > 新文件 # 小写转大写
perl
bash
perl -pi -e 's/旧内容/新内容/g' 文件名
bash
chmod 755 文件名 # 设置权限为 rwxr-xr-x
bash
chown 用户:组 文件名
tee
:同时输出到屏幕和文件
echo "内容" | tee 文件名 # 覆盖
echo "内容" | tee -a 文件名 # 追加
dd
:修改二进制文件
dd if=源文件 of=目标文件 bs=块大小
bash
cp 原文件 原文件.bak
bash
sudo chmod +w 文件名
-i
选项:sed -i
和 perl -i
会直接修改原文件。nano
或 echo
。vim
。sed
或 perl
。awk
或 tr
。根据需求选择合适的命令!