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

Linux系统学习——指令二

Linux系统学习——指令二

  • sed 指令
  • perl 指令
  • rpm 指令
  • rz 和 sz 指令
  • 查看文件大小及压缩文件指令
      • 使用`tar`命令:
      • 使用`zip`命令:
      • 注意事项:
  • 解压文件指令

sed 指令

使用sed命令:sed -i 's/旧内容/新内容/g' 文件名,这将会在文件中查找并替换所有的旧内容为新内容

sed -i 's/"parameters": "aa,bb"/"parameters": "bb,aa"/' /usr/local/etc/a.txt
  • -i 选项表示直接修改文件内容,而不是输出到终端。

  • s/old/new/sed命令的替换语法,其中old表示要被替换的字符串,new表示替换后的字符串。

  • /usr/local/etc/a.txt 是要修改的文件路径。

使用以上命令,sed会在指定文件中找到第一个匹配的字符串并进行替换。如果要替换所有匹配的字符串,可以使用全局替换标志g,例如:

sed -i 's/"parameters": "aa,bb"/"parameters": "bb,aa"/g' /usr/local/etc/a.txt

perl 指令

perl -pi -e 's/旧内容/新内容/g' 文件名

示例:

perl -pi -e 's/"parameters": "aa,bb"/"parameters": "bb,aa"/g' /usr/local/etc/a.txt

rpm 指令

rpm -ivh --nodeps --force rpm-packagerpm -ivh --nodeps --force aaabbbccc.rpmrpm -qpl xxx.rpmrpm -ivh --nodeps --force --ignorearch XXX.rpm

rz 和 sz 指令

rz 命令(Receive ZMODEM),使用 ZMODEM 协议,将本地文件批量上传到远程 Linux/Unix 服务器,注意不能上传文件夹。

rz [OPTIONS]常用:
以二进制,并对控制字符进行转义,替换已存在的同名文件。rz -bye
-+, --append将文件内容追加到已存在的同名文件
-a, --ascii以文本方式传输
-b, --binary以二进制方式传输,推荐使用
--delay-startup N等待 N 秒
-e, --escape对所有控制字符转义,建议使用
-E, --rename已存在同名文件则重命名新上传的文件,以点和数字作为后缀
-p, --protect对 ZMODEM 协议有效,如果目标文件已存在则跳过
-q, --quiet安静执行,不输出提示信息
-v, --verbose输出传输过程中的提示信息
-y, --overwrite存在同名文件则替换
-X, --xmodem使用 XMODEM 协议
--ymodem使用 YMODEM 协议
-Z, --zmodem使用 ZMODEM 协议
--version显示版本信息
--h, --help显示帮助信息

sz 命令(Send ZMODEM)通过 ZMODEM 协议,可将多个文件从远程服务器下载到本地。

sz [OPTIONS] FILESsz 不用选项-bye,使用 XShell,也可以正确传输文本文件与二进制文件。
sz file1 file2 file3

查看文件大小及压缩文件指令

在Linux系统中,可以使用多种命令来查看文件大小、数据库大小,并把文件压缩成压缩包。以下是一些常用的命令和它们的用法:

  1. 查看文件大小

    • 使用ls命令查看文件或目录的大小:

      ls -lh 文件名
      ls -lah 文件名
      

      这里的-l选项表示长列表格式,-h选项表示以易读的格式显示大小(如KB、MB)。

    • 使用du(disk usage)命令查看文件或目录占用的磁盘空间:

      du -sh 目录或文件
      

      -s表示汇总(total)大小,-h表示易读格式。

  2. 查看数据库大小

    • 对于MySQL数据库,可以使用以下命令:

      mysql -u username -p -e "SELECT table_schema AS 'Database', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)' FROM information_schema.TABLES GROUP BY table_schema;"
      

      这将列出所有数据库的大小(以MB为单位)。输入密码后执行。

    • 对于PostgreSQL数据库,可以使用:

      sudo -u postgres pg_dump -s your_database_name | wc -c
      

      这将输出数据库大小的近似值(以字节为单位)。-s选项表示只导出模式(表结构等),不导出数据。

  3. 把文件压缩成压缩包

    • 使用tar命令创建压缩包:

      tar -czvf 压缩包名.tar.gz 要压缩的文件或目录
      

      其中-c表示创建压缩包,-z表示用gzip压缩,-v表示在压缩时显示进度,-f指定压缩包的文件名。

    • 如果想压缩成一个.zip文件,可以使用zip命令:

      zip -r 压缩包名.zip 要压缩的文件或目录
      

      -r表示递归地压缩目录。

    • 如果系统中没有安装zip,可以通过包管理器安装,例如使用apt(Debian/Ubuntu):

      sudo apt-get install zip
      

