一、Root用户密码如何找回?
- CentOS系统的 root 密码找回:
- 首先启动系统,进入开机界面,在界面中按 “e” 进入编辑界面。
- 进入编辑界面,使用键盘上的方向键向下移动光标,找到以 “Linux16” 开头的内容所在的行数,在行的最后输入:init=/bin/sh。
- 输入完成后,直接按快捷键:Ctrl + x 进入单用户模式。
- 接着在光标闪烁的位置中输入:mount -o remount,rw / 【注意:各个单词间有空格,逗号间没有空格】,完成后按键盘的回车键。
- 在新的一行最后面输入:passwd,完成后按键盘的回车键。输入密码,然后再次确认密码即可。
- 密码修改成功后会显示:passwd…的样式,表明修改成功。
- 接着在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel 【注意:touch与 / 间有一个空格】,完成后按键盘的回车键。
- 继续在光标闪烁的位置中输入:exec /sbin/init 【注意:exec和 / 之间有一个空格】,完成后按下键盘的回车键,等待系统自动修改密码。【这个过程耗时比较长,耐心等待】,完成后,系统会自动重启,新的密码就生效了。
二、Linux系统指令
-
帮助指令:
- man 获取帮助信息:man [命令或配置文件]。比如:man ls 查看ls命令的帮助信息。
- help 获取shell内置命令的帮助信息:help [命令]。
-
文件目录类:
-
pwd 指令:显示当前工作目录的绝对路径。
-
ls 指令:显示当前目录中的文件 , ls [选项] [目录或者文件]。
常用的选项有:-a :显示当前目录所有文件和目录,包括隐藏的。-i :以列表的方式显示信息。 -
cd 指令:切换目录 ,cd [参数]。cd ~ 代表回到自己的家目录。cd … 返回上一级目录。
-
mkdir 指令:创建目录 ,mkdir [选项] [要创建的目录]。常用选项:-p :创建多级目录。【注意:默认可以创建一级目录】
-
rmdir 指令:删除空目录 ,rmdir [选项] [要删除的空目录]。【注意:删除的是空目录,如果目录下有内容时是无法删除的】【如果需要删除非空目录,需要使用 rm -rf + [要删除的目录]】
-
touch 指令:创建空文件 , touch [文件名称]。
-
cp 指令:拷贝文件到指定的目录 ,cp [选项] [指定目录]。常用选项:-r :递归复制整个文件夹。比如:cp /home/hello.txt /home/aaa/ 【注意:在拷贝时强制覆盖,不提示的方法:\cp】
-
rm 指令:移除文件或者目录 , rm [选项] [要删除的文件或目录]。常用选项:-r :递归删除整个文件夹。-f :强制删除不提示。
-
mv 指令:移动文件与目录或者重命名 , mv [旧文件/目录名] [新文件/目录名] 【重命名功能】, mv [指定文件] [目标地址] 【移动文件功能】
-
cat 指令:查看文件内容 , cat [选项] [要查看的文件]。常用选项:-n :显示行号。【cat只能浏览文件,而不能修改文件,为了方便浏览,一般会带上 管道命令 | more , 比如:cat -n /etc/profile | more】
-
more 指令:一个基于vi编辑器的文本过滤器,以全屏的方式显示文本文件内容, more [要查看的文件]。more指令内置了若干快捷键(交互指令) :
操作按键 功能说明 空格 space 向下翻一页 回车 enter 向下翻一行 q 立即离开more,不在显示该文件的内容 Ctrl + F 向下滚动一屏 Ctrl + B 返回上一屏 = 输出当前的行号 :f 输出文件名和当前的行号 -
less 指令:分屏查看文件内容,功能与more指令类似,但比more指令更加强大,支持各种显示终端。 less [要查看的文件] 【less指令显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要加载的内容,对于显示大型文件具有较高的效率】
操作按键 功能说明 空格 space 向下翻一页 pagedown 键 向下翻一页 pageup 键 向上翻一页 /字符串 向下搜索字符串;n:向下查找;N:向上查找 ?字符串 向上搜索字符串;n:向上查找;N:向下查找 q 离开less -
echo 指令:输出内容到控制台 , echo [选项] [输出内容]。
输出环境变量:echo $PATH
输出文本内容:echo “hello world!” -
head 指令:显示文件的开头部分内容,默认情况下head指令显示文件前10行内容。
head [文件] 【查看文件前10行】
head -n 5 [文件] 【查看文件前5行,5可以为任意数】 -
tail 指令:输出文件尾部内容,默认显示尾部的10行内容。
tail [文件] 【查看文件尾10行】
tail -n 5 [文件] 【查看文件尾5行,5可以任意指定】
tail -f [文件] 【实时追踪该文档的所有更新内容】 -
> 指令 和 >> 指令:> 为输出重定向;>> 为追加。
ls -l > [文件] 【列表内容写入 文件 中,覆盖写】【如果 文件 不存在会自动创建】
ls -la >> [文件] 【列表内容追加到 文件 的末尾】
cat [文件1] > [文件2] 【将 文件1 的内容覆盖到 文件2】
echo “文本” >> [文件] 【将 文本 追加到 文件】 -
ln 指令:软链接(符号链接),类似Windows系统的快捷方式,主要存放链接其他文件的路径。ln -s [原文件或目录] [软链接名] 【给原文件/目录创建一个软链接】【当使用 pwd 查看目录时,仍然看到的是软链接所在的目录】
-
history 指令:查看已经执行过的历史指令。history 10 【查看最近的10条历史指令】,!5 【执行曾经执行过的第5条指令】
-
-
时间日期类:
- date 指令:显示当前时间。
date 【显示当前时间】
date + %Y 【显示当前年份】
date + %m 【显示当前月份】
date + %d 【显示当前是哪一天】
date “+%Y-%m-%d %H:%M:%S” 【显示当前年月日 时分秒】
date -s [字符串时间] 【设置时间】 - cal 指令:查看日历。cal [选项] 【不加选项,仅显示本月日历】, cal 2020 【显示2020全部日历】
- date 指令:显示当前时间。
-
搜索查找类:
-
find 指令:从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端。find [搜索范围] [选项]。
选项 功能 -name <查询方式> 按照指定的文件名查找模式 查找文件 -user <用户名> 查找属于指定用户名所有文件 -size <文件大小> 按照指定的文件大小查找文件 【+n:大于n;-n:小于n;n:等于n】 -
locate 指令:可以快速定位文件路径。利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。 locate [搜索文件]。【由于locate指令基于数据库进行查询,所有第一次查运行前,必须使用 updatedb 指令创建locate数据库】
-
which 指令:可以查看某个指令在哪个目录下,比如:which ls 查看ls指令在哪个目录。
-
grep 指令 和 管道符号 | :grep过滤查找,管道符号 “|” 表示将前一个命令的处理结果输出传递给后面的命令处理。grep [选项] [查找内容] [源文件]。比如:cat a.txt | grep “hello” 先查看a.txt文件内容,在寻找其中包含的"hello"关键词。
选项 功能 -n 显示匹配行及行号 -i 忽略字母大小写
-
-
压缩解压缩类:
-
gzip 和 gunzip 指令:gzip 用于压缩文件,gunzip 用于解压文件。
gzip [文件] 【压缩文件,只能将文件压缩为 *.gz 文件】
gunzip [文件.gz] 【解压缩文件】 -
zip 和 unzip 指令:zip 用于压缩文件,unzip 用于解压文件。【在项目的打包和发布中很有用】。
zip [选项] [文件.zip] 【压缩文件,压缩为 *.zip 格式】。常用选项:-r:递归压缩,即压缩目录。
unzip [选项] [文件.zip] 【解压缩文件】。常用选项:-d <目录> :指定解压后文件的存放目录。 -
tar 指令:打包指令,最后打包后的文件是 .tar.gz 文件。tar [选项] [XXX.tar.gz] [打包的内容]。【打包目录,压缩后的文件格式为 .tar.gz】
选项 功能 -c 产生 .tar 打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包的同时进行压缩 -x 解包 .tar 文件 比如:压缩 /home/pig.txt 和 /home/dog.txt 成 pd.tar.gz 文件:
tar -zcvf pd.tar.gz /home/pig.txt /home/dog.txt 【注意:多个文件之间有空格】
解压 pd.tar.gz 文件,解压到 /opt/tmp2 目录下:
tar -zxvf pd.tar.gz -C /opt/tmp2/
-
三、Linux组管理和权限管理
1. Linux组的介绍
在Linux系统中每个用户必须属于一个组,不能独立于组之外。在Linux中每个文件有所有者、所在组、其他组的概念。
- 文件 / 目录 所有者:一般为文件 / 目录的创建者,谁创建了该文件,就自然的成为了该文件的所有者。
- 查看文件的所有者:ls -ahl ; 修改文件的所有者:chown [用户] [文件]。
- 组的创建:groupadd 组名;创建一个用户 fox ,并放入到 monster 组中:useradd -g monster fox。
- 文件 / 目录所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
- 查看文件的所在组:ls -ahl ;修改文件所在的组:chgrp [组名] [文件名]。
- 查看文件的所在组:ls -ahl ;修改文件所在的组:chgrp [组名] [文件名]。
- 其他组:除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组。
- 改变用户的所在组:在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理授权可以改变某个用户所在的组。
- usermod -g [组名] [用户名]
- usermod -g [目录名] [用户名] [改变该用户登录的初始目录] 【注意:用户需要有进入到新目录的权限】
2. Linux权限介绍
-
0-9位权限说明:
位数 说明 0 确定文件类型 【5种:d , - , l , c , b】,-为普通文件;l 为链接;d为目录;c为字符设备文件,如鼠标、键盘;b为块设备,如硬盘 1-3 确定所有者【该文件的所有者】拥有该文件的权限 --User 4-6 确定所属组【同用户组的】拥有该文件的权限 --Group 7-9 确定其他用户拥有该文件的权限 --Other -
rwx权限详解:
- rwx作用到文件:r代表可读;w代表可写,可以修改但是不代表可以删除【删除一个文件的前提条件是对该文件所在的目录有写权限】;x代表可执行。
- rwx作用到目录:r代表可读;w代表可写,可以修改,对目录内创建+删除+重命名;x代表可执行,可以进入该目录。
- rwx也可以用数字来表示:r=4;w=2;x=1,因此rwx=7.
-
其他说明:
字符 说明 1 文件:硬连接数 或 目录:子目录数 root 用户 root 组 9.1M 文件大小(字节),如果是文件夹,则显示4096字节 Jul 22 2021 最后修改时间 apach-…-bin.tar.gz 文件名 -
修改文件/目录权限操作:
- 通过 chmod 指令修改权限,可以修改文件或者目录的权限。
- 第一种方式:+、-、= 变更权限:【u:所有者;g:所属组;o:其他人;a:所有人(u,g,o的总和)】
chmod u=rwx,g=rx,o=x [文件 / 目录 名]
chmod o+w [文件 / 目录 名] 【添加w权限】
chmod a-x [文件 / 目录 名] 【删除x权限】 - 第二种方式:通过数字变更权限。
chmod u=rwx,g=rx,o=x [文件 / 目录 名] 相当于 chmod 751 [文件 / 目录 名] 。
【r=4;w=2;x=1】
-
修改文件/目录所有者操作:
- chown [newowner] [文件 / 目录]。【改变的所有者】
chown [newowner:newgroup] [文件 / 目录] 。【改变所有者和所在组】
【-R:如果是目录,则使其下所有子文件或目录递归生效】 - chgrp [newgroup] [文件 / 目录] 。【改变所有组】
- chown [newowner] [文件 / 目录]。【改变的所有者】
-
【关于rwx权限的讨论】:
- 拥有 r 权限才能够通过 ls 指令读取到目录或者文件。如果一个目录拥有 r 权限,说明可以通过 ls 将目录下的文件列举出来,反之则不能。【如果该目录没有 r 权限,假如目录里面的文件有 rw 权限,则该文件的权限不受影响】
- 拥有 w 权限表示在该目录进行创建或者删除文件。
- 拥有 x 权限表示可以进入该目录,比如通过 cd 指令进入。