二.Linux基础指令

本文围绕Linux系统展开,介绍了Vi与Vim编辑器的模式及操作,涵盖关机、重启、用户登录注销等基本操作。详细阐述用户管理,包括添加、删除用户等。还列举大量实用指令,如文件目录、时间日期、搜索查找、压缩解压类指令,最后说明查看系统版本信息的方法。

Linux基础指令


可参考:菜鸟联盟-Linux命令大全



1. Vi 与 Vim编辑器


学习Vi的目的

  • 在工作中,要对服务器上文件进行简单修改,可以使用SSH远程登录到服务器上,并使用vi进行快速编辑;
  • 常见需要修改的文件包括:
    • 源程序
    • 配置文件,例如SSH 的配置文件:~/.ssh/config

1.1 vi 和 vim 的基本介绍

1)vi:所有的 Linux 系统都会内建 vi 文本编辑器

2)Vim:具有程序编辑的能力, 可以看做是 Vi 的增强版本, 可以主动的以字体颜色辨别语法的正确性, 方便程序设计。 代码补完、 编译及错误跳转等方便编程的功能特别丰富, 在程序员中被广泛使用。

1.2 vi 和 vim 的三种常见模式

1.2.1 正常模式

在正常模式下, 我们可以使用快捷键:

  • 在插入模式下无法使用快捷键,需要退出到一般模式下

以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』 按键来移动光标, 你可以使用『删除字符』 或『删除整行』 来处理档案内容, 也可以使用『复制、 贴上』 来处理你的文件数据。

vi与vim 常用命令与快捷键:

语法功能描述
yy复制光标当前一行
y数字y复制一段(从第几行到第几行)
p箭头移动到目的行粘贴
u撤销上一步
dd删除光标当前行
d数字d删除光标(含)后多少行
x删除一个字母,相当于del,向后删
X删除一个字母,相当于Backspace,向前删
yw复制一个词
dw删除一个词
^移动到行头
$移动到行尾
gg或者1+G移动到页头
G移动到页尾
数字+G(先输入数字,再按G)移动到目标行
ZZ没有修改文件直接退出,如果修改了文件保存后退出

VIM键盘图:

https://blog.youkuaiyun.com/sinat_36101354/article/details/65937513

vim多行注释与取消

https://blog.youkuaiyun.com/summy_J/article/details/75104748

1.2.2 插入模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!在插入模式下, 程序员可以输入内容。

按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可。

1.进入编辑模式:a、i、o

按键功能
i当前光标前
a当前光标后
o当前光标行的下一行
I光标所在行最前
A光标所在行最后
O当前光标行的上一行

2.退出编辑模式

  • 按『Esc』键

1.2.3 命令行模式

在这个模式当中, 可以提供你相关指令, 完成读取、 存盘、 替换、 离开 vim 、 显示行号等的动作则是在此模式中达成的!

在一般模式当中,输入『 : / ? 』3个中的任何一个按钮,就可以将光标移动到最底下那一行,就可以输入对应命令。

基本命令:

命令功能
:w保存
:q退出
:!强制执行
:wq!强制保存退出
/ 要查找的词n 查找下一个,N 往上查找
? 要查找的词n是查找上一个,N是往下查找
:set nu显示行号
:set nonu关闭行号

1.2.4 vi 和 vim 三种模式的相互转化图

在这里插入图片描述

2.关机、重启和用户登录注销


2.1 关机&重启

2.1.1 基本介绍

1.shutdown:

  • shutdown -h now : 表示立即关机
  • shutdown -h 1 : 表示 1 分钟后关机
  • shutdown -r now: 立即重启

2.halt:就是直接使用, 效果等价于关机

3.reboot:就是重启系统

4.sync : 把内存的数据同步到磁盘

2.1.2 注意细节

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

正确的关机流程为:sync > shutdown > reboot > halt

Linux系统中为了提高磁盘的读写效率,对磁盘采取了 “预读迟写”操作方式。当用户保存文件时,Linux核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据丢失。使用sync指令可以立即将缓冲区的数据写入磁盘。

所以,当我们关机或者重启时, 都应该先执行一下 sync 指令, 把内存的数据写入磁盘, 防止数据丢失。

2.2 用户登录和注销

1) 登录时:尽量少用 root 帐号登录

  • 因为它是系统管理员, 最大的权限, 避免操作失误。
  • 可以利用普通用户登录, 登录后再用” su - 用户名’ 命令来切换成系统管理员身份.

2)注销: 在提示符下输入 logout ,即可注销用户

