插件窝 干货文章 linux修改文件命令有哪些

linux修改文件命令有哪些

文件名 文件 内容 修改 71    来源:    2025-04-12

在 Linux 系统中,修改文件内容的常用命令和操作如下:


1. 文本编辑工具

vi / vim

  • 打开文件:vi 文件名vim 文件名
  • 进入编辑模式:按 i(插入)或 a(追加)
  • 保存并退出:按 Esc 后输入 :wq
  • 不保存退出:按 Esc 后输入 :q!
  • 适用场景:需要高效编辑文本文件(尤其是远程服务器)。

nano

  • 打开文件:nano 文件名
  • 直接编辑内容,快捷键:
    • 保存:Ctrl + O
    • 退出:Ctrl + X
  • 适用场景:简单编辑,对新手友好。

2. 直接修改文件内容

echo 追加或覆盖

echo "内容" > 文件名    # 覆盖文件
echo "内容" >> 文件名   # 追加到文件末尾

printf 格式化输出

printf "内容\n" >> 文件名  # 追加带换行的内容

cat 结合重定向

cat > 文件名 <<EOF      # 覆盖文件(输入内容后按 Ctrl+D 结束)
内容
EOF

cat >> 文件名 <<EOF     # 追加内容
内容
EOF

3. 流编辑器 sed

  • 替换文件中的文本

    sed -i 's/旧内容/新内容/g' 文件名  # 全局替换
    
    • 示例:sed -i 's/foo/bar/g' file.txt
  • 删除某一行

    sed -i 'Nd' 文件名  # 删除第N行(如 `sed -i '5d' file.txt`)
    

4. 文本处理工具 awk

  • 修改特定列或行: bash awk '{if ($1=="old") $1="new"; print}' 文件名 > 临时文件 && mv 临时文件 文件名

5. 文件内容替换 tr

  • 替换或删除字符: bash cat 文件名 | tr 'a-z' 'A-Z' > 新文件 # 小写转大写

6. 批量修改工具 perl

  • 复杂替换(如正则表达式): bash perl -pi -e 's/旧内容/新内容/g' 文件名

7. 修改文件属性

  • 修改权限bash chmod 755 文件名 # 设置权限为 rwxr-xr-x
  • 修改所有者bash chown 用户:组 文件名

8. 其他实用命令

  • tee:同时输出到屏幕和文件

    echo "内容" | tee 文件名      # 覆盖
    echo "内容" | tee -a 文件名   # 追加
    
  • dd:修改二进制文件

    dd if=源文件 of=目标文件 bs=块大小
    

注意事项

  1. 备份文件:修改前建议备份,例如:
    bash cp 原文件 原文件.bak
  2. 权限问题:若文件只读,需先提升权限:
    bash sudo chmod +w 文件名
  3. 慎用 -i 选项sed -iperl -i 会直接修改原文件。

总结

  • 简单编辑:用 nanoecho
  • 高效编辑:用 vim
  • 批量替换:用 sedperl
  • 脚本处理:用 awktr

根据需求选择合适的命令!