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