本文为本人在 Linux 学习过程中整理的命令大全,旨在通过系统化分类和示例说明,帮助自己及他人快速查阅常见命令用法。文中涵盖基础操作、文件管理、网络配置、系统监控等核心场景,适合 Linux 初学者和进阶用户参考。
“纸上得来终觉浅,绝知此事要躬行。”希望这份手册能成为您 Linux 学习路上的得力助手。愿每一次 Ctrl+C 都有 Ctrl+V 的从容,每一个 man 都能解开疑惑,每一行代码都能优雅运行!
互动交流如果您有任何建议或疑问,欢迎在评论区留言,我们一起探讨学习! 祝大家学有所成,早日成为命令行高手!
命令 |
解析 |
示例 |
& |
将命令放入后台运行 |
sleep 100 & |
alias |
创建命令别名 |
alias ll='ls -alh' |
apropos |
搜索帮助手册(等价于 man -k) |
apropos disk |
apt |
Debian/Ubuntu 包管理工具 |
sudo apt install nginxsudo apt update |
apt-get |
Debian/Ubuntu 包管理工具(功能与 apt 类似) |
sudo apt-get upgrade |
aptitude |
高级包管理工具,智能处理依赖 |
sudo aptitude install git |
aspell |
拼写检查工具 |
aspell --mode=CCPP -c test.cpp |
at |
定时执行命令(一次性任务) |
echo "echo 'Hello World'" | at 22:00 |
awk |
文本处理与数据分析工具 |
awk '{print $1}' file.txt |
命令 |
解析 |
示例 |
basename |
提取文件名(去除路径和后缀) |
basename /etc/passwd .txt |
base32 |
Base32 编码 / 解码 |
echo "data" | base32 |
base64 |
Base64 编码 / 解码 |
echo "data" | base64 |
bash |
GNU Bourne-Again Shell |
bash script.sh |
bc |
高精度计算器 |
echo "2^10" | bc |
bg |
将暂停的任务恢复到后台运行 |
bg %1 |
bind |
设置终端快捷键绑定 |
bind '"\e[A": history-search-backward' |
break |
跳出循环 |
while true; do break; done |
builtin |
执行 Shell 内置命令 |
builtin cd /home |
bzip2 |
压缩 / 解压缩文件 |
bzip2 file.txt |
命令 |
解析 |
示例 |
cal |
显示日历 |
cal 2025 |
caller |
显示函数调用上下文 |
function test { caller; } test |
case |
多分支条件判断 |
case $1 in start) echo "Start" ;; esac |
cat |
查看文件内容 |
cat file.txt |
cd |
切换目录 |
cd ~/projects |
cfdisk |
磁盘分区工具(图形化) |
sudo cfdisk /dev/sda |
chattr |
设置文件属性(防删除 / 修改) |
chattr +i important.txt |
chgrp |
修改文件所属组 |
chgrp developers project.txt |
chmod |
修改文件权限 |
chmod 755 script.sh |
chown |
修改文件所有者 |
chown user:group file.txt |
chpasswd |
批量修改用户密码 |
echo "user:password" | chpasswd |
chroot |
切换根目录 |
sudo chroot /mnt/newroot |
chkconfig |
管理系统服务(运行级别) |
chkconfig httpd on |
cksum |
计算文件校验和 |
cksum file.txt |
clear |
清屏 |
clear |
cmp |
比较两个文件 |
cmp file1.txt file2.txt |
comm |
比较两个排序后的文件 |
comm -12 file1.txt file2.txt |
command |
执行命令(忽略 Shell 函数) |
command ls |
continue |
跳过循环当前迭代 |
for i in {1..5}; do if [ $i -eq 3 ]; then continue; fi done |
cp |
复制文件 / 目录 |
cp -r src/ dest/ |
cpio |
文件归档工具 |
find /etc -print | cpio -ov --format=newc > etc.cpio |
cron |
定时任务守护进程 |
crontab -e |
crontab |
设置定时任务 |
0 0 * * * /usr/bin/backup.sh |
csplit |
按上下文分割文件 |
csplit file.txt /^Section/ |
curl |
网络请求工具 |
curl -O https://example.com/file.zip |
cut |
按列提取文本 |
cut -d: -f1 /etc/passwd |
命令 |
解析 |
示例 |
date |
显示或设置日期时间 |
date +"%Y-%m-%d %H:%M:%S" |
dc |
计算器 |
echo "2 3 + p" | dc |
dd |
数据复制与转换 |
dd if=/dev/sda of=/dev/sdb |
ddrescue |
数据恢复工具 |
ddrescue /dev/sda /dev/sdb logfile |
declare |
声明变量属性 |
declare -i num=10 |
df |
查看磁盘空间 |
df -h |
diff |
比较文件差异 |
diff file1.txt file2.txt |
diff3 |
比较三个文件 |
diff3 file1 file2 file3 |
dig |
DNS 查询工具 |
dig example.com |
dir |
列出目录内容(等价于 ls) |
dir |
dircolors |
设置 ls 命令的颜色方案 |
dircolors -p > ~/.dircolors |
dirname |
提取路径中的目录部分 |
dirname /home/user/file.txt |
dirs |
显示目录栈 |
dirs -v |
dos2unix |
转换文件格式(Windows 到 UNIX) |
dos2unix file.txt |
dmesg |
查看内核日志 |
dmesg | grep "error" |
dpkg |
Debian 包管理工具 |
dpkg -i package.deb |
du |
查看目录大小 |
du -sh /var/log |
命令 |
解析 |
示例 |
echo |
输出文本 |
echo "Hello, World!" |
egrep |
扩展正则表达式搜索(等价于 grep -E) |
egrep "error|warning" log.txt |
eject |
弹出可移动设备 |
eject /dev/sr0 |
enable |
启用 / 禁用 Shell 内置命令 |
enable -n cd |
env |
显示环境变量 |
env | grep PATH |
ethtool |
配置网卡参数 |
ethtool -s eth0 speed 100 duplex full |
eval |
执行经过两次解析的命令 |
eval echo \$$1 |
exec |
执行命令并替换当前 Shell |
exec /bin/bash |
exit |
退出 Shell |
exit |
expand |
将制表符转换为空格 |
expand -t 4 file.txt |
export |
设置环境变量 |
export PATH=$PATH:/usr/local/bin |
expr |
计算表达式 |
expr 2 + 3 |
命令 |
解析 |
示例 |
false |
返回非零退出码 |
false && echo "This won't run" |
fdformat |
格式化软盘 |
fdformat /dev/fd0 |
fdisk |
磁盘分区工具(命令行) |
sudo fdisk /dev/sda |
fg |
将后台任务恢复到前台 |
fg %1 |
fgrep |
固定字符串搜索(等价于 grep -F) |
fgrep "localhost" /etc/hosts |
file |
检测文件类型 |
file /bin/ls |
find |
查找文件 |
find /home -name "*.txt" |
fmt |
格式化文本段落 |
fmt -w 80 file.txt |
fold |
按宽度换行 |
fold -w 40 long_line.txt |
for |
循环结构 |
for i in {1..5}; do echo $i; done |
format |
格式化磁盘 |
format /dev/sdb |
free |
查看内存使用情况 |
free -h |
fsck |
检查并修复文件系统 |
sudo fsck /dev/sda1 |
ftp |
文件传输协议客户端 |
ftp ftp.example.com |
function |
定义函数 |
function greet { echo "Hello, $1!"; } |
fuser |
查找使用文件或端口的进程 |
fuser -k 80/tcp |
命令 |
解析 |
示例 |
gawk |
GNU 版 awk 工具 |
gawk '{print $1}' file.txt |
getopts |
解析命令行参数 |
while getopts "a:b" opt; do ... done |
getfacl |
查看文件 ACL 权限 |
getfacl file.txt |
grep |
文本搜索工具 |
grep "error" log.txt |
groupadd |
创建用户组 |
sudo groupadd developers |
groupdel |
删除用户组 |
sudo groupdel developers |
groupmod |
修改用户组属性 |
sudo groupmod -n newgroup developers |
groups |
查看用户所属组 |
groups |
gzip |
压缩 / 解压缩文件 |
gzip file.txt |
命令 |
解析 |
示例 |
hash |
缓存命令路径 |
hash -r |
head |
查看文件头部内容 |
head -n 5 file.txt |
help |
查看内置命令帮助 |
help cd |
history |
查看命令历史 |
history | tail |
hostname |
查看或设置主机名 |
hostname server1.example.com |
htop |
交互式进程管理器 |
htop |
命令 |
解析 |
示例 |
iconv |
转换文件字符集 |
iconv -f GBK -t UTF-8 file.txt |
id |
查看用户 ID 和组 ID |
id |
if |
条件判断 |
if [ -f file.txt ]; then echo "Exists"; fi |
ifconfig |
配置网络接口(已被 ip 替代) |
ifconfig eth0 up |
ifdown |
关闭网络接口 |
ifdown eth0 |
ifup |
启用网络接口 |
ifup eth0 |
import |
截取屏幕并保存为文件 |
import -window root screenshot.png |
install |
安装文件并设置权限 |
install -m 755 script.sh /usr/local/bin/ |
iostat |
监控磁盘 I/O |
iostat -x 1 |
ip |
网络配置工具 |
ip addr show |
命令 |
解析 |
示例 |
jobs |
查看后台任务 |
jobs -l |
join |
按公共字段合并文件 |
join file1 file2 |
命令 |
解析 |
示例 |
kill |
终止进程 |
kill -9 1234 |
killall |
按名称终止进程 |
killall firefox |
klist |
显示 Kerberos 票据缓存 |
klist |
命令 |
解析 |
示例 |
less |
分页查看文件 |
less /var/log/syslog |
let |
执行算术运算 |
let "a = 5 + 3" |
link |
创建硬链接 |
link source.txt target.txt |
ln |
创建符号链接 |
ln -s /path/to/file link |
local |
声明局部变量 |
function test { local var=10; } |
locate |
快速查找文件(基于数据库) |
locate /etc/hosts |
login |
登录系统 |
login |
logname |
查看当前登录用户名 |
logname |
logout |
退出登录 |
logout |
look |
按首字母查找行 |
look "user" /etc/passwd |
lpc |
打印机管理工具 |
lpc status |
lpr |
打印文件 |
lpr file.txt |
lprint |
打印文件(与 lpr 类似) |
lprint file.txt |
lprintd |
删除打印任务 |
lprintd job_id |
lprintq |
查看打印队列 |
lprintq |
lprm |
删除打印任务 |
lprm job_id |
lsattr |
查看文件属性 |
lsattr file.txt |
lsblk |
显示块设备信息 |
lsblk |
ls |
列出目录内容 |
ls -l |
lsof |
查看打开的文件和网络连接 |
lsof -i :22lsof /GTES11/ |
lspci |
查看 PCI 设备信息 |
lspci |
命令 |
解析 |
示例 |
make |
项目构建工具 |
make |
man |
查看命令手册 |
man ls |
mapfile |
将输入读入数组 |
mapfile -t array < file.txt |
md5sum |
计算文件 MD5 校验和 |
md5sum file.txt |
mkdir |
创建目录 |
mkdir -p project/{src,docs} |
mkfifo |
创建命名管道 |
mkfifo mypipe |
mkfile |
创建指定大小的文件 |
mkfile 10M large_file |
mkisofs |
制作 ISO 镜像 |
mkisofs -o image.iso /path/to/files |
mknod |
创建设备文件 |
mknod /dev/mydisk b 8 0 |
mktemp |
创建临时文件 |
mktemp |
more |
分页查看文件(功能类似 less) |
more file.txt |
most |
增强版 more 工具 |
most file.txt |
mount |
挂载文件系统 |
mount /dev/sda1 /mnt |
mtools |
操作 MS-DOS 文件 |
mcopy /dev/fd0 file.txt |
mtr |
网络诊断工具(结合 ping 和 traceroute) |
mtr google.com |
mv |
移动或重命名文件 |
mv oldname newname |
mmv |
批量重命名文件 |
mmv "*.txt" "#1.pdf" |
命令 |
解析 |
示例 |
nc |
网络调试工具(netcat) |
nc example.com 80 |
netstat |
查看网络连接(逐渐被 ss 替代) |
netstat -tunlp |
nft |
新一代防火墙工具 |
nft add rule ip filter input tcp dport 22 accept |
nice |
调整进程优先级 |
nice -n 10 program |
nl |
为文件添加行号 |
nl file.txt |
nohup |
后台运行命令(忽略挂断信号) |
nohup program & |
notify-send |
发送桌面通知 |
notify-send "Update" "System updated successfully" |
nslookup |
DNS 查询工具(逐渐被 dig 替代) |
nslookup example.com |
命令 |
解析 |
示例 |
open |
使用默认程序打开文件 |
open document.pdf |
op |
操作符访问(需配合其他工具使用) |
op get item/password |
命令 |
解析 |
示例 |
passwd |
修改用户密码 |
passwd |
paste |
合并文件列 |
paste file1.txt file2.txt |
pathchk |
检查文件名的可移植性 |
pathchk filename\ with\ spaces.txt |
perf |
性能分析工具 |
perf record -e cpu-clock ./program |
ping |
测试网络连通性 |
ping -c 4 google.com |
pgrep |
按名称查找进程 |
pgrep firefox |
pkill |
按名称终止进程 |
pkill firefox |
popd |
弹出目录栈 |
popd |
pr |
格式化文件以便打印 |
pr file.txt | lpr |
printcap |
打印机能力数据库 |
printcap |
printenv |
显示环境变量 |
printenv |
printf |
格式化输出 |
printf "Name: %s\nAge: %d\n" "Alice" 30 |
ps |
查看进程状态 |
ps aux |
pushd |
将目录压入栈 |
pushd /home/user |
pv |
监控管道数据进度 |
tar czvf data.tar.gz | pv -s 1G > /dev/null |
pwd |
显示当前工作目录 |
pwd |
命令 |
解析 |
示例 |
quota |
查看磁盘配额 |
quota -u |
quotacheck |
检查磁盘配额 |
sudo quotacheck -avug |
命令 |
解析 |
示例 |
ram |
内存盘设备 |
mount -t tmpfs none /mnt/ramdisk |
rar |
RAR 格式压缩工具 |
rar a archive.rar files/ |
rcp |
远程复制文件(已被 scp 替代) |
rcp file.txt user@server:/path |
read |
读取用户输入 |
read -p "Enter name: " name |
readarray |
读取输入到数组 |
readarray -t lines < file.txt |
readonly |
设置只读变量 |
readonly var=10 |
reboot |
重启系统 |
sudo reboot |
rename |
批量重命名文件 |
rename 's/\.txt/\.log/' *.txt |
renice |
调整进程优先级 |
renice -n 5 -p 1234 |
remsync |
通过邮件同步远程文件(不常用) |
remsync remote@server:/path/local/path |
return |
从函数返回 |
function test { return 1; } test; echo $? |
rev |
反转行内容 |
rev file.txt |
rm |
删除文件 / 目录 |
rm -r directory/ |
rmdir |
删除空目录 |
rmdir empty_dir |
rsync |
远程同步工具 |
rsync -avz /local/ user@server:/remote/ |
命令 |
解析 |
示例 |
screen |
终端多路复用器 |
screen -S session |
scp |
安全复制文件 |
scp file.txt user@server:/path |
sdiff |
交互式比较文件 |
sdiff file1.txt file2.txt |
sed |
流式文本编辑 |
sed 's/old/new/g' file.txt |
select |
菜单选择 |
select option in "Option 1" "Option 2"; do ... done |
seq |
生成数字序列 |
seq 1 5 |
set |
设置 Shell 选项 |
set -x |
setfacl |
设置文件 ACL 权限 |
setfacl -m u:user:rw file.txt |
sftp |
安全文件传输协议 |
sftp user@server |
sha256sum |
计算文件 SHA256 校验和 |
sha256sum file.txt |
shift |
移动位置参数 |
echo $1 $2; shift; echo $1 |
shopt |
设置 Shell 选项 |
shopt -s nullglob |
shuf |
随机排列文本行 |
shuf file.txt |
shutdown |
关机或重启系统 |
sudo shutdown -h now |
sleep |
延迟执行 |
sleep 5 |
slocate |
快速查找文件(基于数据库,已被 locate 替代) |
slocate /etc/hosts |
sort |
排序文本 |
sort -n numbers.txt |
source |
执行脚本文件 |
. ~/.bashrc |
split |
分割文件 |
split -b 10M large_file |
ss |
查看网络连接(替代 netstat) |
ss -tunlp |
ssh |
安全远程登录 |
ssh user@server |
stat |
查看文件状态 |
stat file.txt |
strace |
跟踪系统调用 |
strace -f ./program |
su |
切换用户 |
su - user |
sudo |
以其他用户身份执行命令 |
sudo apt update |
sum |
计算文件校验和(已被 cksum 替代) |
sum file.txt |
suspend |
挂起当前 Shell |
suspend |
sync |
同步内存数据到磁盘 |
sync |
命令 |
解析 |
示例 |
tabs |
设置终端制表符宽度 |
tabs -4 |
tail |
查看文件尾部内容 |
tail -f /var/log/syslog |
tar |
打包压缩工具 |
tar -zcvf archive.tar.gz files/tar -zxvf archive.tar.gz |
tee |
重定向输出到文件和终端 |
echo "Hello" | tee output.txt |
test |
条件测试 |
test -d directory && echo "Exists" |
time |
测量命令执行时间 |
time ls |
timeout |
设置命令执行超时 |
timeout 10s program |
times |
显示用户和系统时间 |
times |
tmux |
终端多路复用器(替代 screen) |
tmux new -s session |
touch |
更新文件时间戳 |
touch file.txt |
top |
实时监控进程 |
top |
tput |
设置终端属性 |
tput setaf 1 |
traceroute |
跟踪网络路由 |
traceroute google.com |
trap |
捕获信号 |
trap 'echo "Caught SIGINT"' SIGINT |
tr |
字符转换 |
tr '[:lower:]' '[:upper:]' < file.txt |
true |
返回零退出码 |
true && echo "This will run" |
tsort |
拓扑排序 |
tsort dependencies.txt |
tty |
显示终端设备 |
tty |
type |
查看命令类型 |
type ls |
命令 |
解析 |
示例 |
ulimit |
限制用户资源 |
ulimit -n 1024 |
umask |
设置文件创建掩码 |
umask 022 |
umount |
卸载文件系统 |
umount /mnt |
unalias |
删除别名 |
unalias ll |
uname |
查看系统信息 |
uname -a |
unexpand |
将空格转换为制表符 |
unexpand -t 4 file.txt |
uniq |
去除重复行 |
sort file.txt | uniq |
units |
单位转换 |
units 1000 meters feet |
unix2dos |
转换文件格式(UNIX 到 Windows) |
unix2dos file.txt |
unrar |
解压 RAR 文件 |
unrar x archive.rar |
unset |
删除变量或函数 |
unset var |
unshar |
解包 Shell 归档脚本 |
unshar archive.shar |
until |
循环直到条件成立 |
until [ -f file.txt ]; do sleep 1; done |
uptime |
查看系统运行时间 |
uptime |
useradd |
创建用户 |
sudo useradd -m newuser |
userdel |
删除用户 |
sudo userdel -r newuser |
usermod |
修改用户属性 |
sudo usermod -aG sudo newuser |
users |
查看当前登录用户 |
users |
uuencode |
编码二进制文件为文本 |
uuencode image.png image.txt |
uudecode |
解码 UU 编码文件 |
uudecode image.txt |
命令 |
解析 |
示例 |
v |
详细列表(等价于 ls -l -b) |
v |
vdir |
详细列表(等价于 ls -l -b) |
vdir |
vi |
文本编辑器 |
vi file.txt |
vmstat |
虚拟内存统计 |
vmstat 1 |
命令 |
解析 |
示例 |
w |
查看登录用户及活动 |
w |
wait |
等待进程结束 |
wait |
watch |
周期性执行命令 |
watch -n 1 "free -h" |
wc |
统计文本行数、字数、字节数 |
wc file.txt |
whereis |
查找命令路径和帮助文件 |
whereis ls |
which |
查找命令路径 |
which ls |
while |
循环结构 |
while read line; do echo $line; done < file.txt |
who |
查看登录用户 |
who |
whoami |
查看当前用户名 |
whoami |
wget |
下载文件 |
wget https://example.com/file.zip |
write |
发送消息给其他用户 |
write user pts/0 |
命令 |
解析 |
示例 |
xargs |
处理命令行参数 |
find . -name "*.txt" | xargs rm |
xdg-open |
使用默认程序打开文件或 URL |
xdg-open https://example.com |
xxd |
十六进制查看或转换文件 |
xxd file.txt |
xz |
高压缩比工具 |
xz -9 file.txt |
命令 |
解析 |
示例 |
yes |
持续输出指定字符串 |
yes | command |
命令 |
解析 |
示例 |
zip |
压缩文件(兼容 Windows) |
zip archive.zip files/ |
符号 |
说明 |
示例 |
. |
执行脚本文件(等价于 source) |
. script.sh |
!! |
重复上一条命令 |
!! |
# |
注释 |
# This is a comment |
说明: