韶关市葬花

Unix系统中常用内置工具的命令使用指南

2026-03-29 11:44:01 浏览次数:0
详细信息

Unix 系统常用内置工具命令指南

一、文件与目录操作

1. 基础操作

# 列出文件
ls [选项] [文件/目录]
  -l   详细列表(权限、所有者、大小等)
  -a   显示所有文件(包括隐藏文件)
  -h   人类可读的大小格式
  -t   按修改时间排序
  -r   反向排序

# 示例
ls -laht  # 详细列表显示所有文件(包括隐藏文件)
# 查看当前目录
pwd      # 打印工作目录
# 切换目录
cd [目录]
cd ~     # 切换到home目录
cd ..    # 切换到上级目录
cd -     # 切换到上一个目录
# 创建/删除目录
mkdir [选项] 目录名
  -p    创建多级目录(自动创建父目录)
mkdir -p project/{src,test,docs}

rmdir 目录名     # 删除空目录
# 复制文件/目录
cp [选项] 源文件 目标文件
  -r    递归复制目录
  -i    交互模式(覆盖前询问)
  -v    显示详细信息
cp -ri source_dir/ dest_dir/
# 移动/重命名
mv [选项] 源文件 目标文件
  -i    交互模式
mv oldname newname    # 重命名
mv file dir/         # 移动到目录
# 删除文件/目录
rm [选项] 文件/目录
  -r    递归删除
  -f    强制删除(不询问)
  -i    交互模式
rm -rf directory/    # 强制递归删除目录(谨慎使用!)

2. 文件查看与编辑

# 查看文件内容
cat [选项] 文件
  -n    显示行号
  -b    显示非空行号
cat file1 file2 > combined  # 合并文件

less 文件        # 分页查看(支持搜索:/pattern)
more 文件        # 分页查看(基本功能)
head -n 10 文件  # 查看前10行
tail -n 20 文件  # 查看后20行
  -f             # 实时跟踪文件变化(日志监控)
# 文本编辑器
vi/vim 文件       # vi编辑器
nano 文件         # 简单文本编辑器

二、文本处理工具

1. grep - 文本搜索

grep [选项] 模式 文件
  -i    忽略大小写
  -r    递归搜索目录
  -n    显示行号
  -v    反向匹配(显示不包含模式的行)
  -E    扩展正则表达式(等同egrep)
  -l    只显示文件名
  -c    统计匹配行数

# 示例
grep -rin "error" /var/log/
grep -E "^[A-Z]" file.txt     # 使用正则表达式

2. sed - 流编辑器

sed [选项] '命令' 文件
  -e    执行多个命令
  -i    直接修改文件(原处编辑)
  -n    抑制默认输出

# 常用命令
sed 's/old/new/g' file          # 替换所有old为new
sed '2,5d' file                 # 删除2-5行
sed -n '10,20p' file            # 打印10-20行
sed 's/^/# /' file > newfile    # 每行开头添加注释
sed -i.bak 's/foo/bar/g' file   # 替换并备份原文件

3. awk - 文本分析处理

awk [选项] '模式 {动作}' 文件
  -F    指定字段分隔符(默认空格)
  -v    定义变量

# 示例
awk '{print $1}' file           # 打印第一列
awk -F: '{print $1}' /etc/passwd # 以:分隔,打印第一列
awk '$3 > 100 {print $0}' file  # 第三列大于100的行
awk '{sum+=$1} END{print sum}'  # 求和
awk 'NR%2==1' file             # 打印奇数行

三、系统信息与监控

1. 系统状态

# 进程查看
ps [选项]
  aux   查看所有进程详细信息
  -ef   全格式列表
ps aux | grep nginx

top            # 实时进程监控(交互式)
htop           # 增强版top(需安装)

# 系统信息
uname -a       # 显示所有系统信息
whoami         # 当前用户名
hostname       # 主机名
uptime         # 系统运行时间及负载

# 内存与磁盘
free -h        # 内存使用情况(人类可读)
df -h          # 磁盘空间(人类可读)
du -sh dir/    # 目录大小
  -h           # 人类可读
  -s           # 总计
  --max-depth=N # 限制目录深度

2. 网络工具

ifconfig       # 网络接口信息(旧版)
ip addr        # 网络接口信息(新版)
netstat -tulpn # 网络连接状态
  -t    TCP连接
  -u    UDP连接
  -l    监听端口
  -p    显示进程信息
  -n    数字形式显示

