RHCSA(第四天)

目录

第四天

4.1 压缩和解压缩

4.1.1 zip和unzip命令

4.1.2 gzip和gunzip命令

4.1.3 bzip2、bunzip2命令

4.1.4 xz、unxz命令

4.2 tar归档命令

4.3 文件上传下载

4.4 环境变量

4.5 命令别名(alias)

4.6 快捷键使用

4.7 Linux 通配符

 4.8 引号使用


第四天

4.1 压缩和解压缩

4.1.1 zip和unzip命令

zip: 既归档又压缩的工具,可以压缩目录.

zip FILE

unzip FILE

unzip -d FILE +路径

素材准备:  

[root@localhost ~]# mkdir /test

  [root@localhost ~]# cd /test

  [root@localhost test]# for i in {1..5};do echo "test$i" > test$i.txt;done

  [root@localhost test]# ls

  test1.txt test2.txt test3.txt test4.txt test5.txt   [root@localhost test]# mkdir dir1

  [root@localhost test]# cp /etc/fstab dir1/

实例: 使用zip压缩文件test1.txt  

[root@localhost test]# zip test1.zip test1.txt

  adding: test1.txt (stored 0%)  

[root@localhost test]# ls test1*

  test1.txt test1.zip        

4.1.2 gzip和gunzip命令

gzip(gnu zip)命令

实例1: 使用gzip压缩文件

[root@localhost test]# gzip test1.txt

[root@localhost test]# ls test1*

test1.txt.gz test1.zip

实例2: 使用gzip压缩目录下文件

[root@localhost test]# gzip -r dir1/

[root@localhost test]# ls dir1

fstab.gz test3.txt.gz test4.txt.gz test5.txt.gz

#注意: 以上压缩之后原始文件就没有了.

实例3: 压缩但保留原始文件

[root@localhost test]# gzip -c test2.txt > test2.txt.gz

[root@localhost test]# ls test2*

test2.txt test2.txt.gz test2.zip

4.1.3 bzip2、bunzip2命令

bzip2、bunzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。

1.bzip2命令

2.bunzip2命令

 bzip2、bunzip2示例如下:

 # bzip2 -z man.config //将man.config以bzip2压缩,此时man.config变成

man.config.bz2

   # bzip2 -9 -c man.config > man.config.bz2 //将man.config用最佳的压缩比压缩,并 保留原本的档案

   # bzip2 -d man.config.bz2 //将man.config.bz2解压缩,可用bunzip2取代bzip2 -d

   # bunzip2 man.config.bz2 //将man.config.bz2解压缩

4.1.4 xz、unxz命令

实例1:压缩文件

[root@localhost test]# xz test1.txt

[root@localhost test]# ls test1.txt.xz

test1.txt.xz

实例2:压缩dir1目录下文件

[root@localhost test]# xz dir1/*

[root@localhost test]# ls dir1

fstab.xz test3.txt.xz test4.txt.xz test5.txt.xz

实例3:查看压缩文件内容

[root@localhost test]# xzcat test1.txt.xz

test1

实例4:解压缩

[root@localhost test]# unxz test1.txt.xz

实例5:解压缩目录dir1下文件

[root@localhost test]# xz -d dir1/*

[root@localhost test]# ls dir1

fstab test3.txt test4.txt test5.txt

#注意:xz -d等价于unxz

4.2 tar归档命令

格式:tar [选项] 打包文件名 被打包的源文件或目录列表

tar [选项] 打包文件名 [-C 目标文件夹]

常用选项:

 1. 创建(非压缩的)包文件 命令:tar cvf 包文件名 要打包的目录或文件名列表 功能:将指定的一个或多个文件或目录备份生成为一个指定的包文件。

2. 创建带压缩的包文件 为节省存储空间,通常需要生成压缩格式的tar包文件,tar命令支持三种不同的压缩方式: 命令:tar c[z j|J] f 压缩包文件名 要备份的目录或文件名

3. 列出包文件中的文件列表 命令:tar t[v]f 包文件名

4. 提取包文件到指定目录 格式:tar x [z j|J] [v]f 包文件名 [ -C 目标位置] tar打包时排除:

