Linux 常用指令大全

📁 文件和目录操作

1. 目录操作

# 查看当前目录
pwd

# 列出文件和目录
ls                    # 基本列表
ls -l                 # 详细信息
ls -a                 # 显示隐藏文件
ls -lh                # 人性化显示大小
ls -lt                # 按时间排序
ls -lS                # 按大小排序
ls -R                 # 递归显示

# 切换目录
cd /path/to/dir       # 切换到指定目录
cd ~                  # 切换到家目录
cd -                  # 切换到上一个目录
cd ..                 # 切换到上级目录
cd ../..              # 切换到上两级目录

# 创建目录
mkdir dirname         # 创建单个目录
mkdir -p a/b/c        # 创建多级目录
mkdir -m 755 dirname  # 创建并设置权限

# 删除目录
rmdir dirname         # 删除空目录
rm -r dirname         # 递归删除目录
rm -rf dirname        # 强制递归删除(危险!)

2. 文件操作

# 创建文件
touch file.txt        # 创建空文件或更新时间戳
echo "content" > file.txt    # 创建并写入内容
cat > file.txt        # 创建并输入内容(Ctrl+D 结束)

# 复制文件
cp file1 file2        # 复制文件
cp -r dir1 dir2       # 复制目录
cp -p file1 file2     # 保留属性复制
cp -i file1 file2     # 交互式复制(覆盖前询问)

# 移动/重命名
mv file1 file2        # 重命名文件
mv file1 /path/       # 移动文件
mv -i file1 file2     # 交互式移动

# 删除文件
rm file.txt           # 删除文件
rm -f file.txt        # 强制删除
rm -i file.txt        # 交互式删除
rm *.txt              # 删除所有 .txt 文件

# 查找文件
find /path -name "*.txt"              # 按名称查找
find /path -type f                    # 查找文件
find /path -type d                    # 查找目录
find /path -size +100M                # 查找大于 100M 的文件
find /path -mtime -7                  # 查找 7 天内修改的文件
find /path -name "*.log" -delete      # 查找并删除

# 定位文件
locate filename       # 快速查找文件(需要 updatedb)
which command         # 查找命令位置
whereis command       # 查找命令、源码、手册位置

📄 文件查看和编辑

1. 查看文件内容

# 查看全部内容
cat file.txt          # 显示全部内容
cat -n file.txt       # 显示行号

# 分页查看
more file.txt         # 向下分页查看
less file.txt         # 可上下翻页查看(推荐)

# 查看部分内容
head file.txt         # 查看前 10 行
head -n 20 file.txt   # 查看前 20 行
tail file.txt         # 查看后 10 行
tail -n 20 file.txt   # 查看后 20 行
tail -f file.txt      # 实时查看文件更新(常用于日志)

# 查看文件信息
file file.txt         # 查看文件类型
stat file.txt         # 查看文件详细信息
wc file.txt           # 统计行数、字数、字节数
wc -l file.txt        # 只统计行数

2. 文本编辑器

# vim 编辑器(推荐)
vim file.txt          # 打开文件
# i - 进入插入模式
# Esc - 退出插入模式
# :w - 保存
# :q - 退出
# :wq - 保存并退出
# :q! - 强制退出不保存
# dd - 删除当前行
# yy - 复制当前行
# p - 粘贴
# /keyword - 搜索

# nano 编辑器(简单)
nano file.txt         # 打开文件
# Ctrl+O - 保存
# Ctrl+X - 退出
# Ctrl+K - 剪切行
# Ctrl+U - 粘贴

# sed 流编辑器
sed 's/old/new/g' file.txt           # 替换文本
sed -i 's/old/new/g' file.txt        # 直接修改文件
sed -n '10,20p' file.txt             # 显示 10-20 行

🔍 文本处理

# grep - 搜索文本
grep "keyword" file.txt              # 搜索关键字
grep -i "keyword" file.txt           # 忽略大小写
grep -r "keyword" /path              # 递归搜索目录
grep -n "keyword" file.txt           # 显示行号
grep -v "keyword" file.txt           # 反向匹配(不包含)
grep -E "pattern1|pattern2" file.txt # 多个模式

