一、文件与目录操作
这是最基础也是最常用的命令集合。
| 命令 | 功能描述 | 常用示例 |
|---|
ls | 列出目录内容 | ls -l (详细列表), ls -a (显示隐藏文件) |
cd | 切换目录 | cd /home, cd .. (上级目录), cd ~ (家目录) |
pwd | 显示当前工作目录的路径 | pwd |
mkdir | 创建新目录 | mkdir new_folder, mkdir -p a/b/c (创建多级目录) |
rmdir | 删除空目录 | rmdir empty_folder |
rm | 删除文件或目录 | rm file.txt, rm -r folder (递归删除目录), rm -f file (强制删除) |
cp | 复制文件或目录 | cp file1 file2, cp -r dir1 dir2 (复制目录) |
mv | 移动或重命名文件/目录 | mv old.txt new.txt (重命名), mv file /tmp/ (移动) |
touch | 创建空文件或更新文件时间戳 | touch new_file.txt |
cat | 查看文件内容(全部) | cat file.txt |
more / less | 分页查看文件内容 | less file.txt (推荐,可上下翻页) |
head | 显示文件开头部分 | head -n 10 file.txt (显示前10行) |
tail | 显示文件末尾部分 | tail -n 10 file.txt, tail -f log.txt (实时追踪日志) |
find | 查找文件 | find /home -name "*.txt", find . -type f -mtime -7 (找7天内修改的文件) |
locate | 快速查找文件(基于数据库) | locate passwd, 使用前可先运行 updatedb |
二、文件权限与属性
Linux 系统的权限管理核心。
| 命令 | 功能描述 | 常用示例 |
|---|
chmod | 修改文件权限 | chmod 755 script.sh, chmod u+x file (给所有者添加执行权限) |
chown | 修改文件所有者和所属组 | chown user:group file.txt |
chgrp | 修改文件所属组 | chgrp group file.txt |
权限说明:
r (读=4), w (写=2), x (执行=1)755: 所有者 rwx, 所属组 r-x, 其他用户 r-x644: 所有者 rw-, 所属组 r--, 其他用户 r--
三、文件内容查看与处理
| 命令 | 功能描述 | 常用示例 |
|---|
grep | 强大的文本搜索工具 | grep "error" log.txt, `ps aux |
wc | 统计文件的行数、单词数、字节数 | wc -l file.txt (统计行数) |
diff | 比较两个文件的差异 | diff file1.txt file2.txt |
sort | 对文件内容进行排序 | sort file.txt, sort -r file.txt (逆序) |
uniq | 报告或忽略重复的行 | uniq file.txt, 通常先 sort |
cut | 按列提取文本 | cut -d':' -f1 /etc/passwd (以冒号分隔,取第一列) |
sed | 流编辑器,用于过滤和转换文本 | sed 's/foo/bar/g' file.txt (将foo全部替换为bar) |
awk | 强大的文本分析工具 | awk -F':' '{print $1}' /etc/passwd (效果同上面的cut示例) |
四、系统进程管理
| 命令 | 功能描述 | 常用示例 |
|---|
ps | 显示当前进程快照 | ps aux, ps -ef |
top / htop | 动态显示进程状态(系统资源监视器) | top, htop (更友好,需安装) |
kill | 终止进程 | kill 1234, kill -9 1234 (强制杀死) |
pkill | 根据进程名终止进程 | pkill nginx |
killall | 根据进程名终止所有同名进程 | killall firefox |
jobs / bg / fg | 查看后台作业、将作业放到后台/前台 | ./script.sh & (后台运行), fg %1 (将1号作业调到前台) |
nohup | 使进程在用户退出登录后继续运行 | nohup ./server.sh & |
五、系统信息与性能监控
| 命令 | 功能描述 | 常用示例 |
|---|
uname | 显示系统信息 | uname -a (显示所有信息) |
uptime | 显示系统运行时间及负载 | uptime |
free | 显示内存使用情况 | free -h (以人类可读的单位显示) |
df | 显示磁盘空间使用情况 | df -h |
du | 显示文件或目录的磁盘使用量 | du -sh /home (查看/home总大小) |
lscpu | 显示CPU架构信息 | lscpu |
lsblk | 列出块设备信息(硬盘、分区等) | lsblk |
六、网络相关
| 命令 | 功能描述 | 常用示例 |
|---|
ping | 测试网络连通性 | ping google.com |
curl / wget | 从网络下载文件 | curl -O http://example.com/file, wget http://example.com/file |
ssh | 安全地远程登录另一台计算机 | ssh username@hostname |
scp | 安全地在本地和远程主机间复制文件 | scp file.txt user@remote:/path/ |
netstat / ss | 显示网络连接、路由表、接口统计等 | ss -tuln (查看监听端口), netstat -tulnp |
ifconfig / ip | 配置和显示网络接口参数 | ip addr show (推荐), ifconfig (较老) |
七、压缩与解压
| 命令 | 功能描述 | 常用示例 |
|---|
tar | 打包和解包文件(常与gzip/bzip2联用) | tar -czvf archive.tar.gz dir/ (压缩), tar -xzvf archive.tar.gz (解压) |
gzip / gunzip | 压缩/解压 .gz 文件 | gzip file, gunzip file.gz |
zip / unzip | 压缩/解压 .zip 文件 | zip archive.zip file1 file2, unzip archive.zip |
八、用户与用户组管理
| 命令 | 功能描述 | 常用示例 |
|---|
sudo | 以超级管理员权限执行命令 | sudo apt update |
su | 切换用户 | su - username (- 会切换环境变量) |
useradd / adduser | 添加用户 | sudo useradd newuser |
usermod | 修改用户属性 | sudo usermod -aG groupname username (将用户添加到附加组) |
passwd | 修改用户密码 | passwd (改自己的), sudo passwd username (改别人的) |
whoami | 显示当前登录的用户名 | whoami |
id | 显示用户身份信息 | id username |
九、软件包管理 (不同发行版不同)
Debian/Ubuntu (APT):
sudo apt update (更新软件包列表)sudo apt upgrade (升级所有已安装的包)sudo apt install package_name (安装软件包)sudo apt remove package_name (卸载软件包)
CentOS/RHEL/Fedora (YUM/DNF):
sudo yum update 或 sudo dnf updatesudo yum install package_name 或 sudo dnf install package_namesudo yum remove package_name 或 sudo dnf remove package_name
十、其他实用命令
| 命令 | 功能描述 | 常用示例 |
|---|
man | 查看命令的手册页 | man ls |
which | 显示命令的完整路径 | which python |
history | 显示命令历史记录 | history, !55 (执行历史记录中第55条命令) |
alias | 创建命令别名 | alias ll='ls -alF' |
echo | 输出一行文本 | echo "Hello World" |
date | 显示或设置系统日期和时间 | date, date "+%Y-%m-%d" |
使用技巧与核心概念
- Tab 键自动补全: 输入命令或文件名的一部分,按 Tab 键可以自动补全。
- 上下箭头: 翻阅之前执行过的命令。
Ctrl + C: 强制终止当前正在运行的命令。Ctrl + D: 退出当前终端会话(相当于输入 exit)。Ctrl + Z: 将当前任务挂起(暂停)到后台。Ctrl + R: 逆向搜索命令历史记录。- 管道
|: 将一个命令的输出作为另一个命令的输入。例如: ps aux | grep nginx。 - 重定向
> 和 >>: > 将输出重定向到文件(覆盖), >> 是追加。例如: echo "text" > file.txt。 - 通配符:
* 匹配任意多个字符, ? 匹配一个字符。例如: rm *.txt。