> 技术文档 > 云计算笔记d ay4

云计算笔记d ay4

归档与压缩

压缩格式:

  gzip---->.gz  -z

  bzip2--->.bz2  -j

  xz------->.xz    -J

归档及压缩(制作tar包)

格式:

 tar  [选项]    /路径/压缩包名字    /路径/源数据.......

 -c:动作打包数据   -f:指定压缩包名字,必须在所有选项最后

 -z、-j、-J : gzip  bzip2   xz            

解包:

tar  [选项]   /路径/压缩包名字  [选项]   /释放的路径

 -x:解包     -f:指定压缩包名字,必须在所有选项最后

 -C:指定路径   -t:查看tar包内容

tar命令高级使用:

本例要求使用tar工具完成以下备份任务:

创建一个名为/root/backup.tar.bz2的归档文件

其中包含/usr/local目录中的内容

tar归档必须使用bzip2进行压缩步骤

[root@server0 ~]# tar -jcf /root/backup.tar.bz2 /usr/local/[root@server0 ~]# tar -tf /root/backup.tar.bz2

tar命令也可以单独进行归档不进行压缩

]# tar -cf /root/abc.tar /etc/passwd /etc/fstab ]# ls /root/

重定向操作

重新定向命令的输出  >

将前面命令的输出,作为内容,写入到后面的文件

>:覆盖重定向

>>:追加重定向

echo命令的使用

管道操作  |

作用:将前面命令的输出,传递给后面命令,作为后面命令的参数

一般情况下不支持管道

1.双参数以上的命令

2.没有参数也能运行的命令

3.交互式的命令不支持

显示8~12行内容

eg:]# head -12 /etc/passwd | tail -5]# cat -n /etc/passwd | head -12]# cat -n /etc/passwd | head -12 | tail -5]# cat -n /etc/passwd | head -12 | tail -5 > /opt/pa.txt]# cat /opt/pa.txt

Linux中大多数配置文件内容,以#开头的行为注释行

显示配置文件有效信息(去除以#开头的注释行和去除空行)

]# grep -v ^# /etc/login.defs

find命令

-type 类型(f文本文件、d目录、l快捷方式)

[root@A /]# find /boot -type d[root@A /]# find /etc -type l [root@A /]# find /boot -type f

-name 名字 (iname忽略大小写)

两个条件联合使用

]# mkdir /mnt/cbd01]# mkdir /mnt/cbd02]# touch /mnt/cbd03.txt]# find /mnt/ -name \"cbd*\"]# find /mnt/ -name \"cbd*\" -type d]# find /mnt/ -name \"cbd*\" -type f]# find /mnt/ -name \"cbd*\" -o -type f #两个满足其中一个

-size 大小  +与-

-user  用户名 (按照数据的所有者)

-mtime   修改时间

+90   #90天之前修改的过的数据

-10    #最近10天之内修改的过的数据

/var :存放经常变化的数据(日志、数据库.....)

eg:三个月之前的数据:root@A /]# find /var -mtime +90最近10天之内的数据:[root@A /]# find /root -mtime -10

补充:

-newermt   #在此时间之后

!  -newermt    #不在此时间之后(必须在此时间之前)

不写年月日则表示今天

find高级使用

处理find找到的数据,每查找的一个就传递一次

find [范围] [条件] -exec 处理命令 {} \\;

-exec额外操作的开始

{} 永远表示前面find查找的结果

\\; 额外操作的结束

]# find /boot -size +10M]# find /boot -size +10M -exec cp {} /mnt \\; ]# ls /mnt]# find /boot -size +10M -exec ls -lh {} \\;两个条件联合使用]# mkdir /root/mytab]# find /etc -name \"*tab\" -type f]# find /etc -name \"*tab\" -type f -exec cp {} /root/mytab \\;]# ls /root/mytab 
案例:查找并处理文件1. 利用find查找,数据的所有者为 student,并且必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中]# useradd student  #创建普通用户student ]# mkdir /root/findfiles ]# find / -user student -type f]# find / -user student -type f -exec cp {} /root/findfiles \\;]# ls -A /root/findfiles/ #-A显示隐藏数据

