05 实用指令

5.1 指定运行级别

运行级别说明:

0:关机

1:单用户【找回丢失密码】

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

 

● 常用级别为:3和5

● 修改默认运行级别:

● /etc/inittab 中的 id:5:initdefault:更改数字

 

运行级别示意图:

05 实用指令

 

5.2 切换到指定运行级别的指令

● 基本语法:

init [0123456]

 

【案例】通过init来切换不同的运行级别,比如:5->3,然后关机

# init 3

# init 5

# init 0

 

5.3 帮助指令

● 基本语法:

man 【命令/配置文件】(功能:获取帮助信息)

 

【案例】查看ls命令的帮助信息

# man ls

 

5.3 help指令

基本语法:

help 命令 (功能:获得shell内置命令的帮助信息)

 

【案例】查看cd命令的帮助信息

# help cd

 

5.4 文件目录类

5.4.1 pwd指令

● 基本语法:

pwd (功能:显示当前工作目录的绝对路径)

 

5.4.2 ls指令

● 基本语法:

ls [选项] [目录/文件]

● 常用选项

-a :显示当前目录所有的文件和目录,包括隐藏的。

-b :以列表的方式显示信息

 

【案例】查看当前目录的所有内容信息

# ls

# ls -l

# ls -al

 

5.4.3 cd指令

● 基本语法:

cd [参数] (功能:切换到指定目录)

 

● 如何理解绝对路径和相对路径?

05 实用指令

【思考题】当前工作目录为/root,我们希望进入到/home下

● 绝对路径:/home  即从根目录开始定位

● 相对路径:../home 从当前工作目录开始定位到需要的目录去

 

● 常用参数:

# cd ~ / cd  回到自己的家目录

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

 

【案例1】使用绝对路径切换到root目录

# cd /root

【案例2】当前目录/usr/lib,使用相对路径到/root

# cd ../../root

【案例3】回到家目录

# cd

# cd ~

 

5.4.4 mkdir指令

mkdir是make directory的缩写,用于创建目录

● 基本语法:

mkdir [选项] 目录名

● 常用选项:

-p :创建多级目录

 

【案例1】创建一个目录 /home/dog

# mkdir /home/dog

【案例2】创建多级目录 /home/animal/tiger

# mkdir -p /home/animal/tiger

 

5.4.5 rmdir指令

rmdir 用于删除空目录

● 基本语法:

rmdir [选项] 空目录名

 

【案例】删除一个目录 /home/dog

# rmdir /home/dog

注意:

rmdir只能删除空目录

删除非空文件:

rm -rf 目录名

 

5.4.6 touch指令

touch指令用于创建空文件

● 基本语法:

touch 文件名 

 

【案例】创建一个空文件hello.txt

# touch hello.txt

 

5.4.7 cp指令

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

● 基本语法:

cp [选项] source dest

source:源目录

dest:目标目录

● 常用选项

-r :递归复制整个文件夹

 

【案例1】将 /home/aaa.txt 拷贝到 /home/bbb 目录下。

# touch aaa.txt

# mkdir bbb

# cp aaa.txt bbb/

【案例2】将 /home/test 整个目录拷贝到 /home/zwj 目录

# cp -r test/ zwj/

【案例3】强制覆盖不提示的方法:\cp

# \cp -r test/ zwj/

 

5.4.8 rm指令

● 基本语法:

rm [选项] 文件名/目录名

● 功能:

删除要文件或者目录

● 常用选项

-r :递归删除整个文件夹

-f :强制删除不提示

 

【案例1】将 /home/aaa.txt 删除

# rm aaa.txt

【案例2】递归删除整个文件夹 /home/bbb

# rm -rf bbb

 

5.4.9 mv指令

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

● 基本语法:

mv oldNameFile newNameFile      (功能:重命名)

mv /temp/movefile/tagerFolder    (功能:移动文件)

 

【案例1】将 /home/aaa.txt 文件重命名为 pig.txt

# cd /home