3)使用细节

  • logout 注销指令在图形运行级别无效, 在 运行级别 3 下有效.
  • 运行级别这个概念, 后面给大家介绍

3.用户管理


3.1 基本介绍

用户管理的规则:

  • 1)用户与用户组的概念
  • 2)用户家目录的概念
    • 创建用户时,/home/目录小有各个创建用户对应的家目录;
    • 当用户登录时,会自动进入到自己的家目录。
      在这里插入图片描述

为何会这么设置:

说明:

  • 1)Linux 系统是一个多用户多任务的操作系统, 任何一个要使用系统资源的用户, 都必须首先向系统管理员申请一个账号, 然后以这个账号的身份进入系统。
  • 2)Linux 的用户需要至少要属于一个组

3.2 添加用户

1.创建用户的两种方法:

useradd [选项] 用户名			->自动的创建和用户同名的家目录
useradd -d 指定目录 用户名   ->给创建的用户指定家目录

2.细节说明:

  • 1)当创建用户成功后, 会自动的创建和用户同名的家目录
  • 2)也可以通过 useradd -d 指定目录 新的用户名, 给新创建的用户指定家目录(可以不同名)

3.指定/修改密码

passwd 用户名

root用户才能设置密码

4.案例:

useradd xiaoming

cd /home

ls  ->目录小会自动创建名为xiaoming的家目录

passwd xiaoming  ->为xiaoming用户设置密码

3.3 删除用户

1.基本语法:

userdel 用户名

2.实际案例

  • 1)删除用户,但保留家目录;

userdel 用户名

  • 2)删除用户,以及用户主目录

userdel -r 用户名

3.是否保留家目录:

在删除用户时, 我们一般不会将主目录删除。

因为,用户家目录下可能会有有用文件存在。

3.4 查询用户信息

1.基本语法

id 用户名

在这里插入图片描述

2.细节说明

  • 当用户不存在时, 返回"无此用户"

3.5 切换用户

1.介绍

在操作 Linux 中, 如果当前用户的权限不够, 可以通过 su - 指令, 切换到高权限用户, 比如 root。

2.基本语法

su – 切换的用户名

3.应用实例

在root下创建一个用户 xf; 指定密码; 然后切换到 xf
在这里插入图片描述

4.细节说明

  • 1)从权限高的用户切换到权限低的用户, 不需要输入密码, 反之需要;
  • 2)当用户权限不足时,会给提示;
  • 3)当需要返回到原来用户时, 使用 exit 指令。

3.6 查看当前用户/登录用户

基本语法

whoami / who am I

3.7 用户组操作

1.介绍

用户组类似于角色, 系统可以对有共性的多个用户进行统一的管理。

2.增加组

groupadd 组名

3.删除组

groupdel 组名

4.groupmod 修改组

groupmod -n 新组名 老组名

修改xitianqujing组名称为xitian
[root@hadoop101 ~]#groupadd xitianqujing
[root@hadoop101 ~]# groupmod -n xitian xitianqujing

5.增加用户时,直接加上组

useradd -g 用户组 用户名

增加一个用户 zwj, 直接将他指定到 wudang
在这里插入图片描述

6.修改用户的组

usermod -g 新的用户组 用户名

创建一个 shaolin 组, 让将 zwj 用户修改到 shaolin

在这里插入图片描述

3.8 用户和组的相关文件

增加完用户和组之后,这些组和用户的信息在什么地方呢?

3.8.1 /etc/passwd 文件

文件内容:用户(user) 的配置文件

  • 1)记录用户的各种信息;
  • 2)使用 vi 查看该文件内容,每行的含义:
    • 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

在这里插入图片描述

3.8.2 /etc/shadow 文件

文件内容:口令的配置文件

  • 记录密码和登录的相关信息(加密)。

每行的含义:

  • 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

3.8.3 /etc/group 文件

文件内容:组(group)的配置文件

  • 记录 Linux 包含的组的信息

每行含义:

  • 组名:口令:组标识号:组内用户列表

3.9 设置普通用户具有root权限 - sudo

1.添加zhangsan用户,并对其设置密码

[root@hadoop101 ~]#useradd zhangsan

[root@hadoop101 ~]#passwd zhangsan

2.修改配置文件

[root@hadoop101 ~]#vi /etc/sudoers

修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:

##Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
zhangsan  ALL=(ALL)     ALL

或者配置成采用sudo命令时,不需要输入密码

