Linux实操篇④ (Linux常用指令大全:找回、重置root密码;实用指令、指定运行级别;帮助类man、help 指令,文件目录类 指令,日期时间类 指令,搜索查找类 指令,压缩和解压类 指令)

目录

第八章 实用指令

8.1 指定运行级别

8.1.1 基本介绍

8.1.2 应用案例

8.1.3 指定默认的运行级别

8.2 找回root密码

8.2.1 面试题

8.3 帮助类 指令

8.3.1 man 获得帮助信息

8.3.2 help 指令

8.4 文件目录类 指令

8.4.1 pwd 指令 

8.4.2 ls 指令 

8.4.3 cd 指令 

8.4.4 mkdir指令

8.4.5 rmdir 指令

8.4.6 touch 指令

8.4.7 cp 指令

8.4.8 rm 指令 

8.4.9 mv 指令

8.4.10 cat 指令 

8.4.11 more 指令 

8.4.12 less 指令

8.4.13 echo 指令

8.4.14 head 指令

8.4.15 tail 指令

9.4.16 > 指令 和 >> 指令

8.4.17 ln 指令 

8.4.18 history 指令

8.5 日期时间类 指令

8.5.1 date 指令-显示当前日期

8.5.2 date 指令-设置日期

8.5.3 cal 指令

8.6 搜索查找类 指令

8.6.1 find 指令

8.6.2 locate 指令

8.6.3 which 指令

8.6.4 grep 指令 和 管道符号 |

8.7 压缩和解压类 指令

8.7.1 gzip/gunzip 指令 

8.7.2 zip/unzip 指令

8.7.3 tar 指令


第八章 实用指令

8.1 指定运行级别

8.1.1 基本介绍

运行级别说明:
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是 3 5(再CentOS 7 就把运行级别给简化了,主要用的是3 和 5)。也可以指定默认运行级别,CentOS 7 以前设置是在一个文件里面,到了CentOS 7这个版本后我们可以通过指令来设置。

8.1.2 应用案例

命令:init [0123456]
应用案例: 通过 init 来切换不同的运行级别,比如动 5-3 , 然后关机。

现在可以看到我们的运行级别是 5 ,因为是图形界面
此时我们输入 init 3 就代表,我们进入到 多用户状态有网络服务 而且不带界面了


这个运行级别 3 就是不带界面的,在这里仍然可以正常的使用命令。

输入 init 5 切回 图形界面 这个运行级别

这个时候就又回到了图形界面。

如果这个时候输入 init 6,就相当于系统重启。和我们第六章学习的命令 reboot 重启是一样的。

8.1.3 指定默认的运行级别

CentOS7 后运行级别说明 

在 centos7 以前,设置运行级别是在 /etc/inittab 文件中。
centos 7 进行了简化 ,如下:
multi-user.target: analogous to runlevel 3  (多用户运行级别)
graphical.target: analogous to runlevel 5   (图形化运行界别)

# To view current default target, run:
systemctl get-default (查看当前的运行级别)

# To set a default target, run:
systemctl set-default TARGET.target (设置运行级别)

