Day 5
前言
Linux运行级别以及各种实用指令
目录
一、指定运行级别
运行级别说明:
- 0:关机
- 1:单用户(找回丢失密码)
- 2:多用户状态没有网络服务
- 3:多用户状态有网络服务
- 4:系统未使用保留给用户
- 5:图形界面
- 6:系统重启
常用3和5
进入多用户状态有网络服务
要想切换回图形化界面——输入 init 5
在XShell里可以查看当前运行级别
systemctl get-default
切换到多用户有网络服务
systemctl set-default multi-user.target
如果重启,则直接进入到3的界面(多用户有网络服务)
可以节省资源
二、帮助指令
- man 获得帮助信息
查看ls命令的帮助信息
隐藏文件
按q退出 man ls界面
可以组合使用
可以显示home下的所有文件
- help指令
获得shell内置命令的帮助信息
三、文件目录指令
文件目录类
- pwd指令:显示当前工作目录的绝对路径(从根目录开始定位)
- ls指令:
1. -a 显示当前目录所有的文件和目录,包括隐藏的
2. -l 以列表的方式显示信息
- cd指令:切换到指定目录(绝对路径和相对路径)
[ cd~/cd: 回到自己的家目录 ]
[ cd..回到当前目录的上一级目录 ]
- mkdir指令:用于创建目录
-p:创建多级目录
创建一个目录:/home/dog
mkdir /home/dog
cd /home/
ls
创建多级目录:/home/animal/tiger
mkdir -p /home/animal/tiger
- rmdir指令:删除空目录 (如果要删除非空目录,需要使用 rm -rf 要删除的目录)
rmdir /home/dog
rm -rf /home/animal/
- touch指令:创建空文件
- cp指令:拷贝文件到指定目录
将hello.txt文件拷贝到bbb中
拷贝整个文件夹(将 home/bbb 整个文件夹拷贝到 /opt 文件夹下)
强制覆盖不提示的方法:\cp -r /home/bbb/opt
- rm指令:移除文件或目录
-r:递归删除整个文件夹
-f:强制删除不提示
- mv指令:移动文件与目录或重命名
将 /home/cat.txt 文件重新命名为 pig.txt
将 /home/pig.txt 文件移动到 /root目录下
移动并且重命名
mv pig.txt /root/cow.txt
移动整个目录
将 /opt/bbb 移动到 /home下
- cat指令:查看文件内容(更安全,只能查看不能修改)
-n:显示行号
查看 /etc/profile 文件内容,并显示行号
cat -n /etc/profile
cat -n /etc/profile |more [|more管道命令] ——进行交互,可以一行一行查看,按空格可以进行翻页
- more指令:一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more /etc/profile
more内置快捷键
- 空格键:代表向下翻一页;
- Enter:向下翻一行;
- q:立刻离开more,不显示文件内容;
- Ctrl+F:向下滚动一屏;
- Ctrl+B:返回上一屏;
- =:输出当前行的行号;
- 输出文件名和当前行的行号
- less指令:分屏查看文件内容,与more相似,但是比more更强大,支持各自显示终端
适合查看大型文件
- echo指令:输出内容到控制台
输出环境变量
输出内容
- head指令:用于显示文件的开头部分内容
查看 /etc/profile 的前5行代码 (默认显示前十行)
head -n 5 /etc/profile
- tail指令:输出文件中尾部的内容
- tail 文件:查看文件尾10行内容
- tail -n 5 文件:查看文件尾5行内容
- tail -f 文件:实时追踪该文档的所有更新 [ Ctrl + c 退出监控]
- >指令和>>指令
>输出重定向和>>追加
基本语法:
- ls -l > 文件 ——列表的内容写入文件中(覆盖)
- ls -al >> 文件 ——列表的内容追加到文件的末尾
- cat 文件1 > 文件2 ——将文件1的内容覆盖到文件2
- echo ''内容'' >> 文件 ——追加
例1:
将/home目录下的文件列表写入到/home/info.txt中,覆盖写入ls -l /home > /home/info.txt
##如果文件不存在会自动创建
例2:
将当前日历信息追加到 /home/mycal文件中
cal >> /home/mycal
- ln指令
软链接也称符号链接,主要存放了链接其他文件的路径
ln -s /root/ /home/myroot
删除软链接 myroot
指令:rm /home/myroot
- history指令:查看已经执行过历史命令,也可以执行历史指令
查看最近使用的10个命令
执行历史编号为5的指令 —— !5
四、时间日期指令
- date指令:显示当前日期(1)
基本语法:
- date —— 显示当前时间
- date + %Y —— 显示当前年份
- date + %m —— 显示当前月份
- date + %d —— 显示当前是哪一天
- date "+%Y-%m-%d %H:%M:%S" —— 显示年月日时分秒
显示年月日:
date "+%Y- %m- %d"
- date指令:设置日期(2)
date -s 字符串时间
- cal指令:查看日历指令
cal后面不加选项就是显示本月的日历
显示2022年日历
五、查找指令
- find指令:从指定目录向下递归地遍历各个子目录,将满足条件的文件或者目录显示在终端
基本语法;
find [ 搜索范围 ] [ 选项 ]
根据文件名查找 /home 目录下的 hello.txt 文件
find /home -name hello.txt
根据用户名查找
find /opt -user root
根据文件大小进行查找
find / -size +200M
- locate指令—— 快速定位文件路径
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
which指令—— 可以查看某个指令在哪个目录下
cd /run/media/root/CentOS\ 7\ x86_64/
- grep指令和管道符号 |
grep过滤查找,管道符 " | ",表示将前一个命令的处理结果输出传递给后面的命令处理
在hello.txt文件中,查找"yes"所在行,并显示行号
第二种写法:
grep -n "yes" /home/hello.txt
五、压缩和解压
- gzip(压缩)/ gunzip(解压)指令
gzip压缩,将/home下的hello.txt文件进行压缩
gzip /home/hello.txt
解压
gunzip hello.txt.gz
- zip(压缩文件和目录)/unzip(解压缩文件)指令
常用选项;
zip: -r 递归压缩,就是压缩目录
unzip: -d<目录> 指定解压后文件的存放目录(如果不写,就默认解压到当前目录)
将/home下的所有文件/文件夹压缩成 myhome.zip
zip -r myhome.zip /home/
将myhome.zip解压到/opt/tmp下
unzip -d/opt/tmp/home/myhome.zip
- tar指令:打包指令 —— tar.gz
既可以打包压缩文件,也可以打包文件夹
压缩多个文件,将/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 (-C指定解压目标目录)
总结
- 一共七种运行级别,常用3和5
- 帮助指令
- 文件目录指令(pwd、ls、cd、mkdir、rmdir、touch、cp、rm、mv、cat、more、less、echo、head、tail、>、>>、ln、history)
- 时间日期指令
- 搜索查找类指令
- 压缩解压指令