一:运行级别

1:运行级别说明:

0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启、

常用的运行级别是3和5,也可以指定默认的运行级别。

centos7以前运行级别是通过修改文件( /etc/initab)来实现的,7以后通过指令来实现

2:应用举例

**init 3** 切换为无图形界面。
**init 5**

3:centos7以前运行级别说明

在centos7以前, /etc/inittab 文件中
而在centos7以后进行了简化,如下:
multi-user.target:analogous to runlevel 3
graphical.target: analogous to runlevel 5

4:运行级别的设置与查看

:::info 看当前的运行级别是什么?
#To view current default target, run:
**systemctl get-default**

设置当前的运行级别
#To set a default target, run:
**systemctl set-default TARGET.target** :::

二:找回root用户密码

  1. 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。如图

image.png

  1. 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh。如图image.png
  2. 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式

image.png

  1. l接着,在光标闪烁的位置中输入:mount -o remount,rw /(注意:各个单词间有空格),完成后按键盘的回车键(Enter)。如图

image.png

  1. 在新的一行最后面输入:passwd,完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可(密码长度最好8位以上,但不是必须的), 密码修改成功后,会显示passwd…..的样式,说明密码修改成功
  2. 接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel(注意:touch与 /后面有一个空格),完成后按键盘的回车键(Enter)
  3. 继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码(这个过程时间可能有点长,耐心等待),完成后,系统会自动重启, 新的密码生效

三:帮助指令

1:man 获得帮助信息