# awk - 文本处理
awk '{print $1}' file.txt            # 打印第一列
awk -F: '{print $1}' /etc/passwd     # 指定分隔符
awk '$3 > 100' file.txt              # 条件过滤

# sort - 排序
sort file.txt                        # 排序
sort -r file.txt                     # 反向排序
sort -n file.txt                     # 数字排序
sort -u file.txt                     # 去重排序

# uniq - 去重
uniq file.txt                        # 去除相邻重复行
sort file.txt | uniq                 # 完全去重
uniq -c file.txt                     # 统计重复次数

# cut - 剪切
cut -d: -f1 /etc/passwd              # 按分隔符剪切
cut -c1-10 file.txt                  # 剪切字符

# tr - 转换
tr 'a-z' 'A-Z' < file.txt            # 小写转大写
tr -d '\r' < file.txt                # 删除字符

🔐 权限管理

# 查看权限
ls -l file.txt        # 查看文件权限

# 修改权限
chmod 755 file.txt    # 数字方式
chmod u+x file.txt    # 符号方式(用户添加执行权限)
chmod g-w file.txt    # 组去除写权限
chmod o+r file.txt    # 其他用户添加读权限
chmod -R 755 dir/     # 递归修改目录权限

# 修改所有者
chown user file.txt           # 修改所有者
chown user:group file.txt     # 修改所有者和组
chown -R user:group dir/      # 递归修改

# 修改组
chgrp group file.txt          # 修改组
chgrp -R group dir/           # 递归修改

权限说明:

  • r (read) = 4
  • w (write) = 2
  • x (execute) = 1
  • 755 = rwxr-xr-x (所有者全部权限,组和其他只读执行)
  • 644 = rw-r–r– (所有者读写,组和其他只读)

💾 压缩和解压

# tar 打包
tar -cvf archive.tar files/          # 打包
tar -czvf archive.tar.gz files/      # 打包并 gzip 压缩
tar -cjvf archive.tar.bz2 files/     # 打包并 bzip2 压缩

# tar 解包
tar -xvf archive.tar                 # 解包
tar -xzvf archive.tar.gz             # 解压 gzip
tar -xjvf archive.tar.bz2            # 解压 bzip2
tar -xvf archive.tar -C /path        # 解压到指定目录

# 查看压缩包内容
tar -tvf archive.tar                 # 查看内容

# zip/unzip
zip archive.zip files                # 压缩
zip -r archive.zip dir/              # 递归压缩目录
unzip archive.zip                    # 解压
unzip archive.zip -d /path           # 解压到指定目录
unzip -l archive.zip                 # 查看内容

# gzip/gunzip
gzip file.txt                        # 压缩(会删除原文件)
gzip -k file.txt                     # 压缩保留原文件
gunzip file.txt.gz                   # 解压

🖥️ 系统信息

# 系统信息
uname -a              # 系统信息
uname -r              # 内核版本
hostname              # 主机名
uptime                # 运行时间和负载
date                  # 当前日期时间
cal                   # 日历
whoami                # 当前用户
id                    # 用户 ID 信息

# 硬件信息
lscpu                 # CPU 信息
free -h               # 内存使用情况
df -h                 # 磁盘使用情况
du -sh /path          # 目录大小
du -h --max-depth=1   # 查看子目录大小
lsblk                 # 块设备信息
fdisk -l              # 磁盘分区信息

# 系统资源
top                   # 实时进程监控
htop                  # 更友好的进程监控(需安装)
ps aux                # 查看所有进程
ps -ef                # 查看所有进程(另一种格式)
vmstat                # 虚拟内存统计
iostat                # IO 统计

🔄 进程管理

# 查看进程
ps aux                        # 查看所有进程
ps aux | grep java            # 查找特定进程
pgrep java                    # 查找进程 ID
pidof java                    # 查找进程 ID

# 杀死进程
kill PID                      # 终止进程
kill -9 PID                   # 强制杀死进程
killall process_name          # 杀死所有同名进程
pkill -f pattern              # 按模式杀死进程

