CentOS7找回root密码
实现过程
如何找回丢失的root密码,如果我们不小心忘记了root密码,怎么找回呢?
- 开机按esc,选择CentOS Linux (3.10.0-693…….) 按 e键
- 将光标一直移动到 LANG=en_US.UTF-8 后面,空格,再追加init=/bin/sh。这里特别注意,需要写在UTF-8后,保持在同一行,并注意空格。由于屏幕太小,会自动添加\换行,这个是正常的。
- 按 Ctrl+x,进入单用户模式。
- 挂载根目录 [mount -o remount ,rw /],(注意mount与-o之间和rw与/之间的有空格)
- 选择要修改密码的用户名,这里选择root用户进行修改,可以更换为你要修改的用户 passwd root,输入2次一样的新密码,注意输入密码的时候屏幕上不会有字符出现
- 输入touch /.autorelabel 更新系统信息
- 最后输入以下命令重启系统即可exec /sbin/init或者exec /sbin/reboot
重启过程慢,耐心等等,登录root用户时需要使用新密码进行登录。
注意细节
如果想要找回root密码,不能远程操控找回,必须进入机房,直接操作机器,你都可以进入机房了,当然是你本人了,其他人没有得到允许是不可以进入机房的。
帮助指令
基本介绍
当我们对某个指令不熟悉,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法。
man获取帮助信息
- 基本语法
man [命令或者配置文件]:获取帮助信息 - 应用案例
查看ls命令的帮助信息,在终端中输入[man ls]回车即可。
help指令
- 基本语法
help 命令(功能描述,获取shell内置命令的帮助信息) - 应用案例
查看cd命令的帮助信息,在终端中输入[help cd]指令
百度帮助更直接
虽然上面两个都可以来获取指令帮助,但是需要英语功底,如果英语不太好,我还是推荐大家直接百度靠谱。
时间日期类指令
cal指令
- 基本介绍
查看日历的指令 - 基本语法
cal [选项]:不加选项,显示本月日历 - 应用案例
- 显示当前日历,指令[cal]
- 显示2020年日历,指令[cal 2020]
date指令
查看日期
- 基本介绍
date指令用于显示当前日期 - 基本语法
1、[date]:显示当前时间
2、[date +%Y]:显示当前年份
3、[date +%m]:显示当前月份
4、[date +%d]:显示当前是哪一天
5、[date “+%Y-%m-%d %H:%M:%S”]:显示年月日时分秒,注意‘-’和‘:’可以换成其他的字符,比如汉字 年、月、日、时、分、秒。 - 应用案例
- 显示当前时间信息,指令[date]
- 显示当前时间年月日,指令[date “+%Y年%m月%d日”]
- 显示当前时间年月日时分秒,指令[date “+%Y年%m月%d日 %H:%M:%S”]
设置日期
- 基本语法
[date -s 字符串时间] - 应用案例
- 设置系统当前时间,比如设置成2019年9月1日 8:42:0,指令[date -s “2019-9-1 8:52:0”]
搜索查找类指令
find指令
- 基本介绍
find指令将从指定的目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端上。 - 基本语法
find [搜索范围] [选项];搜索范围往往指的就是目录 - 选项说明
选项 功能
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名的所有文件
-size<文件大小> 按照指定的文件大小查找文件 - 应用案例
- 按文件名,根据名称查找/home目录下的hello.txt文件,指令[find /home -name hello.txt]
- 按拥有者,查找/opt目录下,用户名称为root的文件,指令[find ../opt/ -user root]
- 查找整个linux系统下不大于20M的文件(+n 大于,-n小于,n等于),指令[find /home -size -20M],由于整个系统不大于20M文件太多,因此对于练习选择/home目录。
grep指令和管道符指令
- 基本介绍
grep过滤查找指令,管道符号 ‘|’,表示将前一个命令的处理结果输出传递给后面的命令处理。 - 基本语法
grep [选项] 查找内容 源文件 - 常用选项
-n:功能是显示匹配行及行号。
-i;功能是忽略字母大小写。 - 应用案例
- 请在hello.txt文件中,查找”yes”所在的行,区分大小写,并且显示行号,指令[cat hello.txt | grep -n yes]
- 请在hello.txt文件中,查找”yes”所在的行,不区分大小写,并且显示行号,指令[cat hello.txt | grep -ni yes]
locate指令
- 基本介绍
locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。 - 基本语法
locate 搜索文件 - 特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。 - 应用案例
请使用locate指令快速定位hello.txt文件所在目录。
文件目录类指令
cat指令
- 基本介绍
cat指令用于查看文件内容 - 基本语法
cat [选项] 要查看的文件 - 常用选项
-n:显示行号 - 应用案例
- 查看/etc/profile文件内容,并显示行号,指令 [cat -n /etc/profile]
- 细节说明
cat只能浏览文件,不能修改文件,为了浏览方便,一般会带上管道命令 [| more],就是将比较长的文档进行分页显示,按下空格键到下一页。
cd指令
- 基本语法
cd [参数] (功能描述,切换到指定目录) - 常用参数
cd ~或者cd,回到自己的家目录
cd ..回到当前目录的上一级目录
绝对路径与相对路径
当 前工作目录是根目录下的root里,我们希望进入到home下,使用绝对路径下进入[/home],即从根目录下开始定位寻找,使用相对路径寻找home目录,相对路径[../home],从当前工作目录开始定位到需要的目录去, ..表示回到上一级目录。
[..]表示上一级目录。
应用案例
- 使用绝对路径切换到root目录,指令[cd /root]
- 使用相对路径切换到root目录,这里我们需要知道当前用户在哪个目录下,才能知道这个指令,假设用户在/usr/lib目录,回到root目录的指令 [cd ../../root]
- 表示回到当前目录的上一级目录,指令[cd ..]
- 回到家目录,指令 [cd 或者cd ~]
细节说明
相对路径与绝对路径的区别,相对路径前面不带/,绝对路径前面带有 /
cp指令
- 基本说明
cp指令用于拷贝文件到指定的目录 - 基本语法
cp [选项] source dest - 常用选项
-r,递归复制整个文件夹 - 应用案例
- 将/home/aaa.txt拷贝到/home/bbb目录下,指令 [cp aaa.txt bbb]
- 递归复制整个文件夹,将home/test整个目录拷贝拷贝到/home/sgy目录下,指令 [cp -r /home/test /home/sgy],路径可以使用相对路径,比如你现在在home目录下,则可以使用指令 [cp -r test sgy]
- 细节说明
强制覆盖不提示的方法是[\cp]
\cp -rf zongguofeng linuxzgf
echo指令
- 基本介绍
echo输出内容到控制台 - 基本语法
echo [选项] [输出内容] - 应用案例
- 使用echo指令输出环境变量路径,指令[echo $PATH]
- 使用echo指令输出hello,world!
head指令
- 基本介绍
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容 - 基本语法
head 文件:功能是查看文件头10行内容。
head -n 5 文件:功能是查看文件头5行内容,5可以是任意数。 - 应用案例
- 查看/etc/profile的前5行代码,指令[head -n 5 /etc/profile]
history指令
- 基本介绍
查看已经执行过的历史命令,也可以执行历史指令 - 基本语法
history:功能是查看已经执行过的历史命令。 - 应用案例
- 显示所有的历史命令,指令[history]
- 显示最近使用过的10个指令,指令[history 10]
- 执行历史编号为212的指令,指令[!212]
less指令
- 基本介绍
对于生产环境、测试环境中的日志文件,我们可以通过less指令来进行查看并通过关键字进行查找。less命令的含义是:分屏查看文件内容。
它要比more命令更加强大,less在显示文件内容时,并不是一次将整个文件加载之后才显示,而是按需加载,对于显示大文件具有较高的效率。 - 基本语法
less [参数] 要查看的文件 - 常用操作命令
/字符串 :向下搜索“字符串” ?字符串 :向上搜索“字符串” n :重复前一个搜索 N :反向重复前一个搜索 b :向后翻一页 空格键:滚动一页 回车:滚动一行 pageDown:向下翻一页 pageUp:向上翻一页 G:移动到最后一行 g:移动到第一行 :q:退出
- 应用案例
- 采用less查看一个大文件,/opt/大文件test.txt
- 细节说明
查询有两种:/字符串,代表向下查询所有;?字符串,代表向前查询所有。可以配合n 顺向搜索一个,N逆向搜索一个,再配合g 移动到第一行;G移动到最后一行。
ln指令
- 基本介绍
ln指令是一个软链接指令也叫符号链接指令,类似windows里的快捷方式,主要存放了链接其他文件的路径。 - 基本语法
ln -s [源文件或目录] [软链接名]:功能是给源文件创建一个软链接。 - 应用案例
- 在/home 目录下创建一个软链接 linkToRoot,链接到 /root目录下,指令[ln -s /root linkToRoot]
- 删除软链接linkToRoot,指令[rm -rf linkToRoot]
- 细节说明
删除软链接时,linkToRoot后面不能带/ ,即[rm -rf linkToRoot/],否则会提示资源忙,导致删除不了软链接,要去掉 / 才可以正确删除软链接,正确的指令为 [rm -rf linkToRoot]。
当我们使用pwd指令查看目录时,依然看到的是软链接所在的目录。
ls指令
- 基本语法
ls [选项] [目录或者文件] - 常用选项
-a:显示当前目录所有的文件和目录,包括隐藏的;
-l:以列表的方式显示信息
-h:以M为单位显示文件的大小 - 应用案例
案例1:查看当前目录的所有内容信息并且以列表的方式显示信息
案例2:列出/opt目录下“大文件test.txt”文件的详细信息,指令[ls -l /opt/大文件test.txt]。
案例3:列出/opt目录下“大文件test.txt”文件的详细信息并且显示文件的大小单位为M,指令[ls -lh /opt/大文件test.txt]。
mkdir指令
- 基本介绍
mkdir指令用于创建目录 - 基本语法
mkdir [选项] 要创建的目录 - 常用选项
-p , 创建多级目录 - 应用案例
- 创建一个目录 /home/dog,指令 [mkdir /home/dog]
- 创建多级目录 /home/animal/tiger,指令[mkdir -p /home/animal/tiger]
more指令
- 基本介绍
more指令是一个基于VI编辑器的文本过滤器,它以全屏的方式按页显示文本内容。 - 基本语法
move 要查看的文件 - 常用操作命令
Enter 向下n行,需要定义。默认为1行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
- 应用实例
- 采用more查看文件/etc/profile
mv指令
- 基本介绍
移动文件与目录或者重命名 - 基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
- 应用案例
- 将/home/aaa.txt 文件重新命名为pig.txt,指令 [mv /home/aaa.txt /home/pig.txt]
- 将/home/pig.txt文件移动到/root目录下
- 细节说明
路径使用相对路径和绝对路径都是可以的,比如使用绝对路径 [mv /home/aaa.txt /home/pig.txt];如果用户在、home,则使用绝对路径时的指令为 [mv aaa.txt pig.txt]
pwd指令
- 基本语法
pwd (功能描述,显示当前工作目录的绝对路径) - 应用实例
显示当前工作目录的绝对路径
rmdir指令
- 基本介绍
rmdir指令用于删除空目录 - 基本语法
rmdir [选项] 要删除的空目录 - 应用案例
删除一个目录 /home/dog
- 细节说明
rmdir删除的是空目录,如果目录下有内容是无法删除的。
提示,如果删除的是非空目录,需要使用 [rm – rf 目录] 指令删除目录。
rm指令
- 基本介绍
rm指令用于删除文件或者目录。 - 基本语法
rm [选项] 要删除的文件或者目录 - 常用选项
-r:递归删除整个文件夹
-f:强制删除不提示 - 应用实例
- 删除/root目录下的hello.txt文件,指令[rm -f /root/hello.txt]
- 删除root中用于新建的多个文件hello1.txt,hello2.txt,指令 [rm -f hello1.txt hello2.txt]
- 递归强制删除整个文件夹/home/test,指令 [rm -rf /home/test或者rm -r -f /home/test];使用递归非强制删除/home/bbb文件夹,指令 [rm -r /home/bbb]
- 细节说明
强制删除不提示的方法,带上-f参数即可,如果需要递归删除可以将两个选项结合在一起,即-rf。
指定的路径可以使用绝对路径或者相对路径。
tail指令
- 基本说明
tail用于输出文件尾部的内容,默认情况下tail指令显示文件的后10行内容。 - 基本语法
- tail 文件:功能是查看文件后10行内容。
- tail -n 5文件:功能是查看文件后5行内容,5可以是任意数字。
- tail -f 文件:功能是实时追踪该文档的所有更新,实际中非常有用。
- 应用案例
- 查看/etc/profile最后5行的代码,指令[tail -n 5 /etc/profile]
- 实时监控mydata.txt,看看,如果文件有变化时,是否可以监控到这个变化,实时的追加日期,指令[tail -f mydata.txt],在Xshell中输入该指令后,在虚拟机中的Centos终端中使用[>>]指令追加一个内容到mydata.txt中,观察Xshell中是否输出追加的内容和日期。
在CentOS中终端输入的指令如下
在XShell中相应的显示
touch指令
- 基本说明
touch用于创建空文件 - 基本语法
[touch 文件名称],文件名称要带有后缀 - 应用案例
- 创建一个空文件hello.txt,指令 [touch hello.txt]
- 同时创建多个空文件hello1.txt, hello2.txt,指令 [touch hello1.txt hello2.txt]
重定向和追加指令
- 基本说明
[ > ]是输出重定向指令,这样会将原来文件的内容覆盖
[ >> ]追加指令,不会覆盖文件的内容,而是追加到文件的尾部。 - 基本语法
- ls -l > 文件:功能是将列表的内容写入文件a.txt(覆盖写)
说明:ls -l > a.txt,将ls -l的显示内容覆盖写入到a.txt文件中,如果该文件不存在,就创建该文件。
- ls -al >>文件 :功能是将列表的内容最加到文件aa.txt末尾。
- cat 文件1 > 文件2:功能是将文件1的内容覆盖到文件2。
- echo “内容” >> 文件:功能是将“内容”写入到文件的末尾。
- 应用实例
- 将/home目录下的文件列表写入到home/info.txt中,指令 [ls -l /home/ > /home/info.txt]
- 将当前日历信息追加到 /home/mycal文件中 , 指令cal >> /home/mycal
- 细节说明
和>>指令后面指定的文件,如果没有就会自动创建该文件,否则直接将相应的内容写入到文件中。 在Linux中创建的文件可以不加后缀。
系统管理命令
命令 | 说明 |
---|---|
stat | 显示指定文件的相关信息,比ls命令显示的内容更多 |
who | 显示在线登录用户 |
hostname | 显示主机名字 |
uname | 显示系统信息 |
top | 显示当前系统汇总耗费资源更多的进程 |
ps | 显示瞬间的进程状态 |
du | 显示指定的文件或者目录已经使用的磁盘空间总量 |
df | 显示文件系统磁盘空间的额使用情况,df -h |
free | 显示当前内存和交换空间的使用情况,free -h |
ifconfig | 显示网络接口信息 |
netstat | 显示网络状态信息 |
ping | 测试网络的连通性 |
clear | 清屏 |
kill | 杀死一个进程,kill -9 进程号 |
压缩和解压类指令
gzip&gunzip指令
- 基本说明
gzip用于压缩文件,gunzip用于解压的 - 基本语法
gzip 文件:功能是压缩文件,只能将文件压缩为*.gz文件。
gunzip 文件.gz:功能是解压文件。 - 应用案例
- gzip压缩,将/home下的hello.txt文件进行压缩,指令[gzip hello.txt]
- unzip解压,将/home下的hello.txt.gz文件进行解压缩,指令[gunzip hello.txt.gz]
- 细节说明
当我们使用gzip指令进行压缩后,原来的文件不会被保留。
tar指令
- 基本介绍
tar是打包指令,最后打包后的文件是.tar.gz的文件。 - 基本语法
tar [选项] XXX.tar.gz 打包的内容:打包目录,压缩后的文件格式.tar.gz。 - 选项说明
-c:产生.tar打包文件。
-v:显示详细信息。
-f:指定压缩后的文件名。
-z:打包同时压缩。
-x:解压.tar文件 - 应用实例
- 压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz,指令[tar -zcvf a.tar.gz a1.txt a2.txt]。
- 将/home的文件夹压缩成myhome.tar.gz,指令[tar -zcvf myhome.tar.gz /home/]
- 将a.tar.gz解压到当前目录,指令[tar -zxvf a.tar.gz]。
- 将myhome.tar.gz解压到/opt/tmp2/目录下,指令[tar -zxvf myhome.tar.gz -C /opt/tmp2]
- 细节说明
指定解压的目录事先要存在该目录,而且要加-C选项,如案例2,否则会报错。
zip&unzip指令
- 基本介绍
zip用于压缩文件,unzip用于解压的,这个在项目打包中很有用。 - 基本语法
zip [选项] XXX.zip 将要压缩的内容:压缩文件和目录的命令。
unzip [选项] XXX.zip :解压缩文件。 - zip常用选项
-r:递归压缩,即压缩目录。 - unzip常用选项
-d<目录>:指定压缩后的存放目录。 - 应用实例
- 将/home下的所有文件进行压缩成mypackage.zip,指令[zip -r mypackage.zip /home]。
- 将mypackage.zip解压到/opt/tmp目录下,指令[unzip -d /opt/tmp/ mypackage.zip]。
- 细节说明
解压时所指定的目录事先可以没有,会自动创建指定目录。