2.5:实用指令
-
指定运行级别
-
基本介绍:运行级别说明
运行级别 解释 0 关机 1 单用户【找回丢失密码】 2 多用户状态没有网络服务 3 多用户状态有网络服务 4 系统未使用保留给用户 5 图形界面 6 系统重启 常用运行级别是3和5,也可以指定默认运行级别。
-
应用案例:指定
init [0123456]
通过
init
来切换不同的的运行级别,比如5-3
,然后关机init 3; init 5; init 0;
-
CentOS7
后运行级别说明在
CentOS7
以前,/etc/inittab
文件中进行了简化,如下: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
-
-
找回
root
密码面试题:如何找回
root
密码-
首先,启动系统,进入开机界面,在界面中按
e
进入编辑界面。
-
进入编辑界面,使用键盘上的上下键把光标往下移动,找到
Liunx16
开头内容所在的行数,在行的最后面输入:init=/bin/sh
-
接着,输入完成后,直接按快捷键:
Ctrl+X
进入单用户模式。 -
接着,在光标闪烁的位置中输入:
mount -o remount.rw/
,完成后按键盘的回车键。
-
在新的一行最后面输入:
passwd
,完成后按键盘的回车键。输入密码,然后再次确认密码即可。
-
接着,在鼠标闪烁的位置中,输入
touch /.autorelabel
,完成后按键盘的回车键 -
继续在光标闪烁的位置中,输入
exec /sbin/init
,完成后按键盘的回车键,等待系统自动修改密码。完成后,系统会自动重启,新的密码生效了。
-
-
帮助指令
-
man
获得帮助信息基本语法:
man [命令或配置文件]
案例:查看
ls
命令的帮助信息:man ls
在
liunx
下,隐藏文件是以.
开头,选项可以组合使用。例如ls -al
、ls -al /root
-
help
指令基本语法:
help 命令
(功能描述:获得shell
内置命令的帮助信息) -
应用实例
案例:查看
cd
命令的信息help cd
。 -
百度帮助更直接:如果英语不太好的的,也可以直接百度靠谱
-
-
文件目录类
-
pwd
指令- 基本语法:
pwd
(功能描述:显示当前工作目录的绝对路径) - 应用实例:显示当前工作目录的绝对路径
pwd
- 基本语法:
-
ls
指令-
基本语法:
ls [选项]
(目录或是文件) -
常用选项:
-a
:显示当前目录所有的文件和目录,包括隐藏的-l
:以列表的方式显示信息
-
应用案例:查看当前目录的所有内容信息
pwd; ls [pwd出来的路径]
-
-
cd
指令-
基本语法:
cd [参数]
(功能描述:切换到指定目录) -
理解:绝对路径和相对路径
cd ~
或者cd
:回到自己的家目录cd..
回到当前目录的上一级目录 -
应用案例
- 使用绝对路径切换到
root
目录。cd /root
- 使用相对路径到
/root
目录,比如在/home/tom
。cd ../../root
- 表示回到当前目录的上一级目录。
cd ..
- 回到家目录。
cd ~
- 使用绝对路径切换到
-
-
mkdir
指令:mkdir
指令用户创建目录- 基本语法:
mkdir [选项]
。要创建的目录 - 常用选项:
-p
。创建多级目录 - 应用实例:
- 创建一个目录
/home/dog
。mkdir /home/dog
- 创建多级目录
/home/animal/tiger
。mkdir -p /home/animal/tiger
- 创建一个目录
- 基本语法:
-
rmdir
指令删除空目录-
基本语法:
rmdir [选项]
要删除的空目录 -
应用案例:
删除一个目录
/home/dog
。rmdir /home/dog
-
使用细节:
rmdir
删除的是空目录,如果目录下有内容时无法删除。提示:如果需要删除非空目录,需要使用
rm -rf 要删除的目录
。比如:rm -rf /home/animal
-
-
touch
指令-
touch
指令创建空文件 -
基本语法:
touch 文件名称
-
应用实例:在
/home
目录下,创建一个空文件hello.txt
cd /home; touch hello.txt;、
-
-
cp
指令-
cp
指令拷贝文件到指定目录
-
基本语法:
cp [选项] source dest
-
常用选项:
-r
递归复制整个文件夹 -
应用实例:
-
将
/hemo/hello.txt
拷贝到/home/bbb
目录下:cp hello.txt /home/bbb
-
递归复制整个文件夹,举例,比如将
/hemo/bbb
整个目录,拷贝到/opt
:cp -r /home/bbb /opt
-
-
使用细节:强制覆盖不提示的方式:
\cp
。\cp -r /home/bbb /opt
-
-
rm
指令-
说明:
rm
指令移除文件或目录 -
基本语法:
rm [选项] 要删除的文件或目录
-
常用选项
-r
:递归删除整个文件夹-f
:强制删除不提示 -
应用实例
- 将
/home/hello.txt
删除。rm /home/hello.txt
- 递归删除整个文件夹
/home/bbb
,rm -rf /home/bbb [删除整个文件夹,不提示]
- 将
-
使用细节:强制删除不提示的方法:带上
-f
参数即可
-
-
mv
指令: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
- 移动整个目录,比如将
/opt/bbb
移动到/home
下:mv /opt/bbb /home/
- 将
- 基本语法
-
cat
指令:查看文件内容-
基本语法:
cat [选项] 要查看的文件
-
常用选项:
-n
显示行号 -
应用实例:
/etc/profile
文件内容,并显示行号。cat -n /etc/profile
-
使用细节:
-
cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令
|more
cat -n /etc/profile | more
-
-
-
more
指令
more
指令是以基于VI
编辑器的文本过滤器,它以全屏幕的方式按也显示文本的内容。more
指令中内置了若干快捷键(交互的指令)。-
基本语法:
more 要查看的文件
。操作说明操作 功能说明 空白键(space) 代表向下翻一页 Enter 代表向下翻一行 q 代表立刻离开 more
,不再显示该文件Ctrl+F 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前的行号
-
-
less
指令
less
指令用来分屏查看文件内容,它的功能more
指令类似,但是比more
指令更加强大,支持各种显示终端。less
指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。-
基本语法:
less 要查看的文件
-
操作说明
操作 功能说明 空白键 向下翻动一页 pagedown 向下翻动一页 pageup 向上翻动一页 /字串 向下搜寻【字串】的功能。n向下查找。N向上查找 ?字串 向上搜寻【字串】的功能。n向上查找。N向下查找 q 离开 less
这个程序
-
-
echo
指令:输出内容到控制台- 基本语法:
echo [选项] [输出内容]
- 应用实例:
- 使用
echo
指令输出环境变量,比如输出$PATH
、$HOSTNAME
。echo $HOSTNAME
- 使用
echo
指令输出hello,word!
。echo hello,word!
- 使用
- 基本语法:
-
hend
指令:用户显示文件的开头部分内容,默认情况下head
指令显示文件的前10行内容- 基本语法:
head
文件(功能描述:查看文件头10行内容)head -n 5
文件(功能描述:查看文件头5行内容,5可以是任意行数)
- 应用实例:查看
/etc/profile
的前面5行代码。head -n -5 /etc/profile
- 基本语法:
-
tail
指令:用于输出文件中尾部的内容,默认情况下tail
指令显示文件的前10行内容-
基本语法:
tail 文件
(功能描述:查看文件尾10行内容)tail -n 5 文件
(功能描述:查看文件尾5行内容,5是可以任意行数)tail -f 文件
(功能描述:实时追踪该文档的所有更新)
-
应用实例:
-
查看
/etc/profile
最后5行的代码。tail -n 5 /etc/profile
-
实时监控
mydate.txt
,看看到文件有变化时,是否看到,实时的追加hello,word
tail -f /home/mydate.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 // 如果没有info.txt,则会创建
-
将当前日历信息,追加到
/home/mycal
中。cal >> /home/mycal
-
-
-
ln
指令:软链接也称为符号链接,类似于windows
里的快捷方式,主要存放了链接其他文件的路径-
基本语法:
ln -s [源文件或目录] [软链接名]
(功能描述:给原文件创建以软链接) -
应用实例
-
在
/home
目录下创建一个软链接myroot
,连接到/root
目录ln -s /root /home/myroot
-
删除软链接
myroot
。rm /home/myroot
-
-
细节说明:当我们使用
pwd
指令查看目录时,仍然看到的是软链接所在目录
-
-
history
指令:查看已经执行过历史命令,也可以执行历史指令- 基本语法:
history
(功能描述:查看已经执行过历史命令) - 应用实例:
- 显示所有的历史命令。
history
- 显示最近使用过的10个指令。
history 10
- 执行历史编号为5的指令。
!5
- 显示所有的历史命令。
- 基本语法:
-
-
时间日期类
-
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"
- 显示当前时间信息。
- 基本语法
-
date
指令:设置日期-
基本语法:
date -s 字符串时间
-
应用实例:设置当前时间,比如设置成
2020-11-03 20:02:10
。date -s "2020-11-03 20:02:10"
-
-
cal
指令:查看日历指令- 基本语法:
cal [选项]
(功能描述:不加选项,显示本月日历) - 应用实例
- 显示当前日历。
cal
- 显示2020年日历。
cal 2020
- 显示当前日历。
- 基本语法:
-
-
搜索查找类
-
find
指令:将从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端-
基本语法:
find [搜索范围] [选项]
-
选项说明
选项 功能 -name<查询方式>
按照指定的文件名查找模式查找文件 -user<用户名>
查找属于指定用户名所有文件 -size<文件大小>
按照指定的文件大小查找文件 -
应用案例:
-
按文件名:根据名称查找
/home
目录下的hello.txt
文件find /home -name hello.txt
-
按拥有着。查找
/opt
目录下,用户名称为nobody
的文件find /opt -user noboyd
-
查找整个
liunx
系统下大于200M
的文件(+n 大于 -n 小于 n 等于,单位有K,M,G)find / -size +200M
-
-
-
locate
指令
locate
指令可以快速定位文件路径。locate
指令利用事先建立的系统中所有文件名称及路径的locate
数据库实现快速定位给定的文件。Locate
指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate
时刻。-
基本语法:
locater 搜索文件
-
特别说明:
由于
locate
指令基于数据库进行查询,所以第一次运行前,必须使用updatedb
指令创建locate
数据库 -
应用实例:
请使用
locate
指令快速定位hello.txt
文件所在目录。locate hello.txt
which
指令,可以查看某个指令在哪个目录下,比如ls
指令在哪个目录。which ls
-
-
grep
指令和管道符号|
grep
过滤查找,管道符|
,表示将前一个命令的处理结果输出在传递后面的命令处理
-
基本语法:
grep [选项]
查找内容 源文件 -
常用选项
选项 功能 -n 显示匹配行及行号 -i 忽略字母大小写 -
应用实例:
请在
hello.txt
文件中,查找yes
,所在行,并且显示行号cat /home/helle.txt | grep "yes"; grep -n "yes" /home/hello.txt
-
-
-
压缩和解压类
-
gzip/gunzip
指令gzip
用于压缩文件,gunzip
用于解压的-
基本语法
gzip 文件
(功能描述:压缩文件,只能将文件压缩为*.gz
文件)gunzip 文件.gz
(功能描述:解压缩文件命令)
-
应用实例
-
gzip
压缩,将/home
下的hello.txt
文件进行压缩。gzip /home/hello.txt
-
gunzip
压缩,将/home
下的hello.txt.gz
文件进行解压缩。gunzip /home/hello.txt.gz
-
-
-
zip/unzip
指令zip
用于压缩文件,unzip
用于解压缩。这个在项目打包发布中很有用的。
-
基本语法:
zip [选项] XXX.zip 将要压缩的内容
(功能描述:压缩文件和目录的命令)unzip [选项] XXX.zip
(功能描述:解压缩文件)
-
zip
常用选项:-r
递归压缩,即压缩目录 -
unzip
的常用选项:-d <目录>
指定解压缩后文件的存放目录 -
应用案例
-
将
/home
下的所有文件/文件夹进行压缩myhome.zip
zip -r myhome.zip /home/ // 将home目录及其包含的文件和子文件夹都压缩
-
将
myhome.zip
解压到/opt/tmp
目录下mkdir /opt/tmp unzip -d /opt/tmp /home/myhome.zip
-
-
-
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
目录下mkdir /opt/tmp2; tar -zxvf /home/myhome.tar.gz -C /opt/tmp2
-
-
-