作者:永不落的梦想
作者主页:传送
座右铭:过去属于死神,未来属于自己
本文专栏:Liunx篇
今日鸡汤:每个梦想,都是在现实中坚持不懈才实现的
目录
一、运行模式
Linux的运行模式(运行级别)对应的服务进程是init,此进程有一个配置文件inittab(系统运行级别配置文件),其路径是/etc/inittab,运行模式总共有七种,每种模式对应的运行方式都不同;
1.查看init进程
语法:ps -ef | grep init
2.查看inittab文件
语法:vim /etc/inittab
上图中,multi-user.target对应模式3,graphical.target对应模式5;
注意:不同Linux版本inittab文件不同,如kali无此文件,CentOS 6与上图不同且默认级别在此文件中配置,CentOS 7inittab文件为上图所示且默认级别在终端使用图中提示的命令配置;
3.七种模式
0 表示关机模式(不要把默认级别设置为这个级别);
1 单用户模式(一般不使用这个级别);
2 多用户模式,不带NFS(Network File System);
3 多用户模式,完全的(不带桌面纯命令行);
4 被保留今后使用的模式;
5 X11,完整的图形化界面模式;
6 表示重启模式(不要把默认级别设置为这个模式);
4.init
语法1:init 0 //关机
语法2:init 3 //切换到纯命令行模式,不带图形桌面
语法3:init 5 //切换到图形界面
语法4:init 6 //重启
注意:以上都是调用init进程,传入数字(运行级别)给进程,进程读取配置文件执行对应操作,且以上调用init进程改变的级别都是临时的(永久需要修改配置文件),重启后保持配置文件中的默认模式;
4.设置默认模式
查看当前默认级别:
上图中,默认级别为5;
设置默认级别为3:
重启后将进入运行级别3;
二、网络设置
1.网卡配置
网卡配置文件路径:/etc/sysconfig/network-scripts/
网卡配置文件命名格式:ifcfg-网卡名
语法:vim /etc/sysconfig/network-scripts/ifcfg-ens33
上图中,ONBOOT表示是否开机自启,BOOTPROTO表示ip地址分配方式(dhcp表示动态主机分配协议),HWADDR表示硬件地址(MAC地址);
2.重启网卡
语法1:service network restart
语法2:systemctl restart network
语法3:/etc/init.d/network restart
注意:不同Linux版本有的指令有差异;
3.软链接
对于目录深的文件,可以在浅目录中创建文件的软链接;如创建/etc/sysconfig/network-scripts/ifcfg-ens33的软链接:
语法:ln -s 文件路径 软链接路径
ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 ~/ifcfg -ens33
4.开启/停止单个网卡
停止语法:ifdown 网卡名
开启语法:ifup 网卡名
注意:在实际中不要随意停止网卡(和关机一样),否则远程连接不上;
三、设置主机名
1.查看主机名
语法1:hostname //查看完整的主机名
语法2:hostname -f //查看主机名的FQDN(全限定域名)
2.设置临时主机名
语法:hostname 新主机名 //需要切换用户或重开终端才能生效,且该主机名是临时的
3.设置永久主机名
修改/etc/hostname文件,在第一行添加新主机名,只有第一行的主机名生效:
修改/etc/hosts文件,增加一行新主机名域名对应本地ip:
重启后能ping通新主机名即修改成功:
四、chkconfig
chkconfig用于提供开机启动项的管理服务;在Linux下不是所有软件安装后都有开机启动服务,可以自己添加、查看、删除和修改
1.开机启动服务查询
语法:chkconfig --list 服务名
2.开机启动服务添加
语法:chkconfig --add 服务名
3.开启启动服务删除
语法:chkconfig --del 服务名
4.开机启动服务修改
语法:chkconfig --level 运行级别号 服务名 on/off/reset
注意:CentOS 7已使用systemctl代替chkconfig
五、systemctl
1.启动/停止/重启服务
语法:systemctl start/stop/restart 服务名
2.查看服务状态
语法:systemctl status 服务名
3.查看所有服务状态
语法:systemctl list-units --type service --all
4.开机启动服务开启/关闭
语法:systemctl enable/disable 服务名
5.查看开机启动服务状态
语法:systemctl list-unit-files
六、ntp服务
ntp主要用于对计算机时间的同步管理操作
1.一次性同步时间(手动)
语法:ntpdate 时间服务器域名或ip
2.设置时间同步服务
语法:systemctl enable ntpd
七、防火墙服务
1.开机启动/关闭防火墙
语法:systemctl enable/disable firewalld.service
2.启动/停止/重启防火墙
语法:systemctl start/stop/restart firewalld
3.查看防火墙状态
语法:firewall-cmd --state
4.查看防火墙开放端口
语法:firewall-cmd --list-ports
5.开放80端口
语法:firewall-cmd --permanent --add-port=80/tcp
注意:开放端口后需要重启防火墙
6.关闭80端口
注意:关闭端口后需要重启防火墙
6.重启防火墙
语法:firewall-cmd --reload
七、cron计划任务
作用:cron计划任务用于管理计算机在指定时间执行特定操作;
语法:crontab 选项
常用选项:
-l //列出用户的计划任务表
-e //编辑用户的计划任务表
-u //指定计划任务表的用户,不指定默认为当前用户
-r //删除用户的计划任务表(删除的是全部内容)
计划任务表规则:
计划任务表是一个文件,文件内容每一行表示一个计划;
计划格式:分 时 日 月 周 需执行的命令
取值范围:分0-59、时0-23、日1-31、月1-12、周0-6
符号:*表示范围内的每一个基本单位、-表示连续区间、/表示每多少个基本单位、,表示多个取值
crontab权限:
将用户名添加到黑名单/etc/cron.deny(每行一个用户名),黑名单中的用户无权限设置cron计划任务;
案例:
每天12点0分重启:0 12 * * * reboot
每天12点至13点每隔30分钟重启apache服务:*/30 12-13 * * * systemctl restart httpd
每个星期天的8点10分和40分重启计算机:10,40 8 * * 0 reboot
上图中,将*/1 * * * * ls ~/ >> ~/haha.txt写入cron计划任务表,每个一分钟会将root家目录列表追加输入到文件中,使用tail -f 文件路径指令可以动态观看到每个一分钟就会有目录信息写入文件;
上图中,将root用户的计划删除成功;
上图中, 将用户名写入上图中的cron.deny文件中,对应用户无设置cron计划任务表的权限;
八、rpm管理
rpm用于对Linux上的软件包进行查询、安装、和卸载;
1.查询
语法:rpm -qa //查询所有软件包,可以用grep过滤查询指定软件包
常用选项:
-q //表示查询
-a //表示全部
2.卸载
语法1:rpm -e 软件名称 //卸载软件包
语法2:rpm -e 软件名称 //卸载具有依赖关系的软件包
常用选项:
-e //表示卸载
--nodeps //表示忽略依赖关系
3.块状设备信息查看
语法:lsblk
上图中,NAME表示名称,SIZE表示大小,TYPE表示类型,MOUNTPOINT表示挂载点
4.解挂和挂载
解挂语法:umount 设备的挂载点(挂载路径)
挂载语法:mount 设备原始地址 要挂载的路径 //设备原始地址在/dev下根据大小确定具体设备
5.安装
语法:rpm -ivh 完整的软件包名称
常用选项:
-i //表示安装
-v //表示显示进度条
-h //表示以"#"的形式显示进度条