linux学习day18笔记

今日内容

操作系统相关

单用户模式破解root密码

1.开机时进入grub界面,按e键,然后在最下面寻找ro(意思是read only),将其改成rw init=/sysroot/bin/sh
2.按Ctrl-x 进入单用户模式
3.执行chroot /sysroot。其中chroot命令用来切换系统,/sysroot/目录就是原始系统
4.打印passwd(修改密码指令),输入修改的密码并且再次确认之后输入touch /.autorelabel(执行这行命令作用是让SELinux生效)。

grub加密

1.执行grub2-setpassword命令,设置grub密码。

绕过grub加密的方法:光盘修复模式/救援模式

原理:从另一块光盘上启动系统,然后就可以修改带着grub密码和管理员密码硬盘的内容。
1.先给虚拟机插入带有操作系统的光盘,进入bios的boot选项将cd的优先级shift+加号提升到最上方,f10保存。
2.选择Troubleshooting,然后选择Rescue aCentOS system,再选择1:Continue(救援模式),再按回车。
3.输入代码chroot /mnt/sysimage/(界面上会写,照抄就行),切换到bash模式。(修改硬盘内容)
4.输入代码passwd,修改密码,重启。

bios加密

1.f2进入bios界面
2.进入Security(安全)界面
3.set supervisor password设置bios密码

shell

linux系统接口标准:POSIX

Portable Operating System Interface of Unix,可移植操作系统接口,是操作系统为应用程序提供的接口标准。
简单的说, POSIX(主要是解决了应用程序在各个操作系统上兼容性这样一个普遍存在的问题。只要一个应用程序的开发是为了在一个实现了POSIX模式的操作系统上运行,那么这个应用程序就可以在所用实现了POSIX模式的操作系统上运行。

shell基础命令

useradd xxx  # 添加xxx用户
passwd xxx  # 改xxx用户的密码
修改密码方式1(交互式):passwd egon
修改密码方式2(非交互式):echo"123" | password egon --stdin
cd  # 切换文件夹
pwd  # 显示当前所在的文件夹
echo  # 打印内容
|  # 管道符,输入的内容会存到管道内
stdin  # 标准输入,从标准输入管道读入新的密码
ls  # 查看文件夹
cat  # 查看文件
vi  # 文本编辑器

# 文本操作中
:w ->表示保存退出
:wq! ->表示强制保存退出,可以保存"readonly"只读文件
:q ->在vim中表示退出
:q! ->表示强制不保存退出,不对文件进行保存

shutdown -r  # 重启,后面可以跟数字(几分钟后重启),时钟(11:30,定时重启),now(立即重启)
shutdown -h  # 关机,与上一致
init 0  # 关机
shutdown -c  # 取消重启计时

exit  # 退出
logout  # 退出

timedatectl list-timezones  # 列出所有时区
timedatectl set-timezone  # 设置时区
timedatectl set-timezone"Asia/Shanghai"  # 设置成亚洲,上海的时区

uname -a  # 查看很多内容,比较全
uname -r  # 查看内核版本
uname -m  # 查看cpu架构
cat /etc/redhat-release  # 查看系统版本

date  # 系统时间
date -s  # 设置时间
date "+%F"  # 显示年月日,可以自己设置格式,例如:date "+%Y-%m-%d %H:%M:%S"

hwclock  # 硬件时间
hwclock -w  # 操作系统时间同步给硬件
ntpdate ntp1.aliyun.com  # 跟阿里云时间服务器的时间同步
timedatectl set-ntp true  # 自动同步时间

shell命令基本语法

三部分组成:命令  选项  参数
       例:ls   -l   /boot
# 先输入你想干什么,再输入选择怎么做,再输入目标
命令是必要的,选项和参数可以没有
不输入参数,默认为当前文件夹

bash解释器交互式环境的特性

快捷键

ctrl+d  # 退出
ctrl+c  # 终止当前运行命令
ctrl+l  # 清屏
ctrl+a  # 光标移到命令行的最前端
ctrl+e  # 光标移到命令行的后端
ctrl+r  # 搜索历史命令,利用关键词
Alt+句号  # 引用上一个命令的最后一个参数,!$与其作用一样,只不过!$是直接输入到屏幕上
上下键  # 寻找之前或之后的命令
tab键  # 自动补全命令和文件

历史命令

# 输入的命令暂时存在内存里# 只有退出登录后,内存里存储的命令才会存到bash_history文件里history  # 查看历史命令history -c  # 清除内存里的历史命令cat ~/.bash_history  # 历史命令保存文件vim /root/.bash_history  # 可以操作历史保存文件按两下d  # 删除一整行输入数字再按dd  # 删除输入数的行数!加数字  # 执行历史操作里的第x条命令!加字符串  # 执行包含这个字符串的最近的命令

别名

起别名alias  # 此时别名存在内存中,如果退出,下次登录就不能使用例:alias xxx=ls   xxx  # 输出ls的功能,查看文件夹。# 在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias 命令,将显示所有已定义的别名。永久设置别名vim /etc/profile  # 找到设置别名的文件夹将设置的别名复制粘贴到文件夹内,esc,:wq保存退出

使用原始命令

方式一:    查看别名    which ls  # 获取ls所在的真正文件夹    运行别名原始路径    方式二:    \ls    方式三:    unalias ls  # 将这个别名临时取消掉
上一篇:Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day18】—— 奇葩问题合集


下一篇:编译andriod源码出错:java.lang.UnsupportedClassVersionError: com/google/doclava/Doclava : Unsupported