在Linux中,可以使用tar命令或zip命令将多个文件压缩成一个压缩包。以下是具体的步骤和示例:

使用tar命令:

  1. 打开终端:首先,需要打开Linux系统的终端。

  2. 定位到文件所在目录:使用cd命令定位到包含想要压缩的文件的目录。

    cd /path/to/directory
    
  3. 使用tar命令压缩文件

    • 要将当前目录下的所有文件和子目录压缩成一个名为archive.tar.gz的gzip压缩包,可以使用以下命令:

      tar -czvf archive.tar.gz *
      

      这里的*代表了当前目录下的所有文件和目录。

    • 如果只想压缩特定文件或目录,可以将*替换为具体的文件或目录名,例如:

      tar -czvf archive.tar.gz file1.txt file2.txt directory1/
      

tar命令在Linux中用于打包和压缩文件。-jxvftar命令的一系列选项,每个选项都有一个特定的功能。下面是每个选项的详细说明:

  • -j:这个选项告诉tar命令使用bzip2程序进行压缩或解压缩。bzip2是一种压缩算法,通常提供比gzip更好的压缩比率,但压缩和解压缩速度较慢。

  • -x:这是“extract”(提取)的缩写,表示从压缩包中提取文件。当想要解压缩一个tar压缩文件时,需要使用这个选项。

  • -v:这是“verbose”(详细)的缩写,表示在处理文件时,tar命令将显示详细的信息。使用这个选项时,tar会列出它正在提取的文件名,这有助于了解当前的进度。

  • -f:这是“file”(文件)的缩写,它后面跟着的是要操作的压缩文件名。使用-f选项可以指定压缩或解压缩的文件。

将这些选项组合起来,tar -jxvf命令的意思是:使用bzip2算法以详细模式从指定的压缩文件中提取文件。例如,如果有一个名为archive.tar.bz2的压缩文件,可以使用以下命令来解压缩它:

tar -jxvf archive.tar.bz2

这将列出压缩文件中所有文件的名称,并将它们解压缩到当前目录。

请注意,tar命令还有许多其他的选项和用法,可以根据需要进行不同的操作,如创建压缩包、查看压缩包内容等。

使用zip命令:

  1. 打开终端

  2. 定位到文件所在目录

  3. 使用zip命令压缩文件

    • 要将当前目录下的所有文件和子目录压缩成一个名为archive.zip的zip压缩包,可以使用以下命令:

      zip -r archive.zip *
      
    • 如果只想压缩特定的文件或目录,可以将*替换为具体的文件或目录名,例如:

      zip -r archive.zip file1.txt file2.txt directory1/
      

注意事项:

  • 需要确保有足够的权限来读取要压缩的文件和写入压缩包。
  • 如果使用的是图形界面,也可以使用文件管理器的压缩功能来创建压缩包。
  • 如果系统中没有安装zip程序,可以通过包管理器安装。例如,在Debian或Ubuntu上,可以使用以下命令安装:
    sudo apt-get update
    sudo apt-get install zip
    

使用这些命令,可以轻松地将多个文件或目录压缩成一个压缩包,便于存储或传输。

解压文件指令

