1、运行级别
运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,也可以指定默认运行级别。
命令:
init [0123456] 通过init 来切换不同的运行级别。
systemctl get-default 获取当前运行级别
multi-user.target: analogous to runlevel 3 即 运行模式3
graphical.target: analogous to runlevel 5 即 运行模式5
systemctl set-default TARGET.target 设置默认运行级别
如 systemctl set-default multi-user.target 设置默认运行级别为3
工作中通常使用 运行级别3
2、找回root密码
通过进入单用户模式来修改密码。在单用户模式下,root用户可以无需密码登录并修改密码。
具体步骤是,在开机时进入引导界面后,
1、输入 “e” 进入编辑模式,然后找到以“linux16”开头的行,在其末尾UTF-8后
添加 init=/bin/bash ,然后按下 Ctrl + X 来启动单用户模式。
2、接着,重启后进入单用户模式,在光标闪烁的位置中输入:mount -o remount,rw /(注意:各个单词间有空格)
3、接着输入 “passwd ” 命令来修改root密码。输入两次即可。
4、修改完成后接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel (注意:touch与/后面有一个空格)
5、继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与/后面有一个空格), 回车。
这个过程时间可能有点长,耐心等待,完成后,系统会自动重启,新的密码就生效了。
3、帮助指令
man [命令或配置文件] 获取帮助信息
help 命令 获得shell内置命令的帮助信息
linux里,隐藏文件是以 . 开头,选项可以组合使用 比如ls -al ,如 Is -al /root
4、文件目录相关指令
part 1
- pwd 显示当前工作目录的 绝对路径(从根目录到当前目录的路径)。
- Is [选项][目录或是文件] 即list缩写,显示当前目录
ls -a 显示当前目录所有的文件和目录,包括隐藏的。
ls -l 或者 ll 以列表的方式显示信息
- cd [参数] 切换到指定目录
cd ~ 或者 cd 回到自己的家目录,
cd .. 回到当前目录的上一级目录
如要使用相对路径 (当前目录到指定目录的路径)到/root目录,
比如当前在/home/tom,则: cd ../../root
part 2
- mkdir 用于创建目录
mkdir -p 创建多级目录 如mkdir -p /animal/cat
- rmdir 删除空目录,有内容时无法使用。
rm -rf 删除非空目录!!! (小心使用该指令)如rm -rf /animal
- touch 创建空文件 如 touch hello.txt
part 3
- cp 拷贝 复制 指令
cp [选项] source(所拷贝的文件) dest(拷贝到位置)
cp -r source dest 递归复制整个文件 到另一个位置 如 cp -r /test/aaa/ /opt/
\cp 强制覆盖不提示的方法,多文件重复时覆盖可以使用。\cp -r /test/aaa/ /opt/
- rm 删除文件或目录
rm -r 递归删除整个文件夹 也常 rm -rf 强制删除文件夹不提示(小心使用该指令)
rm -f 强制删除不提示
part 4
- mv 移动文件与目录 或 重命名
mv oldNameFile newNameFile(功能描述:重命名)
mv /temp/movefile /targetFolder(功能描述:移动文件)
- cat 查看文件内容
cat -n 查看文件内容,显示行号
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会后面带上
管道命令 | more 。 此时回车 向下翻一行,翻页 按空格 如 cat -n /etc/profile | more
- more 以全屏的万式按页显示文本文件的内容
more /etc/profile
more指令是一个基于u编辑器的文本过滤器,它以全屏的万式按页显示文本文件的内容。 more指令中内置了若干快捷键(交互的指令)。
part 5
- less 分屏查看文件内容
less指用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支 持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而 是根据显示需要加载内容(类似动态加载),对于显示大型文件具有较高的效率。
- echo 输出内容到控制台
如输出环境变量 echo $PATH 如输出 主机名 echo $HOSTNAME
如输出 字符串 echo "hello,linux"
- head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行
head 文件 查看文件前10行内容
head -n 5 文件 查看文件前5行内容 , 5可以换成任意行数 如 head -n 12 /etc/profile
- tail 用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
tail 文件 查看文件尾10行的内容
tail -n 5 文件 查看文件尾5行的内容,5可以换成任意行数
tail -f 文件 实时追踪该文档的所有更新。(?工作常用?) ctrl+c 退出
part 6
- > 指令 和 >> 指令
> 指令 输出重定向,覆盖写
>> 指令 追加写入内容,
如:
Is -l > 文件 列表的内容写入文件a.txt中(覆盖写)
ls -al >文件 列表的内容追加到文件aa.txt的末尾
cat 文件1 > 文件2 将文件1的内容覆盖到文件2
echo"内容" >> 文件 追加内容到文件末尾中
part 7
- ln 软连接 也叫符号连接类似 Windows系统的快捷方式
In -s [原文件或目录] [软链接名] 给原文件创建一个软链接
比如 ln -s /usr/java/jdk1.8.0_45_20150317 /usr/java/jdk
rm [软链接名] 删除软连接 如 rm /home/myroot
- history 查看已经执行过历史命令,也可以执行历史指令
history 10 查看最近已经执行过的10条命令
history后 可 输入 !201 执行201行历史指令
上↑ 键 下键↓ 可以直接 调出历史指令。
5、时间日期
date 显示当前日期
date +%Y 显示当前年份
date +%m 显示当前月份
date +%d 显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒
date -s 字符串时间 设置系统当前的时间。 如date -s "2021-6-23 20:23:10"
cal 查看日历指令
6、搜索查找
- find 指定目录向下递归遍历各个子目录,将满足条件的文件或目录显示在终端。
find [搜索范围] [选项] 要查找的内容
例如:
find /animal -name hello.txt 根据名称查找/animal 目录下的hello.txt文件
find /opt -user 7mg 查找/opt目录下,用户名称为 7mg的文件
find / -size +200M 查找整个linux系统下大于200M的文件(+n大于 -n小于 n等于; 单位有k,M,G)
- locate 搜素文件 快速定位文件路径。
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate数据库。
- which 可以查看某个指令在哪个目录下, 如 which Is which pwd
- grep指令 和 管道符号 |
grep过滤查找 管道符 | 表示将前一个命令的处理结果输出传递给后面的命令处理
一般都是组合使用过滤查找 如 cat /home/hello.txt | grep "yes"
grep -n 显示匹配行及行号
grep -i 忽略字母大小写
也可以这样使用 grep -n "yes" /home/hello.txt
7、压缩和解压
- gzip /gunzip 压缩 / 解压
gzip 文件 压缩文件,只能将文件压缩为*.gz文件
gunzip 文件.gz 解压缩文件命令
- zip / unzip 压缩 / 解压 项目打包发布中很有用 压缩文件和目录
zip -r 该压缩文件名.zip 将要压缩的内容 递归压缩,压缩目录
如:zip -r mytext.zip /animal/ [将animal目录及其包含的文件和子文件夹都压缩]
unzip -d 要解压的位置 该解压文件名.zip 指定文件解压后的存放目录
- tar 打包指令 打包后的文件是 .tar.gz的文件。
tar [选项] 该打包文件名.tar.gz 打包的内容
如 tar -zcvf 7mg.tar.gz /animal/aaa /animal/bbb 打包
tar -zxvf 7mg.tar.gz 解包
tar -zxvf friend.tar.gz -C /animal/dog/ 将friend.tar.gz解压到 /animal/dog/ 目录下。