tar命令:归档和压缩文件;提取和解压缩文件
归档文件和目录
1) 归档语法格式:tar cvf 创建的存档的文件名.tar 目标文件(源文件) 2) 归档文件需要文件的读取权限;归档目录需要目录的读取和执行权限 3) 创建归档时忽略没有读取权限的文件和没有读取,执行权限的目录 4) 创建归档如果不指定归档后的目录位置,那么归档后的文件会创建在当前目录中
提取文件
1) 提取归档文件和目录语法格式:tar xvf 归档文件名 2) 提取归档文件不指定路径默认提取后的文件存在当前路径下 3) 建议:提取归档文件到指定的空目录,避免覆盖现有任何文件 4) root用户提取存档时保留文件的原始用户和组所有权;普通用户提取存档时,文件所有权将属于从存档中提权文件的用户 5) tar xvf new.tar -C 目标位置 // -C指定提取后的文件存在指定位置
创建压缩归档
1) 使用gzip归档时压缩: tar czvf new.tar.gz 目标文件(源文件) 2) 使用bzip2归档时压缩: tar cjvf new.tar.bz2 目标文件(源文件) 3) 使用xz归档时压缩: tar cJvf new.tar.xz 目标文件(源文件) 4) du -sh new.tar: 显示大小 5) tar tf new.tar.gz
提取压缩的存当
1) tar xzvf new.tar.gz -C 目标位置 // -C 指定提取后的文件存在指定位置 2) tar xjvf new.tar.bz2 - C 目标位置 // -C 指定提取后的文件存在指定位置 3) tar xJvf new.tar.xz -C 目标位置 // -C 指定提取后的文件存在指定位置
系统间安全传输文件:scp和sftp
- scp(secure copy):OpenSSH套件,文件从远程系统复制到本地系统或者从本地系统复制到远程系统
a. 语法格式:user@host(IP):/path;user@可选项,如果未指定,使用当前本地用户名 b. 文件复制到远程系统举例: scp /tmp/file user@x.x.x.x:/home/user c. 从远程系统复制到本地举例:scp user@x.x.x.x:/tmp/userfile /root d. r 选项以递归方式复制整个目录:scp -r user@x.x.x.x:/var/log /root/test
- sftp:交互的方式从SSH服务器上传或下载文件
a. 语法格式:user@host(IP);如果未指定用户,使用本地用户作为远程用户名进行登录 b. 举例:sftp remoteuser@remotehost(或IP):回车出现提示符sftp> c. get:从远程系统下载文件 d. put:将文件上载到到远程系统 e. 命令举例:ls,cd,mkdir,pwd,rmdir
系统间安全同步文件
- rsync:仅同步已更改的文件部分来将复制的数据最小化(即复制文件的差异部分)
- -a:启动“存档模式”,实现递归复制并开启多个选项,存档模式与表中指定的蓝色选项的作用相同
- 同步本地文件或目录
rsync -av /var/log (源) /tmp(目的) 在tmp目录下自动建名为log的目录 rsync -av /var/log/(源) /tmp (目的) 源目录加上尾斜杠,不在目标目录中创建新的子目录
- 本地文件或目录与远程计算机上的文件或目录同步
语法格式: user@host(IP):/path rsync -av /var/log remotehost@remotehost:/tmp 本地同步到远程 rsync -av remotehost@remotehost:/var/log /tmp 远程同步到本地
RPM
- RPM(Redhat package manager)由红帽开发的软件包安装和管理程序,可以对rpm格式的软件包进行安装,升级,卸载,效验和查询等相关操作。
- RPM软件包文件命名格式:软件包名称-版本号-发行号.操作系统版本.硬件平台类型.rpm
举例:openssl-1.0.1e-60.el7.x86_64.rpm 1) openssl软件包名称 2) 1.0.1e-60 版本号和发行号(包括主版本,次版本,修订号和微调号) 3) el7 表示该软件包提供给Enterprise linux7版本操作系统使用 4) x86_64 表示该软件包可以运行的CPU架构( 64位和兼容32位的x86架构
- noarch表示软件包不限定架构;aarch64表示64位ARM架构
- rpm 软件包安装
1) mount | grep sr0 2) 语法格式:rpm 选项 安装包名 3) rpm -ivh zenity-3.28.1-1.el8.x86_64.rpm 4) i 安装软件包;v 显示安装信息;h 以#号显示进度
- rpm缺点:依赖关系严重,不管是安装还是卸载,都需要先处理依赖软件
Yum
- Yum(yellow dog updater modified)安装,更新,删除和获取有关软件包及其依赖项的信息;获取已执行事务的历史记录并可以使用除红帽外的第三方软件仓库
- RHEL8启用软件仓库
- yum优点:解决rpm的缺点(rpm依赖问题)
- yum缺点:过于依赖yum源文件,如果源文件有问题,安装等操作可能失败。若yum服务器被入侵,yum源不再安全。
1) 软件仓库来源:本地ISO镜像;RHEL系统需要购买订阅;CentOS系统;EPEL 2) /etc/yum.repos.d/目录中配置软件仓库文件,必须以.repo结尾
- 举例
vim /etc/yum.repos.d/dvd.repo [app] name=app enable=1 gpgcheck=0 baseurl=file:///run/media/root/RHEL-8-2-0-BaseOS-x86_64/AppStream [base] name=base enable=1 gpgcheck=0 baseurl=file:///run/media/root/RHEL-8-2-0-BaseOS-x86_64/BaseOS
- yum安装和删除各组软件
1) 组:针对特定目的而一起安装的相关软件集合 2) RHEL8组类型:常规组(软件包的集合)和环境组(常规组的集合) 3) 1个组提供的软件包或组可能为:mandatory(安装该组时必须安装);default(安装该组时通常会安装);optional(安装该组时不予安装,除非特别要求)
- 事务历史记录
1) yum histroy:显示安装和删除事务的摘要 2) yum history undo ID:撤销事务
什么是 EPEL?
EPEL 的全称叫 Extra Packages for Enterprise Linux。EPEL 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL 之后,就相当于添加了一个第三方源。
为什么需要 EPEL?
那是因为 CentOS 源包含的大多数的库都是比较旧的。并且,很多流行的库也不存在。EPEL 在其基础上不仅全,而且还够新。
EPEL 这两个优点,解决了很多人安装库的烦恼。
EPEL 在 CentOS 系统安装相当简单。
yum install -y epel-release yum install -y htop
存储
- 存储管理概念:Linux服务器上的文件通过文件系统层次结构进行访问。该文件系统层次结构由系统可用的存储设备所提供的文件系统组成。每个文件系统都是一个已格式化的存储设备,用于存储文件;通过将文件系统附加到文件系统层次结构中的目录,来访问文件系统
- 挂载点概念:让文件系统中的内容在文件系统层次结构中可用,必须将它挂载到一个空目录上,该目录被称为挂载点。
- 磁盘分区
1) 存储设备划分为更小的区块,称为分区 2) 分区用于划分硬盘,不同的部分可以通过不同的文件系统进行格式化或用于不同的用途
- df 命令
1) 格式:df [选项] [文件] 2) -a:列出包括虚拟文件系统在内的所有文件系统 3) -T:显示文件系统类型 4) -h:以KiB,MiB或GiB显示 5) -H:以KB,MB或GB显示
- 手动挂载文件系统
1) 语法格式:mount 挂载的文件系统 挂载点的目录 2) 按块设备名称挂载举例: mount /dev/sdd1 /mnt/dd 3) 按文件系统UUID挂载举例:mount UUID=“xxxxxx” /mnt/dd 4) 查看文件系统UUDI命令:lsblk --fs 和 blkid 5) 手动挂载文件系统缺点:系统重启后自动卸载文件系统 6) 手动卸载文件系统:umunt 挂载点 7) UUID概念:与文件系统关联的唯一标识符,只要文件系统没有重新创建过,它就不会变
find
- find:通过在文件系统层次结构中执行实时搜索查找文件,速度慢,准确率高。而且可以根据文件名以外的条件搜索文件。例如:文件权限,文件类型,文件大小等
- 调用find命令的用户必须具有查看其内容的目录的读取和执行权限
1) find /home -name test 根据文件名搜索 2) find /home -name‘filename’ 使用通配符根据文件名搜索 3) find /home -iname test 不区分大小写根据文件名搜索 4) find /home -user syb 根据指定相同文件所有者搜索 5) find /home -user syb -or -user u1 根据指定不同文件所有者搜索 6) find /home -not -user syb 根据文件所有者搜索 7) find /home -group group1 根据文件所属组搜索 8) find /home -user syb -group group1 根据文件所有者和所属组搜索 9) find /home -perm 664 根据文件指定权限搜索 /222:用户,组,其它,三个权限中至少一位匹配即可 rw-r--r--匹配 -324:用户,组,其它,三个权限中用户至少有写入和执行,且组至少有写入,且其它至少有读取 10) find / -nouser -nogroup 根据文件指定没有所属者和没有所属组搜索 11) find / -uid 1000 根据uid搜索 12) find /home -type d 根据文件指定类型搜索 13) find /home -size 500M 根据文件指定大小搜索(等于500M) 14) find /home -size +500M 根据文件指定大小搜索(大于500M) 15) find /home -mmin 120 指的是120分钟这个时间点 16) find /home -mmin +120 超过120分以前修改的所有文件 17) find /home -mmin -120 过去120分钟之内修改的所有文件
- find高级应用:调用-exec将搜索出来的文件进行二次操作
1) -exec ls -l {} \; 表示将花括号里找出的文件执行ls -l命令,以转义符和分号结束 2) find /home/syb -name ‘*’ -exec ls -l {} \; 3) find /home/ -user syb -exec cp -af {} /root/dfiles \;
- 文件检索:grep
1) 语法格式:grep 关键字 搜索位置 grep a test 检索文件test中的字符小a grep -i a test 检索文件test中的字符a,忽略大小写 grep -n a test 列出文件test中的字符a所在行
磁盘分区
- MBR分区方案:指定在运行BIOS固件的系统上如何对磁盘进行分区
1) 分区表记录在硬盘的第一个扇区即MBR,大小512字节 2) MBR分为三个部分:主引导程序446字节;分区表64字节;分区结束标记2字节 3) 主分区的分区信息记录在MBR中;扩展分区的分区信息记录在扩展分区中 4) 三个主分区和一个扩展分区 5) 扩展分区是特殊的主分区,不能存放数据,用于存放其它的分区(逻辑分区) 6) 最大磁盘和分区大小为2TiB
- GPT分区方案:对于运行统一可扩展固件接口(UEFI)固件的系统,解决基于MBR分区方案中的限制。
1) GPT最多可以提供128个分区;最大磁盘和分区大小为8ZiB 2) GPT使用全局唯一标识符GUID识别每个磁盘和分区 3) GPT提供分区表信息的冗余:主GPT位于磁盘头部;备份副本位于磁盘尾部
- 磁盘分区步骤
第一步:划分分区 lsblk或者lsblk --fs查看 fdisk命令划分分区:#fdisk /dev/sda m:获取帮助;p:打印当前的硬盘分区表 n:新建分区;d:删除分区 l:列出可用分区标识符号;82 linux swap;83 linux;8e lvm;t:更改分区标识 w:保存分区表并退出;q:直接退出不保存
第二步:刷新保存分区表 #partprobe /dev/sda
第三步:定义文件系统类型 RHEL8支持的文件系统:ext和xfs 创建ext文件系统#mkfs.ext4 /dev/sda1 或者 #mkfs -t ext4 /dev/sda1 创建xfs文件系统命令:#mkfs.xfs /dev/sda1
第四步:挂载到指定目录下:手动挂载和持久挂载 mount /dev/sda1 /mnt/a1
- 持久挂载文件系统:挂载后系统重启时会自动挂载文件系统
1) 编辑/etc/fstab文件的6个字段 2) 文件系统标识符:分区标识符号;UUID;卷标(Label) 3) 挂载点:空目录 4) 文件系统类型 5) 挂载参数:default 6) dump做全盘备份:0 | 1 7) fsck顺序字段:开机第几顺位做自检:1 2 3…;0代表不自检 8) 编辑/etc/fstab文件后,必须使用#mount -a 重新挂载所有编辑过的内容