Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

时间:2024-01-17 20:14:20

1.压缩和解压缩命令
    常用压缩格式:.zip、.gz、.bz2、.tar.gz、.tar.bz2、.rar

.zip格式压缩和解压缩命令
        zip 压缩文件名 源文件:压缩文件
        zip -r 压缩文件名 源目录:压缩目录
        unzip 压缩文件名:解压缩 .zip文件

.gz格式压缩和解压缩
        gzip 源文件:压缩为.gz 格式的压缩文件,源文件会消失
        gzip -c 源文件 > 压缩文件:压缩为.gz 格式,源文件保留
        gzip -r 目录:压缩目录下的所有子文件依次压缩,但是不能压缩目录
        gzip -d 压缩文件:解压缩文件
        gunzip 压缩文件:解压缩文件
        gunzip -r 目录:以此解压缩目录下面的所有的压缩文件
    windows上的.rar格式是不能在linux上解压缩的

.bz2格式压缩和解压缩
        bzip2命令直接就不能压缩目录,直接就没有-r 选项
        bzip2 源文件:压缩为.bz2 格式,不保留源文件
        bzip2 -k 源文件:压缩之后但保留源文件
        bzip2 -d 压缩文件:解压缩文件,-k保留压缩文件
        bunzip2 压缩文件:解压缩,-k保留压缩文件

    因为gzip、bzip2命令不能真正的压缩目录,所以比较不方便,于是linux提供了一个解决方案:可以用tar命令把目录打包成一个叫.tar的单一的文件包,然后就可以使用gzip、bzip2进行压缩这个文件包(也就间接地压缩了目录),所以这就是之前看到.tar.gz、.tar.bz2格式的压缩文件的原因
        tar -cvf 打包文件名 源文件或者目录
            -c:打包;-v:显示过程;-f:指定打包后的文件名
            例如:tar -cvf longzls.tar longzls
        tar-xvf 打包文件名:解打包,例如:tar -xvf longzls.tar

  其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式,但是先用tar打包,再用gzip或者bzip2进行压缩,这样就很不方便,所以介绍下面的更为方便的方法
  .tar.gz格式的压缩与解压
      tar -zcvf 压缩包名.tar.gz 源文件或目录:-zc表示压缩为.tar.gz格式
    tar -zxvf 压缩包名.tar.gz 源文件或目录1 源文件或目录2:将多个源文件或目录压缩到一个压缩文件中
      tar -zxvf 压缩包名.tar.gz:-zx表示解压缩.tar.gz格式
      tar -zxvf 压缩包名.tar.gz -C 目标路径名:可以将压缩文件解压到指定的路径下
      tar -ztvf 压缩包名.tar.gz:只看.tar.gz压缩文件中的内容,但是不解压

  .tar.bz2格式的压缩与解压
      tar -jcvf 压缩包名.tar.bz2 源文件或目录:-jc表示压缩为.tar.bz2格式
      tar -jxvf 压缩包名.tar.bz2:-jx表示解压缩.tar.bz2格式
      其他的都同上(解压缩到指定目录、压缩多个文件、只看而不解压缩压缩文件)

2.关机和重启命令
    shutdown [选项] 时间
        选项:-c,取消前一个关机命令;-h 表示关机;-r 表示重启
        例子:shutdown -r 05:30,表示在凌晨05:30重启,但是这条命令输入之后,就不能进行其他的输入了,这时候有两个方法来解决
            1) 在输入 shutdown -r 05:30 之后,使用 Ctrl+C强制退出
            2) 输入 shutdown -r 05:30 & (&之前应该有一个空格),表示这条命令在后台执行,不影响shell的命令输入,其他的命令比如耗时比较长的命令也可以使用 & 让它在后台执行,就不会影响用户在命令行继续进行其他的操作了
        例子:shutdown -c,表示取消上一个使用shutdown设置的关机或者重启的命令
        在真实的服务器环境中,是不推荐远程关机的,因为如果远程关机了,在想启动机器将会很难的,远程重启就够了
        其他的关机和重启方法,我们都认为不够安全,在使用它们关机或重启的时候,不会正确的保存系统当中的正在运行中的服务,只有shutdown会在关机和重启的时候正确保存正在运行的服务,所以建议使用 shutdown命令
        在个人电脑上有时候进行强制关机……操作好像也没有出现过什么问题,这往往是因为个人电脑只是你自己在使用,往往不会高速的运转,但是在服务器上,常常是有成万甚至更多的用户来访问,所以服务器会高速的运转,如果随意的关机,可能导致硬盘损坏、操作系统崩溃等问题,最严重的是导致用户的数据损坏或丢失。所以如果你需要关机,最好是首先将你目前正在使用的服务关掉,比如像很多游戏往往会提前通告:我们将要在什么什么时间维护,大家不要登陆,到时候在进行关机,该干什么干什么,这样会更安全。所以服务器和个人电脑在很多方面还是很不一样的
        所以在使用linux的时候,最好更改一下自己的思维习惯:现在我操作的不是自己的个人电脑,而是一个大量用户同时使用的服务器

    其他关机命令,但是没有shutdown一样在关机和重启的时候正确保存资源,所以没有shutdown安全:
        halt:关机
        poweroff:关机
        init 0:关机

    其他的重启命令:
        reboot:相对也比较安全,可以使用
        init 6:尽量不要使用

    系统运行级别:
        0:关机,所以init 0 是关机
        1:单用户
        2:不完全多用户,不含NFS服务(文件共享服务)
        3:完全多用户
        4:为分配
        5:图形界面
        6:重启:所以init 6 是重启
        通过runlevel 命令查看当前系统的运行级别(比如显示的是N 2)
            N表示进入这个级别之前是哪个级别,N是指空级别,所以进入这个级别之前是空级别,代表我一开机就进入级别 2
            2 表示当前的级别是 2
        可以在 /etc/inittab这个配置文件中定义系统启动时候的默认运行级别,小心不能在这里设置为0或者6,否则系统一开机就关机(0),或者一开机就重启(6),想想这要怎么用??所以请小心(当然这也是可以修复的,但是对于初学者,呵呵!)

    logout:注销用户登陆
        如果用远程工具登陆服务器,在退出时,不要简单的直接关闭远程工具,而应该先执行logout工具,如果不执行这条命令,这次登陆时这个用户没有退出,下次登陆时还没有退出,时间长了,太多的用户没有logout,那么可能出现这个情况,系统允许登陆的用户数量已经用完了,这时候要想登陆就只能重启服务器,但是在真实的环境中随便重启服务器是很影响用户体验的


  接下来一篇关于Linux命令行及相关知识的学习,请点击这个链接