# mv aaa.txt pig.txt

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

# cd /home

# mv pig.txt /root/

 

5.4.10 cat指令

cat 查看文件内容,只读

● 基本语法

cat [选项] 要查看的文件

● 常用选项

-n:显示行号

 

【案例】/etc/profile 文件内容,并显示行号

# cat -n /etc/profile | more

注意:

cat 只能浏览文件,而不能修改文件,为了方便浏览。 管道命令 | more

 

5.4.11 more指令

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

● 基本语法

more 文件名

● 快捷键

浮点

操作 功能说明
空白键(sapce) 向下翻一页
Enter 向下翻一行
q 离开more
Ctrl + F 向下滚动一屏
Ctrl + B 返回上一屏
= 输出当前行的行号
f 输出文件名和当前文件的行号

【案例】采用more查看文件

# more /etc/profile

 

5.4.12 less指令

less指令用来分屏查看文件内容,它的功能与more类似,但是比more更加强大,支持各种终端。

● 基本语法

less 文件名

● 快捷键

操作 功能说明
空白键(sapce) 向下翻一页
[pagedown]  向下翻一行
[pageup] 向上翻一行
/字串 向下搜索[字串]功能:n-向下查找    N-向上查找
?字串 向上搜索[字串]功能:n-向上查找    N-向下查找
q 离开less程序

 

5.4.13 >指令 和 >>指令

>指令:会将原来的文件内容覆盖

>>指令:不会覆盖,而是追加到文件的尾部

 

【案例1】ls -l > 文件名

# ls -l > a.txt

# more a.txt

【案例2】ls -al >> 文件名

# ls -l >> b.txt

【案例3】cat 文件1 > 文件2

# cat /etc/profile > c.txt

 

5.4.14 echo指令

echo输出内容到控制台

● 基本语法

echo [选项] [输出内容]

 

【案例1】使用echo指令输出环境变量,输出当前的环境路径

# echo $PATH

【案例2】使用echo输出hello,world!

# echo "hello, world!"

 

5.4.15 head指令

head显示文件开头部分内容,默认显示前10行。

基本语法

head 文件名

head -n 5 文件名  (功能:查看文件前5行内容)

【案例】查看/etc/profile的前面5行代码

# head -n 5 /etc/profile

 

5.4.16 tail指令

tail输出文件尾部内容,默认输出后10行

● 基本语法

tail 文件

tail -n 5 文件

tail -f 文件     (功能:实时追踪该文档的所有更新,工作经常使用)

 

【案例1】查看 /etc/profile 最后5行的代码

# tail -n 5 /etc/profile

【案例2】实施监控mydate.txt ,看到文件有变化时,是否看到,实时的追加日期。

# tail -f mydate.txt

 

5.4.17 ln指令

ln 软连接指令也称符号连接,类似于windows里的快捷键,主要存放了连接其他文件的路径

● 基本语法

ln -s [源文件/目录] [软连接名]        (功能:给源文件创建一个软连接)

 

【案例1】在 /home 目录下创建一个软连接 linkToRoot,连接到 /root 目录

# ln -s /root linkToRoot

【案例2】删除软连接 linkToRoot

# rm -rf linkToRoot

注意:

删除软连接文件时,不要带“ / ”,否则提示,资源忙。

使用 pwd 指令查看目录时,看到的仍然时软连接所在目录。

 

5.4.18 history指令

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

● 基本语法

history  

 

【案例1】显示所有的历史命令

# history

【案例2】显示最近使用过的10个指令

# history 10

 

5.5 时间日期类

5.5.1 date指令 - 显示日期

date指令用于显示当前时间

● 基本语法

date                (功能:显示当前时间)

date +%Y       (功能:显示当前年份)

date +%m      (功能:显示当前月份)

date +%d        (功能:显示当前时哪一天)

date "+%Y-%m-%d%H:%M:%S"        (功能:显示年月日时分秒)

 

【案例1】显示当前时间

# date

【案例2】显示当前年月日