基本语法
**man[命令或配置文件](功能描述:获得帮助信息**
使用举例
man ls
image.png :::info 在linux中,隐藏文件是以 ‘.’ 开头的 ::: ls -a (列出所有文件) or ls -l (单行显示文件)
选项也可以组合使用
ls -al (表示单行列出所有文件)
还可以指定目录
ls -al /root(表示单行列出root目录下的所有文件)

2:help 指令

基本语法
**shell 命令**
应用举例
**help cd**
image.png

四:文件目录类

1:pwd指令

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

  • 显示当前工作目录的绝对路径

    • pwd

      2:ls指令

      基本语法:
      **ls [选项] [目录或是文件]**
      常用选项:
      -a:显示的当前目录所有的文件和目录,包括隐藏的
      -l:以列表的方式显示详细信息
      -h:按照人能理解的方式显示,显示文件具体大小而不是字节数

      3:cd指令

      基本语法:
      **cd [参数]**(功能描述:切换到指定目录)
      常用选项:
      cd ~或者cd : 回到自己的家目录
      cd .. :回当前目录的上上一级目录
      应用案例:
  • 使用绝对路径切换到root目录,

    • cd /root
  • 使用相对路径到/root目录,比如在/home/tom ,
    • cd ../../root
  • 表示回到当前目录的上一级目录,
    • cd ..
  • 回到家目录,

    • cd ~

      4:mkdir指令

      基本语法:
      **mkdir [选项] 要创建的目录** (功能描述:mkdir 指令用于创建目录)
      常用选项:
      -p :创建多级目录
      应用举例:
  • 创建一个目录/home/dog

    • mkdir /home/sakura1
  • 创建多级目录/home/animal/tiger ,

    • mkdir -p /home/ssss/s

      5:rmdir指令

      基本语法:
      **rmdir [选项] 要删除空目录** (功能描述:删除空目录)
      应用举例:
  • 删除空目录

    • rmdir /home/sss

使用细节: :::info 1:rmdir删除的是空目录,如果目录下有内容时无法删除的。
2:提示:如果需要删除非空目录,需要使用rm -rf要删除的目录
3:比如; rm -rf /home/animal :::

6:touch指令

基本语法:
**touch 文件名称** (功能描述:创建一个空文件)
应用举例:

  • 在/home目录下,创建一个空文件 hello.txt


    • 7:cp指令

      基本语法:
      **cp [选项] source dest** (功能描述:拷贝文件到整个目录)
      常用选项:
      -r:递归复制整个文件夹
      应用举例:
  • /home/hello.txt拷贝到/home/bbb目录下

    • cp hello.txt /home/bbb
  • 递归复制整个文件夹,举例,比如将/home/bbb 整个目录,拷贝到/opt
    • cp -r /home/bbb /opt

使用细节:
如果再次执行拷贝指令,则会提示是否覆盖。(需要回复y)
image.png :::info 强制覆盖不提示的方法: /cp
/cp -r /home/bbb /opt :::

8:rm指令

基本语法:
**rm [选项] 要删除的文件或者目录** (功能描述:删除的文件或者目录)
常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示
应用举例:

  • 将/home/hello.txt删除 ,
    • rm/home/hello.txt
  • 递归删除整个文件夹/home/bbb ,
    • rm -rf /home/bbb [删除整个文件夹,不提示]

使用细节: :::info 强制删除不提示方式: -f :::

9:mv指令

基本语法:
**mv oldNameFile newNameFile** (功能描述:重命名)
**mv /temp/movefile /targetFolder** (功能描述:移动文件)
应用实例:

  • 将/home/cat.txt文件重新命名为pig.txt
    • mv cat.txt pig.txt
  • 将/home/pig.txt文件移动到/root目录下
    • mv pig.txt /root/
  • 移动并重命名
    • mv pig.txt /root/sakura.txt
  • 移动整个目录,比如将/opt/bbb移动到/home 下 mv/opt/bbb /home/试试.

    • mv bbb/ /home/

      10:cat指令

      基本语法:
      **cat [选项] 要查看的文件**(功能描述:查看文件内容)
      常用选项:
      -n:显示行号
      应用实例:
  • /etc/profile文件内容,并显示行号

image.png
使用细节: :::info cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令|morecat -n /etc/profile | more[进行交互] ::: 管道命令:把前面的结果交给下一个指令进行处理。 **_ eg:_** cat -n /etc/profile | more (将前面的结果交给more去处理)

11:more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more干快捷键(交互的指令),详见操作说明
基本语法:
**more 要查看的文件**
使用说明:
image.png
应用实例:

  • 采用more查看文件
    • more /etc/profile

      12:less指令

      less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比 more 指令更加强大,支持各和指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显较高的效率。
      如果文件比较大,用less查看会比较快。如果用vim或者vi,它会把整个文件一起加载到内存,打开速度会有点儿慢。less会根据显示情况先读取一部分,需要滚动再读取一部分
      基本语法:
      **less 要查看的文件**
      使用说明:
      image.png
      两个查找功能是类似的,只需要掌握一个即可

应用实例:
1:采用less查看一个大文件文件/opt/杂文.txt ———— less /opt/杂文.txt

12:echo指令

基本语法:
**echo [选项] [输出内容]** (功能描述:输出内容到控制台)
常用选项:
应用实例:

  • 使用echo 指令输出环境变量,比如输出$PATH SHOSTNAME
    • echo $HOSTNAME

image.png
image.png

13:head指令

基本语法:
**_head 文件_** (功能描述:head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容)
常用选项:
-n : 看前几行
应用实例:

  • 查看/etc/profile 的前面5行代码

    • head -n 5 /etc/profile (不写-n默认显示5行)

      14:tail指令

      ( 功能描述:il用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。)
      基本语法:
      **tail 文件** (功能描述:查看文件尾10行内容)
      **tail -n 5 文件** (功能描述:查看文件尾5行内容,5可以是任意行数)
      **tail -f 文件** (功能描述:实时追踪该文档的所有更新)
      应用实例:
  • 查看/etc/profile最后5行的代码

    • tail -n /etc/profile
  • 实时监控 mydate.txt,看看到文件有变化时,是否看到,实时的追加hello,world

    • tail -f sss.txt**_

      15:>指令和>>指令

      >:覆盖
      >>:追加
      基本语法:
      **ls -i > 文件** (功能描述:列表的内容写入文件a.txt 中(覆盖写))
      **ls -al >> 文件** (功能描述:列表的内容追加到文件aa.txt的末尾
      **cat 文件1 > 文件2** (功能描述:将文件1的内容覆盖到文件2)
      **echo "内容" >> 文件** (追加)
      应用实例:
  • 将/home目录下的文件列表写入到/home/info.txt中,覆盖写入

    • ls -l /home >/home/info.txt [如果info.txt没有,则会创建]
  • 将当前日历信息追加到/home/mycal 文件中

    • cal >> /home/mycal

      16:In指令

      软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
      基本语法:
      **ln -s[原文件或目录] [软链接名])** (功能描述:给原文件创建一个软链接)
      应用实例:
  • 在/home 目录下创建一个软连接myroot,连接到/root目录

    • ln -s /root /home/myroot
  • 删除软连接myroot
    • rm /home/myroot

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

17:history指令

查看已经执行过历史命令,也可以执行历史指令
基本语法:
**history** (功能描述:查看已经执行过的额历史命令)
应用实例:

  • 显示所有的历史命令
    • history
  • 显示最近使用过的10个指令。
    • history 10
  • 执行历史编号为5的指令

    • !5

      五:时间日期类指令

      1:date指令-显示日期

      基本语法:
      **date** (功能描述:显示当前时间)
      **date +%Y** (功能描述:显示当前年份)
      **date +%m**(功能描述:显示当前月份)
      **date +%d**(功能描述:显示当前是哪一天)
      **date "+%Y-%m-%d %H:%M:%S"** (功能描述:显示年月日时分秒)
      应用实例:
  • 显示当前时间信息

    • date
  • 显示当前时间年月日
    • date “+%Y-%m-%d”
  • 显示当前时间年月日时分秒
    • date “+%Y-%m-%d %H:%M:%S”

image.png
加了分隔符和空格的区别

2:date指令-设置日期

基本语法:
**date -s 字符串时间** (功能描述:设置日期)
应用实例:

  • 设置系统当前时间,比如设置成2020-11-03 20:02:10

    • date -s “2020-11-03 20:02:10”

      3:cal指令

      基本语法:
      **cal [选项] ** __(不加选项,查看本月日历)(功能描述:查看日历)
      应用实例:
  • 显示当前日历

    • cal
  • 显示2020年日历:
    • cal 2020

六:搜索查找类指令

1:find指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:
**find [搜索范围] [选项]** (功能描述:查看日历)
选项说明:

-name<文件名> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件。

应用实例:

  • 按文件名:根据名称查找/home目录下的hello.txt文件
    • find /home -name hellol.txt
  • 按拥有者:查找/opt 日录下,用户名称为nobody 的文件
    • find /opt -user noboby
  • 查找整个linux系统下大于200M的文件(+n大于-n小于n等于,单位有k,M,G)
    • find / -size +200M

      2:locate指令

      locate 指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的 locate数据库实现快速定位给定的文件。
      Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻
      基本语法:
      **locate 搜索文件 **
      特别说明: :::info 由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。 :::

      ps:which指令:可以查看某个指令在那个目录下面

应用实例:

  • 请使用locate指令快速定位 hello.txt文件所在目录
    • locate hello.txt

      3:grep指令和管道符号 |

      grep 过滤查找,管道符,“ | “,表示将前一个命令的处理结果输出传递给后面的命令处理。
      基本语法:
      **grep [选项] 找内容源文件**
      常用选项:
-n 显示匹配行及行号
-i 忽略字母大小写

应用实例:

  • 请在 hello.txt文件中,查找”yes”所在行,并且显示行号(两种2写法)

    • cat /home/hello.txt | grep -ni sakura
    • grep -ni “yes” /home/hello.txt

      七:压缩与解压类指令

      1:gzip/gunzip指令

      gzip 用于压缩文件,gunzip用于解压的
      基本语法:
      **gzip 文件**
      常用选项:
      **gzip 文件** (功能描述:压缩文件,只能将文件压缩为*.gz文件)
      **gunzip 文件.gz** (功能描述:解压缩文件命令)
      应用实例:
  • gzip压缩,将/home下的 hello.txt 文件进行压缩

    • gzip /home/hello.txt
  • gunzip压缩,将/home下的hello.txt.gz.文件进行解压缩

    • gunzip /home/hello.txt

      2:zip/unzip指令

      zip用于压缩文件或者文件夹,unzip用于解压的,这个在项目打包发布中很有用的
      基本语法:
      **zip [选项] XXX.zip 将要压缩的内容**(功能描述:压缩文件和目录的命令)
      **unzip [选项] XXX.zip** (功能描述:解压缩文件)
      zip常用选项:
      -r :递归压缩,即压缩目录
      unzip常用选项:
      -d<目录>:指定解压后文件的存放位置
      应用实例:
  • 将/home下的所有文件/文件夹进行压缩成myhome.zip

    • zip -r myhome.zip /home/
  • 将myhome.zip解压到/opt/tmp目录下
    • unzip -d /home/tmp /home/myhome.zip


3:tar指令

tar指令是打包指令,最后打包后的文件是.tar.gz 的文件。既可以打包压缩文件,也可以打包压缩文件夹
基本语法:
**tar [选项] XXX.tar.gz 打包的内容** (功能描述:打包目录,压缩后的文件格式.tar.gz)
常用选项:

-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件

应用实例:

  • 压缩多个文件,将 /home/pig.txt和 /home/cat.txt压缩成pc.tar.gz
    • tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
  • 将/home 的文什灭压缩成myhome.tar.gz
    • tar -zcvf myhome.tar.gz /home/
  • 将pc.tar.gz解压到当前目录
    • tar -zxvf pc.tar.gz
  • 将 myhome.tar.gz 解压到/opt/tmp2目录下
    • tar -zxvf myhom.tar.gz /opt/tmp2