Linux复习笔记:02.文件的处理和编辑
大约 3 分钟
which命令
语法
which 命令
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# which pwd
/usr/bin/pwd
find命令
语法
find 路径 -name "文件名"
选项说明
-name
查找文件名-size +|-nKMG
限制大小- 查找小于10KB文件
find 路径 -size -10K
- 查找大于10GB文件
find 路径 -size +10G
- 查找小于10KB文件
参数说明
- 略
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# find /etc/ -name "ssh*"
/etc/ssh
/etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/sshd_config.d
/etc/ssh/ssh_config
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_import_id
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/sshd_config
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_config.d
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_ed25519_key.pub
/etc/default/ssh
/etc/pam.d/sshd
/etc/systemd/system/multi-user.target.wants/ssh.service
/etc/systemd/system/sshd.service
/etc/init.d/ssh
grep命令
通过关键字匹配过滤出文件中某些行
语法
grep [-n] '关键字' 文件路径
选项说明
-n
在结果中显示行号
参数说明
- 略
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# grep -n 'id_' /etc/ssh/ssh_config
36:# IdentityFile ~/.ssh/id_rsa
37:# IdentityFile ~/.ssh/id_dsa
38:# IdentityFile ~/.ssh/id_ecdsa
39:# IdentityFile ~/.ssh/id_ed25519
wc命令
语法
wc [-lwmcL] path
选项说明
-l
统计新行数-w
统计单词-m
统计字符数-c
统计字节数-L
最长行的长度
参数说明
- file 文件路径或
-
标准输入
输出格式顺序
- 行数, 单词数, 字符数, 字节数, 最长行长度.
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# wc /etc/ssh/ssh_config
52 217 1603 /etc/ssh/ssh_config
root@iZj6cin9q6x5p5bh4ofx79Z:~# wc /etc/ssh/ssh_config -lwmcL
52 217 1603 1603 73 /etc/ssh/ssh_config
|管道符
语法
命令A | 命令B
含义
将管道符左边的输出作为管道符右边的输入
示例1
root@iZj6cin9q6x5p5bh4ofx79Z:~# cat /etc/ssh/ssh_config | grep -n 'id_'
36:# IdentityFile ~/.ssh/id_rsa
37:# IdentityFile ~/.ssh/id_dsa
38:# IdentityFile ~/.ssh/id_ecdsa
39:# IdentityFile ~/.ssh/id_ed25519
示例2
# 模糊查找文件
root@iZj6cin9q6x5p5bh4ofx79Z:~# ls | grep 'main*'
main.txt
示例3
# 显示文件数
root@iZj6cin9q6x5p5bh4ofx79Z:~# ls /usr/bin/ -l | wc -l
1098
echo命令
语法
echo 内容
选项
- 无
参数
- 字符串内容
- 复杂内容可用
""
包裹
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo "hello world"
hello world
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo $HOME
/root
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
`反引号
语法
`command`
含义
被反引号包围的内容会被作为命令执行
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo "pwd"
pwd
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo `pwd`
/root
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo `pwd` >> log.txt
root@iZj6cin9q6x5p5bh4ofx79Z:~# cat log.txt
/root
重定向
语法
command > log.txt # 将命令执行结果覆盖写入到文件
command >> log.txt # 将命令执行结果追加写入到文件
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# echo "hello world" >> log.txt
root@iZj6cin9q6x5p5bh4ofx79Z:~# cat log.txt
/root
hello world
tail命令
语法
tail [-f -num] path
选项
-f
持续跟踪-[num]
查看尾部多少行,默认10- 示例:
-12
- 示例:
参数
- file 文件
示例
root@iZj6cin9q6x5p5bh4ofx79Z:~# tail /var/log/syslog -f
Nov 23 19:09:44 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: Started Session 8687 of user admin.
Nov 23 19:09:44 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: session-8687.scope: Succeeded.
Nov 23 19:09:45 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: Started Session 8688 of user admin.
Nov 23 19:09:45 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: session-8688.scope: Succeeded.
Nov 23 19:09:46 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: Started Session 8689 of user admin.
Nov 23 19:09:46 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: session-8689.scope: Succeeded.
Nov 23 19:09:47 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: Started Session 8690 of user admin.
Nov 23 19:09:47 iZj6cin9q6x5p5bh4ofx79Z systemd[1]: session-8690.scope: Succeeded.
vi/vim编辑器
- vi(virtual interface)
- vim是vi的加强版,兼容vi,有代码语法高亮功能.
命令模式
- 移动光标
- up/k
- down/j
- left/h
- right/l
- 0行首
- $行尾
- gg 首行
- G 尾行
- 进入输入模式
- i 光标位置插入
- I 行首位置插入
- a 光标之后附加
- A 行尾位置附加
- o 下行行尾编辑
- O 上行行尾编辑
- 复制 粘贴 删除
- yy 复制行
- nyy 复制n行(包括当前行)
- p 粘贴
- dd 删除行
- ndd 删除n行(包括当前行)
- d0 删除字符,从光标位置到行首
- d$ 删除字符,从光标位置到行尾
- dgg 删除行,从当前行到首行
- dG 删除行,从当前行到尾行
- 撤销
- uu 撤销
- ctrl+r 反撤销(重做redo)
- 翻页
- pageup
- pagedown
- 搜索
- /string 搜素string
- n 向下搜索
- N 向上搜索
输入模式
- esc 回到命令模式
末行模式
- w 保存
- q 退出
- q! 强制退出
- wq 保存+退出
set nu
显示行号set paste
粘贴模式(用于从外部复制内容到编辑器时使用,防止格式错乱)- /string 搜素string