(自用)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/c
rmdir test
→ 删除空目录test
rm file
→ 删除文件file
rm -r dir
→ 递归删除整个目录dir
cp file1 file2
→ 把file1
复制为file2
cp -r dir1 dir2
→ 复制整个dir1
到dir2
mv old new
→ 把文件/目录old
重命名为new
mv 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/
及其子目录递归查找abc
find . -name "*.log" | xargs rm
→ 找出当前目录下所有.log
文件并删除
4. 文件权限与属性
ls -l
→ 显示文件权限、所有者、大小和时间chmod 755 file
→ 把file
的权限改为拥有者可读写执行,其他用户可读执行chown user:group file
→ 把file
的拥有者改为user
、组改为group
umask 022
→ 设置默认权限掩码为 022(新文件默认755/644)
5. 压缩与解压
tar -cvf file.tar dir
→ 把dir
打包成file.tar
tar -xvf file.tar
→ 解包file.tar
gzip file
→ 把file
压缩成file.gz
gunzip file.gz
→ 解压file.gz
zip a.zip file
→ 把file
压缩成a.zip
unzip a.zip
→ 解压a.zip
6. 用户与权限管理
who
→ 显示当前登录系统的所有用户whoami
→ 显示当前用户名id
→ 显示当前用户 UID/GID 及附属组su root
→ 切换到root
用户sudo apt update
→ 以管理员权限执行apt update
passwd user
→ 修改用户user
的密码useradd user
→ 添加新用户user
userdel user
→ 删除用户user
7. 磁盘与文件系统
df -h
→ 以人类可读方式显示各挂载分区磁盘使用率du -sh /var
→ 查看/var
目录占用总大小mount /dev/sdb1 /mnt
→ 把设备/dev/sdb1
挂载到/mnt
umount /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
复制到远程服务器/path
ssh user@host
→ 以user
身份远程登录主机host
ss -tulnp
→ 查看当前监听的 TCP/UDP 端口及进程
10. 常用工具
history
→ 查看命令历史alias ll='ls -l'
→ 定义一个别名ll
等于ls -l
date "+%Y-%m-%d %H:%M:%S"
→ 按指定格式显示当前时间cal
→ 显示当月日历uptime
→ 显示系统已运行时间和平均负载reboot
→ 立即重启系统shutdown -h now
→ 立即关机
11. 软件包管理(Debian/Ubuntu)
sudo apt update
→ 更新软件包索引sudo apt install vim
→ 安装vim
sudo apt remove vim
→ 卸载vim
12. 重定向与管道
ls > file.txt
→ 把ls
的输出写入file.txt
(覆盖)echo "hi" >> file.txt
→ 把"hi"追加到file.txt
wc -l < file
→ 读取file
作为输入,统计行数ps aux | grep nginx
→ 把ps aux
的输出传给grep
,筛选包含nginx
的行