vim高级使用

命令模式[root@qq ~]# cp /etc/passwd /opt/pass.txt[root@qq ~]# vim /opt/pass.txt 末行模式:末行模式下 :r /opt/aa.txt末行模式下 :r /etc/passwd末行模式下 :r /etc/shells末行模式下:替换 :1,10s/root/haha/g 替换第1-10行所有的“root”:%s/bin/xixi/g 替换文件内所有的“bin”开关参数的控制:set nu或nonu 显示/不显示行号:set ai或noai 启用/关闭自动缩进(了解)设置永久开关[root@nb ~]# vim /root/.vimrc set nu set aivimdiff同时比对或修改多个文件[root@a ~]# vimdiff /opt/zz.txt /opt/yy.txt命令模式下Ctrl与w同时按下,然后左右键移动光标末行模式wqa保存全部文件并退出设置vim永久开关功能设置[root@nb ~]# vim /root/.vimrc #家目录下.vimrcset nu #写入内容[root@nb ~]# vim /etc/passwd #测试是否开启行号[root@nb ~]# vim /opt/pass.txt

显示光盘内容

光盘文件----》虚拟机光驱设备---》目录(/mnt)

[root@qq ~]# mount  /dev/cdrom   /mnt

mount: /mnt: WARNING: device write-protected, mounted read-only.

如果没有光驱设备,直接挂载光盘镜像文件即可

软件名:firefox

软件包名:firefox-91.9.0-1.el8_5.x86_64.rpm

[root@localhost /]# rpm -qa #当前系统中所有已安装的软件包[root@localhost /]# rpm -q firefox #查看firefox是否安装[root@localhost /]# rpm -q httpd #httpd构建Web服务器软件 [root@localhost /]# rpm -qi firefox #查询软件信息 

查询某个目录/文件是哪个RPM包带来的

格式:rpm -qf [文件路径]…

即使目标文件被删除,也可以查询

查询软件包(参数软件包名)

查询软件包的安装清单: ]# rpm -qpl /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm查询软件包信息]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm导入红帽签名信息(了解)]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial查询软件包信息(没有警告输出)]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm利用rpm安装软件(了解内容)]# rpm -q vsftpd ]# rpm -ivh /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm]# rpm -q vsftpd #查看是否安装成功]# rpm -evh vsftpd #卸载软件]# rpm -q vsftpd #查看是否卸载成功

Yum软件:自动解决依赖关系,安装软件

yum命令:主要用于安装与卸载

rpm命令:主要用于查询

软件仓库:1.众多的软件包   2.仓库清单(仓库数据文件)

本地Yum仓库:由本机直接提供软件仓库

]# mkdir /etc/yum.repos.d/bak]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak]# ls /etc/yum.repos.d/]# vim /etc/yum.repos.d/haha.repo [haha] #仓库的标识 name=xixi #仓库描述信息,可以省略baseurl=file:///mnt/AppStream #指定仓库位置file://表示本地为服务端enabled=1 #仓库是否启用,1表示启用,可以省略gpgcheck=0 #是否检测软件包红帽签名信息,不检测红帽签名信息[xixi]  #仓库的标识name=xixi #仓库描述信息,可以省略baseurl=file:///mnt/BaseOS #指定仓库位置file://表示本地为服务端enabled=1 #仓库是否启用,1表示启用,可以省略gpgcheck=0 #是否检测软件包红帽签名信息,不检测红帽签名信息 ]# yum repoinfo #列出当前系统识别的软件仓库]# yum -y install httpd #测试安装软件

总结:本地Yum仓库排除错误

1.没有挂载光驱设备

2./etc/yum.repos.d目录下的仓库配置文件内容写错

3./etc/yum.repos.d目录下,错误的配置文件影响

执行流程:

yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/AppStream

yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/BaseOS

Yum仓库使用:

安装软件

[root@localhost ~]# yum   -y   install  httpd

卸载软件(建议不要使用-y选项)

Yum仓库的查询

]# yum list  ftp  #查询仓库是否有ftp软件

