当前位置: 首页 > news >正文

常用SHELL命令

在 Unix/Linux 系统中,除了基本的文件和目录操作命令外,还有许多强大的工具命令,用于文本处理、系统监控、文件操作等。以下是一些常用的 Shell 命令,特别是类似 sedawk 的文本处理工具:

文本处理命令

  1. sed - 流编辑器,用于文本替换、删除、插入等操作

    sed 's/old/new/g' file.txt       # 替换文件中的所有 'old' 为 'new'
    sed -n '1,5p' file.txt           # 打印文件的第 1 到第 5 行
    sed '/pattern/d' file.txt        # 删除匹配 'pattern' 的行
    
  2. awk - 文本处理工具,适用于复杂的文本分析和处理

    awk '{print $1}' file.txt        # 打印每行的第一个字段
    awk -F: '{print $1, $3}' /etc/passwd  # 使用 ':' 作为分隔符,打印每行的第一个和第三个字段
    awk '/pattern/ {print $0}' file.txt   # 打印包含 'pattern' 的行
    
  3. grep - 文本搜索工具,用于匹配和查找文本

    grep 'pattern' file.txt          # 查找文件中匹配 'pattern' 的行
    grep -r 'pattern' /path/to/dir   # 递归查找目录中匹配 'pattern' 的文件
    grep -i 'pattern' file.txt       # 忽略大小写匹配 'pattern'
    
  4. cut - 截取文本行中的指定部分

    cut -d':' -f1 /etc/passwd        # 使用 ':' 作为分隔符,截取每行的第一个字段
    cut -c1-5 file.txt               # 截取每行的第 1 到第 5 个字符
    
  5. sort - 排序文件内容

    sort file.txt                    # 对文件内容进行排序
    sort -r file.txt                 # 逆序排序
    sort -n file.txt                 # 按数值排序
    
  6. uniq - 去除重复行

    uniq file.txt                    # 去除相邻重复行
    uniq -c file.txt                 # 统计重复行出现的次数
    
  7. tr - 替换或删除字符

    tr 'a-z' 'A-Z' < file.txt        # 将文件中的小写字母转换为大写
    tr -d '0-9' < file.txt           # 删除文件中的所有数字
    
  8. paste - 合并文件

    paste file1.txt file2.txt        # 将两个文件的内容并列显示
    
  9. join - 连接两个文件的内容

    join file1.txt file2.txt         # 连接两个文件的内容,基于共同字段
    
  10. head - 显示文件的前几行

    head -n 10 file.txt             # 显示文件的前 10 行
    
  11. tail - 显示文件的后几行

    tail -n 10 file.txt             # 显示文件的后 10 行
    tail -f file.txt                # 实时显示文件的新内容
    

系统监控和管理命令

  1. ps - 显示当前进程信息

    ps aux                          # 显示所有进程的详细信息
    ps -ef                          # 以标准格式显示所有进程
    
  2. top - 实时显示系统资源使用情况

    top                             # 实时显示系统资源使用情况
    
  3. htop - 交互式进程查看器(需安装)

    htop                            # 交互式显示系统资源使用情况
    
  4. df - 显示磁盘使用情况

    df -h                           # 以人类可读格式显示磁盘使用情况
    
  5. du - 显示目录和文件的磁盘使用情况

    du -sh /path/to/directory       # 显示目录的总大小
    du -h --max-depth=1 /path/to/directory  # 显示目录下每个子目录的大小
    
  6. free - 显示内存使用情况

    free -h                         # 以人类可读格式显示内存使用情况
    
  7. uptime - 显示系统运行时间和负载

    uptime                          # 显示系统运行时间和负载
    
  8. uname - 显示系统信息

    uname -a                        # 显示所有系统信息
    uname -r                        # 显示内核版本
    

文件操作命令

  1. cp - 复制文件或目录

    cp source.txt destination.txt   # 复制文件
    cp -r source_dir destination_dir  # 递归复制目录
    
  2. mv - 移动或重命名文件或目录

    mv oldname.txt newname.txt      # 重命名文件
    mv /path/to/source /path/to/destination  # 移动文件或目录
    
  3. rm - 删除文件或目录

    rm file.txt                     # 删除文件
    rm -r directory                 # 递归删除目录
    rm -rf directory                # 强制递归删除目录
    
  4. touch - 创建空文件或更新文件时间戳

    touch newfile.txt               # 创建一个空文件
    
  5. chmod - 修改文件权限

    chmod 755 script.sh             # 设置文件权限
    chmod +x script.sh              # 使文件可执行
    
  6. chown - 修改文件所有者

    chown user:group file.txt       # 修改文件所有者和所属组
    
  7. ln - 创建链接

    ln -s /path/to/source /path/to/link  # 创建符号链接
    ln /path/to/source /path/to/hardlink # 创建硬链接
    

这些命令是 Unix/Linux 系统中最常用的工具,熟练掌握这些命令可以大大提高你的工作效率。根据具体需求选择合适的命令和选项,可以完成各种复杂的任务。

http://www.lryc.cn/news/392367.html

相关文章:

  • Python脚本:将Word文档转换为Excel文件
  • 【单链表】03 设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。
  • 鸿蒙开发设备管理:【@ohos.vibrator (振动)】
  • 【信息学奥赛】CSP-J/S初赛07 排序算法及其他算法在初赛中的考察
  • 第N7周:seq2seq翻译实战-pytorch复现-小白版
  • java集合(1)
  • 分布式数据库HBase:从零开始了解列式存储
  • 接口测试流程及测试点!
  • 已经安装deveco-studio-4.1.3.500的基础上安装deveco-studio-3.1.0.501
  • 【C++】 解决 C++ 语言报错:Use of Uninitialized Variable
  • 2024年7月6日 十二生肖 今日运势
  • ubuntu丢失网络/网卡的一种原因解决方案
  • 第6篇 共识机制深度解析:PoW、PoS、DPoS和PBFT
  • Windows环境使用SpringBoot整合Minio平替OSS
  • LeetCode 196, 73, 105
  • 在Apache HTTP服务器上配置 TLS加密
  • C语言力扣刷题11——打家劫舍1——[线性动态规划]
  • 房屋租赁管理小程序的设计
  • oracle sql语句 排序 fjd = ‘0101‘ 排在 fjd = ‘0103‘ 的前面
  • 初试成绩占比百分之70!计算机专硕均分340+!华中师范大学计算机考研考情分析!
  • 【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十)-git(2)
  • JMH320【亲测】【御剑九歌】唯美仙侠手游御剑九歌+WIN学习手工端+视频教程+开服清档+运营后台+授权GM物品充值后台
  • 【matlab】信号分解/故障诊断——智能优化算法优化VMD
  • 【重磅】万能模型-直接能换迪丽热巴的模型
  • Web基础和HTTP协议
  • Mini-L-CTF-2022 minispringboot Thymeleaf模板注入 spel的绕过
  • LLM - 神经网络的组成
  • C++:拷贝构造函数
  • 云服务出现故障这样处理
  • CVPR2024自动驾驶轨迹预测方向的论文整理