《Linux运维之道》笔记一
- 忘记root登录密码
- 开机出现GRUB引导程序时,按
e
编辑GRUB引导参数 - 选择以kernel开始的行按
e
进行编辑 - 在kernel行末尾加上single后回车,按
b
启动系统进入单用户模式 - 在单用户模式下输入命令
passwd root
,输入两次密码 - 修改成功,
shutdown -r now
重启系统 - 新密码登入,成功。
- 开机出现GRUB引导程序时,按
history
命令显示所有命令记录,然后通过!命令编号
调用该命令- 清屏命令大家都知道
clear
,还有一个快捷键更方便——ctrl+l
- Vim普通模式下输入
ZZ
,可以实现保存并退出文档 echo "hello123" | passwd --stdin jack
通过管道为用户jack设置密码uptime
监控CPU使用情况
一、ACL访问控制权限
两个命令:getfacl
、setfacl
getfacl
查看文档的ACL权限setfacl
设置文档ACL权限-b
删除所有附加的ACL条目-k
删除默认的ACL-m
添加ACL权限-x
删除指定的ACL条目-R
递归处理所有的子文件与子目录
实例
getfacl 2.log
查看文档2.log的ACL权限setfacl -m u:user01:rw 2.log
添加ACL条目,使用户user01对2.log文件可读可写setfacl -m g:group01:r 2.log
使用户组group01对文件2.log有可写权限setfacl -x u:user01 2.log
删除用户user01的ACL条目setfacl -x g:group01 2.log
删除组的权限setfacl -b 2.log
清除文件2.log所有ACL权限
二、磁盘分区
之前在一篇笔记里已经介绍了fdisk
命令的用法,这里就不重复了,这里说一下另外两个命令partprobe
和parted
。
partprobe
partprobe /dev/sdb
让内核立即读取新的分区表,无需重启电脑就可以识别新创建的分区
parted
GPT分区方式,不同与传统的MBR分区(使用fdisk
)
三、开机启动
学习开机启动命令,先要了解Linux的6种运行级别。
- 0 关机模式
- 1 单用户模式
- 2 无NFS(共享服务)网络的字符界面模式
- 3 全功能字符界面模式
- 4 暂时未定义使用
- 5 图形模式
- 6 重启模式
通过runlevel
命令可以查看当前所处的运行级别。服务器版本的Linux一般都是3级别,通过init
命令可以改变当前的运行级别,如init 0
命令可以直接关机.
好了,可以进入正题了,如何设置开机启动呢?使用命令chkconfig
,用法如下:
chkconfig --list
查询系统服务运行级别信息chkconfig --level
指定操作的运行级别,不指定级别时默认为2,3,4,5级别- 实例:
chkconfig --list sshd
查看sshd命令的运行级别chkconfig sshd on
设置sshd服务在2.3.4.5级别开机启动
四、内存和硬盘使用情况
1、内存使用
内存的使用情况查看命令,应该很熟悉了,那就是free
,但是你真的知道显示出来的各个数据都代表的是什么意思吗?至少之前我是没怎么去了解。
每次看的时候,也就扫了一眼,总共498M
,用了263M
,还剩235M
,就完事了。其他的数据就没怎么看了,这里简单介绍一下其他数是什么含义。
在Linux开机后就会预先提取一部分内存,并划为buffer与cache以供进程随时使用。第一行的used就是这部分内存数263
,而后面的buffers代表的是buffer使用剩余的内存数65
,cached就是cache剩余的内存数145
。那么buffer和cache用了多少呢?第二行中used就是buffer和cache使用的内存数51
,那么就有等式263=65+145+51
,接下来446
系统总剩余的内存数,为分配的有235
,分配了但是没有用完的有65+145
,那么446=65+145+235
。
细心的读者也许一眼就看出了,等式根本不等嘛!别着急,换成字节单位,你再算算!至于原因就很明了了
2、硬盘使用
这里就补充两点。
df -hT
中T
的参数代表显示文件系统
df -i
中i
代表的是磁盘inode使用量信息
这里可以看出根分区还剩下313077个inode节点,也就是说如果在更分区下创建313077个空文件,那么就算该磁盘还有容量也再也容不下新增文件了。
五、网络
1、网络参数设置
有两种方式设置网络参数,一是通过命令行设置;二是通过修改参数文件。
命令行设置不外乎ifconfig
、route
这两个命令,具体使用可以自行查询帮助文档,这里介绍一下修改参数文件来设置网络。
网络的参数文件在/etc/sysconfig/network-scripts/ifcfg-<iface>
,其中iface
为网卡接口名称。如果只有一块以太网网卡,则一般为ifcfg-eth0
,文件有一下字段:
DEVICE
设备名称eh0,eth1...
TYPE
设备类型ethernet
BOOTPROTO
启动协议none|dhcp|static
HWADDR
硬件地址 MAC地址NM_CONTROLLED
网卡是否可以被NetworkManager控制yes|no
ONBOOT
开机是否启动该网卡yes|no
ONPARENT
真实接口启动后虚拟接口是否启动yes|no
IPADDR
IP地址PREFIX
网络位掩码个数NETMASK
子网掩码GATEWAY
默认网关DNS{1,2}
DNS服务器
如我网卡eth1设置静态IP,配置如下图
2、网络故障排错
这块主要介绍5个命令,ping
、traceroute
、nslookup
、dig
、netstat
。
ping
非常常用的命令,测试基本就是4步ping 127.0.0.1
ping本地回环,测试本地网络协议是否正常ping 192.168.1.101
ping本地IP,测试本地网络接口是否正常ping 192.168.1.1
ping本地网关,测试网关是否正常工作ping 61.135.169.121
ping外部网络,测试服务商网络是否正常工作ping www.baidu.com
ping网址,如果上述都正常,而这步ping不通,那么肯定是DNS的问题了
traceroute
跟踪数据包的路由过程,可以查看数据包在互联网中哪个节点出现问题,如图
nslookup
检测本地设置的DNS服务器工作是否正常nslookup www.baidu.com
检测本地DNS服务器是否能解析到百度,如图
本地设置的DNS服务器是8.8.8.8,检测到百度对应的两个IP地址
dig
查看更多关于DNS记录的信息dig www.baidu.com
显示比nslookup
更详细的信息
netstat
网络监控命令,该命令比较强大,可以自行查看帮助文档学习netstat -nutlp
查看当前系统开启端口信息