0%

【Linux】实用指令

Linux的实用指令


1 运行级别

1.1 级别介绍

级别 说明
0 关机 poweroff.target
1 单用户(找回丢失密码)rescue.target
2 多用户无网络服务
3 多用户有网络服务(常用) multi-user.target
4 保留,暂无功能
5 图形界面(常用) graphical.target
6 重启 reboot.target
  • 运行级别配置文件:/etc/inittab(旧版本)
  • 运行级别配置文件:/lib/systemd/system目录下的xxx.target文件(CentOS7以上)

1.2 指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 切换运行级别(旧版本)
init [0123456]

-------------------------------------------------
# CentOS7以上
# 获取当前运行级别
systemctl get-default


# 设置默认运行级别
systemctl set-default xxx.target


# 切换运行级别
systemctl isolate runlevel[0123456].target # 用数字表示运行级别
systemctl isolate xxx.target # 对应运行级别的名称

1.3 面试题

  • (1)找回root密码【CentOS5】
  • 思路:切换运行模式到单用户模式,然后修改root密码,因为单用户模式下,root账号不需密码即可登录
  • 1、开机界面按下enter,进入编辑模式
  • 2、切换行至kernel / vmlinuz,按下e
  • 3、输入 1,来切换到单用户模式,enter返回编辑模式
  • 4、按b继续开机
  • 5、默认以root账号进入,通过passwwd root进行密码修改
  • 6、切换回运行等级5,图形界面

2 帮助指令

2.1 介绍

  • Linux提供帮助指令,用来让我们了解我们不熟悉的指令

2.2 指令

1
2
3
4
5
6
# 获取帮助信息
man 命令/配置文件


# 获取指令信息
help 指令

3 目录指令

3.1 当前工作路径

1
2
# 显示当前工作目录绝对路径
pwd

3.2 查看目录信息

1
2
3
4
5
# 查看信息
ls [选项] [目录/文件]

ls -a #显示当前目录所有文件与目录,包含隐藏的
ls -l #以列表的形式显示信息

3.3 切换目录

1
2
3
4
5
# 切换目录
cd [目录路径]

cd ~ #返回家目录
cd .. #返回上级目录

3.4 创建目录

1
2
3
4
# 创建目录
mkdir [选项] 目录名

mkdir -p 多级目录名 #创建多级目录

3.5 删除目录

1
2
# 删除目录
rmdir [选项] 空目录名 # 只能删除空目录

4 文件指令

4.1 创建文件

1
2
3
# 创建文件
touch 文件名
touch 文件名1 文件名2 #支持一次创建多个文件

4.2 复制文件

1
2
3
4
5
# 复制文件
cp [选项] 被复制文件/文件夹 复制的路径

cp -r 被复制文件夹 复制路径 # 复制文件夹及其文件夹下所有文件
\cp ...... # 复制文件夹时,自动覆盖同名文件,不再提示请求【CentOS7以下】

4.3 删除文件

1
2
3
4
5
# 删除文件
rm [选项] 文件/目录

rm -r 目录 #递归删除目录
rm -f 文件/目录 #强制删除不提示

4.4 移动文件(重命名)

1
2
3
4
5
6
# 重命名
mv 旧文件名 新文件名 # 相当于原地剪切复制,并重新命名


# 移动文件
mv 文件路径 目的路径

4.5 查看文件

1
2
3
4
5
6
7
# 查看文件(无法修改)
cat [选项] 文件名
more 文件名 #一次性加载所有内容
less 文件名 #根据内容加载文件,非一次性加载

cat -n 文件名 #显示行号形式查看文件
cat 文件名 | more #分页查看文件
more操作指令 功能说明
空白键(space) 翻下一页
Enter 向下一行
q 退出浏览
Ctrl + F 向下滚动一屏
Ctrl + B 返回上一屏
= 输出当前行号
:f 输出文件名和当前行号
less操作指令 功能说明
空白键 向下翻一页
pagedown 向下翻一页
pageup 向上翻一页
/关键字 向下搜索
?关键字 向上搜索
q 退出

