Linux:基本指令 命令reconnect 重连TMOUT0 不断开连接ifconfig 查看网络ipip addr 查看网络iphostname -I1 netstat -anp |grep 61616 或者 netstat -nltp | grep 80902 ps -ef | grep activemq | grep -v grep3 lsof -i:616164 ss -tulnp |grep 8083netstat -nltup | grep 8080-t显示TCP协议的网络连接信息。-u显示UDP协议的网络连接信息。-l仅显示正在监听的网络连接信息。-n以数字形式显示地址和端口信息而不是尝试解析它们。-p显示与网络连接关联的程序的PID和名称rz -eb 上传文件到服务器sz aa.pdf 从服务器下载文件从一个服务器发送到另一个服务器方式scp [选项] [源文件] [目标文件] 比如 scp file.txt userremote-server:/home 或者 rsync [选项] [源文件] [目标文件] 比如 rsync -avz dir userremote-server:/homewhich jdk 查找jdkid root 查看用户groupsgroups rootgetent group rootcurl 访问url功能强大https://blog.csdn.net/yubin1285570923/article/details/104894199init [0123456]logoutuseradd 用户名useradd -d 指定目录 新的用户名passwd 用户名userdel 用户名userdel -r 用户名id 用户名结果uid0(root) gid0(root) 组0(root)su – 切换用户名whoami/ who am Igroupadd 组名groupdel 组名useradd –g 用户组 用户名usermod –g 用户组 用户名man [命令或配置文件]help 命令pwdls -alcd [参数] (功能描述切换到指定目录)cd ..cd ~mkdir [选项] 要创建的目录 : mkdir -p boo/coo/doormdir [选项] 要删除的空目录 rmdir /home/dogrm -rf 要删除的目录yes | rm -r aaa/touch 文件名称cp [选项] source destcp -r /home/aoo/ /home/yubincp -f ../abc.zip ./market.zip 强制覆盖复制\cp -r /home/aoo/ /home/yubinrm [选项] 要删除的文件或目录rm -rf /home/bbbmv oldNameFile newNameFile (功能描述重命名)mv /temp/movefile /targetFolder (功能描述移动文件)cat [选项] 要查看的文件cat -n a.txtcat -n /home/profile | moremore 要查看的文件lefss要查看的文件echo [选项] [输出内容]head 文件 (功能描述查看文件头10行内容)head -n 5 文件 (功能描述查看文件头5行内容5可以是任意行1) tail 文件 功能描述查看文件尾部10行内容2) tail -n 5 文件 功能描述查看文尾部5行内容5可以是任意行数3) tail -f 文件 功能描述实时追踪该文档的所有更新tail -100f xxx.log | grep ‘2019-10-29 16:4[0-9]’ ------查找最新的100行中时间范围在2019-10-29 16:40-2019-10-29 16:49范围中的行tail -1000f xxx.log | grep 2021-10-21 12:4[0-9] ------查找最新的1000行中时间范围在2021-10-29 12:40-2021-10-21 12:49范围中的行grep:用于查找文件里符合条件的字符串。grep正则表达式 - leader77 - 博客园-a 或 --text : 不要忽略二进制的数据。 -A显示行数 或 --after-context显示行数 : 除了显示符合范本样式的那一列之外并显示该行之后的内容。 -b 或 --byte-offset : 在显示符合样式的那一行之前标示出该行第一个字符的编号。 -B显示行数 或 --before-context显示行数 : 除了显示符合样式的那一行之外并显示该行之前的内容。 -c 或 --count : 计算符合样式的列数。 -C显示行数 或 --context显示行数或-显示行数 : 除了显示符合样式的那一行之外并显示该行之前后的内容。 -d 动作 或 --directories动作 : 当指定要查找的是目录而非文件时必须使用这项参数否则grep指令将回报信息并停止动作。 -e范本样式 或 --regexp范本样式 : 指定字符串做为查找文件内容的样式。 -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。 -f规则文件 或 --file规则文件 : 指定规则文件其内容含有一个或多个规则样式让grep查找符合规则条件的文件内容格式为每行一个规则样式。 -F 或 --fixed-regexp : 将样式视为固定字符串的列表。 -G 或 --basic-regexp : 将样式视为普通的表示法来使用。 -h 或 --no-filename : 在显示符合样式的那一行之前不标示该行所属的文件名称。 -H 或 --with-filename : 在显示符合样式的那一行之前表示该行所属的文件名称。 -i 或 --ignore-case : 忽略字符大小写的差别。 -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。 -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。 -n 或 --line-number : 在显示符合样式的那一行之前标示出该行的列数编号。 -o 或 --only-matching : 只显示匹配PATTERN 部分。 -q 或 --quiet或--silent : 不显示任何信息。 -r 或 --recursive : 此参数的效果和指定-d recurse参数相同。 -s 或 --no-messages : 不显示错误信息。 -v 或 --revert-match : 显示不包含匹配文本的所有行。 -V 或 --version : 显示版本信息。 -w 或 --word-regexp : 只显示全字符合的列。 -x --line-regexp : 只显示全列符合的列。 -y : 此参数的效果和指定-i参数相同。1) ls -l 文件 功能描述列表的内容写入文件a.txt中覆盖写2) ls -al 文件 功能描述列表的内容追加到文件aa.txt的末尾3) cat 文件1 文件2 功能描述将文件1的内容覆盖到文件24) echo 内容 文件根据时间段查询日志sed -n /开始时间/,/结束时间/p 日志文件路径sed -n /2022-03-18 10:12/,/2022-03-18 12:15/p xxx.log按照行号sed -n ‘5,10p’ filename 这样你就可以只查看文件的第5行到第10行。按照时间段sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.logawk /^2024-12-23 10:00:00/, /^2024-12-23 10:02:00/ sys-0.loggrep 2024-12-24 10:09:[0-59] logback.logsed -n /开始时间/,/结束时间/p logfile.logsed -n /2024-12-24.10:09/,/2024-12-24.10:10/p logfile.loggrep -C 行数 关键字 日志文件路径ln -s [原文件或目录] [软链接名] 功能描述给原文件创建一个软链接history1) date 功能描述显示当前时间2) date %Y 功能描述显示当前年份3) date %m 功能描述显示当前月份4) date %d 功能描述显示当前是哪一天5) date %Y-%m-%d %H:%M:%S功能描述显示年月日时分秒date -s 字符串时间cal [选项] 功能描述不加选项显示本月日历find [搜索范围][选项]locate 搜索文件 由于locate指令基于数据库进行查询所以第一次运行前必须使用updatedb指令创建locagrep [选项] 查找内容 源文件gzip 文件 功能描述压缩文件只能将文件压缩为*.gz文件gunzip 文件.gz 功能描述解压缩文件命令zip [选项] XXX.zip 将要压缩的内容功能描述压缩文件和目录的命令zip -r myhome.zip a.txt b.txtunzip [选项] XXX.zip 功能描述解压缩文件unzip -d /home/myboo myhome.ziptar [选项] XXX.tar.gz 打包的内容 (功能描述打包目录压缩后的文件格式.tar.gz)tar -zcvf a.tar.gz a.txt b.txttar -zcvf b.tar.gz /hometar -zxvf a.tar.gztar -zxvf b.tar.gz -C /home/yubin/rz 从客户端上传文件到服务端sz filename 从服务端发送文件到客户端一、指定运行级别运行级别说明0 关机1 单用户【找回丢失密码】2多用户状态没有网络服务3多用户状态有网络服务4系统未使用保留给用户5图形界面6系统重启常用运行级别是3和5 要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字命令init [012356面试题如何找回root密码进入到单用户模式修改root密码因为单用户模式root不需要密码就可以登录。用户登录和注销基本介绍:1) 登录时尽量少用root帐号登录因为它是系统管理员最大的权限避免操作失误。可以利用普通用户登录登录后再用”su - 用户名’命令来切换成系统管理员身份.2) 在提示符下输入 logout 即可注销用户使用细节:1) logout 注销指令在图形运行级别无效在 运行级别 3下有效.2) 运行级别这个概念后面给大家介绍****************************************************************************************************************************************二、帮助指令man 获得帮助信息man [命令或配置文件]功能描述获得帮助信息比如man lshelp指令help 命令 功能描述获得shell内置命令的帮助信息比如help cd****************************************************************************************************************************************三、文件目录类pwd 指令• 基本语法pwd(功能描述显示当前工作目录的绝对路径)****************************************************************************************************************************************ls指令ls[选项] [目录或是文件]• 常用选项-a 显示当前目录所有的文件和目录包括隐藏的。-l 以列表的方式显示信息****************************************************************************************************************************************cd 指令cd[参数] (功能描述切换到指定目录)绝对路径和相对路径cd ~ 或者cd 回到自己的家目录cd .. 回到当前目录的上一级目录• 应用实例案例1使用绝对路径切换到root目录 cd /root案例2: 使用相对路径到/root 目录案例3表示回到当前目录的上一级目录 cd ..案例4回到家目录 cd 或者 cd ~****************************************************************************************************************************************mkdir指令mkdir指令用于创建目录mkdir [选项] 要创建的目录 mkdir /home/dog• 常用选项-p 创建多级目录• 应用实例案例1:创建一个目录 /home/dog : mkdir /home/dog案例2:创建多级目录 /home/animal/tiger mkdir -p /home/animal/tiger****************************************************************************************************************************************rmdir指令rmdir指令删除空目录rmdir [选项] 要删除的空目录• 应用实例案例1:删除一个目录 /home/dog rmdir /home/dog• 使用细节rmdir 删除的是空目录如果目录下有内容时无法删除的。提示如果需要删除非空目录需要使用rm -rf 要删除的目录****************************************************************************************************************************************touch指令:可以创建一个或者多个空文件touch指令创建空文件touch 文件名称• 应用实例案例1: 创建一个空文件 hello.txt****************************************************************************************************************************************cp指令cp 指令拷贝文件到指定目录• 基本语法cp [选项] source dest• 常用选项-r 递归复制整个文件夹• 应用实例案例1: 将 /home/aaa.txt 拷贝到 /home/bbb 目录下案例2: 递归复制整个文件夹举例• 使用细节强制覆盖不提示的方法\cp****************************************************************************************************************************************rm指令rm 指令移除文件或目录rm [选项] 要删除的文件或目录• 常用选项-r 递归删除整个文件夹-f 强制删除不提示• 应用实例案例1: 将 /home/aaa.txt 删除 : rm /home/aaa.txt案例2: 递归删除整个文件夹 /home/bbb rm -rf /home/bbb• 使用细节强制删除不提示的方法带上 -f 参数即可****************************************************************************************************************************************mv指令mv 移动文件与目录或重命名• 基本语法mv oldNameFile newNameFile (功能描述重命名)mv /temp/movefile /targetFolder (功能描述移动文件)• 应用实例案例1: 将 /home/aaa.txt 文件 重新命名为 pig.txt案例2:将 /home/pig.txt 文件 移动到 /root 目录下****************************************************************************************************************************************cat指令cat 查看文件内容• 基本语法cat [选项] 要查看的文件• 常用选项-n 显示行号• 应用实例案例1: /ect/profile 文件内容并显示行号• 使用细节cat 只能浏览文件而不能修改文件为了浏览方便一般会带上 管道命令 | more****************************************************************************************************************************************more指令more指令是一个基于VI编辑器的文本过滤器它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键详见操作说明基本语法more 要查看的文件案例: 采用more查看文件/etc/profile****************************************************************************************************************************************less指令less指令用来分屏查看文件内容它的功能与more指令类似但是比more指令更加强大支持各种显示终端。less指令在显示文件内容时并不是一次将整个文件加载之后才显示而是根据显示需要加载内容对于显示大型文件具有较高的效率。基本语法less 要查看的文件案例: 采用less查看一个大文件文件/opt/金庸-射雕英雄传txt精校版**************************************************************************************************************************************** 指令 和 指令 输出重定向和 追加• 基本语法1) ls -l 文件 功能描述列表的内容写入文件a.txt中覆盖写2) ls -al 文件 功能描述列表的内容追加到文件aa.txt的末尾3) cat 文件1 文件2 功能描述将文件1的内容覆盖到文件24) echo 内容 文件• 应用实例案例1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中案例2: 将当前日历信息 追加到 /home/mycal 文件中****************************************************************************************************************************************echo指令echo输出内容到控制台。• 基本语法echo [选项] [输出内容]• 应用实例案例: 使用echo 指令输出环境变量案例: 使用echo 指令输出 hello,world!****************************************************************************************************************************************head指令head用于显示文件的开头部分内容默认情况下head指令显示文件的前10行内容• 基本语法head 文件 (功能描述查看文件头10行内容)head -n 5 文件 (功能描述查看文件头5行内容5可以是任意行数)• 应用实例案例: 查看/etc/profile 的前面5行代码 hear -n 5 /etc/profile****************************************************************************************************************************************tail指令tail用于输出文件中尾部的内容默认情况下tail指令显示文件的前10行内容。• 基本语法1) tail 文件 功能描述查看文件头10行内容2) tail -n 5 文件 功能描述查看文件头5行内容5可以是任意行数3) tail -f 文件 功能描述实时追踪该文档的所有更新• 应用实例案例1: 查看/etc/profile 最后5行的代码案例2: 实时监控 mydate.txt , 看看到文件有变化时是否看到 实时的追加日期****************************************************************************************************************************************ln 指令软链接也成为符号链接类似于windows里的快捷方式主要存放了链接其他文件的路径• 基本语法ln -s [原文件或目录] [软链接名] 功能描述给原文件创建一个软链接细节说明当我们使用pwd指令查看目录时仍然看到的是软链接所在目录。• 应用实例案例1: 在/home 目录下创建一个软连接 linkToRoot连接到 /root 目录案例2: 删除软连接 linkToRoot****************************************************************************************************************************************history指令查看已经执行过历史命令,也可以执行历史指令• 基本语法history 功能描述查看已经执行过历史命令• 应用实例案例1: 显示所有的历史命令案例2: 显示最近使用过的10个指令。例3执行历史编号为5的指令历史命令会被保存到用户家目录中的.bash_history文件中。history -c清空当前历史命令列表。history -a将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件history -d删除历史命令列表中指定序号的命令。比如history -d 142 删除142行历史记录history -n从命令历史文件中读取本次Shell会话开始时没有读取的历史命令。history -s将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令。history -w把当前的shell历史命令内存缓冲区的内容写入命令历史文件。*********************************************************************************************************************************时间日期类date指令-显示当前日期• 基本语法1) date 功能描述显示当前时间2) date %Y 功能描述显示当前年份3) date %m 功能描述显示当前月份4) date %d 功能描述显示当前是哪一天5) date %Y-%m-%d %H:%M:%S功能描述显示年月日时分秒• 应用实例案例1: 显示当前时间信息案例2: 显示当前时间年月日案例3: 显示当前时间年月日时分秒*********************************************************************************************************************************date指令-设置日期• 基本语法date -s 字符串时间• 应用实例案例1: 设置系统当前时间 比如设置成 2018-10-10 11:22:22*********************************************************************************************************************************cal指令查看日历指令• 基本语法cal [选项] 功能描述不加选项显示本月日历• 应用实例案例1: 显示当前日历 cal案例2: 显示2020年日历*********************************************************************************************************************************搜索查找类find指令find指令将从指定目录向下递归地遍历其各个子目录将满足条件的文件或者目录显示在终端。• 基本语法find [搜索范围] [选项]• 选项说明• 应用实例案例1: 按文件名根据名称查找/home 目录下的hello.txt文件案例2按拥有者查找/opt目录下用户名称为 nobody的文件案例3查找整个linux系统下大于200m的文件n 大于 -n小于 n等于通配符**********************************************************************************************************************************locate指令locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统查询速度较快。为了保证查询结果的准确度管理员必须定期更新locate时刻。updatedb• 基本语法locate 搜索文件• 特别说明由于locate指令基于数据库进行查询所以第一次运行前必须使用updatedb指令创建locate数据库。• 应用实例案例1: 请使用locate 指令快速定位 hello.txt 文件所在目录updatedb*********************************************************************************************************************************grep指令和 管道符号 |grep 过滤查找 管道符“|”表示将前一个命令的处理结果输出传递给后面的命令处理。• 基本语法grep [选项] 查找内容 源文件• 常用选项应用实例案例1: 请在 hello.txt 文件中查找 yes 所在行并且显示行号*********************************************************************************************************************************压缩和解压类gzip/gunzip 指令:压缩或者解压后原来的文件就没有了可以压缩多个文件gzip 用于压缩文件gunzip 用于解压的• 基本语法gzip 文件 功能描述压缩文件只能将文件压缩为*.gz文件gunzip 文件.gz 功能描述解压缩文件命令• 应用实例案例1: gzip压缩 将 /home下的 hello.txt文件进行压缩案例2: gunzip压缩 将 /home下的 hello.txt.gz 文件进行解压缩*********************************************************************************************************************************zip/unzip 指令zip 用于压缩文件 unzip 用于解压的这个在项目打包发布中很有用的• 基本语法zip [选项] XXX.zip 将要压缩的内容功能描述压缩文件和目录的命令unzip [选项] XXX.zip 功能描述解压缩文件• zip常用选项-r递归压缩即压缩目录• unzip的常用选项-d目录 指定解压后文件的存放目录• 应用实例案例1: 将 /home下的 所有文件进行压缩成 mypackage.zip案例2: 将 mypackge.zip 解压到 /opt/tmp 目录下*********************************************************************************************************************************tar 指令tar 指令 是打包指令最后打包后的文件是 .tar.gz 的文件。• 基本语法tar [选项] XXX.tar.gz 打包的内容 (功能描述打包目录压缩后的文件格式.tar.gz)• 选项说明• 应用实例案例1: 压缩多个文件将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz案例2: 将/home 的文件夹 压缩成 myhome.tar.gz案例3: 将 a.tar.gz 解压到当前案例3: 将 myhome.tar.gz 解压到/opt/目录下解压到的指定的目录一定是要存在的否则会报错而且需要加上餐宿 -C_________________________________________________________________________________________________tar-c: 建立压缩档案-x解压-t查看内容-r向压缩归档文件末尾追加文件-u更新原压缩包中的文件这五个是独立的命令压缩解压都要用到其中一个可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z有gzip属性的-j有bz2属性的-Z有compress属性的-v显示所有过程-O将文件解开到标准输出下面的参数-f是必须的-f: 使用档案名字切记这个参数是最后一个参数后面只能接档案名。# tar -cf all.tar *.jpg这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包-f指定包的文件名。# tar -rf all.tar *.gif这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。# tar -uf all.tar logo.gif这条命令是更新原来tar包all.tar中logo.gif文件-u是表示更新文件的意思。# tar -tf all.tar这条命令是列出all.tar包中所有文件-t是列出文件的意思# tar -xf all.tar这条命令是解出all.tar包中所有文件-t是解开的意思压缩tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tartar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后并且将其用gzip压缩生成一个gzip压缩过的包命名为jpg.tar.gztar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后并且将其用bzip2压缩生成一个bzip2压缩过的包命名为jpg.tar.bz2tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后并且将其用compress压缩生成一个umcompress压缩过的包命名为jpg.tar.Zrar a jpg.rar *.jpg //rar格式的压缩需要先下载rar for linuxzip jpg.zip *.jpg //zip格式的压缩需要先下载zip for linux解压tar -xvf file.tar //解压 tar包tar -xzvf file.tar.gz //解压tar.gztar -xjvf file.tar.bz2 //解压 tar.bz2tar -xZvf file.tar.Z //解压tar.Zunrar e file.rar //解压rarunzip file.zip //解压zip总结1、*.tar 用 tar -xvf 解压2、*.gz 用 gzip -d或者gunzip 解压3、*.tar.gz和*.tgz 用 tar -xzf 解压4、*.bz2 用 bzip2 -d或者用bunzip2 解压5、*.tar.bz2用tar -xjf 解压6、*.Z 用 uncompress 解压7、*.tar.Z 用tar -xZf 解压8、*.rar 用 unrar e解压9、*.zip 用 unzip 解压#tar 选项 文件或目录–delete : 从tar包中删除某个文件-r, --append : 将文件追加到tar归档文件中-t, --list : 列出tar归档文件中包含的文件或目录-u, --update : 将已更新的文件追加到tar归档文件中-x, --extract, --get : 释放tar归档文件中文件及目录-C, --directoryDIR : 执行归档动作前变更工作目录到 目标DIR-f, --fileARCHIVE : 指定 (将要创建或已存在的) 归档文件名-j, --bip2 : 对归档文件使用 bzip2 压缩-J, --xz : 对归档文件使用 xz 压缩-p, --preserve-permissions : 保留原文件的访问权限-v, --verbose : 显示命令整个执行过程-z, gzip : 对归档文件使用 gzip 压缩示例 1创建一个 tar 归档文件创建一个 tar 文件将 /etc/ 目录和 /root/anaconda-ks.cfg 文件打包进去。#tar -cvf mytest.tar /etc/ /root/anaconda-ks.cfg注以上命令会在当前目录创建一个名为 “myarchive” 的 tar 文件内含 /etc/ 目录和 /root/anaconda-ks.cfg 文件。其中-c 选项表示要创建 tar 文件;-v选项用于输出 tar 的详细过程到屏幕上;-f 选项则是指定归档文件名称。示例 2列出归档文件中的内容#tar -tvf mytest.tar在 tar 命令中使用 –t 选项可以不用释放其中的文件就可以快速列出文件中包含的内容。示例 3追加某文件到归档(tar)文件中# tar -rvf mytest.tar original-ks.cfg注在tar命令中使用-r选项可以向已有的tar归档中追加问价但是在压缩过的tar文件中无法进行追加文件示例 4释放tar归档至当前所在目录# tar -xvf mytest.tar示例 5释放 tar 文件到指定目录# tar -xvf mytest.tar -C testdir02/示例 6创建并压缩归档文件(.tar.gz 或 .tgz)假设我们需要打包 /etc 和 /opt 文件夹并用 gzip 工具将其压缩。可以在 tar 命令中使用 -z 选项来实现。这种 tar 文件的扩展名可以是 .tar.gz 或者 .tgz。# tar -zcpvf myarchive.tar.gz /etc/ /opt/——注-zcpvf顺序不能变# tar -zcpvf myarchive.tgz /etc/ /opt/示例 7创建并压缩归档文件(.tar.bz2 或 .tbz2)假设我们需要打包 /etc 和 /opt 文件夹并使用 bzip2 压缩。可以在 tar 命令中使用 -j 选项来实现。这种 tar 文件的扩展名可以是 .tar.bz2 或者 .tbz。# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/ # tar -jcpvf myarchive.tbz2 /etc/ /opt/示例 9排除指定文件或类型后创建 tar 文件创建 tar 文件时在 tar 命令中使用 –exclude 选项来排除指定文件或者类型。假设在创建压缩的 tar 文件时要排除 .conf文件。# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude*.conf示例 10解压 .tar.gz/.tgz 或.tar.bz2/.tbz2文件# tar -zxpvf myarchive.tgz -C /tmp/ # tar -jxpvf myarchive.tbz2 -C /tmp/通用命令# tar xpvf myarchive.tbz2 -C /tmp/ 或 # tar -xpvf myarchive.tgz -C /tmp/示例 11使用 tar 命令进行定时备份归档总有一些实时场景需要我们对指定的文件和目录进行打包已达到日常备份的目的。假设需要每天备份整个 /opt 目录可以创建一个带 tar 命令的 cron 任务来完成。如下# tar -zcpvf optbackup-$(date %Y-%m-%d).tgz /opt/为以上命令创建一个 cron 任务即可。示例 12使用 -T 及 -X 创建压缩归档文件想像这样一个场景把想要归档和压缩的文件及目录记录到到一个文件然后把这个文件当做 tar 命令的传入参数来完成归档任务;而有时候则是需要排除上面提到的这个文件里面记录的特定路径后进行归档和压缩。在 tar 命令中使用 -T 指定该输入文件,-X 指定包含要排除的文件列表假设要归档 /etc、/opt、/home 目录并排除 /etc/sysconfig/kdump 和 /etc/sysconfig/foreman 文件可以创建 /root/tar-include 和 /root/tar-exclude 然后分别输入以下内容[rootlinuxtechi ~]# cat /root/tar-include /etc /opt /home [rootlinuxtechi ~]# cat /root/tar-exclude /etc/sysconfig/kdump /etc/sysconfig/foreman [rootlinuxtechi ~]#运行以下命令来创建一个压缩归档文件。[rootlinuxtechi ~]# tar -zcpvf mybackup-$(date %Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude示例 13查看 .tar、.tgz 和 .tbz2 文件的大小# tar -czf - myarchive.tbz2 | wc -c示例14tar包的分割与合并想象一个场景一个体积非常放大的tar归档文件需要进行传输时通常大文件传输较慢。此时我们可以使用split命令来将体积比较大的tar文件分割成若干个小体积文件然后通过网络将这些分割文件转移到其他服务器在进行合并成为一个单独的 tar 文件即可tar文件分割为若干个mybackup-parts开头的小文件[rootlinuxtechi ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts以上命令会在当前目录分割 mybackup-2016-09-09.tgz 文件成为多个 6 MB 的小文件文件名为 mybackup-partsaa ~ mybackup-partsag。如果在要在分割文件后以数字而非字母来区分可以在以上的 split 命令使用-d 选项。[rootlinuxtechi ~]# split -b 6M mybackup-2016-09-09.tgz -d mybackup-parts1合并归档[rootlinuxtechi ~]# cat mybackup-partsa* mybackup-2016-09-09.tgz五、扩展linux 中解压zip 包命令Linux系统里的zip是一种创建压缩存档文件的常用方式同时也是一种传统的文件归档文件格式那么Linux中解压zip包的命令是什么?Linux解压zip包的命令是unzip该命令主要用于查看和解压缩zip文件具体的内容介绍请看下文。Linux unzip命令解压zip文件unzip命令用于查看和解压缩zip文件可以列出、测试和提取zip存档中的压缩文件。命令语法unzip [选项] 压缩包名命令选项-d 目录名 将压缩文件解压到指定目录下-n 解压时并不覆盖已经存在的文件-o 解压时覆盖已经存在的文件并且无需用户确认-v 查看压缩文件的详细信息包括压缩文件中包含的文件大小、文件名以及压缩比等但并不做解压操作-t 测试压缩文件有无损坏但并不解压-x 文件列表 解压文件但不包含文件列表中指定的文件。例如 将 dist.zip 包解压并覆盖到webtopo_client 目录unzip -xo -d webtopo_client/ dist.zip其他常用解压命令tar -xvf filename.tartar -zxvf filename.tar.gztar -zxvf filename.tgztar -jxvf filename.tar.bz2tar -xZvf filename.tar.Zunrar e filename.rar # 解压到当前目录unrar x filename.rar /path/to/extractunzip filename.zip -d filepathtar.xz文件解压先xz -d xxx.tar.xz到tar然后tar xvf xxx.tar压缩命令tar -zcvf filename.tar.gz filenametar -zcvf filename.tgz filenametar -jcvf filename.tar.bz2 filenamezip filename.zip filenamezip -r location.zip locationgzip -d filename.gz filenamerar -a filename.rar filename