--exclude=PATTERN 排除以 PATTERN 指定的文件

-X, --exclude-from=FILE 排除 FILE 中列出的模式串

4.3 文件上传下载

sftp是一个交互式文件传输程式

它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。

sftp用法:如果有服务器的端口不是默认的22,请在sftp后面加-P端口号即可;

# sftp root@223.6.6.6

将223.6.6.6服务器文件下载到223.5.5.5的home目录:
sftp> get /var/www/renwole.txt /home/

将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录;
sftp> put /home/renwole.txt /mnt/

sftp> ls //和查看本地操作命令一样

sftp> pwd //查询223.6.6.6的当前工作目录

scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件

scp可以概括为:scp -P 端口 文件路径 用户名@主机地址:远程目录 如果想拷贝本地文件到另外一台ssh终端,可以使用以下命令:

# scp /renwole/mariadb.tar.gz root@223.6.6.6:/renwole123/

root@223.6.6.6’s password:【输入密码回车】

mariadb.tar.gz 8% 37MB 1.3MB/s 05:29 ETA

rz命令与sz命令

1.rz命令

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

当我们使用虚拟终端软件,如Xshell、SecureCRT或PuTTY来连接远程服务器后,使用rz命令可以上传本 地文件到远程服务器。输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个 文件,上传到服务器的路径为当前执行rz命令的目录。

此外,可以在虚拟终端软件设置上传时默认加载的本地路径和下载的路径。如SecureCRT软件 -> Options -> session options -> X/Y/Zmodem 下可以设置上传和下载的目录。

命令格式:

rz [选项]

选项说明:

-+, --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:显示帮助信息

2.sz命令

2.1sz命令(Send ZMODEM)通过ZMODEM协议,可将多个文件从远程服务器下载到本地。注意不能 下载文件夹,如果下载文件夹,请先打包再下载

2.2格式:

rz [选项] [filelist]

命令选项基本与rz相同,请参考上文rz的命令选项或者sz的manual,或者运行命令sz -h查看。

2.3常用示例

2.3.1 下载多个文件

sz file1 file2 file3

sz和rz命令在实际应用开发中非常实用,有时候我们会经常跑脚本统计数据,需要上传和下载一些大数 据量的数据,这时候这两个命令就非常有用了

有的机器可能不能使用 rz/sz 命令,这个时候我们就需要安装 lrzsz

执行以下命令:

yum install lrzsz -y

4.4 环境变量

变量可分为两类:环境变量(全局变量)和普通变量(局部变量)

环境变量也可称为全局变量,可以在创建它们的Shell 及其派生出来的任意子进程 Shell 中使用,环境变 量又可分为自定义环境变量和 bash 内置的环境变量。

普通变量也可称为局部变量,只能在创建它们的Shell函数或Shell脚本中使用,普通变量一般由开发者在 开发脚本程序时创建。

1.环境变量

环境变量一般是指用 export 内置命令导出的变量,用于定义 Shell 的运行环境,保证 Shell 命令的正确 执行,Shell 通过环境变量来确定登录用户名、命令路径、终端类型、登录目录等,所有的环境变量都是 系统全局变量,可用于所有子进程中,这包括编辑器、Shell 脚本和各类应用。

环境变量可以在命令行中设置和创建,但用户退出o命令时这些变量值就会丢失,因此,如果希望永久保 存环境变量,可在用户家目录下的 .bash_profile 或 .bashrc (非用户登录模式特有,例如远程 SSH)文件中,或者全局配置 /etc/bashrc (非用户登录模式特有,例如远程 SSH)或 /etc/profile;

文件中定义,在将环境变量放入上述的文件中后,每次用户登录时这些变量都将被初始化。

按照系统规范,所有环境变量的名字均采用大写形式,在将环境变量应用于用户进程程序之前,都应该 用 expirt 命令导出定义,例如:正确的环境变量定义方法为 exprot OLDGIRL=1

(1)设置环境变量

