运维人员在日常工作中确实需要熟练掌握多种Linux命令来高效地管理系统。以下是100个常用的Linux命令及其使用案例,这些命令涵盖了文件操作、系统监控、网络管理、用户管理等多个方面:
文件和目录操作
-
ls - 列出目录内容。
-
ls -lah
查看目录详细列表,包括隐藏文件。
-
-
cd - 更改目录。
-
cd /var/log
进入日志目录。
-
- pwd - 打印当前目录路径。
-
mkdir - 创建新目录。
-
mkdir -p /tmp/newdir
创建新目录,包括其父目录。
-
-
rmdir - 删除空目录。
-
rmdir /tmp/newdir
删除空目录。
-
-
rm - 删除文件或目录。
-
rm -rf /tmp/oldfiles
递归删除目录及其内容。
-
-
cp - 复制文件或目录。
-
cp file1.txt file2.txt
将文件复制到新位置。
-
-
mv - 移动或重命名文件或目录。
-
mv old.txt new.txt
重命名文件。
-
-
touch - 更改文件时间戳或创建新文件。
-
touch newfile.txt
创建一个新文件。
-
-
ln - 创建硬链接或软链接。
-
ln -s /path/to/file link
创建软链接。
-
-
find - 在目录树中查找文件。
-
find / -name "config.txt"
查找名称为config.txt的文件。
-
-
locate - 使用索引数据库快速查找文件路径。
-
locate nginx.conf
快速定位nginx配置文件。
-
-
tar - 打包和解包文件。
-
tar -czvf archive.tar.gz /path/to/directory
创建压缩包。
-
-
gzip - 压缩文件。
-
gzip file.txt
压缩文件。
-
-
gunzip - 解压文件。
-
gunzip file.gz
解压文件。
-
-
zip - 压缩文件。
-
zip archive.zip file1 file2
压缩多个文件。
-
-
unzip - 解压文件。
-
unzip archive.zip
解压文件。
-
-
diff - 比较文件内容差异。
-
diff file1.txt file2.txt
比较两个文件。
-
-
cat - 查看、创建和合并文件。
-
cat file.txt
查看文件内容。
-
-
tac - 反向查看文件内容。
-
tac file.txt
从最后一行到第一行显示文件内容。
-
-
more - 分页查看文件内容。
-
more largefile.txt
分页查看大文件。
-
-
less - 分页查看文件内容(更高级)。
-
less largefile.txt
更高效地分页查看大文件。
-
-
head - 查看文件的开始部分。
-
head -n 5 file.txt
查看文件的前5行。
-
-
tail - 查看文件的结尾部分。
-
tail -n 100 file.log
查看日志文件的最后100行。
-
-
chmod - 更改文件权限。
-
chmod 755 script.sh
更改脚本权限。
-
-
chown - 更改文件所有者。
-
chown user:usergroup file.txt
更改文件的所有者和组。
-
-
chgrp - 更改文件所属组。
-
chgrp newgroup file.txt
更改文件所属组。
-
-
du - 查看目录空间使用量。
-
du -sh /home/user
查看用户目录的总大小。
-
-
df - 查看磁盘使用情况。
-
df -h
以易读的格式显示磁盘使用情况。
-
-
mount - 挂载文件系统。
-
mount /dev/sdb1 /mnt/usb
挂载USB驱动器。
-
-
umount - 卸载文件系统。
-
umount /mnt/usb
卸载USB驱动器。
-
-
stat - 查看文件或文件系统状态。
-
stat filename
显示文件的详细状态信息。
-
系统管理与监控
-
ps - 查看当前进程。
-
ps aux
显示所有运行的进程。
-
-
top - 显示实时进程信息。
-
top
查看实时进程信息。
-
-
htop - 交互式进程查看器。
-
htop
更高级的进程查看器。
-
-
kill - 终止进程。
-
kill -9 1234
强制终止进程号为1234的进程。
-
-
pkill - 根据名称终止进程。
-
pkill nginx
终止所有名为nginx的进程。
-
-
killall - 根据名称终止所有进程。
-
killall httpd
终止所有httpd进程。
-
- uptime - 查看系统运行时间和负载。
-
dmesg - 查看内核启动信息。
-
dmesg | grep USB
查看与USB相关的启动信息。
-
-
vmstat - 查看系统性能。
-
vmstat 1
每秒更新显示系统性能。
-
-
iostat - 查看CPU统计和I/O统计。
-
iostat
查看CPU和I/O统计信息。
-
-
free - 查看内存使用情况。
-
free -m
以MB为单位显示内存使用情况。
-
-
lsof - 查看打开的文件。
-
lsof -u user
查看指定用户打开的文件。
-
-
uname - 查看系统信息。
-
uname -a
显示所有系统信息。
-
-
watch - 实时显示命令输出。
-
watch -n 1 'date +%T'
每秒更新显示当前时间。
-
- who - 查看登录用户。
- w - 查看活动用户。
-
last - 查看用户登录日志。
-
last -n 10
查看最近10次的登录记录。
-
- whoami - 显示当前用户。
- id - 显示用户ID和组ID。
- cron - 定时任务调度器。
-
crontab - 管理cron的任务。
-
crontab -e
编辑当前用户的cron任务。
-
-
systemctl - 控制systemd系统和服务管理器。
-
systemctl restart nginx
重启nginx服务。
-
-
journalctl - 查询和显示systemd日志。
-
journalctl -u sshd
查看sshd服务的日志。
-
-
sysctl - 运行时更改内核参数。
-
sysctl -w net.ipv4.ip_forward=1
开启IP转发。
-
- init - 初始化进程。
网络管理
-
ping - 测试网络连接。
-
ping google.com
检查与google.com的网络连接。
-
- ifconfig - 配置或显示网络接口配置。
- iwconfig - 配置无线网络接口。
-
netstat - 显示网络连接、路由表、接口统计等信息。
-
netstat -tulnp
查看所有监听的端口和服务。
-
-
ss - 实用工具来调查sockets。
-
ss -tuln
显示打开的网络端口和连接。
-
-
traceroute - 显示数据包路径。
-
traceroute google.com
查看数据包到google.com的路径。
-
-
curl - 传输数据的工具,支持多种协议。
-
curl -O http://example.com/file.txt
从网上下载文件。
-
-
wget - 从网络下载文件。
-
wget -c http://example.com/largefile.zip
继续未完成的下载。
-
-
scp - 安全复制文件。
-
scp file.txt user@remote:/path
将本地文件复制到远程服务器。
-
-
rsync - 同步文件和目录。
-
rsync -avz /local/dir remote:/path
同步本地目录到远程服务器。
-
-
iptables - 配置Linux内核防火墙。
-
iptables -L
查看所有iptables规则。
-
-
firewalld - 管理防火墙规则。
-
firewall-cmd --list-all
查看所有防火墙规则。
-
-
ip - 显示 / 操作路由、设备、策略路由和隧道。
-
ip addr show
显示所有网络接口的IP地址。
-
-
hostname - 查看或设置系统的主机名。
-
hostname -I
显示主机的IP地址。
-
-
dig - 查询DNS名称。
-
dig +short mydomain.com
获取域名的IP地址。
-
-
nslookup - 网络管理工具来查询DNS查找。
-
nslookup google.com
查询google.com的DNS信息。
-
用户管理
-
useradd - 创建新的用户账户。
-
useradd newuser
创建新用户。
-
-
usermod - 修改用户账户。
-
usermod -aG sudo newuser
将用户添加到sudo组。
-
-
userdel - 删除用户账户。
-
userdel olduser
删除用户。
-
-
groupadd - 添加新用户组。
-
groupadd newgroup
创建新用户组。
-
-
groupdel - 删除用户组。
-
groupdel oldgroup
删除用户组。
-
-
passwd - 更改用户密码。
-
passwd user
更改用户的密码。
-
-
chage - 更改用户密码过期信息。
-
chage -l user
显示用户的密码过期信息。
-
-
su - 切换用户身份。
-
su - user
切换到另一个用户。
-
-
sudo - 以其他用户身份执行命令。
-
sudo apt update
以超级用户权限执行更新。
-
文本处理
-
grep - 文件模式搜索。
-
grep "error" logfile.log
在日志文件中搜索"error"。
-
-
egrep - 扩展的grep。
-
egrep -o "error|warning" logfile.log
搜索"error"或"warning"。
-
-
fgrep - 固定字符串的grep。
-
fgrep "12345" file.txt
搜索包含"12345"的行。
-
-
awk - 文本模式和数据操作语言。
-
awk '{print $1}' file.txt
打印每行的第一个字段。
-
-
sed - 流编辑器。
-
sed 's/old/new/g' file.txt
将文件中的"old"全部替换为"new"。
-
-
cut - 剪切文本。
-
cut -d':' -f1 /etc/passwd
剪切passwd文件的第一个字段。
-
-
sort - 排序文本。
-
sort names.txt
对文件进行排序。
-
-
uniq - 报告或省略重复行。
-
uniq -d file.txt
显示重复行。
-
-
tr - 转换或删除字符。
-
echo "HELLO" | tr 'A-Z' 'a-z'
将文本转换为小写。
-
-
wc - 统计字数。
-
wc -l file.txt
计算文件的行数。
-
系统启动和维护
-
shutdown - 关闭或重启系统。
-
shutdown -h now
立即关机。
-
- reboot - 重启系统。
- halt - 关闭系统。
- init 0 - 关闭系统。
- init 6 - 重启系统。
-
fsck - 检查和修复文件系统。
-
fsck /dev/sda1
检查和修复/dev/sda1。
-
-
mkfs - 在设备上创建文件系统。
-
mkfs.ext4 /dev/sdb1
在sdb1上创建一个新的ext4文件系统。
-
- dd - 转换和复制文件。
- `dd if=/dev/zero of=/dev/sdb bs=1M count=1024` 使用dd命令清空磁盘。
这些命令为运维人员提供了强大的工具集,以有效地管理Linux系统。掌握这些命令有助于进行日常维护、故障排查和性能优化。