linux运维作业—第一周(linux发行版、目录介绍)
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
目前常用的linux发行版有两个:centos和ubuntu。centos是红帽商业版的开源实现,比较稳定,适合运行在服务器上。而Ubuntu则更倾向于个人桌面。
2、配置环境变量,实现执行history的时候可以看到执行命令的时间。
何为环境变量,环境是指当打开一个linux终端时,该终端依赖的环境,环境变量是终端进程可以调用的一些变量,从而更方便的实现功能。一般是指PATH变量,PATH变量的值是各种可执行文件的路径。linux系统中的各种命令其本质是上是可执行程序,它们存放在对应的bin路径下,为了随时随地直接执行该程序,需要把它们的程序路径放在PATH变量中。当执行一个命令时,首先会根据PATH变量中的路径,去查找命令文件然后执行。
history命令可以查看之前执行过的命令并输出到标准输出。但默认没有对应的时间。有时候需要查找某些操作是在什么时候执行的,这种情况下就需要配置显示时间。
方法:在系统环境变量文件中(/etc/profile)或在/etc/profile.d/下创建一个脚本,然后赋值一个变量:export HISTTIMEFORMAT="%F %T " ;%F是年月日,%T是时间;这是设置显示时间的格式,也可以设为 HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] ";重新加载配置文件即可。
应该是history命令本身就支持显示时间,所以预先定义了一个变量 HISTTIMEFORMAT,但没有赋值,默认是不显示,但允许用户自己配置。
history的扩展:history命令是针对用户的,即使用某个用户执行history命令就只列出该用户的历史命令,那么历史命令保存在哪呢?可以保存、显示多少条命令呢?
解:在每个用户的家目录下,有几个隐藏文件:.bash_history .bash_logout .bash_profile .bashrc。其中,.bash_profile .bashrc是用户的环境变量配置文件,当配置用户的环境时首先加载.bash_profile,然后在该文件中加载了另一个,所以其实配在哪一个都可以。.bash_history这个文件就是用户保存历史命令的文件所在。
至于用户能报错的历史命令条数,受变量HISTSIZE控制,默认情况下它是配置在/etc/profile中,每个用户的配置文件都加载了系统的环境变量。所以对所以用户都起作用。也可以单独配置在用户自己的环境变量中。默认保存1000条。
3、一些常用的命令
(1)查看cpu情况。
CPU情况分为两种,一种是物理情况,包括CPU个数、频率、核数等;另一种是CPU资源的使用率。
查看物理情况:lscpu 或cat /proc/cpuinfo ##proc目录是运行过程中临时存储数据的目录,cpuinfo可以理解为系统运行过程中CPU的动态详情。
查看CPU资源使用率:top命令 (之后在系统管理中会详细介绍)
(2)查看内存:free -h 和 cat /proc/meminfo
(3)查看磁盘:对比lsblk、fdisk -l、 df -h的区别。
(4)screen命令:该命令是解决了前台执行命令时,网络中断或终端关闭导致程序执行失败的情况,其实完全可以用nohup 命令 &代替,感觉用处不大。
(5)date命令:显示时间或设定系统的时间。
date :按默认格式显示当前时间。
date +"%Y-%m-%d %H:%M:%S" #按 +后面的字符串里的格式显示当前时间。
date +"%s" #按秒数显示到现在的时间。%s是显示秒数。加不加双引号都可以。双引号只是圈定了字符串的范围。
date -d "参数" :根据字符参数来显示时间。
例如:date -d "+1 day" :显示前一天的时间。
date -d "+1 day" +"%Y-%m-%d %H:%M:%S" :显示前一天时间并转换成指定格式。
实例:在实际中可能有这样的情况,手动做日志轮循,并按日期来命令,这时就可以在脚本中使用date -d 输出前一天的时间并赋值给文件。
date -s "2021-11-16 15:29:09" :设定系统时间。
(6)ifconfig命令:
- ifconfig:显示当前系统活跃的网卡及ip.
- ifconfig -a :显示当前系统所有的网卡和ip.
- ifconfig eth0(网卡名):单独显示某个网卡的信息。
- ifconfig eth0(网卡名) up/down :启动或停止某网卡
- ifconfig eth0 IP地址/网络地址位数 :给某网卡添加或修改ip地址。
- bin:存放普通用户的命令程序;可以看到有一个硬链接目录/usr/bin
- sbin:存放root用户所属的命令程序;链接到/usr/sbin目录。
- boot:存放和系统启动相关的文件,比如初始内核文件。
- dev:硬件设备在linux中也表现为文件,linux一切皆文件。所有硬件设备存放目录。
- etc:各应用、系统的配置文件目录。
- home:家目录的所在
- root:root用户的家目录
- run:系统运行过程中生成的临时文件。
- tmp:临时文件目录。
- usr:
- var:日志文件目录,或者其他可变文件目录,可以自己用
- lib/lib64:库或者64位库文件所在目录
- proc:进程运行中存放数据文件的目录,不要去改