##Allow root to run any commands anywhere
root      ALL=(ALL)     ALL
zhangsan  ALL=(ALL)     NOPASSWD:ALL

修改完毕,现在可以用zhangsan 帐号登录,然后用命令 sudo ,即可获得root权限进行操作。

3.案例实操

用普通用户在/opt目录下创建一个文件夹

[zhangsan @hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown zhangsan :zhangsan module/

4.Linux 实用指令


4.1 指定运行级别

4.1.1 运行级别说明

1.为什么要设置运行级别,什么是运行级别,作用是什么?

2.各运行级别:

Linux 系统有 7 种运行级别(runlevel): 常用的是级别 3 和 5

  • 运行级别 0: 系统停机状态[关机], 系统默认运行级别不能设为 0, 否则不能正常启动
  • 运行级别 1: 单用户工作状态, root 权限, 用于系统维护, 禁止远程登陆【找回丢失密码】
  • 运行级别 2: 多用户状态(没有 NFS), 不支持网络
  • 运行级别 3: 完全的多用户状态(有 NFS), 登陆后进入控制台命令行模式
  • 运行级别 4: 系统未使用, 保留
  • 运行级别 5: X11 控制台, 登陆后进入图形 GUI 模式
  • 运行级别 6: 系统正常关闭并重启, 默认运行级别不能设为 6, 否则不能正常启动

3.开机流程

开机
BIOC
/boot
init进程1
运行级别
运行级别对应服务

1)BIOS:“Basic Input Output System”——“基本输入输出系统”。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

ROM是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。

2)/boot:系统引导文件

4.运行级别的修改:

常用运行级别是 3 和 5 , 要修改默认的运行级别可改文件:

  • /etc/inittab 的 id:5:initdefault:这一行中的数字

5…运行级别的示意图:
在这里插入图片描述

4.1.2 切换到指定运行级别的指令

1.基本语法

init [012356]

1)init 方法:

  • 运行后,系统直接重启,运行级别直接切换;
  • 但并不会修改配置文件,下一次系统启动还是原先的运行级别。

1)vi /etc/inittab
2)修改id:5:initdefault:中的数字(切忌不要改为0,否则一开机就关机,解决方案见7.1.3)
3)保存修改退出
4)reboot 重启

2)vi /etc/inittab 方法:

  • 直接修改配置文件,不会直接切换运行级别(不会重启);
  • 手动重启,或是下一次系统启动时,自动切换到指定的运行级别。

案例 1: 通过 init 来切换不同的运行级别, 比如动 5->3 , 然后关机

  • init 3
  • init 5
  • init 0

4.1.3 面试题

如何找回 root 密码, 如果我们不小心, 忘记 root 密码, 怎么找回。

1.思路: 进入到 单用户模式-1, 然后修改 root 密码。

  • 因为进入单用户模式, root 不需要密码就可以登录。

2.总结

开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面, 选中第二行(编辑内核) 在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。

这时, 我们就进入到单用户模式, 使用 passwd 指令来修改 root 密码,然后正常重启。

3.关于这种操作的解释:

  • 因为启用单用户模式后,只能在服务器端OS上才能进行操作,SSH不能使用;
  • 你已经在服务器端,而不是远程登录,此时默认你已经有root权限了

4.2 帮助指令

介绍:

当我们对某个指令不熟悉时, 我们可以使用 Linux 提供的帮助指令来了解这个指令的使用方法。

4.2.1 man 获得帮助信息

功能描述: 获得帮助信息

1.基本语法

man [命令或配置文件]

2.应用实例

案例: 查看 ls 命令的帮助信息

man ls

4.2.2 help 指令

功能描述: 获得 shell 内置命令的帮助信息

1.基本语法

help 命令

4.3 文件目录类指令

4.3.1 pwd 指令

1.功能描述:

  • present work directory
  • 显示当前工作目录绝对路径

2.基本语法

pwd

4.3.2 ls 指令

1.基本语法

ls [选项] [目录或是文件]

不仅仅可以显示目录,还可以显示文件的详细信息。

2.常用选项

  • -a : 显示当前目录所有的文件和目录, 包括隐藏的。
  • -l : 以列表的方式显示信息
  • -al:可以联合使用

3.帮助文档:

  • man ls

4.3.3 cd 指令

1.功能描述: 切换到指定目录

2.基本语法

cd [参数]

3.常用参数

  • 绝对路径
  • 相对路径

1)回到家目录:cd ~ 或 cd

2)回到父目录:cd ..

4.如何理解绝对路径和相对路径

