(自用)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
的行