# 后台运行
command &                     # 后台运行
nohup command &               # 后台运行(不挂断)
nohup command > log.txt 2>&1 &  # 后台运行并记录日志

# 任务控制
jobs                          # 查看后台任务
fg %1                         # 将任务调到前台
bg %1                         # 将任务放到后台
Ctrl+Z                        # 暂停当前任务
Ctrl+C                        # 终止当前任务

# 进程优先级
nice -n 10 command            # 以指定优先级运行
renice -n 5 -p PID            # 修改进程优先级

🌐 网络操作

# 网络配置
ifconfig                      # 查看网络接口(旧)
ip addr                       # 查看 IP 地址(新)
ip link                       # 查看网络接口
ip route                      # 查看路由表

# 网络连接
ping host                     # 测试连通性
ping -c 4 host                # ping 4 次
traceroute host               # 追踪路由
netstat -tulnp                # 查看端口监听
ss -tulnp                     # 查看端口监听(新)
lsof -i :8080                 # 查看端口占用

# 下载文件
wget url                      # 下载文件
wget -c url                   # 断点续传
curl url                      # 获取内容
curl -O url                   # 下载文件
curl -I url                   # 查看 HTTP 头

# 远程连接
ssh user@host                 # SSH 连接
ssh -p 2222 user@host         # 指定端口
scp file user@host:/path      # 复制文件到远程
scp user@host:/path/file .    # 从远程复制文件

👤 用户管理

# 用户操作
useradd username              # 创建用户
useradd -m -s /bin/bash user  # 创建用户并指定 shell
passwd username               # 设置密码
userdel username              # 删除用户
userdel -r username           # 删除用户及家目录
usermod -aG group user        # 添加用户到组

# 组操作
groupadd groupname            # 创建组
groupdel groupname            # 删除组
groups username               # 查看用户所属组

# 切换用户
su - username                 # 切换用户
sudo command                  # 以 root 权限执行
sudo -i                       # 切换到 root
exit                          # 退出当前用户

📦 软件包管理

CentOS/RHEL (yum/dnf)

# 查询
yum search package            # 搜索软件包
yum info package              # 查看包信息
yum list installed            # 列出已安装的包

# 安装/卸载
yum install package           # 安装软件包
yum install -y package        # 自动确认安装
yum remove package            # 卸载软件包
yum update                    # 更新所有软件包
yum update package            # 更新指定软件包

# 清理
yum clean all                 # 清理缓存

Ubuntu/Debian (apt)

# 更新
apt update                    # 更新软件包列表
apt upgrade                   # 升级所有软件包

# 查询
apt search package            # 搜索软件包
apt show package              # 查看包信息
apt list --installed          # 列出已安装的包

# 安装/卸载
apt install package           # 安装软件包
apt install -y package        # 自动确认安装
apt remove package            # 卸载软件包
apt purge package             # 卸载并删除配置
apt autoremove                # 删除不需要的依赖

# 清理
apt clean                     # 清理缓存

🔧 系统服务管理

# systemctl(systemd 系统)
systemctl start service       # 启动服务
systemctl stop service        # 停止服务
systemctl restart service     # 重启服务
systemctl reload service      # 重新加载配置
systemctl status service      # 查看服务状态
systemctl enable service      # 设置开机自启
systemctl disable service     # 取消开机自启
systemctl list-units          # 列出所有服务

# service(旧系统)
service service_name start    # 启动服务
service service_name stop     # 停止服务
service service_name restart  # 重启服务
service service_name status   # 查看状态

📊 磁盘管理

# 查看磁盘
df -h                         # 查看磁盘使用情况
df -i                         # 查看 inode 使用情况
du -sh /path                  # 查看目录大小
du -h --max-depth=1 /path     # 查看子目录大小

# 挂载
mount /dev/sdb1 /mnt          # 挂载分区
umount /mnt                   # 卸载
mount -a                      # 挂载 /etc/fstab 中的所有

# 磁盘分区
fdisk -l                      # 查看分区
fdisk /dev/sdb                # 分区工具
parted /dev/sdb               # 高级分区工具