4.3.4 mkdir 指令

1.功能介绍:

  • mkdir 指令用于创建目录
  • make directory

2.基本语法

mkdir [选项] 要创建的目录

3.常用选项

  • -p : 用于创建多级目录

4.应用实例

案例 :创建多级目录 /home/animal/tiger(现在没有animal文件夹)

在这里插入图片描述

4.3.5 rmdir 指令

1.rmdir 指令:

  • remove directory
  • 删除空目录

2.基本语法

rmdir [选项] 要删除的空目录

3.应用实例

案例 1:删除一个目录 /home/dog

4.注意细节

  • rmdir 删除的是空目录, 如果目录下有内容时无法删除的。
  • 参数:-p, --parents
    • remove DIRECTORY and its ancestors;
    • e.g., ‘rmdir -p a/b/c’ is similar to ‘rmdir a/b/c a/b a’

5.提示:

  • 如果需要删除非空目录, 需要使用 rm -rf 要删除的目录

rm -rf 非空目录名

4.3.6 touch 指令

1.touch 指令:创建空文件

2.基本语法

touch 文件名称 [文件2名称]

可以一次性创建多个空文件

4.3.7 cp 指令[重要]

1.cp 指令:

  • copy
  • 拷贝文件到指定目录

2.基本语法

cp [选项] source dest

3.常用选项

  • -r : 递归复制整个文件夹

拷贝单个文件也可以,拷贝整个文件夹也可以。

4.使用细节

  • 如果再次进行复制,则会提示具体的文件是否要覆盖;缺点就是如果文件夹中有100个文件,会问100次。
  • 强制覆盖不提示的方法: \cp

4.3.8 rm 指令

1.rm 指令:

  • remove 移除
  • 移除【删除】 文件或目录

2.基本语法

rm [选项] 要删除的文件或目录

3.常用选项

  • -r : 递归删除整个文件夹,删除的提示信息也会是递归显示(见下图);
  • -f : 强制删除不提示;

在这里插入图片描述

4.使用细节

  • 单独的 rm 命令,不能删除目录,需要加上参数 -r;
  • 强制删除不提示的方法: 带上 -f 参数即可;

4.3.9 mv 指令

1.mv指令:

  • move
  • 移动或者重命名文件与目录

2.基本语法

mv oldNameFile newNameFile (功能描述: 重命名)

mv /temp/movefile /targetFolder (功能描述: 移动文件)

4.3.10 cat 指令

1.cat 查看文件内容, 是以只读的方式打开。

2.基本语法

cat [选项] 要查看的文件

3.常用选项

  • -n : 显示行号

4.使用细节

  • cat 只能浏览文件, 而不能修改文件, 为了浏览方便, 一般会带上 管道命令 | more

cat 文件名 | more [分页浏览]

4.3.11 more 指令

1.more 指令:

  • 是一个基于 VI 编辑器的文本过滤器;
  • 它以全屏幕的方式按页显示文本文件的内容。

2.基本语法

more 要查看的文件

3.more指令中内置了若干快捷键, 详见操作说明
在这里插入图片描述

4.3.12 less 指令

1.less 指令:

  • 用来分屏查看文件内容
  • 它的功能与 more 指令类似, 但是比 more 指令更加强大, 支持各种显示终端;
  • less 指令在显示文件内容时, 并不是一次将整个文件加载之后才显示, 而是根据显示需要加载内容, 对于显示大型文件具有较高的效率。

2.基本语法

less 要查看的文件

3.快捷键
在这里插入图片描述

4.3.13 > 指令 和 >> 指令

1.> 指令 和 >> 指令

  • > 输出重定向 : 会将原来的文件的内容覆盖
  • >> 追加: 不会覆盖原来文件的内容, 而是追加到文件的尾部。

2.基本语法

ls -l >文件 (功能描述: 列表的内容写入文件 a.txt 中(覆盖写) )

说明: ls -l > a.txt , 将 ls -l 的显示的内容覆盖写入到 a.txt 文件, 如果该文件不存在, 就创建该文件。

ls -al >>文件 (功能描述: 列表的内容追加到文件 aa.txt 的末尾)

cat 文件 1 > 文件 2 (功能描述: 将文件 1 的内容覆盖到文件 2)

echo “内容” >> 文件

4.3.14 echo 指令

1.echo :输出内容到控制台。

2.基本语法

echo [选项] [输出内容]

3.使用 echo 指令:输出环境变量,输出当前的环境路径:

echo $PATH

输出 hello world

echo “hello world”

