实用指令

实用指令

1 指定运行级别

运行级别说明:

0:关机

1:单用户[找回丢失密码]

2:多用户状态[无网络服务]

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

4:保留级别

5:图形界面

6:系统重启

2 修改默认运行级别

修改:/etc/inittabid:5:initdefault:

vim /etc/inittab


#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 

修改最后一行:修改默认级别
id:5:initdefault:  默认为第5级别

3 切换运行级别

3.1 基本指令

init [012356]
测试:
1.从图形化切到级别3
2.再切回图形化
3.切换到关机级别

3.2 面试题

​ 如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。

​ 思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。

动手:
开机->在引导时输入 回车键-> 看到一个界面输入 e ->  看到一个新的界面,选中第二行(编辑内核)在输入  e->  在这行最后输入1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用 passwd  指令来修改 root  密码。
练习:
1.假设我们的 root 密码忘记了,请问如何找回密码
2.请设置我们的 运行级别,linux 运行后,直接进入到 命令行界面,即进入到 3 运行级别

在进入界面后,当进度条刚完成的时候按enter



4 帮助指令

man 指令及配置文件
help shell内置指令
指令 --help
百度
ls --help
man ls

5 文件目录指令

5.1 pwd指令

pwd		显示当前所在的目录

5.2 ls指令(查看)

ls [选项] [目录或文件]		查看文件信息
ls -a 					查看所有文件和目录,包括隐藏的
ls -l   					以列表的方式显示
ls -l 相当于 ll

5.3 cd指令

cd 路径
cd ~:	回到家目录
cd ..:  回到上一级目录
练习:
1.使用绝对路径,切换到root目录
2.使用相对路径,切换到root目录,比如当前在/usr/lib
3.回到上一级目录
4.回到家目录

5.4 mkdir指令

mkdir [选项] 路径		创建文件夹
mkdir -p 路径			 创建多级文件夹
mkdir test
mkdir test test1
mkdir -p test2/test

5.5 rmdir指令

rmdir [选项] 路径		删除空文件夹
rmdir -p 路径			 递归删除空文件夹

文件夹下有内容,则无法删除

5.6 touch 指令

创建文件

touch 文件路径

可以一次创建多个文件
touch 文件路径1 文件路径2

5.7 cp指令

拷贝文件到目标路径

5.7.1 基本语法

cp [选项] 源路径 目标路径

cp 源路径 目标路径  			拷贝单个文件
cp -r 源路径 目标路径			拷贝文件夹
小练习:
1./home下创建test1文件夹
2.test1文件夹中创建a.txt,b.txt,c.txt三个文件
3.把test1中的a.txt复制到/home下
4.新建一个文件夹test2
5.拷贝整个test1到test2下

拷贝到文件夹下并修改文件名

cp a.c /test/b.c

5.7.1 补充

当拷贝时发现相同文件,会提示[是否覆盖?]

\cp [选项] 源路径 目标路径		取消提示,强制复制

5.8 rm指令

删除目录或者文件

5.8.1基本语法

rm [选项] 目标路径

rm 文件路径			删除文件
rm -r 文件夹路径		删除文件夹
rm -f xxxx			强制删除不提示
小练习:
1.删除test1中的a.txt文件
2.删除test2整个文件夹

5.9 mv指令

移动文件或重命名

5.1 基本语法

mv 源路径 目标路径
小练习:
1.修改test1中的a.txt 为 d.txt
2.把test1中的c.txt 移动 到/home下

5.10 cat指令

显示文件内容

5.10.1 基本语法

cat [选项] 文件路径

cat 文件路径		显示文件内容
cat -n 文件路径		显示文件内容,并显示行号
小练习:
1.用cat显示/etc/profile 的内容,并显示行号

5.10.2 补充说明

正常情况为了方便阅读,我们会在cat指令最后加上管道符"
|",把内容传给more,分页显示

如:

cat -n /etc/profile | more

5.11 more指令

more指令是基于vi编辑器的文本过滤器,以全屏的方式按页显示文本内容

more指令中内置了很多快捷键,用起来很方便

5.11.1 基本语法

more 文件路径

5.11.2 快捷键

空格			向下翻一页
Enter		 向下翻一行
q			 立即离开
Ctrl+F		 向下滚动一屏
Ctrl+B		 向上滚动一屏
=			 显示当前行号
:f			 输出文件名和当前行号


查找
cat 文件 | more
: /查找

cat -n /etc/profile | gerp '内容

5.12 less指令

比more更加强大,功能比more更过,这里只介绍部分

5.12.1 基本语法

less 文件路径

5.12.2 快捷键

空格				向下翻一页
pagedown		  向下翻一页
pageup			  向上翻一页
/字符串		    向下查找[字符串],n下一个,N上一个
?字符串			向上查找[字符串],n下一个,N上一个
q				  离开less

5.13 >指令/>>指令

重定向

指令--路径

指令运行的结果输入到路径中

5.13.1 基本说明

把前方语句的结果存进文件,若文件不存在会自动创建

>:输出重定向			会覆盖原来文件内容(类似w)
>>:追加重定向		追加到文件末尾(类似a)

5.13.2 示例

1.a.txt里写上任意内容
2.把ll 查找的结果,用输出重定向写进a.txt
ll /root > /home/a.txt中
ll /root 执行的命令输入到a.txt
3.b.txt里写上任意内容
4.把ll 查找的结果,用追加重定向写进b.txt
ll /root >> /home/b.txt中
小练习:
1.把/etc/profile 的内容 写进 /home/c.txt中
cat /etc/profile > /home/c.txt

5.14 echo指令

把内容输出到控制台

如下:
echo "我是杨家三少"
echo $PATH  变量