# 格式化
mkfs.ext4 /dev/sdb1           # 格式化为 ext4
mkfs.xfs /dev/sdb1            # 格式化为 xfs

🔒 防火墙

# firewalld(CentOS 7+)
firewall-cmd --state                    # 查看状态
firewall-cmd --list-all                 # 查看规则
firewall-cmd --add-port=8080/tcp        # 开放端口(临时)
firewall-cmd --add-port=8080/tcp --permanent  # 永久开放
firewall-cmd --reload                   # 重新加载
firewall-cmd --remove-port=8080/tcp --permanent  # 关闭端口

# iptables(旧系统)
iptables -L                             # 查看规则
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT  # 开放端口
service iptables save                   # 保存规则

📝 日志查看

# 系统日志
tail -f /var/log/messages     # 实时查看系统日志(CentOS)
tail -f /var/log/syslog       # 实时查看系统日志(Ubuntu)
journalctl -f                 # 实时查看 systemd 日志
journalctl -u service_name    # 查看特定服务日志
journalctl --since "1 hour ago"  # 查看最近 1 小时日志

# 应用日志
tail -f /var/log/nginx/access.log     # Nginx 访问日志
tail -f /var/log/nginx/error.log      # Nginx 错误日志
tail -f /var/log/mysql/error.log      # MySQL 错误日志

🔄 定时任务

# crontab
crontab -e                    # 编辑定时任务
crontab -l                    # 查看定时任务
crontab -r                    # 删除所有定时任务

# crontab 格式
# 分 时 日 月 周 命令
# * * * * * command
# 0 2 * * * /path/script.sh   # 每天凌晨 2 点执行

# at(一次性任务)
at 10:00                      # 在 10:00 执行
at now + 1 hour               # 1 小时后执行
atq                           # 查看待执行任务
atrm job_id                   # 删除任务

🔗 快捷键

# 终端快捷键
Ctrl + C                      # 终止当前命令
Ctrl + Z                      # 暂停当前命令
Ctrl + D                      # 退出当前 shell
Ctrl + L                      # 清屏
Ctrl + A                      # 光标移到行首
Ctrl + E                      # 光标移到行尾
Ctrl + U                      # 删除光标前的内容
Ctrl + K                      # 删除光标后的内容
Ctrl + W                      # 删除光标前的单词
Ctrl + R                      # 搜索历史命令
Tab                           # 自动补全
!!                            # 执行上一条命令
!$                            # 上一条命令的最后一个参数

💡 实用技巧

# 命令历史
history                       # 查看命令历史
history | grep keyword        # 搜索历史命令
!100                          # 执行第 100 条历史命令
!!                            # 执行上一条命令

# 管道和重定向
command1 | command2           # 管道
command > file                # 输出重定向(覆盖)
command >> file               # 输出重定向(追加)
command 2> file               # 错误重定向
command > file 2>&1           # 标准输出和错误都重定向
command < file                # 输入重定向

# 命令组合
command1 && command2          # command1 成功后执行 command2
command1 || command2          # command1 失败后执行 command2
command1 ; command2           # 顺序执行

# 别名
alias ll='ls -lh'             # 创建别名
alias                         # 查看所有别名
unalias ll                    # 删除别名

# 环境变量
echo $PATH                    # 查看 PATH
export VAR=value              # 设置环境变量
env                           # 查看所有环境变量

📚 帮助命令

man command                   # 查看命令手册
command --help                # 查看命令帮助
info command                  # 查看详细信息
whatis command                # 查看命令简介
apropos keyword               # 搜索相关命令

🎯 常用命令速查表

类别命令说明
文件ls, cd, pwd, cp, mv, rm基本操作
查看cat, less, head, tail查看文件
搜索find, grep, locate查找文件/内容
权限chmod, chown, chgrp权限管理
压缩tar, zip, gzip压缩解压
系统top, ps, kill, df, free系统监控
网络ping, netstat, ssh, wget网络操作
用户useradd, passwd, su, sudo用户管理
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