Linux 常用命令
文件和目录操作
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
ls | 列出目录内容 | -l :长格式显示-a :显示隐藏文件-h :人类可读大小-R :递归列出子目录-t :按时间排序--color :颜色区分类型 | ls -lah (详细列出所有文件,大小可读) |
cd | 切换目录 | 无参数:直接跟路径- :切换到上一个目录~ :家目录/ :根目录 | cd /home/user (切换到指定目录) |
pwd | 显示当前工作目录绝对路径 | -L :逻辑路径(含符号链接)-P :物理路径(解析符号链接) | pwd (输出当前路径) |
mkdir | 创建目录 | -p :创建父目录(不报错)-m :设置权限,如 -m 755 | mkdir -p /tmp/newdir (创建多级目录) |
rmdir | 删除空目录 | -p :递归删除空目录--ignore-fail-on-non-empty :忽略非空错误 | rmdir empty_dir (删除空目录) |
touch | 创建空文件或更新时间戳 | -a :仅更新访问时间-m :仅更新修改时间-t :指定时间 | touch file.txt (创建空文件) |
cp | 复制文件或目录 | -r :递归复制目录-p :保留属性-v :显示过程-i :交互 | cp -r dir1 dir2 (复制目录) |
mv | 移动或重命名文件/目录 | -i :交互覆盖-f :强制覆盖-v :显示过程 | mv file.txt /tmp/ (移动文件) |
rm | 删除文件或目录 | -r :递归删除-f :强制删除-i :交互删除-v :显示过程 | rm -rf dir (强制删除目录) |
find | 在指定目录下查找文件 | -name :按文件名-iname :忽略大小写-type :类型(如 f 文件)-size :按大小-exec :执行命令 | find / -name "*.txt" (查找 txt 文件) |
locate | 快速查找文件(基于数据库) | -i :忽略大小写-r :正则表达式-n :限制输出数量 | locate -i document (查找文件) |
cat | 查看文件内容或拼接文件 | -n :显示行号-b :非空行号-s :压缩连续空行 | cat file1.txt file2.txt (拼接文件) |
less | 分页查看文件内容 | -N :显示行号-S :不换行长行-i :搜索忽略大小写 | less file.txt (分页查看) |
more | 分页查看文件内容 | -d :显示提示+n :从第 n 行开始 | more +5 file.txt (从第5行开始) |
head | 查看文件开头几行(默认10行) | -n :指定行数-c :按字节数 | head -n 5 file.txt (显示前5行) |
tail | 查看文件末尾几行(默认10行) | -n :指定行数-f :实时跟踪-c :按字节数 | tail -f log.txt (实时查看日志) |
wc | 统计文件行数、字数、字符数 | -l :仅行数-w :仅单词数-c :仅字节数-m :字符数 | wc -l file.txt (统计行数) |
ln | 创建链接(硬链接或软链接) | -s :创建符号链接-f :强制覆盖-i :交互模式 | ln -s file.txt link.txt (创建软链接) |
系统管理
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
uname | 显示系统信息 | -a :全部信息-r :内核版本-m :硬件名称 | uname -r (显示内核版本) |
uptime | 显示系统运行时间和负载 | 无常用参数 | uptime |
free | 查看内存使用情况 | -h :人类可读格式-m :以 MB 单位-s :每隔几秒刷新 | free -h (查看内存) |
df | 查看磁盘使用情况 | -h :人类可读格式-T :显示文件系统类型-i :显示 inode | df -h (查看磁盘使用) |
du | 统计目录或文件占用空间 | -h :人类可读格式-s :汇总总大小-d :指定深度 | du -sh /path (查看总大小) |
top | 实时查看进程和系统资源 | 无需参数,交互模式:k :杀进程u :按用户过滤q :退出 | top (实时查看进程) |
htop | 更友好的进程查看工具(需安装) | 无需参数,交互模式:F2 :设置F9 :杀进程 | htop (查看进程) |
dmesg | 查看系统启动和硬件日志 | -T :人类可读时间-l :按级别(如 err )--follow :实时 | `dmesg |
shutdown | 关机或重启 | -h :关机-r :重启now :立即+n :n 分钟后 | shutdown -h now (立即关机) |
reboot | 重启系统 | 无常用参数 | reboot |
lscpu | 显示 CPU 信息 | 无常用参数 | lscpu (查看 CPU 信息) |
lsblk | 列出块设备信息(如磁盘分区) | -f :显示文件系统类型-l :列表格式 | lsblk (查看磁盘分区) |
dmidecode | 查看硬件信息(如 BIOS、内存) | -t :指定类型,如 bios 、memory | dmidecode -t memory (查看内存信息) |
进程管理
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
ps | 显示当前进程快照 | aux :显示所有进程-ef :带父进程信息-p :指定 PID | ps aux (查看所有进程) |
kill | 终止指定进程 | -9 :强制终止-15 :优雅终止-l :列出信号 | kill -9 1234 (强制终止进程) |
killall | 按进程名终止进程 | -i :交互模式-9 :强制终止-u :按用户 | killall firefox (终止 Firefox) |
pkill | 按进程名或其他属性终止进程 | -u :按用户-9 :强制终止-f :匹配完整命令行 | pkill -u user (终止用户进程) |
nice | 设置进程优先级启动 | -n :指定优先级(-20 到 19) | nice -n 10 command (设置优先级) |
renice | 修改运行中进程优先级 | n :新优先级-u :按用户 | renice 10 1234 (修改进程优先级) |
jobs | 查看后台任务列表 | -l :显示 PID-p :仅 PID | jobs (查看后台任务) |
fg | 将后台任务调到前台 | %n :任务编号 | fg %1 (调出任务 1) |
bg | 将任务放到后台运行 | %n :任务编号 | bg %1 (后台运行任务 1) |
nohup | 使命令在终端关闭后继续运行 | 无参数 | nohup command & (后台运行) |
网络相关
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
ping | 测试网络连通性 | -c :发送次数-i :间隔时间-w :超时时间 | ping -c 4 google.com (ping 4 次) |
netstat | 查看网络连接、路由表(可能需安装) | -tuln :监听端口-r :路由表-p :显示程序名 | netstat -tuln (查看监听端口) |
ss | 查看网络连接状态 | -tuln :监听端口-p :进程信息-a :所有连接 | ss -tuln (查看监听端口) |
ifconfig | 查看或配置网络接口(可能需安装) | eth0 up/down :启用/禁用接口 | ifconfig (查看网络接口) |
ip | 现代网络配置工具 | addr :显示 IPlink :显示接口route :路由表 | ip addr (查看 IP) |
curl | 下载或发送 HTTP 请求 | -O :下载保存原名-o :指定文件名-I :仅头信息-X :请求方法 | curl -O http://example.com/file |
wget | 下载文件 | -O :指定文件名-c :断点续传-r :递归下载 | wget -c http://example.com/file |
scp | 安全拷贝文件到远程服务器 | -r :递归-P :指定端口-i :指定私钥 | scp file user@host:/path |
rsync | 高效同步文件 | -a :归档模式-v :显示过程-z :压缩--delete :删除多余 | rsync -av /src /dest |
traceroute | 跟踪数据包路由路径 | -n :不解析主机名-w :等待时间 | traceroute google.com |
dig | DNS 查询工具 | +short :简洁输出@server :指定 DNS 服务器 | dig @8.8.8.8 example.com |
nslookup | 查询 DNS 记录 | 无常用参数 | nslookup example.com |
hostname | 查看或设置主机名 | -i :显示 IP-d :显示域名 | hostname (查看主机名) |
用户管理
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
whoami | 显示当前用户名 | 无常用参数 | whoami |
id | 显示当前用户和组信息 | -u :用户 ID-g :主组 ID-G :所有组 ID | id (查看用户和组信息) |
useradd | 创建新用户 | -m :创建家目录-s :指定 shell-G :添加到组 | useradd -m -s /bin/bash newuser |
passwd | 修改用户密码 | user :指定用户 | passwd newuser (修改用户密码) |
usermod | 修改用户信息 | -aG :追加到组-s :修改 shell-d :修改家目录 | usermod -aG sudo user (加到 sudo 组) |
userdel | 删除用户 | -r :删除家目录 | userdel -r user (删除用户及家目录) |
groupadd | 创建新用户组 | -g :指定 GID | groupadd -g 1001 newgroup |
groupdel | 删除用户组 | 无常用参数 | groupdel group |
su | 切换用户 | - :加载环境变量user :指定用户 | su - user (切换用户) |
sudo | 以超级用户权限执行命令 | -u :以指定用户执行-i :交互 shell | sudo apt update (以 root 权限更新) |
who | 显示当前登录用户 | 无常用参数 | who (查看登录用户) |
w | 显示当前登录用户及其活动 | 无常用参数 | w (查看用户活动) |
权限管理
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
chmod | 修改文件权限 | 755 :设置权限u+x :用户加执行权限-R :递归修改 | chmod 755 file.txt (设置权限) |
chown | 修改文件所有者 | user:group :设置用户和组-R :递归修改 | chown user:group file.txt |
chgrp | 修改文件所属组 | -R :递归修改group :指定组名 | chgrp group file.txt |
umask | 设置默认文件权限掩码 | 022 :设置掩码(文件 644,目录 755) | umask 022 (设置默认权限) |
setfacl | 设置文件访问控制列表(ACL) | -m :修改 ACL-x :移除 ACL-R :递归 | setfacl -m u:user:rw file.txt |
getfacl | 查看文件访问控制列表 | 无常用参数 | getfacl file.txt |
其他实用工具
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
grep | 搜索文本内容 | -i :忽略大小写-r :递归-n :行号-v :反向匹配 | grep -i "error" log.txt (查找错误) |
awk | 文本处理工具 | -F :指定分隔符{print $n} :打印第 n 列 | awk -F":" '{print $1}' /etc/passwd |
sed | 流编辑器(替换、修改文本) | s/old/new/g :全局替换-i :直接修改文件-n :抑制输出 | sed 's/old/new/g' file.txt (替换) |
sort | 对文本行排序 | -r :逆序-n :数值排序-k :按字段排序 | sort -k 2 file.txt (按第2字段排序) |
uniq | 去除重复行(需先排序) | -c :统计重复次数-i :忽略大小写 | `sort file.txt |
tee | 输出同时写入文件和终端 | -a :追加写入 | `echo “test” |
tar | 打包和解压文件 | -c :创建-x :解压-v :显示-f :文件名-z :gzip | tar -czvf file.tar.gz /path (压缩) |
gzip | 压缩文件 | -d :解压-k :保留原文件 | gzip file.txt (压缩文件) |
gunzip | 解压 .gz 文件 | -k :保留原文件 | gunzip file.txt.gz (解压) |
zip | 创建 zip 压缩文件 | -r :递归压缩 | zip -r file.zip /path (压缩目录) |
unzip | 解压 zip 文件 | -d :指定解压目录 | unzip file.zip -d /path (解压) |
man | 查看命令帮助手册 | 无常用参数,直接跟命令名 | man ls (查看 ls 手册) |
history | 查看历史命令 | -c :清除历史 | history (查看历史命令) |
alias | 创建命令别名 | 无参数,直接定义 | alias ll='ls -l' (创建别名) |
cut | 提取文本中指定部分 | -d :指定分隔符-f :指定字段 | cut -d":" -f1 /etc/passwd (提取字段) |
tr | 替换或删除字符 | 无参数,直接指定规则 | `echo “hello” |
diff | 比较文件差异 | -u :统一格式输出-r :递归比较目录 | diff file1.txt file2.txt (比较文件) |
patch | 应用补丁文件 | -p :指定路径剥离级别 | patch < file.patch (应用补丁) |
xargs | 将标准输入转为命令参数 | -n :每行参数数量-I :占位符 | `find . -name “*.txt” |
软件包管理(以常见发行版为例)
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
apt | Debian/Ubuntu 包管理工具 | update :更新源upgrade :升级包install :安装remove :卸载 | apt update && apt install vim |
yum | CentOS/RHEL 包管理工具 | install :安装remove :卸载update :更新 | yum install httpd (安装 Apache) |
dnf | 新一代 CentOS/RHEL 包管理工具 | 同 yum | dnf install httpd |
pacman | Arch Linux 包管理工具 | -S :安装-R :卸载-Syu :更新系统 | pacman -S vim (安装 vim) |
系统日志和监控
命令 | 说明 | 参数 | 示例用法 |
---|---|---|---|
journalctl | 查看 systemd 日志 | -u :指定服务-f :实时跟踪--since :指定时间 | journalctl -u sshd (查看 ssh 日志) |
last | 查看用户登录历史 | -n :显示最近 n 次登录 | last -n 5 (最近 5 次登录) |
watch | 周期性执行命令并显示结果 | -n :指定间隔时间(秒) | watch -n 1 date (每秒显示时间) |
iotop | 查看磁盘 I/O 使用情况(需安装) | -o :仅显示有 I/O 的进程 | iotop (查看 I/O 使用) |
vmstat | 查看虚拟内存统计 | -s :显示统计信息n :刷新间隔和次数 | vmstat 1 (每秒刷新) |