Linux脚本实践
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux脚本实践,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2041字,纯文字阅读大概需要3分钟。
内容图文
1、编写脚本,接受两个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www#!/bin/bash
if [ $# -ne 2 ]; then
echo "You must input two args"
exit
fi
id magedu &> /dev/null
if [ $? -ne 0 ]; then
useradd -d $2 $1
echo "Create user $1 successful,his home directory is $2"
else
echo "User $1 has been exist"
fi
2、使用expect实现自动登录系统
脚本login.exp如下
#/usr/bin/expect
set ip "192.168.0.12"
set user "root"
set password "oplk1234"
set timeout 30
spawn ssh $user@$ip
expect {
"yes/no" {exp_send "yes\n"; exp_continue}
"*password*" {send "$password\n"}
}
interact
执行脚本
expect login.exp
3、简述linux操作系统启动流程
根据init程序的不同,Linux不同发行版的启动流程存在一些不同之处
CentoS6系统的init程序是Upstart,启动流程如下:
- 开机后加载BIOS的硬件信息,获取第一个启动设备
- 读取第一个启动设备MBR的引导加载程序(grub)的启动信息
- 加载内核,解压缩vmlinuz文件,并尝试驱动所有的硬件设备
- 内核执行init程序Upstart,进入默认的运行级别
- init程序执行/etc/rc.d/rc.sysinit文件,以可读写的方式重新挂载根文件系统
- 加载内核的外部模块
- init启动设置为开启启动的服务
- init执行/etc/rc.d/rc.local文件里的命令
- 执行/bin/login程序,等待用户登录
- 用户登录系统之后开始以Shell控制主机
CentOS7及之后的CentOS8系统的init程序是systemd,启动流程和CentOS6不一样
- 进行UEFI或BIOS初始化,运行POST开机自检
- 选择启动设备
- 引导装载程序grub2加载装载程序的配置文件
- 加载initramfs驱动模块
- 加载内核选项
- 内核初始化,centos7使用systemd代替Upstart
- 执行initrd.target所有单元,包括挂载/etc/fstab
- 从initramfs根文件系统切换到磁盘根目录
- systemd执行默认target配置,配置文件/etc/systemd/system/default.target
- systemd执行sysinit.target初始化系统及basic.target准备操作系统
- systemd启动multi-user.target下的本机与服务器服务
- systemd执行multi-user.target下的/etc/rc.d/rc.local
- Systemd执行multi-user.target下的getty.target及登录服务
- 如果系统被设置为开机进入图形界面,systemd还要启动graphical.target需要的服务
4、破解centos7 密码
方法一
1、开机后在选择内核的界面按任意键打断倒计时
2、按e键进入编辑模式
3、将光标移动到linux开头的行,在这一行的末尾添加参数rd.break
4、按Ctrl + X启动系统
5、执行`mount -o remout,rw /sysroot`命令,重新挂载系统
6、执行`chroot /sysroot`命令,切换根路径为系统的根目录
7、执行`passwd root`命令,修改root密码
8、CentOS7系统默认启用了Selinux功能。如果没有禁用Selinux,需要额外执行`touch /.autorelabel`命令
9、执行`exit`命令,退出登录
10、执行`reboot`命令,重启系统
方法二
1、开机后在选择内核的界面按任意键打断倒计时
2、按e键进入编辑模式
3、将光标移动到linux开头的行,在这一行里的“ro”修改为“rw init=/sysroot/bin/sh”
4、按Ctrl + X启动系统
6、执行`chroot /sysroot`命令,切换根路径为系统的根目录
7、执行`passwd root`命令,修改root密码
8、如果没有禁用Selinux,需要额外执行`touch /.autorelabel`命令
9、执行`exit`命令,退出登录
10、执行`reboot`命令,重启系统
原文:https://blog.51cto.com/14920534/2567770
内容总结
以上是互联网集市为您收集整理的Linux脚本实践全部内容,希望文章能够帮你解决Linux脚本实践所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。