可安装的软件包 #表示当前系统没有安装该软件]# yum list httpd]# yum search ftp #包含ftp就匹配]# yum provides /usr/bin/hostname ]# yum provides /etc/passwd #仓库中那个软件包产生该文件]# yum provides guestmount #查询仓库中那个软件产生该程序 ]# yum -y install libguestfs-tools-c]# guestmount --help #查看帮助信息]# rm -rf /usr/bin/hostname]# ls /usr/bin/hostnamels: 无法访问/usr/bin/hostname: 没有那个文件或目录]# yum provides /usr/bin/hostname #查询仓库中那个软件,产生了此程序]# yum -y reinstall hostname #覆盖安装清空缓存(了解)执行流程: yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/AppStream[root@localhost ~]# yum clean all #清空Yum的缓存[root@localhost ~]# yum repoinfo #列出仓库信息[root@localhost ~]# yum repoinfo #列出仓库信息

命令补充

历史命令

管理/调用曾经执行过的命令

history:查看历史命令列表

history -c:清空历史命令

history -w:记录历史命令为空的状态

!n:执行命令历史中的第n条命令

!str:执行最近一次以str开头的历史命令

先输入cat、ls命令再查询历史命令      

date,查看/调整系统日期时间

zip归档工具,跨平台(Windows与Linux)

归档+压缩操作: zip  [-r]   备份文件.zip   被归档的文档...

[-r]:被归档的数据有目录,必须加上此选项

du,统计目录占用硬盘的空间

-s:只统计每个参数所占用的总空间大小

-h:提供易读容量单位(K、M等)

制作快捷方式(链接文件  符号链接)

格式:

  ln   -s   /路径/源数据    /路径/快捷方式名字   #软链接

硬链接:源数据消失,快捷方式仍然有效

用户账号简介

作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限

唯一标识:UID(编号从0开始的编号,默认最大60000)

zhangsan(UID 1200)

管理员root的UID:永远为0

普通用户的UID:默认从1000开始

组的作用: 方便管理用户

唯一标识:GID(编号从0开始的编号,默认最大60000)

原则:Linux一个用户必须至少属于一个组

组账户的分类:

基本组:一般情况与用户同名,一个用户必须有基本组,基本组只能有一个

附加组(从属组):一个用户可以有多个附加组,也可以没有附加组

/etc/passwd:存放用户基本信息配置文件   

用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器

用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器

useradd创建用户

-u:指定 用户UID

-d:指定宿主目录(家目录),默认为 /home/用户名

-G:指定所属的附加组   -g指定基本组

-s:指定用户的登录解释器,默认为/bin/bash

-u:创建用户时,指定用户UID编号        

-d:指定宿主目录(家目录),默认为 /home/用户名(不可以事先新建用户的家目录)

-G:指定所属的附加组   -g:指定基本组 (了解一下)  

-s:指定用户的登录解释器 /bin/bash

shell:壳,解释器

用户---->解释器---->内核---->硬件

/sbin/nologin:禁止用户登录操作系统

usermod修改用户属性

-l:更改用户帐号的登录名称

-u:用户id

-s:登录解释器

-d:家目录路径(默认不会自动创建新的家目录)

]# usermod   -md  /mnt/abc16   nsd16  #将用户原有的家目录进行移动,并且设置相应的权限

-G:修改用户的附加组     #重置附加组 (了解)

passwd设置密码

[root@localhost ~]# useradd   nsd18

[root@localhost ~]# passwd   nsd18      #交互式设置

w,保存密码字串/有效期等信息

每个用户记录一行,以:分割为9个字段

[root@localhost ~]# grep  nsd18  /etc/shadow

nsd18:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::

上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数

字段1:用户帐号的名称

字段2:加密后的密码字符串

字段3:上次修改密码的时间

字段4:密码的最短有效天数,默认0

字段5:密码的最长有效天数,默认99999

字段6:密码过期前的警告天数,默认提前7天进行警告

字段7:密码过期后多少天禁用此用户账号

字段8:帐号失效时间,默认值为空

字段9:保留字段(未使用)

非交互式设置密码