# date "+%Y  %m  %d"

# date "+%Y-%m-%d"

【案例3】显示当前年月日时分秒

# date "+%Y-%m-%d%H:%M:%S" 

 

5.5.2 date指令 - 设置日期

● 基本语法

date -s 字符时间

【案例】将当前的系统时间设置为:2018-10-10 11:22:22

# date -s "2018-10-10 11:22:22"

 

5.5.3 cal指令

查看日历指令

基本语法

cal [选项]      (功能:不加选项,显示本月日历)

【案例1】显示当前日历

# cal

【案例2】显示2021年日历

# cal 2021

 

5.6 搜索查找类

5.6.1 find指令

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

● 基本语法

find [搜索范围] [选项]

● 选项

选项 功能
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件

 

【案例1】按文件名:根据名称查找 /home 目录下的 hello.txt 目录文件

# find /home -name hello.txt

05 实用指令

【案例2】按拥有者:查找 /opt 目录下,用户名称为 nobody 的文件

# find /opt -user nobody

【案例3】查找整个linux系统大于20m的文件(+n 大于     -n 小于     n 等于)

# find / -size +20M

【案例4】查询 / 目录下,所有的 .txt 文件

# find / -name *.txt

 

5.6.2 locate指令

● locate 指令的特点

1)可以快速定位文件路径。

2)利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。

3)无需遍历整个文件系统,查询速度较快。为了保证查询查询结果的准确度,管理员必须定期更新 locate 时刻。

● 基本语法

locate 搜索文件

● 特别说明

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

 

【案例】使用 locate 指令快速定位 hello.txt 文件所在目录

05 实用指令

 

5.6.3 grep指令 和 管道符号

grep 过滤查找,  |    管道符      表示将前一个命令的处理结果传递给后面的命令处理

● 基本语法

grep [选项] 查找内容 源文件

● 常用选项

-n      显示匹配行及行号

-i       忽略字母大小写

 

【案例】请在 hello.txt 文件中,查找 "yes" 所在行,并显示行号

05 实用指令

 

5.7 压缩和解压类

5.7.1 gzip / gunzip 指令

gzip 用于压缩文件

gunzip  用于解压文件

● 基本语法

gzip 文件              (功能:压缩文件,只能将文件压缩为*.gz)

gunzip 文件.zip

 

【案例】将 /home 下的 hello.txt 文件进行压缩

# gzip hello.txt

【案例2】将 /home 下的 hello.txt.gz 文件进行压缩

# gunzip hello.txt.gz

注意:

使用gzip压缩后,不保留源文件。

 

5.7.2 zip/unzip 指令

zip 用于压缩文件               

unzip 用于解压文件

● 基本语法

zip [选项] XXX.zip 压缩内容     (功能:压缩文件和目录的命令)

unzip [选项] XXX.zip                (功能:解压缩文件)

● zip常用选项

-r :递归压缩,即压缩目录

● unzip常用目录

-d<目录> : 指定解压后文件的存放目录

 

【案例1】将 /home 下的所有文件进行压缩 mypackage.zip

# zip -r mypackage.zip /home/

【案例2】将 mypackage.zip 解压到 /opt/tmp 目录下

# unzip -d /opt/tmp/ mypackage.zip

 

5.7.2 tar指令

tar 打包指令,最后打包的文件是 .tar.gz 的文件。

● 基本语法

tar [选项] XXX.tar.gz 打包内容   

选项说明:

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

【案例1】压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz

05 实用指令

【案例2】将 /home 的文件夹,压缩成 myhome.tar.gz

# tar -zcvf myhome.tar.gz /home/

【案例3】将 a.tar.gz 解压到当前目录

# tar -zxvf a.tar.gz

【案例4】将 myhome.tar.gz 解压到 /opt/ 目录下   

# tar -zxvf myhome.tar.gz -C /opt/

 

上一篇:价值十万代码之三-获取全部历史数据


下一篇:Redis分布式事务锁之核心代码