(自用)Linux 常用命令自查文档
1. 文件与目录操作
| 命令 | 说明 | 示例 |
|---|---|---|
pwd |
显示当前路径 | pwd |
ls |
列出文件 | ls -l(长格式);ls -a(含隐藏文件) |
cd |
切换目录 | cd /etc |
mkdir |
创建目录 | mkdir test;mkdir -p a/b/c |
rmdir |
删除空目录 | rmdir test |
rm |
删除文件/目录 | rm file;rm -r dir |
cp |
复制文件/目录 | cp file1 file2;cp -r dir1 dir2 |
mv |
移动/重命名 | mv old new;mv file dir/ |
touch |
新建空文件/更新时间戳 | touch file |
tree |
目录树结构 | tree /etc |
2. 文件内容查看
| 命令 | 说明 | 示例 |
|---|---|---|
cat |
查看文件内容 | cat file |
tac |
反向显示 | tac file |
more |
分页显示 | more file |
less |
分页+搜索 | less file;按/keyword搜索 |
head |
显示前N行 | head -n 20 file |
tail |
显示末尾N行 | tail -f logfile(实时刷新) |
wc |
统计行/字数 | wc -l file |
3. 查找与定位
| 命令 | 说明 | 示例 |
|---|---|---|
find |
查找文件 | find / -name file.txt |
locate |
快速查找(需updatedb) |
locate file.txt |
which |
显示命令路径 | which python |
grep |
文本搜索 | grep 'abc' file;grep -r 'abc' dir/ |
xargs |
批量传参 | `find . -name "*.log" |
4. 文件权限与属性
| 命令 | 说明 | 示例 |
|---|---|---|
ls -l |
查看权限 | ls -l |
chmod |
修改权限 | chmod 755 file |
chown |
修改所有者 | chown user:group file |
umask |
默认权限掩码 | umask 022 |
5. 压缩与解压
| 命令 | 说明 | 示例 |
|---|---|---|
tar |
打包/解包 | tar -cvf file.tar dir;tar -xvf file.tar |
gzip/gunzip |
压缩/解压.gz |
gzip file;gunzip file.gz |
zip/unzip |
压缩/解压.zip |
zip a.zip file;unzip a.zip |
6. 用户与权限管理
| 命令 | 说明 | 示例 |
|---|---|---|
who |
查看当前登录用户 | who |
whoami |
当前用户名 | whoami |
id |
显示用户UID/GID | id |
su |
切换用户 | su root |
sudo |
以管理员执行 | sudo apt update |
passwd |
修改密码 | passwd user |
useradd/userdel |
添加/删除用户 | useradd user;userdel user |
7. 磁盘与文件系统
| 命令 | 说明 | 示例 |
|---|---|---|
df -h |
磁盘使用情况 | df -h |
du -sh |
目录占用大小 | du -sh /var |
mount/umount |
挂载/卸载设备 | mount /dev/sdb1 /mnt;umount /mnt |
8. 进程与系统监控
| 命令 | 说明 | 示例 |
|---|---|---|
ps |
查看进程 | ps aux |
top/htop |
动态监控 | top |
kill |
结束进程 | kill PID;kill -9 PID |
jobs/fg/bg |
后台任务 | jobs;fg %1;bg %1 |
9. 网络与传输
| 命令 | 说明 | 示例 |
|---|---|---|
ping |
测试连通性 | ping www.baidu.com |
curl |
请求URL | curl -O http://... |
wget |
下载文件 | wget URL |
scp |
远程拷贝 | scp file user@host:/path |
ssh |
远程登录 | ssh user@host |
netstat/ss |
查看端口连接 | ss -tulnp |
10. 常用工具
| 命令 | 说明 | 示例 |
|---|---|---|
history |
查看命令历史 | history |
alias |
设置命令别名 | alias ll='ls -l' |
date |
显示时间 | date "+%Y-%m-%d %H:%M:%S" |
cal |
显示日历 | cal |
uptime |
系统运行时间 | uptime |
reboot/shutdown |
重启/关机 | reboot;shutdown -h now |
11. 软件包管理(示例:Debian/Ubuntu)
| 命令 | 说明 | 示例 |
|---|---|---|
apt update |
更新软件列表 | sudo apt update |
apt install |
安装包 | sudo apt install vim |
apt remove |
卸载包 | sudo apt remove vim |
(RedHat/CentOS 用 yum,新版本用 dnf)
12. 重定向与管道
| 命令 | 说明 | 示例 |
|---|---|---|
> |
输出重定向(覆盖) | ls > file.txt |
>> |
输出重定向(追加) | echo "hi" >> file.txt |
< |
输入重定向 | wc -l < file |
| ` | ` | 管道连接 |
13. 权限与 SELinux (补充)
| 命令 | 说明 | 示例 |
|---|---|---|
umask |
默认权限掩码 | umask |
getfacl/setfacl |
ACL权限 | getfacl file |
示例效果解释:
1. 文件与目录操作
pwd→ 显示当前所在的绝对路径ls -l→ 按长格式列出当前目录中文件(权限、大小、时间)ls -a→ 列出包括隐藏文件在内的所有文件cd /etc→ 切换到/etc目录mkdir test→ 新建一个名为test的目录mkdir -p a/b/c→ 递归创建多层目录a/b/crmdir test→ 删除空目录testrm file→ 删除文件filerm -r dir→ 递归删除整个目录dircp file1 file2→ 把file1复制为file2cp -r dir1 dir2→ 复制整个dir1到dir2mv old new→ 把文件/目录old重命名为newmv file dir/→ 移动文件file到目录dir/下touch file→ 创建一个空文件file或更新其时间戳tree /etc→ 以树形结构列出/etc下的目录文件
2. 文件内容查看
cat file→ 直接输出file全部内容tac file→ 从最后一行开始反向输出file内容more file→ 一页一页查看file内容,按空格翻页less file→ 和 more 类似,但可以上下滚动、搜索head -n 20 file→ 显示file的前 20 行tail -f logfile→ 实时显示logfile最新内容wc -l file→ 统计file的行数
3. 查找与定位
find / -name file.txt→ 从根目录开始查找名为file.txt的文件locate file.txt→ 利用数据库快速查找包含file.txt的路径which python→ 显示python命令对应的可执行文件路径grep 'abc' file→ 在file中查找包含字符串abc的行grep -r 'abc' dir/→ 在dir/及其子目录递归查找abcfind . -name "*.log" | xargs rm→ 找出当前目录下所有.log文件并删除
4. 文件权限与属性
ls -l→ 显示文件权限、所有者、大小和时间chmod 755 file→ 把file的权限改为拥有者可读写执行,其他用户可读执行chown user:group file→ 把file的拥有者改为user、组改为groupumask 022→ 设置默认权限掩码为 022(新文件默认755/644)
5. 压缩与解压
tar -cvf file.tar dir→ 把dir打包成file.tartar -xvf file.tar→ 解包file.targzip file→ 把file压缩成file.gzgunzip file.gz→ 解压file.gzzip a.zip file→ 把file压缩成a.zipunzip a.zip→ 解压a.zip
6. 用户与权限管理
who→ 显示当前登录系统的所有用户whoami→ 显示当前用户名id→ 显示当前用户 UID/GID 及附属组su root→ 切换到root用户sudo apt update→ 以管理员权限执行apt updatepasswd user→ 修改用户user的密码useradd user→ 添加新用户useruserdel user→ 删除用户user
7. 磁盘与文件系统
df -h→ 以人类可读方式显示各挂载分区磁盘使用率du -sh /var→ 查看/var目录占用总大小mount /dev/sdb1 /mnt→ 把设备/dev/sdb1挂载到/mntumount /mnt→ 卸载/mnt
8. 进程与系统监控
ps aux→ 显示所有进程的详细信息top→ 动态显示系统负载、CPU、内存、进程kill PID→ 向 PID 进程发送终止信号kill -9 PID→ 强制杀死 PID 进程jobs→ 显示当前 shell 的后台任务fg %1→ 把后台任务 1 拉回前台bg %1→ 把后台任务 1 放到后台运行
9. 网络与传输
ping www.baidu.com→ 测试和百度的网络连通性curl -O http://...→ 用 curl 下载指定 URL 的文件wget URL→ 直接下载 URL 指定的文件scp file user@host:/path→ 把本地文件file复制到远程服务器/pathssh user@host→ 以user身份远程登录主机hostss -tulnp→ 查看当前监听的 TCP/UDP 端口及进程
10. 常用工具
history→ 查看命令历史alias ll='ls -l'→ 定义一个别名ll等于ls -ldate "+%Y-%m-%d %H:%M:%S"→ 按指定格式显示当前时间cal→ 显示当月日历uptime→ 显示系统已运行时间和平均负载reboot→ 立即重启系统shutdown -h now→ 立即关机
11. 软件包管理(Debian/Ubuntu)
sudo apt update→ 更新软件包索引sudo apt install vim→ 安装vimsudo apt remove vim→ 卸载vim
12. 重定向与管道
ls > file.txt→ 把ls的输出写入file.txt(覆盖)echo "hi" >> file.txt→ 把"hi"追加到file.txtwc -l < file→ 读取file作为输入,统计行数ps aux | grep nginx→ 把ps aux的输出传给grep,筛选包含nginx的行