Skip to content

文本文件管理

文本常见命令列表

  1. cat:正向查看
  2. tac:反向查看
  3. more:分页查看
  4. less:上下滚动查看
  5. tail:文件尾部
  6. head:文件头部
  7. wc:文本统计
  8. grep:搜索
  9. cut:按列提取cut -d ',' -f 1,3 file.txt
  10. sort:排序,-n正序,-r反序
  11. uniq:去重,-c统计次数
  12. diff:比对文件
  13. vimdiff
  14. comm:显示两个文件的公共行
  15. tr:替换或删除字符
  16. split:分割文件
  17. find:查找文件
  18. nl:为内容添加行号显示,-baf非空行显示
  19. tee:
  20. pr:
  21. paste:
  22. shuf
  23. column
  24. xargs
  25. fmt
  26. iconv
  27. pv

文件常用命令

  1. rmdir:删除空文件夹
shell
# 同时创建两个文件夹 /data/a  data/b
mkdir -p -m 755 /data/{a,b}

find

参数说明
-amin -n最后一次访问发生在 n分钟 之内
-amin n:最后一次访问发生在距离当前时间 n分钟 至 (n+1)分钟
-amin +n最后一次访问发生在 (n+1)分钟 之外
-atime -n最后一次访问发生在 n天 之内
-atime n最后一次访问发生在 n天 至 (n+1)天
-atime +n最后一次访问发生在 (n+1)天 之外
-cmin -n最后一次文件状态修改发生在 n分钟 之内
-cmin n最后一次文件状态修改发生在 n分钟 至 (n+1)分钟
-cmin +n最后一次文件状态修改发生在 (n+1)分钟 之外
-mmin -n最后一次文件内容修改发生在 n分钟 之内
-mmin n最后一次文件内容修改发生在 n分钟 至 (n+1)分钟
-mmin +n最后一次文件内容修改发生在 (n+1)分钟 之外
-mtime -n最后一次文件内容修改发生在 n天 之内
-mtime n最后一次文件内容修改发生在 n天 至 (n+1)天
-mtime +n最后一次文件内容修改发生在 (n+1)天 之外
shell
# 30天之前的文件
find /data/data/ -mtime +30 -type d | xargs rm -rf

awk

格式化输出

shell
awk '{printf("%s %s %s\n", $1, $(NF-2), $(NF-6)) }'

替换

shell
awk '{gsub("/app/|stat_s_standing.py|DEBUG|0.02|\"", "");print}'

分割

shell
awk -F '/' '{print$1 $(NF-1)}'

sed

替换

shell
sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list

vim

插入

  • 在当前行的下方创建一个新行,并进入插入模式。
  • 在当前行的上方创建一个新行,并进入插入模式。
  • 进入插入模式,在当前光标前插入。记忆技巧:i 是 insert 的首字母。
  • 进入插入模式,在当前光标后插入。记忆技巧:a 是 append 的首字母。
  • 进入插入模式,在行首插入。记忆技巧:大写 I,表示更强的插入,即在行首。
  • 进入插入模式,在行尾插入。记忆技巧:大写 A,表示更强的附加,即在行尾。

删除

  • 删除当前光标上的字符。记忆技巧:x 就像是剪刀,删除当前字符。
  • 删除从光标处到单词结尾的字符。记忆技巧:d 是 delete,w 是 word。
  • 删除当前行。记忆技巧:dd 是 delete line 的缩写。

复制粘贴

  • **yy:**复制当前行(称为“拷贝”)。记忆技巧:yy 是 yank line 的缩写。
  • **p:**在当前光标后粘贴。记忆技巧:p 是 paste 的首字母。
  • **P:**在当前光标前粘贴。记忆技巧:大写 P 表示前粘贴。

撤销

  • **u:**撤销上一个操作。记忆技巧:u 是 undo 的首字母。
  • **Ctrl + r:**重做上一个撤销的操作。记忆技巧:r 是 redo 的首字母。

跳转

  • **gg:**跳转到文件开头。记忆技巧:gg 是 go to top。
  • **G:**跳转到文件末尾。记忆技巧:大写 G 是 go to bottom。

重新加载文件

  • 😗*e:**重新加载文件。

可视模式

  • v:进入可视模式(字符模式)
  • V:进入可视模式(行模式)
  • Ctrl + v:进入可视模式(块模式)

搜索和替换

  • /pattern:向前搜索 pattern
  • ?pattern:向后搜索 pattern
  • n:向前跳到下一个搜索结果
  • N:向后跳到上一个搜索结果
  • :%s/old/new/g:替换整个文件中的 old 为 new
  • :n,m s/old/new/g:替换第 n 行到第 m 行中的 old 为 new

其他有用的命令

  • .:重复上一个命令
  • :%y+:将整个文件复制到系统剪贴板
  • :set number:显示行号
  • :set nonumber:隐藏行号
  • :syntax on:开启语法高亮
  • :syntax off:关闭语法高亮

多窗口编辑

  • 切换到下一个窗口:Ctrl+w w
  • 切换到上一个窗口:Ctrl+w p
  • 切换到左侧的窗口:Ctrl+w h
  • 切换到右侧的窗口:Ctrl+w l
  • 切换到上方的窗口:Ctrl+w k
  • 切换到下方的窗口:Ctrl+w j

浏览器ctrl+ww不可用情况下

  • 切换到下一个窗口::wincmd w
  • 切换到上一个窗口::wincmd p
  • 切换到左侧的窗口::wincmd h
  • 切换到右侧的窗口::wincmd l
  • 切换到上方的窗口::wincmd k
  • 切换到下方的窗口::wincmd j

Mount

cifs

  1. install
shell
yum install -y cifs-utils

# mount
mount -t cifs //server/share /mnt/myshare -o username=myuser,password=mypassword

fstab挂载

shell
//server/share /mnt/myshare cifs credentials=/etc/mycreds,_netdev 0 0

Swap扩容

centos7

shell
sudo dd if=/dev/zero of=/etc/swap bs=1024 count=15728640
sudo chmod 600 /etc/swap
sudo mkswap /etc/swap
sudo swapon /etc/swap
echo '/etc/swap none swap sw 0 0' | sudo tee -a /etc/fstab
sudo swapon --show