4.3.15 head 指令

1.head 指令:

  • 用于显示文件的开头部分内容
  • 默认情况下 head 指令显示文件的前 10 行内容

2.基本语法

head 文件 (功能描述: 查看文件头 10 行内容)

head -n 5 文件 (功能描述: 查看文件头 5 行内容, 5 可以是任意行数)

4.3.16 tail 指令

1.tail指令:

  • 用于输出文件中尾部的内容,
  • 默认情况下 tail 指令显示文件的后 10 行内容。

2.基本语法

tail 文件 (功能描述: 查看文件后 10 行内容)

tail -n 5 文件 (功能描述: 查看文件后 5 行内容, 5 可以是任意行数)

tail -f 文件 (功能描述: 实时追踪该文档的所有更新, 工作经常使用)

在这里插入图片描述

4.3.17 ln 指令

软链接:也叫符号链接, 类似于 windows 里的快捷方式, 主要存放了链接其他文件的路径

2.基本语法

ln -s [原文件或目录] [软链接名] (功能描述: 给原文件创建一个软链接)

3.可以使用 ls -l 命令查看软链接及其指向文件

4.使用pwd指令,位置显示的是软链接的位置;而使用cd命令转到软链接,实际上转到的是指向文件

5.删除软链接:

rm -rf 软链接 (不能带/)

在这里插入图片描述
6.删除软链接的源文件,软链接还存在么?

在这里插入图片描述

4.3.18 history 指令

1.查看已经执行过历史命令,也可以执行历史指令

2.基本语法

history (功能描述: 查看已经执行过历史命令)

3.参数使用

history 5(功能描述:查看最近执行的5个命令)

!88 (功能描述:执行历史命令的第88号命令)

4.3.19 df / du

查询系统整体磁盘使用情况-df

1.基本语法:disk free - df

df -lh

2.应用实例:查询系统整体磁盘使用情况

在这里插入图片描述

查询指定目录的磁盘占用情况-du

1.基本语法:disk usage - du

du -h /目录

2.查询指定目录的磁盘占用情况, 默认为当前目录

  • -s 指定目录占用大小汇总
  • -h 带计量单位
  • -a 含文件
  • - -max-depth=1 子目录深度
  • -c 列出明细的同时, 增加汇总值

3.应用实例

查询 /home 目录的磁盘占用情况, 深度为 1
在这里插入图片描述

4.3.20 iotop

iotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息。

 iotop -help

4.3.21 netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

参考

常用命令:

netstat -lntup  
说明: l:listening   n:num   t:tcp  u:udp  p:process

4.4 时间日期类

4.4.1 date 指令-显示当前日期

基本语法

  1. date (功能描述: 显示当前时间)
  2. date +%Y (功能描述: 显示当前年份)
  3. date +%m (功能描述: 显示当前月份)
  4. date +%d (功能描述: 显示当前是哪一天)
  5. date “+%Y-%m-%d %H:%M:%S”(功能描述: 显示年月日时分秒,减号连接符可以换)

4.4.2 date 指令-设置日期

1.基本语法

date -s “字符串时间”

2.应用实例

设置系统当前时间 , 比如设置成 2018-10-10 11:22:22

date -s “2018-10-10 11:22:22”

4.4.3 cal 指令

1.cal 指令:查看日历指令

2.基本语法

cal [选项] (功能描述: 不加选项, 显示本月日历)

显示2020年日历:

cal 2020

4.5 搜索查找类

4.5.1 find 指令

1.find 指令:

  • 将从指定目录向下递归地遍历其各个子目录,
  • 将满足条件的文件或者目录显示在终端。

2.基本语法

find [搜索范围] [选项] 目标

3.选项说明(常用)

选项参数作用
-name按文件名,查找:支持通配符
-user按文件所属用户,查找
-size按文件大小,查找:+N表示大于,-N表示小于,N等于

find / -size -20M(功能描述:查找根目录下小于20M的文件)

ctrl + c 结束执行

4.5.2 locate 指令

1.locate 指令:

  • 可以快速定位文件路径。

locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。 Locate 指令无需遍历整个文件系统, 查询速度较快。

为了保证查询结果的准确度, 管理员必须定期更新 locate 时刻。

2.基本语法

locate 搜索文件

3.特别说明

  • 由于 locate 指令基于数据库进行查询, 所以第一次运行前, 必须使用 updatedb 指令创建 locate 数据库

updatedb (功能描述:创建 locate 数据库)

4.linux的locate命令不能使用