在Linux中,解压压缩包可以使用多种不同的命令,具体取决于压缩包的格式。以下是一些常见压缩格式及其对应的Linux解压指令:

  1. .tar (Tape Archive):

    • 压缩包没有被进一步压缩,仅打包。
    • 解压命令:
      tar -xvf 压缩包名.tar
      
      • -x 表示提取(extract)。
      • -v 表示详细模式(verbose),显示正在解压的文件列表。
      • -f 表示后面跟着的是要操作的文件名。
  2. .tar.gz 或 .tgz (Gzip Compressed):

    • 使用gzip进行压缩的tar包。
    • 解压命令:
      tar -xzvf 压缩包名.tar.gz
      
      • -z 替换了-j,表示使用gzip进行解压缩。
  3. .tar.bz2 (Bzip2 Compressed):

    • 使用bzip2进行压缩的tar包。
    • 解压命令:
      tar -xjvf 压缩包名.tar.bz2
      
      • -j 表示使用bzip2进行解压缩。
  4. .tar.xz (Lzip Compressed):

    • 使用xz进行压缩的tar包。
    • 解压命令:
      tar -xJvf 压缩包名.tar.xz
      
      • -J 表示使用xz进行解压缩。
  5. .zip:

    • 使用zip算法压缩的文件。
    • 解压命令:
      unzip 压缩包名.zip
      
      如果系统中没有unzip命令,可以通过包管理器安装,例如在Debian/Ubuntu上:
      sudo apt-get install unzip
      
  6. .rar:

    • 使用RAR压缩算法的文件。
    • 解压命令:
      unrar x 压缩包名.rar
      
      如果系统中没有unrar命令,可以通过包管理器安装,例如在Debian/Ubuntu上:
      sudo apt-get install unrar
      
  7. .7z:

    • 使用7z格式的压缩文件。
    • 解压命令:
      7z x 压缩包名.7z
      
      如果系统中没有7z命令,可以通过包管理器安装,例如在Debian/Ubuntu上:
      sudo apt-get install p7zip-full
      

使用这些命令时,只需将压缩包名替换为要解压的文件的实际文件名。这些命令将解压压缩包内容到当前目录,除非在命令中指定了不同的目标目录。

相关文章:

  • 无人机RTMP推流EasyDSS直播平台推流成功,不显示直播按钮是什么原因?
  • 阿三再现强盗行为,vivo、OPPO或彻底失去印度市场
  • 【proteus仿真】基于51单片机的电压检测系统
  • 问题(05)elementui 输入框里面禁止浏览器自动填充用户名密码、弹出浏览器历史密码提示框
  • Novartis诺华制药社招综合能力性格动机问卷入职测评笔试题库答案及包过助攻
  • 设计模式学习(二)工厂模式——工厂方法模式
  • 一文看懂人工智能、机器学习、深度学习是什么、有什么区别!
  • 618必抢清单:内存升级国货更强,DDR5劲爆大白菜
  • 云和运维(SRE)的半生缘-深读实证02
  • PCA 在图像分析上的应用
  • linux-touch指令
  • 重学java 71.网络编程
  • 【AI开发】CRAG、Self-RAG、Adaptive-RAG
  • 服务器----阿里云服务器重启或关机,远程连接进不去,个人博客无法打开
  • Unity API学习之资源的动态加载
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • canvas绘制圆角头像
  • codis proxy处理流程
  • CSS 提示工具(Tooltip)
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • emacs初体验
  • hadoop集群管理系统搭建规划说明
  • Javascript 原型链
  • Java的Interrupt与线程中断
  • java正则表式的使用
  • Laravel5.4 Queues队列学习
  • Python实现BT种子转化为磁力链接【实战】
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue--为什么data属性必须是一个函数
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 官方解决所有 npm 全局安装权限问题
  • 诡异!React stopPropagation失灵
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 前端面试题总结
  • 前端自动化解决方案
  • 如何设计一个微型分布式架构?
  • nb
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • Android开发者必备:推荐一款助力开发的开源APP
  • #android不同版本废弃api,新api。
  • #define、const、typedef的差别
  • #宝哥教你#查看jquery绑定的事件函数
  • $GOPATH/go.mod exists but should not goland
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (四)stm32之通信协议
  • (转)shell调试方法
  • (转)树状数组
  • (转)重识new