如果这个时候进行重启会发生什么效果呢?
因为我们上边把默认的运行级别改为了 多用户运行级别 3 所以重启虚拟机的时候会默认进入 多用户3 的运行级别。(没修改之前默认是进入图形化界面运行级别

此时就没有图形化了

8.2 找回root密码

8.2.1 面试题

如何找回root的密码?(怎么重置root用户密码?)

步骤一:首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。(这个动作要稍微快一点,因为这里只有5秒钟,不然就进入到登录界面了)如图:

步骤二:进入编辑界面,使用键盘上的上下左右键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh。如图

步骤三:接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式

步骤四:接着,在光标闪烁的位置中输入:mount -o remount,rw /,完成后按键盘的回车键(Enter)。如图

步骤五:在新的一行输入:passwd, 完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可( 密码长度最好8位以上,但不是必须的), 密码修改成功后,会显示 passwd ■ ■ ■ ■ ■ ■ 的样式,说明密码修改成功。

步骤六: 接着,在鼠标闪烁的位置中(最后一行)输入:touch /.autorelabel(注意:touch与 /之间有一个空格),完成后按键盘的回车键(Enter)

步骤七:继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /之间有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码 (这个过程时间可能有点长,有些小伙伴会认为死机了,一定耐心等待),完成后,系统会自动重启, 新的密码生效了。



等待了之后,它就自动重启了。使用root用户登录,输入重置之后的密码。

8.3 帮助类 指令

8.3.1 man 获得帮助信息

基本语法:man [命令或配置文件](功能描述:获得帮助信息)
案例:查看 ls 命令的帮助信息。命令为:man ls

当我们光标移动下面的时候发现还有内容没显示出来,这个时候请大家注意,按一下 空格键 他就会继续往下走。

如果要退出帮助模式,输入 q 即可退出。

此时我们输入带选项 -a ,这个时候就会把隐藏文件(.开头的文件)全部显示出来。
在 linux 下,隐藏文件是以 .开头 , 选项可以组合使用 比如 ls -al; 默认情况下是输出当前目录下的所有文件或文件夹,我们也可以指定输出某个目录下的所有文件/文件夹,比如 ls -al /root(把root下面的文件或文件夹显示出来,而且是以单列的形式)

如果我们输入带选项 -l ,就会按照单列进行输出,这个信息是非常全的。(这些信息什么意思后面会具体说明,大家不用担心)

我们的选项是可以组合使用的,而且没有顺序的要求。
ls -la:代表一行一行输出 并且包含隐藏文件(隐藏目录)
这里选项写 ls -la 或者 ls -al 都行。 

默认情况下是输出当前目录下的所有文件或文件夹,我们也可以指定输出某个目录下的所有文件或文件夹,比如 ls -al /home(把home下面的文件或文件夹显示出来,而且是以单列的形式)也可以指定其他目录。

8.3.2 help 指令

基本语法:help 命令 (功能描述:获得 shell 内置命令的帮助信息) 

应用案例:查看 cd 命令的帮助信息

8.4 文件目录类 指令

8.4.1 pwd 指令 

基本语法:pwd (功能描述:显示当前工作目录的绝对路径)
应用案例:显示当前工作目录的绝对路径 

8.4.2 ls 指令 

基本语法:ls [选项] [目录或是文件]
常用选项:
        -a :显示当前目录所有的文件和目录,包括隐藏的。
        -l  :以列表的方式显示信息
应用案例:查看当前目录的所有内容信息 

8.4.3 cd 指令 

基本语法:cd [参数]    (功能描述:切换到指定目录)
cd ~ 或者 cd :回到自己的家目录, 比如 你是 root 用户, cd ~ 会回到 /root,如果你是 tom 用户,cd ~ 会回到 /home/tom。

cd .. 回到当前目录的上一级目录

应用案例:
案例 1:使用绝对路径切换到 root 目录 , cd /root
案例 2:使用相对路径到/root 目录, 比如在 /home/tom 目录下,需要使用 cd ../../root

案例 3:表示回到当前目录的上一级目录 , cd ..
案例 4:回到家目录 , cd ~ 

8.4.4 mkdir指令

mkdir 指令用于创建目录
基本语法:mkdir [选项] 要创建的目录名
常用选项:
        -p :创建多级目录 
应用案例:
案例 1:创建一个目录 /home/dog
mkdir /home/dog

案例 2:创建多级目录 /home/animal/tiger
mkdir -p /home/animal/tiger

8.4.5 rmdir 指令

rmdir 指令 默认只删除空目录,如果要删除的目录有内容,不能使用它。

基本语法:rmdir [选项] 要删除的空目录

应用案例:
案例 1:删除一个目录 /home/dog

案例 2:删除 animal 目录(非空目录)

使用细节:
rmdir 删除的是空目录,如果目录下有内容时无法删除的。
如果需要删除非空目录, 需要使用 rm -rf 要删除的目录(使用该命令一定要谨慎,慎重考虑后在删除)
比如: rm -rf /home/animal

8.4.6 touch 指令

touch指令用来创建一个空文件

基本语法:touch 要创建的文件名

应用案例:在/home目录下,创建一个空文件 hello.txt ( 文件里面没有任何内容 )

8.4.7 cp 指令

cp 指令:拷贝文件到指定目录 

基本语法:cp [选项] source dest
source 表示要拷贝的文件,
dest 表示 要把这个文件拷贝到哪个目录下

常用选项:
        -r :递归复制整个文件夹 

应用案例:
案例 1: 将 /home/hello.txt 拷贝到 /home/bbb 目录下
cp hello.txt /home/bbb

案例 2: 递归复制整个文件夹,需要添加选项参数 -r 。举例, 比如将 /home/bbb 整个目录, 拷贝到 /opt。
cp -r /home/bbb /opt

使用细节:
强制覆盖不提示的方法:\cp , \cp -r /home/bbb /opt  (cp 前边加上 \)

8.4.8 rm 指令 

说明:rm 指令移除文件或目录

基本语法:
rm [选项] 要删除的文件或目录

常用选项:
-r :递归删除整个文件夹
-f : 强制删除不提示 

应用案例:
案例 1: 将 /home/hello.txt 删除 , rm /home/hello.txt

案例 2: 递归删除整个文件夹 /home/bbb , rm -rf /home/bbb [删除整个文件夹,不提示]

使用细节:强制删除不提示的方法:带上 -f 参数即可 

8.4.9 mv 指令

说明:mv 移动文件与目录或重命名 

基本语法:
mv /temp/movefile /targetFolder (功能描述:移动文件) 
/temp/movefile : 被移动的文件
/targetFolder :移动到的目标位置

mv oldNameFile newNameFile (功能描述:重命名) 
使用重命名的前提:这个两个文件必须在同一个目录下。

应用案例:

案例 1: 将 /home/cat.txt 文件 重新命名为 pig.txt

案例 2:将 /home/pig.txt 文件 移动到 /root 目录下

案例 3: 移动整个目录 , 比如将 /opt/bbb 移动到 /home 下
mv /opt/bbb /home/

8.4.10 cat 指令 

说明:cat 查看文件内容 

基本语法 
cat [选项] 要查看的文件

常用选项
-n :显示行号 

应用实例
案例 1: /etc/profile 文件内容,并显示行号 

使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
管道命令:把前面得到的结果交给下一个指令进行处理
cat -n /etc/profile | more [进行交互] 

此时可以输入enter键显示下一行,可以输入空格显示下一页。

8.4.11 more 指令 

more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

基本语法:more 要查看的文件
more 指令中内置了若干快捷键(交互的指令),详见操作说明图

应用案例:使用 more 查看文件/etc/profile  (按 q 键退出阅读模式)

8.4.12 less 指令

        less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

基本语法 :less 要查看的文件

操作说明图:

应用案例:
案例:采用 less 查看一个大文件 /opt/杂文.txt
命令为:less /opt/杂文.txt
使用Xftp上传把 杂文.txt 上传到 /opt 目录下

 输入:less 杂文.txt

此时显示的是第一页,可以输入pagedown 切换到下一页

8.4.13 echo 指令

echo 输出内容到控制台 

基本语法:echo [选项] [输出内容]

应用实例:
案例: 使用 echo 指令输出环境变量, 比如输出  $HOSTNAME(主机名)
echo $HOSTNAM

案例: 使用 echo 指令输出 hello,world!
echo "hello,world~" 
就会把引号里面的内容打印到控制台

8.4.14 head 指令

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容 

基本语法
head 文件 (功能描述:默认查看文件头 10 行内容)
head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)