[root@qq ~]# echo 123456  |  passwd  --stdin  nsd01

[root@qq ~]# echo redhat123  |  passwd  --stdin  nsd01

~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)

/etc/bashrc:全局配置文件,影响全体用户 (开启新的终端)

userdel命令  删除用户

格式:userdel  [-r]   用户名

添加 -r 选项,家目录/用户邮件也一并删除

组账号管理

[root@localhost ~]# groupadd    tarena    #新建一个组

[root@localhost ~]# grep  tarena  /etc/group   #查看组信息

tarena:x:1607:

组名字:密码占位符:GID:组成员列表

 gpasswd命令(添加附加组)

格式:gpasswd [选项]... 组名

•常用命令选项

-a:添加组成员,每次只能加一个

-d: 删除组成员,每次只能删一个

-M:定义(重置)组成员用户列表,可设置多个用户

-A:定义组管理员列表(组管理员可以属于此组也可以不属于此组)

/etc/gshadow:组的管理信息配置文件   

组名:密码加密字符串:组的管理员列表:组成员列表

/etc/passwd:用户基本信息

/etc/shadow:用户密码信息

/etc/group:组基本信息

/etc/gshadow:组管理信息

eg:

以下哪个文件存放用户基本信息

 A./etc/passwd   B./etc/fstab   C./etc/hosts   D./etc/shells

以下那个文件存放用户基本信息:

A./etc/psaswd  B./etc/paswsd   C./etc/passwd  D./etc/password

结:Linux系统执行useradd命令,会完成那些操作

1.会在/etc/passwd增加一行信息

2.会在/etc/shadow增加一行信息

3.会在/home新增用户家目录

4.会在/var/spool/mail增加用户邮件文件

5.会在/etc/group增加一行组信息

6.会在/etc/gshadow增加一行组的管理信息

总结:Linux系统执行userdel -r命令,会完成那些操作?

1.会在/etc/passwd删除一行信息

2.会在/etc/shadow删除一行信息

3.会在/home删除用户家目录

4.会在/var/spool/mail删除用户邮件文件

5.会在/etc/group删除一行组信息

6.会在/etc/gshadow删除一行组的管理信息

删除组账号:删除组的时候,不可以删除基本组

eg:[root@localhost ~]# groupdel tarena [root@localhost ~]# groupdel tmooc[root@localhost ~]# grep tmooc /etc/group[root@localhost ~]# grep tarena /etc/group

周期性计划任务

用途:按照设置的时间间隔,为用户反复执行某一项固定的系统任务

软件包:cronie、crontabs

系统服务:crond

日志文件:/var/log/cron

使用 crontab 命令

–编辑:crontab -e [-u 用户名]

–查看:crontab -l [-u 用户名]

–清除:crontab -r [-u 用户名]

计划任务书写格式:

         时间                        任务内容

分     时   日   月    周               操作

30   20    *     *     *  

30    8    *     *     *

30    8    *     *    1-5

30    8    *     *    1,5,7  

*     *    *     *    *        #每分钟

*/12      *   *     *    *      #每12分钟

48     */2   *     *    *      #每2个小时

每分钟记录当前系统时间,写入到/opt/time.txt

[root@nb ~]# date [root@nb ~]# date >> /opt/time.txt [root@nb ~]# cat /opt/time.txt [root@nb ~]# which date #查找命令所对应的程序[root@nb ~]# crontab -e #编写计划任务* * * * * /usr/bin/date >> /opt/time.txt[root@nb ~]# crontab -l #查看计划任务内容[root@nb ~]# cat /opt/time.txt[root@nb ~]# ls /var/spool/cron #任务文件存放的路径[root@nb ~]# cat /var/spool/cron/root #记录root用户计划任务

bc  计算器

获取命令帮助

方式一:命令  --help

[root@localhost ~]# cat  --help

[root@localhost ~]# yum  --help

方式二:man   命令  

显示命令帮助:

[root@localhost ~]# man   cat       #按q退出

[root@localhost ~]# man   passwd   #显示passwd命令帮助

[root@localhost ~]# man  5  passwd

数字5表示帮助的类型,表示配置文件类型