执行一下命令安装以后,就可以locate XXX了:

  • yum install mlocate
  • sudo updatedb
  • locate *.doc

4.5.3 grep 过滤查找和 管道符号 |

参考链接:菜鸟联盟

1.grep 指令:过滤查找 ;

管道符-“|”:表示将前一个命令的处理结果,输出传递给后面的命令处理。

2.基本语法

grep [选项] 查找内容 源文件

3.常用选项

选项参数作用
-n显示匹配行及行号
-i忽略字母大小写

在这里插入图片描述

4.5.4 which 查找命令

作用:查找命令在那个目录下

which 命令

2.案例实操

[root@hadoop101 ~]# which ll
alias ll='ls -l --color=auto'
	/bin/ls

4.6 压缩和解压类

4.6.1 gzip/gunzip 指令

1.gzip 用于压缩文件

  • 用于压缩文件,不能压缩目录
  • 不保留原文件
  • 文件名为 *.gz 文件
  • gunzip 用于解压

2.基本语法

gzip 文件 (功能描述: 压缩文件, 只能将文件压缩为*.gz 文件)

gunzip 文件.gz (功能描述: 解压缩文件命令)

3.细节说明

  • 当我们使用 gzip 对文件进行压缩后, 不会保留原来的文件;
  • 可一次压缩、解压多个文件;

在这里插入图片描述

4.6.2 zip/unzip 指令

1.zip 用于压缩文件—*.zip;unzip 用于解压的:

  • 保留原文件
  • 可以压缩目录:-r
  • 可以一次压缩多个文件
  • 这个在项目打包发布中很有用

2.基本语法

zip [选项] XXX.zip 将要压缩的内容(功能描述: 压缩文件和目录的命令)

unzip [选项] XXX.zip (功能描述: 解压缩文件)

3.zip 常用选项

  • -r: 递归压缩, 即压缩目录

4.unzip 的常用选项

  • -d <目录> : 指定解压后文件的存放目录

案例:

(1)压缩houge.txt 和 bailongma.txt,压缩后的名称为 houma.zip

[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 opt]# touch houge.txt
[root@hadoop101 ~]# zip houma.zip houge.txt bailongma.txt 
  adding: houge.txt (stored 0%)
  adding: bailongma.txt (stored 0%)
[root@hadoop101 opt]# ls
houge.txt	bailongma.txt	houma.zip 

(2)解压 houma.zip

[root@hadoop101 ~]# unzip houma.zip 
Archive:  houma.zip
 extracting: houge.txt               
 extracting: bailongma.txt       
[root@hadoop101 ~]# ls
houge.txt	bailongma.txt	houma.zip 

(3)解压 houma.zip 到指定目录-d

[root@hadoop101 ~]# unzip houma.zip -d /opt
[root@hadoop101 ~]# ls /opt/

5.如法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,安装方法:

  • 获取安装列表命令: yum list | grep zip/unzip
  • 安装命令: yum install zip #提示输入时,请输入y;
  • 安装命令: yum install unzip #提示输入时,请输入y;

4.6.3 tar 指令

1.tar 指令 是打包指令, 最后打包后的文件是 .tar.gz 的文件。

2.基本语法

tar [选项] XXX.tar.gz 打包的内容 (功能描述: 打包目录, 压缩后的文件格式.tar.gz)

3.选项说明

选项功能
-z打包同时压缩
-c产生.tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-x解包.tar文件

4.功能

1)压缩多个文件:参数 -zcvf
在这里插入图片描述
2)压缩目录

[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/dssz/
xiyou/dssz/houge.txt

3)解压:

  • 参数 -zxvf;
  • 解压到指定文件目录时,还需指定参数-C;且目录得事先存在。

在这里插入图片描述

在这里插入图片描述

5.查看linux系统版本信息

1.查看Linux系统版本的命令

1)cat /etc/issue,此命令也适用于所有的Linux发行版。

[root@S-CentOS home]# cat /etc/issue
  CentOS release 6.5 (Final)
  Kernel \r on an \m

3)lsb_release -a,即可列出所有版本信息:

[root@S-CentOS ~]# lsb_release -a
  LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
  Distributor ID: CentOS
  Description: CentOS release 6.5 (Final)
  Release: 6.5
  Codename: Final

2.查看Linux内核版本命令(两种方法)

1)cat /proc/version

[root@S-CentOS home]# cat /proc/version
  Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013

2)uname -a

[root@S-CentOS home]# uname -a
  Linux S-CentOS 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值