ping 主机      # 测试网络连通性
  -c 4         # 发送4个包
traceroute 主机 # 路由跟踪

# 远程连接
ssh 用户@主机
scp 本地文件 用户@主机:路径   # 安全复制

四、权限管理

# 文件权限
chmod [选项] 权限 文件
  u=rwx,g=rx,o=    # 符号模式
  755             # 数字模式(rwxr-xr-x)
  -R              # 递归修改

# 示例
chmod u+x script.sh     # 给所有者添加执行权限
chmod 644 file.txt      # rw-r--r--
chmod -R 755 directory/ # 递归修改目录权限

chown 用户:组 文件      # 修改所有者
  -R                    # 递归修改

chgrp 组 文件           # 修改所属组

五、搜索与查找

1. find - 文件查找

find [路径] [选项] [表达式]
  -name "pattern"     # 按名称查找
  -type f/d          # 文件类型(f文件,d目录)
  -size +10M         # 大小大于10M
  -mtime -7          # 7天内修改过
  -user username     # 按用户
  -exec command {} \; # 对找到的文件执行命令

# 示例
find . -name "*.log" -type f
find /home -size +100M -exec ls -lh {} \;
find . -mtime +30 -delete          # 删除30天前的文件

2. locate - 快速文件查找

locate pattern      # 快速查找(基于数据库)
updatedb           # 更新locate数据库

3. which/whereis - 命令查找

which command      # 显示命令的完整路径
whereis command    # 显示命令的二进制、源和手册页位置

六、压缩与归档

# tar - 归档工具
tar [选项] 文件
  -c    创建归档
  -x    解压归档
  -v    详细输出
  -f    指定文件名
  -z    使用gzip压缩/解压
  -j    使用bzip2压缩/解压
  -J    使用xz压缩/解压

# 示例
tar -czvf archive.tar.gz dir/    # 创建gzip压缩包
tar -xzvf archive.tar.gz         # 解压gzip包
tar -cjvf archive.tar.bz2 dir/   # 创建bzip2压缩包

七、管道与重定向

# 管道(|)- 连接命令
command1 | command2     # 将command1的输出作为command2的输入

# 示例
ps aux | grep python | wc -l
cat file.txt | sort | uniq

# 重定向
> file      # 输出重定向(覆盖)
>> file     # 输出重定向(追加)
2> file     # 错误输出重定向
&> file     # 所有输出重定向

# 示例
ls > files.txt
echo "new line" >> file.txt
command 2> error.log
command &> output.log

八、其他实用工具

# 排序与去重
sort [选项] 文件
  -n    数值排序
  -r    反向排序
  -u    去重
  -k    指定排序列

uniq [选项] 文件
  -c    统计重复次数
  -d    只显示重复行

# 示例
sort file.txt | uniq -c

# 行计数
wc [选项] 文件
  -l    行数
  -w    单词数
  -c    字符数

# 比较文件
diff file1 file2      # 比较文件差异
cmp file1 file2       # 逐字节比较

# 任务控制
&           # 后台运行
jobs        # 查看后台作业
fg %n       # 前台运行作业n
bg %n       # 后台运行作业n
Ctrl+Z      # 暂停任务
Ctrl+C      # 终止任务

九、组合使用示例

# 1. 查找并处理文件
find /var/log -name "*.log" -type f -mtime +7 -exec gzip {} \;

# 2. 统计代码行数
find . -name "*.py" -type f | xargs wc -l

# 3. 监控日志变化
tail -f /var/log/syslog | grep -i error

# 4. 进程管理组合
ps aux | grep -v grep | grep nginx | awk '{print $2}' | xargs kill -9

# 5. 文件分析
awk -F, '{print $1}' data.csv | sort | uniq -c | sort -nr

注意事项

谨慎使用rm -rfchmod 777dd等危险命令 使用别名:在.bashrc中设置安全别名
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
测试命令:在不熟悉的命令前加echo先查看效果 备份重要数据:执行可能破坏数据的操作前先备份 查看手册:使用man commandcommand --help获取详细帮助

这个指南覆盖了Unix/Linux系统中90%的日常操作需求。掌握这些工具的组合使用可以大大提高工作效率。

相关推荐