应用案例:
案例: 查看/etc/profile 的前面 5 行代码
head -n 5 /etc/profile

8.4.15 tail 指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的最后 10 行内容。 

基本语法:
1) tail 文件 (功能描述:默认查看文件尾 10 行内容)
2) tail -n 5 文件 (功能描述:查看文件尾 5 行内容,5 可以是任意行数)
3) tail -f 文件 (功能描述:实时追踪该文档的所有更新)

应用案例:
案例 1: 查看/etc/profile 最后 5 行的代码
tail -n 5 /etc/profile

案例 2: 实时监控 mydate.txt , 看看到文件有变化时,是否显示看到, 实时追加的 hello输出
tail -f /home/mydate.txt

此时我们另外打开一个终端,并且向mydate.txt文件写入内容。(关于 > 指令用法查看下一小节 8.4.15 > 指令 和 >> 指令


输入 ctrl + c 退出监测模式

9.4.16 > 指令 和 >> 指令

> 覆盖
>> 追加

基本语法 
1) ls -l > 文件     (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
2) ls -al >> 文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾)
3) cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
4) echo "内容" >> 文件 (功能描述:将echo 输出的内容 追加到 文件中)

应用实例 
案例 1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中, 覆盖写入
指令为:ls -l /home > /home/info.txt   (如果 info.txt 没有,则会自动创建)

案例 2: 将当前日历信息 追加到 /home/mycal 文件中
指令为: cal >> /home/mycal   (如果mycal文件不存在,则会自动创建)
cal指令:显示当前日期

8.4.17 ln 指令 

软链接也称为符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

应用实例
案例 1: 在/home 目录下创建一个软连接 myroot,连接到 /root 目录
ln -s /root /home/myroot

案例 2: 删除软连接 myroot
rm /home/myroot

细节说明
当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在目录。

8.4.18 history 指令

查看已经执行过历史命令,也可以执行历史指令

基本语法 :history (功能描述:查看已经执行过所有历史命令)

应用实例 :
案例 1: 显示所有的历史命令
命令为:history

案例 2: 显示最近使用过的 10 个指令。
命令为:history 10

案例 3:执行历史编号为 424 的指令
命令为:!424

8.5 日期时间类 指令

8.5.1 date 指令-显示当前日期

基本语法
1) date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m(功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)

应用实例
案例 1:显示当前时间信息
命令为:date

案例 2:只显示当前时间 年月日
命令为:date "+%Y-%m-%d" 

