1. 文件和目录操作
ls:列出目录内容。- 例如:
ls -l列出详细信息,ls -a列出包括隐藏文件的内容。
- 例如:
cd:切换目录。- 例如:
cd /home/user切换到/home/user目录。
- 例如:
pwd:显示当前工作目录。mkdir:创建目录。- 例如:
mkdir newdir创建一个名为newdir的目录。
- 例如:
rmdir:删除空目录。rm:删除文件或目录。- 例如:
rm -r dir递归删除目录及其内容。
- 例如:
cp:复制文件或目录。- 例如:
cp file1 file2将file1复制到file2。
- 例如:
mv:移动或重命名文件或目录。- 例如:
mv file1 file2重命名file1为file2,或者将file1移动到指定目录。
- 例如:
2. 文件内容查看与处理
cat:显示文件内容。- 例如:
cat file.txt显示file.txt的内容。
- 例如:
more:分页显示文件内容。less:类似于more,但支持上下滚动。head:显示文件的前面几行。- 例如:
head -n 10 file.txt显示file.txt的前10行。
- 例如:
tail:显示文件的最后几行。- 例如:
tail -n 10 file.txt显示file.txt的最后10行。
- 例如:
grep:搜索文件内容。- 例如:
grep "text" file.txt在file.txt中查找包含 "text" 的行。
- 例如:
sed:流编辑器,用于处理文件的文本替换。- 例如:
sed 's/old/new/g' file.txt将file.txt中的 "old" 替换为 "new"。
- 例如:
awk:用于处理和分析文本文件的内容,常用于按列处理数据。- 例如:
awk '{print $1}' file.txt打印file.txt中的第一列。
- 例如:
3. 系统信息和资源监控
top:显示当前系统的进程及资源使用情况。htop:top命令的增强版,提供更直观的交互界面。ps:列出当前正在运行的进程。- 例如:
ps aux列出所有进程。
- 例如:
free:查看内存使用情况。- 例如:
free -h以人类可读的方式显示内存使用情况。
- 例如:
df:查看磁盘空间使用情况。- 例如:
df -h以人类可读的方式显示磁盘使用情况。
- 例如:
du:查看目录或文件的磁盘使用情况。- 例如:
du -sh /home/user查看/home/user目录的磁盘使用情况。
- 例如:
uptime:显示系统的运行时间和负载情况。
4. 网络相关命令
ping:测试网络连接。- 例如:
ping google.com测试与 Google 的网络连接。
- 例如:
ifconfig:显示或配置网络接口(旧版命令,已被ip命令取代)。ip:显示或配置网络接口、路由等。- 例如:
ip addr show显示所有网络接口信息。
- 例如:
netstat:显示网络连接、路由表等信息。ss:类似于netstat,但更现代高效。traceroute:追踪数据包经过的路由路径。wget:从网络上下载文件。- 例如:
wget http://example.com/file下载文件。
- 例如:
5. 文件权限管理
chmod:改变文件或目录的权限。- 例如:
chmod 755 file设置文件权限为rwxr-xr-x。
- 例如:
chown:改变文件或目录的所有者。- 例如:
chown user:group file改变文件的所有者和所属组。
- 例如:
chgrp:改变文件的组所有权。- 例如:
chgrp group file改变文件的所属组。
- 例如:
6. 用户管理
useradd:添加新用户。- 例如:
useradd newuser创建一个新用户newuser。
- 例如:
usermod:修改用户信息。- 例如:
usermod -aG sudo user将用户user添加到sudo组。
- 例如:
userdel:删除用户。- 例如:
userdel -r user删除用户user及其主目录。
- 例如:
passwd:修改用户密码。- 例如:
passwd user修改用户user的密码。
- 例如:
7. 进程管理
kill:终止进程。- 例如:
kill -9 PID终止指定进程。
- 例如:
killall:根据进程名称终止进程。- 例如:
killall process_name终止所有process_name进程。
- 例如:
nohup:在后台运行进程,即使用户注销后进程也会继续运行。- 例如:
nohup command &将command放到后台运行。
- 例如:
8. 文件查找
find:查找文件。- 例如:
find /home -name "*.txt"在/home目录下查找所有.txt文件。
- 例如:
locate:快速查找文件(需要更新数据库)。- 例如:
locate file.txt查找名为file.txt的文件。
- 例如:
which:查看命令的位置。- 例如:
which python显示python命令的完整路径。
- 例如:
9. 压缩与解压
tar:打包和解包文件。- 例如:
tar -czvf file.tar.gz /path/to/dir压缩文件夹为.tar.gz格式。 - 例如:
tar -xzvf file.tar.gz解压.tar.gz文件。
- 例如:
zip:压缩文件。- 例如:
zip file.zip file1 file2将file1和file2压缩为file.zip。
- 例如:
unzip:解压.zip文件。- 例如:
unzip file.zip解压file.zip。
- 例如:
10. 包管理
apt(Debian/Ubuntu):用于安装、更新、删除软件包。- 例如:
sudo apt install package安装软件包。
- 例如:
yum(CentOS/RHEL):用于安装、更新、删除软件包。- 例如:
sudo yum install package安装软件包。
- 例如:
dnf(Fedora):用于安装、更新、删除软件包。- 例如:
sudo dnf install package安装软件包。
- 例如:
11. 文件系统操作
mount:挂载文件系统。- 例如:
mount /dev/sdb1 /mnt将/dev/sdb1挂载到/mnt目录。
- 例如:
umount:卸载文件系统。- 例如:
umount /mnt卸载/mnt目录上的文件系统。
- 例如:
fsck:检查和修复文件系统。- 例如:
fsck /dev/sdb1检查并修复sdb1上的文件系统。
- 例如:
tune2fs:调整 ext2/ext3/ext4 文件系统的参数。- 例如:
tune2fs -l /dev/sda1显示文件系统的详细信息。
- 例如:
12. 磁盘管理
fdisk:磁盘分区工具。- 例如:
fdisk /dev/sda对磁盘/dev/sda进行分区。
- 例如:
parted:用于创建、删除、修改磁盘分区的工具。- 例如:
parted /dev/sda启动分区管理工具。
- 例如:
mkfs:格式化文件系统。- 例如:
mkfs.ext4 /dev/sda1将/dev/sda1格式化为 ext4 文件系统。
- 例如:
lsblk:列出块设备信息。- 例如:
lsblk显示系统的磁盘及分区信息。
- 例如:
blkid:查看设备的 UUID 和文件系统类型。- 例如:
blkid /dev/sda1显示/dev/sda1的 UUID 和文件系统类型。
- 例如:
13. 日志管理
dmesg:查看内核环缓冲区的消息,通常用于查看硬件信息和内核日志。journalctl:查看系统日志(针对使用 systemd 的系统)。- 例如:
journalctl -xe查看系统日志中的错误信息。
- 例如:
tail -f:实时查看日志文件内容。- 例如:
tail -f /var/log/syslog实时查看系统日志。
- 例如:
logger:将消息添加到系统日志。- 例如:
logger "This is a test message"向系统日志添加一条消息。
- 例如:
14. 定时任务
crontab:配置定时任务。- 例如:
crontab -e编辑当前用户的定时任务。 - 定时任务格式:
* * * * * /path/to/command(分钟、小时、日、月、星期、命令)。
- 例如:
at:运行定时任务一次。- 例如:
echo "backup.sh" | at 10:00在10:00执行backup.sh脚本。
- 例如:
15. 环境变量和配置
export:设置环境变量。- 例如:
export PATH=$PATH:/usr/local/bin将/usr/local/bin添加到PATH环境变量中。
- 例如:
env:显示当前的环境变量。- 例如:
env显示所有环境变量。
- 例如:
alias:创建命令别名。- 例如:
alias ll='ls -l'创建ll的别名,等价于ls -l。
- 例如:
source:重新加载配置文件。- 例如:
source ~/.bashrc重新加载用户的.bashrc文件。
- 例如:
16. 文件和目录查找
locate:通过更新的数据库查找文件。- 例如:
locate filename查找名为filename的文件。
- 例如:
updatedb:更新locate数据库。- 例如:
updatedb更新文件数据库。
- 例如:
find:根据条件查找文件。- 例如:
find /home -name "*.log"在/home目录下查找.log文件。
- 例如:
xargs:将标准输入转换为命令行参数。- 例如:
find . -name "*.txt" | xargs wc -l查找所有.txt文件并统计行数。
- 例如:
17. 文本处理和编辑
cut:按列分割文本文件。- 例如:
cut -d ',' -f 1 file.csv从 CSV 文件中提取第一列。
- 例如:
sort:排序文件内容。- 例如:
sort file.txt将文件file.txt排序。
- 例如:
uniq:去重文件中的重复行。- 例如:
sort file.txt | uniq将文件file.txt排序并去除重复行。
- 例如:
tr:替换字符。- 例如:
echo "abc" | tr 'a' 'z'将abc中的a替换为z。
- 例如:
tee:读取标准输入并将其内容输出到文件。- 例如:
echo "Hello" | tee file.txt将 "Hello" 写入文件file.txt并输出到屏幕。
- 例如:
18. 远程操作和管理
ssh:远程登录到另一台计算机。- 例如:
ssh user@hostname通过 SSH 协议连接到hostname主机。
- 例如:
scp:安全复制文件。- 例如:
scp file.txt user@hostname:/path/to/destination将文件复制到远程主机。
- 例如:
rsync:用于同步文件和目录。- 例如:
rsync -av source/ destination/同步目录。
- 例如:
sftp:安全的文件传输协议。- 例如:
sftp user@hostname与远程主机建立 SFTP 连接。
- 例如:
19. 系统启动与关机
reboot:重新启动系统。shutdown:关闭系统。- 例如:
shutdown -h now立即关机。
- 例如:
halt:立即停止系统。init:改变系统的运行级别(用于 SysVinit 系统)。- 例如:
init 0关机,init 6重启。
- 例如:
20. 安装与包管理
-
Debian/Ubuntu 系统:
apt-get:包管理命令。- 例如:
sudo apt-get install package安装软件包。 sudo apt-get update更新包列表。sudo apt-get upgrade升级已安装的软件包。sudo apt-get remove package卸载软件包。
- 例如:
-
CentOS/RHEL 系统:
yum:包管理工具。- 例如:
sudo yum install package安装软件包。 sudo yum update更新所有安装的包。sudo yum remove package卸载包。
- 例如:
-
Fedora 系统:
dnf:包管理工具。- 例如:
sudo dnf install package安装软件包。 sudo dnf update更新所有安装的包。sudo dnf remove package卸载软件包。
- 例如:
21. 磁盘和文件系统性能
iostat:查看磁盘 I/O 性能。- 例如:
iostat -x显示详细的磁盘 I/O 性能数据。
- 例如:
vmstat:查看虚拟内存的使用情况。- 例如:
vmstat 1每秒钟显示一次虚拟内存的状态。
- 例如:
sar:收集、报告和保存系统活动信息。- 例如:
sar -u 1 3显示 CPU 使用情况,每秒更新一次,3 次。
- 例如:
22. 系统备份
tar:压缩和打包文件。- 例如:
tar -czvf backup.tar.gz /path/to/dir打包并压缩目录为.tar.gz文件。
- 例如:
rsync:备份和同步文件。- 例如:
rsync -av /path/to/dir /backup/dir将文件同步到备份目录。
- 例如:
23. 安全管理
iptables:设置防火墙规则(基于 Linux 内核的包过滤工具)。- 例如:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT允许通过 TCP 端口 80 的流量。
- 例如:
ufw:简单的防火墙配置工具(Ubuntu/Debian 系统)。- 例如:
sudo ufw allow 80/tcp允许 HTTP 端口流量。
- 例如: