Linux 常用命令总结

发布于:2025-04-18 ⋅ 阅读:(22) ⋅ 点赞:(0)

Linux 常用命令总结

Linux 命令行是系统管理和开发的核心工具,掌握常用命令可以极大提升效率。本文全面总结 Linux 常用命令,涵盖文件操作、进程管理、网络管理、系统监控、用户管理、软件安装等多个方面,适合初学者和高级用户参考。


1. 文件和目录操作

这些命令用于管理文件和目录。

命令 功能描述 示例
ls 列出目录内容 ls -l(详细列表), ls -a(显示隐藏文件)
cd 切换目录 cd /home/user, cd ..(返回上级目录)
pwd 显示当前工作目录 pwd
mkdir 创建目录 mkdir myfolder, mkdir -p a/b/c
rmdir 删除空目录 rmdir myfolder
touch 创建空文件或更新文件时间戳 touch file.txt
cp 复制文件或目录 cp file.txt /backup, cp -r dir1 dir2
mv 移动或重命名文件/目录 mv file.txt newname.txt, mv dir /tmp
rm 删除文件或目录 rm file.txt, rm -r dir(递归删除)
find 搜索文件或目录 find / -name "file.txt"
locate 快速查找文件(基于数据库) locate file.txt
tree 以树形结构显示目录内容 tree /home/user
ln 创建链接(硬链接或软链接) ln -s file.txt link(软链接)
cat 查看文件内容或连接文件 cat file.txt, cat file1 > file2
more / less 分页查看文件内容 less file.txt
head 查看文件开头内容 head -n 10 file.txt(前 10 行)
tail 查看文件末尾内容 tail -n 10 file.txt, tail -f log
wc 统计文件的行数、字数、字符数 wc -l file.txt(行数)
cut 提取文件中特定字段 cut -d',' -f1 file.csv
sort 排序文件内容 sort file.txt, sort -r(逆序)
uniq 删除重复行 uniq file.txt
grep 搜索文件内容 grep "keyword" file.txt
sed 流式编辑文件内容 sed 's/old/new/g' file.txt
awk 文本处理和数据提取 awk '{print $1}' file.txt

2. 文件权限管理

Linux 文件权限控制访问和管理。

命令 功能描述 示例
chmod 修改文件或目录权限 chmod 755 script.sh, chmod u+x file
chown 修改文件或目录所有者 chown user file.txt, chown -R user dir
chgrp 修改文件或目录所属组 chgrp group file.txt
umask 设置默认文件权限 umask 022
getfacl 查看文件访问控制列表(ACL) getfacl file.txt
setfacl 设置文件访问控制列表 setfacl -m u:user:rw file.txt

权限说明

  • 权限格式:rwxr-xr-x(用户、组、其他)。
  • 数字表示:r=4, w=2, x=1(例如,755 表示用户全权,组和其他可读可执行)。

3. 进程管理

用于监控和控制系统进程。

命令 功能描述 示例
ps 显示当前进程状态 ps aux(所有进程)
top 实时显示进程和系统资源 top
htop 增强版 top,交互式界面 htop
kill 终止进程(通过 PID) kill 1234, kill -9 1234(强制终止)
killall 按进程名终止进程 killall firefox
pkill 按进程名或模式终止进程 pkill -u user
nice 设置进程优先级 nice -n 10 command
renice 修改运行中进程的优先级 renice 10 -p 1234
jobs 显示后台任务 jobs
bg 将任务放入后台运行 bg %1
fg 将后台任务调回前台 fg %1
nohup 使命令在终端关闭后继续运行 nohup ./script.sh &

4. 系统监控

监控系统性能和资源使用情况。

命令 功能描述 示例
df 显示磁盘使用情况 df -h(人类可读格式)
du 统计目录或文件大小 du -sh /home/user
free 显示内存使用情况 free -m(以 MB 显示)
uptime 显示系统运行时间和负载 uptime
vmstat 报告虚拟内存统计 vmstat 1(每秒更新)
iostat 显示 CPU 和 I/O 统计 iostat -x 1
sar 系统活动报告(需安装 sysstat) sar -u 1(CPU 统计)
dstat 动态系统资源统计 dstat -cdngy
lscpu 显示 CPU 信息 lscpu
lsblk 列出块设备信息 lsblk
iotop 实时显示磁盘 I/O 使用情况 iotop
watch 周期性执行命令并显示结果 watch -n 1 'df -h'

5. 网络管理

管理网络连接、流量和服务。

