文件管理
cd:切换目录
pwd:显示当前目录
mkdir:创建目录
rmdir:删除目录
ls:列出目录内容
cp:复制文件或目录
rm:删除文件或目录
mv:移动文件或目录
tar:打包和压缩文件
文件检索
cat:查看文件内容
more:分页查看文件内容
less:分页查看文件内容
head:查看文件开头内容
tail:查看文件末尾内容
file:查看文件类型
find:搜索文件
find 后面的文件名称并非采用正则表达式,而是用*
来替代0-多个字符,例如我只记得那个文件夹叫…te…pl…(更常用的是类似*.[ch]
找后缀为.c
或.h
的文件)。
但是 find 可能把一大堆子目录也列举出来了,我大概知道这个目录层级不超过2,那么我可以用-maxdepth
。
但是我发现目录里面还有好多文件,我只想要目录,那么可以用-type d
(如果想找文件可以用-type f
)。这下只有一个目录了,那直接打开它吧。
输入输出控制
重定向:将命令的输出重定向到文件
管道:将命令的输出作为另一个命令的输入
tee:将命令的输出同时重定向到文件和屏幕
xargs:将命令的输出作为命令的参数
文本处理
vim:编辑文件
grep:搜索文本
awk:文本分析
sed:文本替换
sort:排序文本
wc:统计文本行数、字数、字节数
uniq:删除重复行
cut:提取文本字段
tr:字符转换
正则表达式
系统监控
jobs:显示当前任务
ps:显示进程信息
top:实时显示系统信息
kill:终止进程
free:显示内存使用情况
dmesg:显示系统日志
lsof:显示打开的文件信息
其他命令
- chmod:修改文件权限
- chown:修改文件所有者
- chgrp:修改文件群组
- ln:创建链接
- uname:显示系统信息
- df:显示磁盘使用情况
- du:显示目录或文件大小
- mount:挂载磁盘
- umount:卸载磁盘
- ping:测试网络连接
- ssh:远程登录
- scp:远程复制文件
- ssh-keygen:生成 SSH 密钥