# 2. 实用指令
# 2.1 指定运行级别 —— init [012356]
问题:如何找回 root 密码?
- 进入到单用户模式(init 1)
- 修改 root 密码
# 2.2 帮助指令 —— man 命令
可以获得对某个指令的讲解。
# 2.3 help 指令
help —— 显示 shell 内建命令的简要帮助信息
help 命令 —— 显示命令的具体信息
# 2.4 文件目录类
# 2.4.1 显示当前工作目录的绝对路径 —— pwd
# 2.4.2 显示当前目录的信息 —— ls
-a:显示当前目录所有的文件和目录,包括隐藏的。
-l:以列表的方式显示信息。
例:查看当前目录的所有内容信息
# 2.4.3 切换目录 —— cd
cd ~:回到当前用户的家目录
cd ..:回到上级目录
cd [绝对路径] | [相对路径]:切换到指定路径
# 2.4.4 创建目录 —— mkdir
mkdir 目录 —— 创建单级目录
mkdir -p 目录 —— 创建多级目录
# 2.4.5 删除空目录 —— rmdir 目录
# 2.4.6 删除非空目录 —— rm -rf 目录
# 2.4.7 创建空文件 —— touch 文件名
# 2.4.7 拷贝文件 —— cp [选项] 原路径 目标路径
将当前目录下的 newFile.txt 文件拷贝到当前目录下的 newDir 目录下:
-r:递归复制整个文件
# 2.4.8 删除文件或目录 —— rm
- rm 文件名:删除文件
-r:递归删除整个文件夹
-f:强制删除不提示
# 2.4.9 移动文件与目录或重命名 —— mv
mv 旧文件名 新文件名 —— 重命名
mv 原路径 新路径
# 2.4.10 以只读模式查看文件 —— cat 文件名
- cat 文件名:查看文件内容
-n:显示行号
cat 文件名 | more:分页显示
# 2.4.11 more 指令
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式==按页==显示文本文件的内容。
# 2.4.12 less 指令
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
# 2.4.13 输出重定向(覆盖)—— >
ls -l > 文件名:列表的内容写入文件中,覆盖写
cat 文件1 > 文件2:将文件1的内容覆盖到文件2中
# 2.4.14 追加 —— >>
cat 文件1 >> 文件2:将文件1的内容追加在文件2后面
# 2.4.15 输出内容到控制台 —— echo
echo $PATH:输出当前环境变量
# 2.4.16 显示文件的开头部分内容 —— head
head 文件名:默认输出文件的前10行
head -n 行数 文件名:输出文件的头n行
# 2.4.17 显示文件的末尾部分内容 —— tail
tail 文件:默认查看文件后 10 行
tail -n 行数 文件:显示文件的后n行
tail -f 文件:实时追踪该文档的所有更新(重点)
# 2.4.18 创建软连接(类比快捷方式)—— ln -s 原文件或目录 软连接名
# 2.4.19 删除软连接 —— rm -rf 软连接名
不要写 rm-rf linkToRoot/
# 2.4.20 查看已经执行过历史命令或执行历史指令 —— history
history:查看已经执行过的历史指令
history 数字:显示最近使用过的 n 个指令。
!n:执行第 n 个历史指令
# 2.5 时间日期类
# 2.5.1 显示当前日期 —— date
- date:显示当前时间
- date "+%Y":显示当前年份
- date "+%m":显示当前月份
- date "+%d":显示当前是哪一天
- date "+ %Y-%m-%d %H%M%S":显示年月日时分秒
# 2.5.2 设置日期 —— date -s 时间
# 2.5.3 查看日历 —— cal
cal:查看本月日历
cal 年份:查看某一年的日历
# 2.6 搜索查找类
# 2.6.1 find 指令
- 作用:
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
语法:
find [搜索范围] [选项]
选项:
-name 文件名:按照文件名查找文件
-user 用户名:查找属于指定用户名所有文件
-size 文件大小:按照指定的文件大小查找文件
- +20M:大于20M
- -20M:小于20M
- 20M:等于20M
查找 /home/hedon 目录下文件名为 AAA.txt 的文件:
查找用户名为 user 的文件:
查找 /root 下大于1M的文件:
# 2.6.2 locate 指令
- 作用:
locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
语法:
- locate 搜索文件
注意点:
由于 locate 指令==基于数据库进行查询==,所以第一次运行前,必须使用
updatedb
指令创建 locate 数据库。
# 2.6.3 grep 指令和管道符号 |
- 作用:
grep 过滤查找 , 管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
- 语法:
- grep [选项] 查找内容 源文件
- 选项:
- -n:显示匹配行及行号
- -i:忽略字母大小写
# 2.7 压缩和解压类
# 2.7.1 压缩 为 *.gz 文件 —— gzip 文件名
压缩完后源文件就不见了。
# 2.7.2 解压 *.gz 文件 —— gunzip 文件.gz
# 2.7.3 压缩成 zip 文件 —— zip
- 语法:
- zip [选项] xxx.zip 将要压缩的文件
- 选项:
- -r:递归压缩,即压缩目录
# 2.7.4 解压 zip 文件 —— unzip [选项] *.zip
- 语法:
- unzip [选项] XXX.zip
- 选项:
- -d 目录:指定解压后文件的存放目录
# 2.7.5 打包成 .tar.gz 文件 —— tar
语法:
- tar [选项] XXX.tar.gz 打包的内容
- 选项:
- -c:产生 .tar 大包文件
- -v:显示详细信息
- -f:指定压缩后的文件名
- -z:打包同时压缩
- -x:解压 .tar 文件
压缩多个文件 —— tar -zcvf 要生成的压缩包的文件名.tar.gz 文件1 文件2
压缩文件夹 —— tar -zcvf 要生成的压缩包的文件名.tar.gz 文件夹
解压 —— tar -zxvf 要解压的压缩包.tar.gz 要解压到的目录