以下是 50 个 Linux 下的高级命令及其使用说明。这些命令涵盖了系统管理、文件处理、网络配置和调试等方面的操作。
- find
搜索文件和目录。
find /path/to/search -name "filename" # 按名称搜索文件
find /path/to/search -type f -mtime -7 # 查找过去7天内修改过的文件
- grep
在文件中搜索文本。
grep "search_text" file.txt # 搜索指定文本
grep -r "search_text" /path/to/dir # 递归搜索目录中的文本
grep -i "search_text" file.txt # 忽略大小写搜索
- awk
处理和分析文本数据。
awk '{print $1}' file.txt # 打印文件的第一列
awk -F":" '{print $1, $3}' /etc/passwd # 使用":"作为字段分隔符
- sed
流编辑器,用于处理和转换文本流。
sed 's/old_text/new_text/' file.txt # 替换文本中的"old_text"为"new_text"
sed -i 's/old_text/new_text/' file.txt # 直接修改文件
- xargs
将输入数据转换为命令行参数。
find /path/to/dir -type f | xargs rm # 删除目录中的所有文件
echo "file1 file2 file3" | xargs -n 1 mv -t /new/dir # 将文件移动到新目录
- tar
打包和解包文件。
tar -cvf archive.tar /path/to/dir # 打包目录
tar -xvf archive.tar # 解包 tar 文件
tar -czvf archive.tar.gz /path/to/dir # 压缩目录为 tar.gz
tar -xzvf archive.tar.gz # 解压 tar.gz 文件
- gzip 和 gunzip
压缩和解压文件。
gzip file.txt # 压缩文件
gunzip file.txt.gz # 解压文件
- bzip2 和 bunzip2
使用 bzip2 压缩和解压文件。
bzip2 file.txt # 压缩文件
bunzip2 file.txt.bz2 # 解压文件
- zip 和 unzip
压缩和解压 zip 文件。
zip archive.zip file1 file2 # 压缩文件
unzip archive.zip # 解压 zip 文件
- ssh
安全地远程连接到另一台计算机。
ssh user@remote_host # 连接到远程主机
ssh -i /path/to/key user@remote_host # 使用私钥文件连接
- scp
安全地复制文件到远程主机或从远程主机复制文件。
scp file.txt user@remote_host:/path/to/dir # 从本地复制文件到远程主机
scp user@remote_host:/path/to/file.txt . # 从远程主机复制文件到本地
- rsync
高效地同步文件和目录。
rsync -av /path/to/source/ /path/to/dest/ # 同步本地目录
rsync -avz user@remote_host:/path/to/dir /path/to/local/dir # 同步远程目录
- curl
与网络服务器交互,发送和接收数据。
curl http://example.com # 获取网页内容
curl -O http://example.com/file.txt # 下载文件
curl -X POST -d "param1=value1" http://example.com/api # 发送 POST 请求
- wget
从网络上下载文件。
wget http://example.com/file.txt # 下载文件
wget -r http://example.com/ # 递归下载网站
- netstat
显示网络连接、路由表和接口统计信息。
netstat -tuln # 显示监听的端口
netstat -anp # 显示网络连接和相关程序
- ss
显示网络套接字信息。
ss -tuln # 显示监听的端口
ss -s # 显示套接字统计
- top
实时显示系统进程和资源使用情况。
top # 显示系统进程
htop # 交互式进程查看器
- ps
显示当前进程状态。
ps aux # 显示所有进程的详细信息
ps -ef # 显示所有进程的标准格式
- kill
终止进程。
kill PID # 终止指定 PID 的进程
kill -9 PID # 强制终止进程
- pkill
根据进程名称终止进程。
pkill process_name # 终止所有匹配进程名称的进程
- systemctl
管理系统服务(适用于使用 systemd 的系统)。
systemctl start service_name # 启动服务
systemctl stop service_name # 停止服务
systemctl restart service_name # 重启服务
systemctl status service_name # 查看服务状态
- journalctl
查看和分析系统日志(适用于使用 systemd 的系统)。
journalctl -xe # 查看最近的日志
journalctl -u service_name # 查看指定服务的日志
- crontab
管理定时任务。
crontab -e # 编辑当前用户的 crontab 文件
crontab -l # 列出当前用户的 crontab 任务
- at
安排一次性任务。
at now + 1 minute # 安排任务在一分钟后执行
atq # 列出待处理的任务
atrm job_number # 删除指定任务
- chmod
更改文件或目录的权限。
chmod 755 file.txt # 设置权限为 rwxr-xr-x
chmod -R 755 /path/to/dir # 递归设置目录权限
- chown
更改文件或目录的所有者和组。
chown user:group file.txt # 更改文件所有者和组
chown -R user:group /path/to/dir # 递归更改目录所有者和组
- df
显示磁盘空间使用情况。
df -h # 以人类可读的格式显示磁盘使用情况
df -i # 显示 inode 使用情况
- du
显示目录的磁盘使用情况。
du -sh /path/to/dir # 显示目录总大小
du -ah /path/to/dir # 显示目录下每个文件和子目录的大小
- free
显示内存使用情况。
free -h # 以人类可读的格式显示内存使用情况
free -m # 以 MB 为单位显示内存使用情况
- uptime
显示系统运行时间和负载平均值。
uptime # 显示系统运行时间和负载平均值
- dmesg
显示内核和启动信息。
dmesg # 显示内核环形缓冲区中的信息
dmesg | grep error # 过滤显示错误信息
- lsof
列出打开的文件和相关的进程信息。
lsof # 显示所有打开的文件
lsof -i :80 # 显示使用端口80的进程
- strace
跟踪系统调用和信号。
strace command # 跟踪命令的系统调用
strace -p PID # 跟踪指定进程的系统调用
- tcpdump
捕获和分析网络流量。
tcpdump -i eth0 # 捕获 eth0 网络接口的流量
tcpdump -i eth0 port 80 # 捕获指定端口的流量
- iptables
配置和管理网络防火墙规则。
iptables -L # 列出当前防火墙规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 TCP 端口22的连接
- ip
显示和修改网络接口和路由。
ip addr show # 显示网络接口的 IP 地址
ip route show # 显示路由表
- hostname
显示或设置系统主机名。
hostname # 显示当前主机名
hostnamectl set-hostname new-hostname # 设置新的主机名
- mount
挂载文件系统。
mount /dev/sdX1 /mnt/point # 挂载设备到指定目录
umount /mnt/point # 卸载挂载的文件系统
- blkid
列出块设备的信息。
blkid # 显示所有块设备的 UUID 和文件系统类型
- parted
管理磁盘分区。
parted /dev/sdX # 启动 parted 工具
parted> print # 打印分区表
- fdisk
管理磁盘分区表。
fdisk /dev/sdX # 启动 fdisk 工具
fdisk -l # 列出所有分区信息
- mkfs
创建文件系统。
mkfs.ext4 /dev/sdX1 # 创建 ext4 文件系统
mkfs.xfs /dev/sdX1 # 创建 xfs 文件系统
- fsck
检查和修复文件系统错误。
fsck /dev/sdX1 # 检查文件系统
fsck -y /dev/sdX1 # 自动修复文件系统错误
- locale
显示和设置区域设置。
locale # 显示当前区域设置
locale -a # 显示所有可用的区域设置
- env
显示环境变量或设置环境变量。
env # 显示当前环境变量
env VAR=value command # 设置环境变量并运行命令
- alias
创建命令别名。
alias ll='ls -la' # 创建别名
unalias ll # 删除别名
- history
显示命令历史记录。
history # 显示命令历史
history | grep 'command' # 查找历史记录中的命令
- cron
计划任务执行。
crontab -e # 编辑当前用户的计划任务
crontab -l # 列出当前用户的计划任务
- watch
定期执行命令并显示输出。
watch -n 5 'df -h' # 每5秒执行一次 df -h 并显示结果
- cut
从文本中提取字段。
cut -d":" -f1 /etc/passwd # 以":"分隔符提取第一字段
cut -c1-10 file.txt # 提取每行的前10个字符