案例 3:显示当前时间 年月日 时分秒
命令为:date "+%Y-%m-%d %H:%M:%S" 

8.5.2 date 指令-设置日期

基本语法 
date -s 字符串时间

应用实例
案例 1:设置系统当前时间 , 比如设置成 2020-11-03 20:02:10
命令:date -s "2020-11-03 20:02:10"

8.5.3 cal 指令

查看日历指令 cal 

基本语法
cal [选项] (功能描述:不加选项,默认显示本月日历)

应用实例
案例 1: 显示当前日历
命令: cal

案例 2: 显示 2020 年日历
命令:cal 2020

8.6 搜索查找类 指令

8.6.1 find 指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。 

基本语法:find [搜索范围] [选项]

选项说明:

应用实例:
案例 1: 按文件名:根据名称查找/home 目录下的 hello.txt 文件
指令:find /home -name hello.txt

案例 2:按拥有者:查找/opt 目录下,用户名称为 nobody 的文件
指令:find /opt -user nobody

此时我们把它换成 root用户
指令:find /opt -user root

root 用户所拥有的文件就多了

案例 3:查找整个 linux 系统下大于 200M 的文件(+n 大于 -n 小于 n 等于, 单位有 k,M,G)
指令:find / -size +200M 

8.6.2 locate 指令

        locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻 

基本语法: locate 搜索文件名

特别说明
由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。  

应用实例
案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录 

8.6.3 which 指令

可以查看某个指令在哪个目录下

基本语法:which [指令名]

应用案例:查看 ls 指令在哪个目录 

8.6.4 grep 指令 和 管道符号 |

grep 指令往往跟管道符号 “ | ”结合使用。
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。 

基本语法
grep [选项] 查找内容 源文件

常用选项

应用实例
案例 1: 请在 hello.txt 文件中,查找 "yes" 所在行,并且显示行号

创建 hello.txt 文件,写入内容并保存

指令 1: cat /home/hello.txt | grep "yes"
 

指令 2: grep -n "yes" /home/hello.txt  

8.7 压缩和解压类 指令

8.7.1 gzip/gunzip 指令 

gzip 用于压缩文件, gunzip 用于解压的 

基本语法 
gzip 文件          (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件) 

应用实例 
案例 1: gzip 压缩, 将 /home 下的 hello.txt 文件进行压缩
指令:gzip /home/hello.txt

案例 2: gunzip 压缩, 将 /home 下的 hello.txt.gz 文件进行解压缩
指令:gunzip /home/hello.txt.gz

8.7.2 zip/unzip 指令

zip 用于压缩文件或目录, unzip 用于解压的,这个在项目打包发布中很有用的

基本语法
zip [选项] 新生成的压缩文件名(XXX.zip) 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] 要解压的文件名(XXX.zip)(功能描述:解压缩文件,没有指定解压到的目录,默认解压到当前目录

zip 常用选项
-r:递归压缩,即压缩目录

unzip 的常用选项
-d<目录> :指定解压后文件的存放目录

应用实例
案例 1: 将 /home 下的 所有文件/文件夹进行压缩成 myhome.zip
命令:zip -r  myhome.zip  /home/ [将 home 目录及其包含的文件和子文件夹都压缩]

案例 2: 将 myhome.zip 解压到 /opt/tmp 目录下
首先创建 /opt/tmp 目录
执行命令1:mkdir /opt/tmp

执行命令2:unzip -d /opt/tmp /home/myhome.zip  (将 /home/myhome.zip 压缩文件,解压到 /opt/tmp 目录下)

8.7.3 tar 指令

tar 指令 既可以用来压缩文件,也可以用来解压文件,最后打包后的文件是 .tar.gz 的文件。 

基本语法
tar [选项] XXX.tar.gz(新生成的压缩文件名称) 打包的内容(功能描述:既可以压缩文件,也可以压缩目录,压缩后的文件格式.tar.gz)

选项说明

应用实例
案例 1: 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
首先创建 pig.txt 和 cat.txt 两个文件

命令:tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt  (多个文件之间要用空格分开)

案例 2: 将/home 的文件夹 压缩成 myhome.tar.gz
命令:tar -zcvf myhome.tar.gz /home/

案例 3: 将 pc.tar.gz 解压到当前目录
命令:tar -zxvf pc.tar.gz

案例 4: 将 myhome.tar.gz 解压到 /opt/tmp2 目录下
指令1:mkdir /opt/tmp2  (创建 tmp2 文件)

指令2:tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 (将 /home/myhome.tar.gz 压缩文件 解压到 /opt/tmp2 目录下)
-C 表示 将加压之后的文件存放到哪个目录

感谢大家的阅读!HZJ,一个在学习路上匍匐前行的小菜鸟!

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值