小练习:
1.用echo输出'hello world'
echo 'hello world'

5.15 head指令

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

默认显示前10行

5.15.1 基本语法

head 文件路径			查看文件前10行
head -n 5 文件路径		查看文件前5行
小练习:
1.查看/etc/profile 的前5行内容
head -n 5 /etc/profile

5.15 tail指令

tail
用于显示文件的结尾部分内容,默认情况下tail指令显示文件的后10行内容

5.15.1 基本语法

tail 文件路径			查看文件前10行
tail -n 5 文件路径		查看文件前5行
tail -f 文件路径		实时追踪文件所有的更新-----经常使用(监听)

小练习:
1.查看/etc/profile 的后5行内容
2.实时追踪/home/myinfo.txt,在虚拟机上更新myinfo.txt,看xshell的效果

5.16 ln指令

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

ln -s 源文件或源文件夹 软连接名
测试:
1. 在/home目录下创建/root的软链接,名字为linktoroot
ln -s /root /home/lonktoroot
2. cd 到软链接,然后pwd,查看当前路径
3. 创建一个a.txt的文件
4. cd 到 /root目录,查看是否有变化
5. 删除/home下的linktoroot

硬链接

只能为文件创建硬链接,文件夹不行

ln a.txt linkout

5.17 history指令

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

history 		查看所有的历史指令
history 10		查看最近执行的10条指令
!100			执行编号为100的指令

所以,在公司,指令不要瞎逼乱输

6 时间日期类

6.1 date 指令

6.1.1 基本语法

date 			显示当前日期
ps:2020年 01月 09日 星期四 15:50:45 CST
date +%Y		显示当前年份
ps:2020
date +%m		显示当前月份
ps:01
date +%d		显示当前天
ps:09
date '+%Y-%m-%d %H:%M:%S'
ps:2020-01-09 15:53:16
小练习:
1.显示当前时间信息
2.显示当前时间年月日
3.显示当前时间年月日时分秒

6.2 cal指令

查看日历

cal 		显示当前日历
cal 2020 	显示2020年的日历
cal 10 2021  显示2021年10月

6.3 find指令

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

find [范围] [选项]
范围:指路径,不写默认从当前向下找,类似于windows的查找

选项:
-name 文件名		按文件名查找
-user 用户名		查找属于该用户的所有文件
-size 			  按文件大小查找
	+20M		  大于20M
	-20M		  小于20M
	20M			  等于20M
	20K
	b
	bit
	等
	

可以使用通配符

find /home -name '*.c' 
find /home -name 'C*'
find /home --cname '^c' 递归查找
find /home -user root 查询用户的所有文件
find /home -size +20M

小练习:
1.根据名称查找/home 目录下的 a.txt 文件
	find /home -name a.txt
2.查找/opt 目录下,用户名称为 lxx 的文件
	find /opt -user lxx
3.查找整个 linux 系统下大于 20M 的文件
	find / -size +20M
4.查询/ 目录下,所有.txt 的文件
	find / -name '*.txt'
5.查询/目录下所有属于lxx用户的.txt文件
	find / -user lxx -name '*.txt'

6.4 grep 指令 和 管道符号 |

使用> 指令|指令 > 把前面指令的打印结果交给后面指令执行

管道符:"|",表示将前一个命令的处理结果输出传递给后面的命令处理

grep:过滤查找

grep [选项] 过滤内容

选项:
-n		显示匹配行及行号
-i		忽略字母大小写
首先需要将文本的内容拿出 cat 文件
cat a.txt | grep 'yes'
cat a.txt | grep -n 'yes'
cat a.txt | grep -n -i 'yes'
例子:
1.创建文件,写上多行,包含'yes'和'YES'
2.查找'yes'所在行,并显示行号
3.忽略大小写,查找'yes'所在行

7 压缩和解压类

7.1 gzip/gunzip 指令

用于压缩和解压文件

gzip 文件路径
gunzip gz文件路径   解压

说明:使用gzip压缩文件之后,不会保留原来的文件,解压后,压缩包不会保留

特点只能压缩文件

例子:
1.将 /home 下的 1.txt 文件使用gzip压缩
	gzip /home/1.txt
2.将 /home 下的 1.txt.gz 文件使用gunzip解压
	gzip /home/1.txt.gz

7.2 zip/unzip 指令

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

执行如果没有进行下载:

​ 下载安装

yum install zip yun install unzip

文件
zip xxx.zip a.txt
unzip xxx.zip
文件夹
zip [选项] xxx.zip 被压缩内容			压缩文件或者目录
	-r 								压缩目录


zip -r my.zip 文件   如果不加-r 递归压缩,就会只压缩空文件

unzip [选项] xxx.zip  			    解压文件	
	-d 目录							指定压缩后的存放目录

unzip -d /home xxx.zip




例子:
1.将 /home 下的 所有文件进行压缩成 
	zip -r mypackage.zip /home
2.讲mypackge.zip解压到/opt/tmp下
	unzip -d /home mypackage.zip

7.3 tar指令

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

压缩:
tar -zcvf xx.tar.gz  被压缩内容			 		   压缩
tar -zxvf xx.tar.gz	 -C 目标路径					解压

z:使用gzip格式压缩
c:创建压缩包
x:解压
f:显示压缩解压过程

例子:
1.压缩多个文件,将  /home/a1.txt 和  /home/a2.txt 压缩成	a.tar.gz
	tar -zcvf a.tar.gz /home/a1.txt /home/a2.txt
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 -zxcf myhome.tar.gz -C /opt/

posted @ 2020-01-09 15:13  豆瓣酱瓣豆  阅读(215)  评论(0编辑  收藏  举报