4.6 查看文件开头

1
2
3
4
# 查看文件开头
head [选项] 文件 #默认查看前10行

head -n 5 文件 #查看开头前5行,类推

4.7 查看文件结尾

1
2
3
4
5
# 查看文件尾部
tail [选项] 文件 #默认后10行

tail -n 5 文件 #查看后5行,类推
tail -f 文件 #实时监控内容(常用)

4.8 输出重定向 和 追加

1
2
3
4
5
6
# >输出重定向(覆盖内容)
内容 > 文件

ls -l > 文件 #将列表内容写入到文件中,覆盖内容
cat 文件1 > 文件2 #将文件1的内容覆盖到文件2上
echo "内容" > 文件 #将自定义内容覆盖到文件上
1
2
# 追加(文末追加内容,使用方法和>一样)
内容 >> 文件

4.9 输出信息至控制台

1
2
# 输出内容至控制台
echo [选项] [内容]

4.10 软链接(符号链接)

  • 软连接类似windows的快捷方式
1
2
3
4
5
6
# 创建软链接
ln -s 源文件/目录 软连接名


# 删除软链接
rm -rf 软连接

5 历史指令

1
2
3
4
5
6
# 查看历史指令
history #显示所有已使用指令

history 10 #显示最近10条已使用指令,类推

!5 #执行历史编号为5的指令

6 时间日期

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 显示日期
date #显示当前时间

date +%Y #显示当前年份

date +%m #显示当前月份

date +%d #显示当前日份

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

date -s 时间字符串 #修改系统时间,例:2021-4-15 12:00:00

cal #显示日历时间

7 搜索查找

7.1 find指令

  • find指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或目录限制在终端
1
2
3
4
5
6
7
8
# 查找
find 查找范围 查找方式 参数

find 范围 -name 文件 #通过文件名,查找文件路径,允许使用*通配符

find 范围 -user 用户名 #通过用户名,查询该用户的所有文件路径

find 范围 -size +文件大小 #查找大于指定大小的文件路径,大于+,小于-,等于无符号

7.2 locate指令

  • locate可以快速定位文件路径。locate利用实现建立的系统中所有文件名称及路径的locate数据库实现快速定位指定文件。查询速度快,但需定期更新locate时刻
1
2
3
4
5
6
# 创建/更新locate数据库
updatedb


# 查找文件
locate 文件名

7.3 grep指令 和 管道符号|

  • grep过滤查找,管道符“|”,表示将前一个命令处理的结果传递给后面的命令处理
1
2
3
4
5
6
7
8
9
10
11
# 基本语法
grep [选项] 查找内容 源文件
cat 源文件 | grep 查找内容


# 显示匹配行及行号
grep -n 查找内容 源文件


# 忽略大小写
grep -i 查找内容 源文件

8 压缩和解压

8.1 gzip/gunzip指令

1
2
3
4
5
6
# 压缩文件
gzip 文件名 #只能压缩为*.gz,并压缩完会删除原文件


# 解压文件
gunzip 压缩文件 #解压会删除压缩文件

8.2 zip/unzip指令

1
2
3
4
5
6
7
8
9
10
# 压缩文件
zip [选项] xxx.zip 压缩内容

zip -r ..... #递归压缩,用于压缩目录


# 解压文件
upzip [选项] xxx.zip

upzip -d 解压路径 .... #指定解压路径

8.3 tar指令

  • tar指令为打包指令,最后打包后的文件是.tar.gz文件
1
2
3
4
5
6
# 压缩文件
tar [选项] xxx.tar.gz 压缩内容(可以多个,空格隔开)


# 解压文件
tar [选项] xxx.tar.gz [-C 解压路径]
选项 说明
-c 打包文件
-x 解压文件
-z 打包内容给gzip压缩,即具有.gz属性
-f 指定压缩/解压文件名
-v 压缩/解压显示详细信息