如果想要设置环境变量,就要在给变量赋值之后或在设置变量时使用 export 命令,另外,除了 export命令。带 -x 选项的 declare 内置命令也可以完成同样的功能(注意:此处不要再前面加 $)

export 命令和 declare 命令的格式如下:

export 变量名=value

变量名=value ; export 变量名

declare -x 变量名=value

(2)设置环境变量(永久生效)

用户的环境变量配置:

[root@www ~]$ ls /root/.bashrc          # 推荐再此文件中优先设置

/root/.bashrc

[root@www ~]$ ls /root/.bash_profile

/root/.bash_profile

全局的环境变量配置

[root@www ~]$ /etc/profile

[root@www ~]$ /etc/bashrc

[root@www ~]$ /etc/profile.d/

(3)用 env 或 set 显示默认的环境变量

[root@www ~]$ env

XDG_SESSION_ID=17

HOSTNAME=www.oliven.com

TERM=xterm

...

[root@www ~]$ set

BASH=/bin/bash

...

[root@www ~]$ declare | head

BASH=/bin/bash

...

(4)用 unset 消除本地变量和环境变量

[root@www ~]$ echo $USER

root

[root@www ~]$ unset USER

[root@www ~]$ echo $USER

[root@www ~]$

环境变量初始化与对应文件的生效顺序:

在登录Linux系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中查找环境变量的设置, 这些文件可统称为系统环境文件,bash 检查的环境变量文件的情况取决于系统运行 Shell 的方式;

系统 运行 Shell 的方式有 3 种:

(1)通过系统用户登录后默认运行的 Shell

(2)非登录交互式运行 Shell

(3)执行脚本运行非交互式 Shell

4.5 命令别名(alias)

别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是:

alias 别名=’原命令 -选项/参数’

查看设置的别名:alias

删除别名:unalias 别名 别名永久化:

alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一 个 Shell,或者重新登录,则这些alias将无法使用。linux中提供alias永久化的方法:

<1>若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc .

<2>若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc

4.6 快捷键使用

history查阅命令历史记录

查询执行过的历史命令:

利用向上或向下光标键来进行查询。

第二种办法是执行“history [n]” 命令来查询。

history(选项)(参数)

选项: -N: 显示历史记录中最近的N个记录;

-c:清空当前历史命令;

-a:将历史命令缓冲区中命令写入历史命令文件中;

-r:将历史命令文件中的命令读入当前历史命令缓冲区;

-w:将当前历史命令缓冲区命令写入历史命令文件中; -d:删除历史记录中第offset个命令

-n:读取指定文件 参数: n:打印最近的n条历史命令。

# 使用! 执行历史命令。

# !number 执行第几条命令

!! #执行上一条命令 !?string? 执行含有string字符串的最新命令

注意:如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录 下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。

快捷方式:

Ctrl+a 移动到当前行的开头

Ctrl+e 移动到当前行的结尾

Ctrl+l 清屏

Ctrl+u 剪切命令行中光标所在处之前的所有字符(不包括自身)

Ctrl+k 剪切命令行中光标所在处之后的所有字符(包括自身)

Ctrl+R 可以使用该快捷键来搜索历史命令 引用上一条命令的最后一个参数 方法1:!$

方法2:Alt+.

方法3:Esc,.

xshell中无法使用alt+.的处理方法:

1. 打开会话属性 默认快捷键 alt + p

2. 进入 终端 -> 键盘 页

3. 找到 元键仿真

4. 勾选 将 左ALT 用作 Meta 键

5. 保存设置

结果:

1. 命令行的 alt 快捷键 可以通过 左alt 触发

2. xshell 的 alt 快捷键, 可以通过 右alt 触发

3. alt 不再冲突

4.7 Linux 通配符

通配符是一种特殊语句,主要有星号(*)、问号(?)等表示,用来模糊搜索文件,当查找目录或文件时, 可以使用通配符来代替一个或多个真正字符。

作用范围:目录和文件名

常见通配符:常用通配符包括 "*"、"?" 、"[ ]"、 "[^ ]" 、"[! ]"和"{}",具体含义见下表 通配符具体含义及用法表:

 4.8 引号使用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值