Linux系统学习——指令二

Linux系统学习------指令二

sed 指令

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

cpp 复制代码
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,例如:

cpp 复制代码
sed -i 's/"parameters": "aa,bb"/"parameters": "bb,aa"/g' /usr/local/etc/a.txt

perl 指令

cpp 复制代码
perl -pi -e 's/旧内容/新内容/g' 文件名

示例:

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

rpm 指令

cpp 复制代码
rpm -ivh --nodeps --force rpm-package

rpm -ivh --nodeps --force aaabbbccc.rpm

rpm -qpl xxx.rpm

rpm -ivh --nodeps --force --ignorearch XXX.rpm

rz 和 sz 指令

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

cpp 复制代码
rz [OPTIONS]

常用:
以二进制,并对控制字符进行转义,替换已存在的同名文件。

rz -bye
cpp 复制代码
-+, --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 协议,可将多个文件从远程服务器下载到本地。

cpp 复制代码
sz [OPTIONS] FILES

sz 不用选项-bye,使用 XShell,也可以正确传输文本文件与二进制文件。
cpp 复制代码
sz file1 file2 file3

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

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

  1. 查看文件大小

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

      bash 复制代码
      ls -lh 文件名
      ls -lah 文件名

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

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

      bash 复制代码
      du -sh 目录或文件

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

  2. 查看数据库大小

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

      bash 复制代码
      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数据库,可以使用:

      bash 复制代码
      sudo -u postgres pg_dump -s your_database_name | wc -c

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

  3. 把文件压缩成压缩包

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

      bash 复制代码
      tar -czvf 压缩包名.tar.gz 要压缩的文件或目录

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

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

      bash 复制代码
      zip -r 压缩包名.zip 要压缩的文件或目录

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

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

      bash 复制代码
      sudo apt-get install zip

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

使用tar命令:

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

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

    bash 复制代码
    cd /path/to/directory
  3. 使用tar命令压缩文件

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

      bash 复制代码
      tar -czvf archive.tar.gz *

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

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

      bash 复制代码
      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的压缩文件,可以使用以下命令来解压缩它:

bash 复制代码
tar -jxvf archive.tar.bz2

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

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

使用zip命令:

  1. 打开终端

  2. 定位到文件所在目录

  3. 使用zip命令压缩文件

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

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

      bash 复制代码
      zip -r archive.zip file1.txt file2.txt directory1/

注意事项:

  • 需要确保有足够的权限来读取要压缩的文件和写入压缩包。

  • 如果使用的是图形界面,也可以使用文件管理器的压缩功能来创建压缩包。

  • 如果系统中没有安装zip程序,可以通过包管理器安装。例如,在Debian或Ubuntu上,可以使用以下命令安装:

    bash 复制代码
    sudo apt-get update
    sudo apt-get install zip

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

解压文件指令

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

  1. .tar (Tape Archive):

    • 压缩包没有被进一步压缩,仅打包。

    • 解压命令:

      bash 复制代码
      tar -xvf 压缩包名.tar
      • -x 表示提取(extract)。
      • -v 表示详细模式(verbose),显示正在解压的文件列表。
      • -f 表示后面跟着的是要操作的文件名。
  2. .tar.gz 或 .tgz (Gzip Compressed):

    • 使用gzip进行压缩的tar包。

    • 解压命令:

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

    • 使用bzip2进行压缩的tar包。

    • 解压命令:

      bash 复制代码
      tar -xjvf 压缩包名.tar.bz2
      • -j 表示使用bzip2进行解压缩。
  4. .tar.xz (Lzip Compressed):

    • 使用xz进行压缩的tar包。

    • 解压命令:

      bash 复制代码
      tar -xJvf 压缩包名.tar.xz
      • -J 表示使用xz进行解压缩。
  5. .zip:

    • 使用zip算法压缩的文件。

    • 解压命令:

      bash 复制代码
      unzip 压缩包名.zip

      如果系统中没有unzip命令,可以通过包管理器安装,例如在Debian/Ubuntu上:

      bash 复制代码
      sudo apt-get install unzip
  6. .rar:

    • 使用RAR压缩算法的文件。

    • 解压命令:

      bash 复制代码
      unrar x 压缩包名.rar

      如果系统中没有unrar命令,可以通过包管理器安装,例如在Debian/Ubuntu上:

      bash 复制代码
      sudo apt-get install unrar
  7. .7z:

    • 使用7z格式的压缩文件。

    • 解压命令:

      bash 复制代码
      7z x 压缩包名.7z

      如果系统中没有7z命令,可以通过包管理器安装,例如在Debian/Ubuntu上:

      bash 复制代码
      sudo apt-get install p7zip-full

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

相关推荐
Hello.Reader2 分钟前
全面解析 Golang Gin 框架
开发语言·golang·gin
禁默13 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
yuyanjingtao15 分钟前
CCF-GESP 等级考试 2023年9月认证C++四级真题解析
c++·青少年编程·gesp·csp-j/s·编程等级考试
Cachel wood19 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Code哈哈笑22 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
程序猿进阶25 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
Youkiup27 分钟前
【linux 常用命令】
linux·运维·服务器
qq_4336184428 分钟前
shell 编程(二)
开发语言·bash·shell
闻缺陷则喜何志丹31 分钟前
【C++动态规划 图论】3243. 新增道路查询后的最短距离 I|1567
c++·算法·动态规划·力扣·图论·最短路·路径
qq_2975046131 分钟前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器