一:运行级别
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用户密码
- 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面。如图
- 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh。如图
- 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式。
- l接着,在光标闪烁的位置中输入:mount -o remount,rw /(注意:各个单词间有空格),完成后按键盘的回车键(Enter)。如图
- 在新的一行最后面输入:passwd,完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可(密码长度最好8位以上,但不是必须的), 密码修改成功后,会显示passwd…..的样式,说明密码修改成功
- 接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel(注意:touch与 /后面有一个空格),完成后按键盘的回车键(Enter)
- 继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码(这个过程时间可能有点长,耐心等待),完成后,系统会自动重启, 新的密码生效了
三:帮助指令
1:man 获得帮助信息
基本语法**man[命令或配置文件](功能描述:获得帮助信息**
使用举例man ls
:::info
在linux中,隐藏文件是以 ‘.’ 开头的
:::
ls -a (列出所有文件) or ls -l (单行显示文件)
选项也可以组合使用
ls -al (表示单行列出所有文件)
还可以指定目录
ls -al /root(表示单行列出root目录下的所有文件)
2:help 指令
基本语法**shell 命令**
应用举例**help cd**
四:文件目录类
1:pwd指令
基本语法:**pwd**
(功能描述:显示当前工作目录的绝对路径)
应用举例:
显示当前工作目录的绝对路径
使用绝对路径切换到root目录,
- cd /root
- 使用相对路径到/root目录,比如在/home/tom ,
- cd ../../root
- 表示回到当前目录的上一级目录,
- cd ..
回到家目录,
创建一个目录/home/dog
- mkdir /home/sakura1
创建多级目录/home/animal/tiger ,
删除空目录
- rmdir /home/sss
使用细节:
:::info
1:rmdir删除的是空目录,如果目录下有内容时无法删除的。
2:提示:如果需要删除非空目录,需要使用rm -rf要删除的目录
3:比如; rm -rf /home/animal
:::
6:touch指令
基本语法: **touch 文件名称**
(功能描述:创建一个空文件)
应用举例:
在/home目录下,创建一个空文件 hello.txt
/home/hello.txt拷贝到/home/bbb目录下 ,
- cp hello.txt /home/bbb
- 递归复制整个文件夹,举例,比如将/home/bbb 整个目录,拷贝到/opt ,
- cp -r /home/bbb /opt
使用细节:
如果再次执行拷贝指令,则会提示是否覆盖。(需要回复y)
:::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/试试.
/etc/profile文件内容,并显示行号
使用细节:
:::info
cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令|morecat -n /etc/profile | more[进行交互]
:::
管道命令:把前面的结果交给下一个指令进行处理。 **_ eg:_** cat -n /etc/profile | more
(将前面的结果交给more去处理)
11:more指令
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more干快捷键(交互的指令),详见操作说明
基本语法:**more 要查看的文件**
使用说明:
应用实例:
- 采用more查看文件
应用实例:
1:采用less查看一个大文件文件/opt/杂文.txt ———— less /opt/杂文.txt
12:echo指令
基本语法:**echo [选项] [输出内容]**
(功能描述:输出内容到控制台)
常用选项:
应用实例:
- 使用echo 指令输出环境变量,比如输出$PATH SHOSTNAME
- echo $HOSTNAME
13:head指令
基本语法:**_head 文件_**
(功能描述:head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容)
常用选项:
-n : 看前几行
应用实例:
查看/etc/profile 的前面5行代码
查看/etc/profile最后5行的代码
- tail -n /etc/profile
实时监控 mydate.txt,看看到文件有变化时,是否看到,实时的追加hello,world
将/home目录下的文件列表写入到/home/info.txt中,覆盖写入
- ls -l /home >/home/info.txt [如果info.txt没有,则会创建]
将当前日历信息追加到/home/mycal 文件中
在/home 目录下创建一个软连接myroot,连接到/root目录
- ln -s /root /home/myroot
- 删除软连接myroot
- rm /home/myroot
细节说明: :::info 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。 :::
17:history指令
查看已经执行过历史命令,也可以执行历史指令
基本语法:**history**
(功能描述:查看已经执行过的额历史命令)
应用实例:
- 显示所有的历史命令
- history
- 显示最近使用过的10个指令。
- history 10
执行历史编号为5的指令
显示当前时间信息
- date
- 显示当前时间年月日
- date “+%Y-%m-%d”
- 显示当前时间年月日时分秒
- date “+%Y-%m-%d %H:%M:%S”
2:date指令-设置日期
基本语法:**date -s 字符串时间**
(功能描述:设置日期)
应用实例:
设置系统当前时间,比如设置成2020-11-03 20:02:10
显示当前日历
- 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)
应用实例:
- 请使用locate指令快速定位 hello.txt文件所在目录
-n | 显示匹配行及行号 |
---|---|
-i | 忽略字母大小写 |
应用实例:
请在 hello.txt文件中,查找”yes”所在行,并且显示行号(两种2写法)
gzip压缩,将/home下的 hello.txt 文件进行压缩
- gzip /home/hello.txt
gunzip压缩,将/home下的hello.txt.gz.文件进行解压缩
将/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