Linux系统学习------指令二
- [sed 指令](#sed 指令)
- [perl 指令](#perl 指令)
- [rpm 指令](#rpm 指令)
- [rz 和 sz 指令](#rz 和 sz 指令)
- 查看文件大小及压缩文件指令
- 解压文件指令
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系统中,可以使用多种命令来查看文件大小、数据库大小,并把文件压缩成压缩包。以下是一些常用的命令和它们的用法:
-
查看文件大小:
-
使用
ls
命令查看文件或目录的大小:bashls -lh 文件名 ls -lah 文件名
这里的
-l
选项表示长列表格式,-h
选项表示以易读的格式显示大小(如KB、MB)。 -
使用
du
(disk usage)命令查看文件或目录占用的磁盘空间:bashdu -sh 目录或文件
-s
表示汇总(total)大小,-h
表示易读格式。
-
-
查看数据库大小:
-
对于MySQL数据库,可以使用以下命令:
bashmysql -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数据库,可以使用:
bashsudo -u postgres pg_dump -s your_database_name | wc -c
这将输出数据库大小的近似值(以字节为单位)。
-s
选项表示只导出模式(表结构等),不导出数据。
-
-
把文件压缩成压缩包:
-
使用
tar
命令创建压缩包:bashtar -czvf 压缩包名.tar.gz 要压缩的文件或目录
其中
-c
表示创建压缩包,-z
表示用gzip压缩,-v
表示在压缩时显示进度,-f
指定压缩包的文件名。 -
如果想压缩成一个
.zip
文件,可以使用zip
命令:bashzip -r 压缩包名.zip 要压缩的文件或目录
-r
表示递归地压缩目录。 -
如果系统中没有安装
zip
,可以通过包管理器安装,例如使用apt
(Debian/Ubuntu):bashsudo apt-get install zip
-
在Linux中,可以使用tar
命令或zip
命令将多个文件压缩成一个压缩包。以下是具体的步骤和示例:
使用tar
命令:
-
打开终端:首先,需要打开Linux系统的终端。
-
定位到文件所在目录 :使用
cd
命令定位到包含想要压缩的文件的目录。bashcd /path/to/directory
-
使用tar命令压缩文件:
-
要将当前目录下的所有文件和子目录压缩成一个名为
archive.tar.gz
的gzip压缩包,可以使用以下命令:bashtar -czvf archive.tar.gz *
这里的
*
代表了当前目录下的所有文件和目录。 -
如果只想压缩特定文件或目录,可以将
*
替换为具体的文件或目录名,例如:bashtar -czvf archive.tar.gz file1.txt file2.txt directory1/
-
tar
命令在Linux中用于打包和压缩文件。-jxvf
是tar
命令的一系列选项,每个选项都有一个特定的功能。下面是每个选项的详细说明:
-
-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
命令:
-
打开终端。
-
定位到文件所在目录。
-
使用zip命令压缩文件:
-
要将当前目录下的所有文件和子目录压缩成一个名为
archive.zip
的zip压缩包,可以使用以下命令:bashzip -r archive.zip *
-
如果只想压缩特定的文件或目录,可以将
*
替换为具体的文件或目录名,例如:bashzip -r archive.zip file1.txt file2.txt directory1/
-
注意事项:
-
需要确保有足够的权限来读取要压缩的文件和写入压缩包。
-
如果使用的是图形界面,也可以使用文件管理器的压缩功能来创建压缩包。
-
如果系统中没有安装
zip
程序,可以通过包管理器安装。例如,在Debian或Ubuntu上,可以使用以下命令安装:bashsudo apt-get update sudo apt-get install zip
使用这些命令,可以轻松地将多个文件或目录压缩成一个压缩包,便于存储或传输。
解压文件指令
在Linux中,解压压缩包可以使用多种不同的命令,具体取决于压缩包的格式。以下是一些常见压缩格式及其对应的Linux解压指令:
-
.tar (Tape Archive):
-
压缩包没有被进一步压缩,仅打包。
-
解压命令:
bashtar -xvf 压缩包名.tar
-x
表示提取(extract)。-v
表示详细模式(verbose),显示正在解压的文件列表。-f
表示后面跟着的是要操作的文件名。
-
-
.tar.gz 或 .tgz (Gzip Compressed):
-
使用gzip进行压缩的tar包。
-
解压命令:
bashtar -xzvf 压缩包名.tar.gz
-z
替换了-j
,表示使用gzip进行解压缩。
-
-
.tar.bz2 (Bzip2 Compressed):
-
使用bzip2进行压缩的tar包。
-
解压命令:
bashtar -xjvf 压缩包名.tar.bz2
-j
表示使用bzip2进行解压缩。
-
-
.tar.xz (Lzip Compressed):
-
使用xz进行压缩的tar包。
-
解压命令:
bashtar -xJvf 压缩包名.tar.xz
-J
表示使用xz进行解压缩。
-
-
.zip:
-
使用zip算法压缩的文件。
-
解压命令:
bashunzip 压缩包名.zip
如果系统中没有
unzip
命令,可以通过包管理器安装,例如在Debian/Ubuntu上:bashsudo apt-get install unzip
-
-
.rar:
-
使用RAR压缩算法的文件。
-
解压命令:
bashunrar x 压缩包名.rar
如果系统中没有
unrar
命令,可以通过包管理器安装,例如在Debian/Ubuntu上:bashsudo apt-get install unrar
-
-
.7z:
-
使用7z格式的压缩文件。
-
解压命令:
bash7z x 压缩包名.7z
如果系统中没有
7z
命令,可以通过包管理器安装,例如在Debian/Ubuntu上:bashsudo apt-get install p7zip-full
-
使用这些命令时,只需将压缩包名
替换为要解压的文件的实际文件名。这些命令将解压压缩包内容到当前目录,除非在命令中指定了不同的目标目录。