命令 功能描述 示例
ping 测试网络连通性 ping google.com
curl 发送 HTTP 请求,下载文件 curl -O http://example.com/file
wget 下载文件 wget http://example.com/file
netstat 显示网络状态(需安装 net-tools) netstat -tuln
ss 更现代的网络状态查看工具 ss -tuln
ifconfig 显示和配置网络接口(需安装 net-tools) ifconfig eth0
ip 现代网络接口管理工具 ip addr, ip link
route 显示或管理路由表 route -n
traceroute 跟踪数据包路由路径 traceroute google.com
dig DNS 查询 dig example.com
nslookup DNS 查询(简单版) nslookup example.com
telnet 测试端口连接 telnet localhost 80
nc 网络工具(netcat),用于 TCP/UDP 连接 nc -l 1234(监听端口)
tcpdump 捕获网络数据包 tcpdump -i eth0 port 80
iftop 实时显示网络流量 iftop -i eth0
nmap 网络扫描和端口探测 nmap localhost

6. 用户和权限管理

管理用户账户和权限。

命令 功能描述 示例
who 显示当前登录用户 who
whoami 显示当前用户 whoami
id 显示用户和组信息 id user
su 切换用户 su - user
sudo 以超级用户权限执行命令 sudo apt update
useradd 添加新用户 useradd -m newuser
userdel 删除用户 userdel -r user
passwd 修改用户密码 passwd user
addgroup 添加用户组 addgroup mygroup
usermod 修改用户信息 usermod -aG sudo user
visudo 编辑 sudo 配置文件 visudo

7. 软件安装与管理

管理软件包和依赖。

命令 功能描述 示例
apt Debian/Ubuntu 包管理工具 apt install vim, apt update
yum / dnf CentOS/RHEL 包管理工具 dnf install vim, yum update
zypper openSUSE 包管理工具 zypper install vim
snap 安装和管理 Snap 包 snap install code
dpkg 管理 Debian 包 dpkg -i package.deb
rpm 管理 RPM 包 rpm -ivh package.rpm
make 编译源码 make, make install

8. 压缩与归档

处理压缩文件和归档。

命令 功能描述 示例
tar 归档和解档文件 tar -cvf archive.tar dir, tar -xvf archive.tar
gzip / gunzip 压缩/解压 .gz 文件 gzip file.txt, gunzip file.txt.gz
bzip2 / bunzip2 压缩/解压 .bz2 文件 bzip2 file.txt, bunzip2 file.txt.bz2
zip / unzip 压缩/解压 .zip 文件 zip archive.zip file.txt, unzip archive.zip
xz 压缩/解压 .xz 文件 xz file.txt, unxz file.txt.xz

9. 文本编辑器

常用的命令行文本编辑器。

命令 功能描述 示例
nano 简单易用的文本编辑器 nano file.txt
vim / vi 功能强大的文本编辑器 vim file.txt
emacs 高度可定制的文本编辑器 emacs file.txt

10. 系统管理

管理系统配置和服务。

命令 功能描述 示例
systemctl 管理 systemd 服务 systemctl start apache2
service 管理服务(兼容旧系统) service apache2 start
uname 显示系统信息 uname -a
hostname 显示或设置主机名 hostname, hostname newname
dmesg 显示内核日志 `dmesg
journalctl 查看 systemd 日志 journalctl -u apache2
reboot 重启系统 reboot
shutdown 关机或计划关机 shutdown -h now, shutdown -r 10
date 显示或设置系统时间 date, date -s "2023-10-01 12:00"
timedatectl 管理系统时间和时区 timedatectl set-timezone UTC

11. 环境变量与脚本

管理环境变量和 shell 脚本。

命令 功能描述 示例
env 显示环境变量 env
export 设置或导出环境变量 export PATH=$PATH:/usr/local/bin
echo 显示变量或文本 echo $PATH
source 执行脚本并应用环境变化 source ~/.bashrc
bash 运行 bash 脚本 bash script.sh
chmod +x 使脚本可执行 chmod +x script.sh

12. 其他实用命令

一些杂项但常用的命令。

命令 功能描述 示例
man 查看命令手册 man ls
info 查看命令信息 info ls
history 显示命令历史 history, !123(执行第 123 条命令)
alias 设置命令别名 alias ll='ls -l'
clear 清空终端屏幕 clear
tee 将输出同时写入文件和终端 `ls
xargs 将标准输入转为命令参数 `find . -name “*.txt”

13. 命令组合与管道

Linux 命令可以通过管道和重定向组合使用。

符号 功能描述 示例
` ` 管道,将前一命令输出作为后一命令输入
> 重定向输出到文件(覆盖) ls > output.txt
>> 重定向输出到文件(追加) ls >> output.txt
< 从文件读取输入 wc -l < file.txt
&& 前一命令成功后执行后一命令 make && make install
` `

14. 使用技巧与注意事项

  • 命令补全:按 Tab 键自动补全命令或文件名。
  • 历史命令:使用 Ctrl+R 搜索历史命令。
  • 通配符
    • *:匹配任意字符(如 *.txt)。
    • ?:匹配单个字符(如 file?.txt)。
  • sudo 权限:某些命令需超级用户权限,谨慎使用。
  • 备份重要文件:操作前备份,避免数据丢失。


网站公告

今日签到

点亮在社区的每一天
去签到