目录
[1.pwd 指令](#1.pwd 指令)
[4.mkdir 指令](#4.mkdir 指令)
[7.cp 指令](#7.cp 指令)
[8.rm 指令](#8.rm 指令)
[10.cat 指令](#10.cat 指令)
[11.more 指令](#11.more 指令)
[12.less 指令](#12.less 指令)
[13.echo 指令](#13.echo 指令)
[14.head 指令](#14.head 指令)
[15.tail 指令](#15.tail 指令)
[16. > 指令和 >> 指令](#16. > 指令和 >> 指令)
[17.ln 指令](#17.ln 指令)
[18.history 指令](#18.history 指令)
一、帮助指令
1.man获取帮助信息
man 命令或配置文件 //获取帮助信息
显示说明
|-------------|--------------|
| 信息 | 功能 |
| NAME | 命令的名称和单行描述 |
| SYNOPSIS | 怎样使用命令 |
| DESCRIPTION | 命令功能的深入讨论 |
| EXAMPLES | 怎样使用命令的例子 |
| SEE ALSO | 相关主题(通常是手册页) |
外部命令的另一种查询方法 : ls --help
举个例子:
(1)使用man查看shell内置
man -f cd
(2)man也可以自查
man man
2.help指令
help 命令 //获得shell内置命令的帮助信息
一部分基础功能的系统命令是直接内嵌在 shell 中的,系统加载启动之后会随着 shell 一起加载,常驻系统内存中。这部分命令被称为"内置(built-in)命令";相应的其它命令被称为"外部命令"。
type 命令 可以查询该命令是否为shell内置命令。
举个例子:
help cd
3.常用快捷键
常用快捷键
|----------|--------------------------|
| 常用快捷键 | 功能 |
| ctrl + c | 停止进程 |
| ctrl + l | 清屏,等同于 clear;彻底清屏是:reset |
| tab | 提示 |
| 上下键 | 查找执行过的命令 |
二、文件和目录相关指令
1.pwd 指令
pwd // 显示当前工作目录的绝对路径
2.ls 指令
ls [选项] [目录或文件]
选项说明
|----------|------------------------------|
| 选项 | 功能 |
| -a | 全部的文件,连同隐藏文件(开头为 . 的文件)一起列出来 |
| -l or ll | 长数据串列出,包含文件的属性与权限等数据 |
| -h | 显示文件大小时,以 k,m,g单位显示 |
每行列出的信息依次是:文件类型与权限 链接数 文件属主 文件属组 文件大小(用byte来表示)、 建立或最近修改的时间 文件名
举个例子:
(1)查看当前目录的所有内容信息
ls -alh //显示当前的目录内容
(2)查看指定目录的内容信息
ls -alh 指定目录
3.cd 指令
cd [参数] //切换到指定目录
参数说明
|-------------|--------------------|
| 参数 | 功能 |
| cd 绝对路径 | 切换路径 |
| cd 相对路径 | 切换路径 |
| cd ~ or cd | 回到自己的家目录 |
| cd - | 回到上一次所在的目录 |
| cd .. | 回到当前目录的上一级目录 |
| cd -P | 跳转到实际物理路径,而非快捷方式路径 |
举个例子:
使用相对路径切换到root下的bin文件夹
cd ../../root/bin
4.mkdir 指令
mkdir [选项] 要创建的目录
选项说明
|----|--------|
| 选项 | 功能 |
| -p | 创建多层目录 |
举个例子:
(1)在当前目录创建一个文件夹 puppy
mkdir puppy
(2)同时创建b、c文件夹
mkdir b c
(3)同时创建b、c、e文件夹,关系为b/c/e
mkdir -p b/c/e
或者 mkdir b b/c b/c/e
不可以 mkdir b/c/e
5.rmdir指令
rmdir [选项] 要删除的空目录 //删除空目录
举个例子
(1)删除一个空的文件夹f,其中 d/e/f
rmdir d/e/f
(2)删除一个不为空的目录d,其中 d/e/f
rmdir d //删除失败,因为d不为空
rmdir d/e/f d/e d
或者 rmdir -p d/e/f
或者 rm -rf d/ (慎用,r表示递归,f表示强制删除且不提示)
6.touch指令
touch 文件名称 // 创建空文件,还可以更新文件的修改时间
举个例子:
创建一个空文件:
touch hello.txt
如果文件不存在,则创建一个空文件;如果文件存在则刷新该文件的修改时间。
7.cp 指令
cp [选项] source dest // 复制source到dest
选项说明
|----|-----------|
| 选项 | 功能 |
| -r | 递归复制整个文件夹 |
参数说明
|--------|---------|
| 参数 | 功能 |
| source | 源文件夹或文件 |
| dest | 目标文件 |
若 cp a.txt /home/mm/b.txt 则会覆盖b.txt,会提示是否覆盖,若不需要提示则将 cp 替换为 \cp 。
举个例子:
(1)将/home/xx/a.txt 复制到 /home/mm目录下
cp /home/xx/a.txt /home/mm/
(2)递归复制整个文件夹,将xx文件夹复制到mm下
cp -r /home/xx/ /home/mm/
8.rm 指令
rm [选项] 要删除的文件或目录 // 移除文件或目录
选项说明
|----|---------------|
| 选项 | 功能 |
| -r | 递归删除目录中所有内容 |
| -f | 强制执行删除操作,且不提示 |
| -v | 显示指令的详细执行过程 |
举个例子:
(1)递归删除目录中所有内容
rm-rf hello/
(2)删除整个数据库(删库跑路)
rm -rf /* // * 表是根目录下的所有目录都迭代强制删除
9.mv 指令
mv OldFileName NewFileName // 重命名
mv sourceFileOrFolder TargetFolder // 移动文件或目录
10.cat 指令
cat [选项] 要查看的文件 // 查看文件内容
选项说明
|----|--------------|
| 选项 | 功能 |
| -n | 显示所有的行号,包括空行 |
cat只能浏览文件,不能修改文件。一般查看比较小的文件,一屏幕能显示全的。
为了浏览方便,一般会带上管道命令**| more**:
eg:cat xxx.txt | more
把 cat xxx.txt 输出结果交给 more 处理,如果需要下翻一行,输入enter;如果需要翻页,输入空格;如果需要退出,输入q。
11.more 指令
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键。
more 要查看的文件
快捷键
|----------|--------------------|
| 操作 | 功能 |
| 空格键 | 下翻一页 |
| Enter | 下翻一行 |
| q | 立刻离开more,不再显示该文件内容 |
| ctrl + f | 向下滚动一屏 |
| ctrl + b | 返回上一屏 |
| = | 输出当前行的行号 |
| :f | 输出文件名和当前行的行号 |
12.less 指令
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容 ,对于显示大型文件具有较高的效率。
less 要查看的文件
操作说明
|--------------|-------------------------------|
| 操作 | 功能说明 |
| 空格键 | 向下翻动一页 |
| [pagedown] | 向下翻动一页 |
| [pageup] | 向上翻动一页 |
| / 字串 | 向下搜寻 [字串] 的功能。n:向下查找 N:向上查找 |
| ?字串 | 向上搜寻 [字串] 的功能。n:向上查找 N:向下查找 |
| q | 离开 less 这个程序 |
| g | 到首行 |
| shift + g | 到最后一行 |
13.echo 指令
echo [选项] [输出内容] // 输出内容到控制台
选项说明
|----|--------------|
| 选项 | 功能 |
| -e | 支持反斜线控制的字符转换 |
|------|-------------|
| 控制字符 | 作用 |
| \\ | 输出 \ 本身 |
| \n | 换行符 |
| \t | 制表符,也就是Tab键 |
举个例子:
(1)输入 :echo"hello\tworld" 输出 :hello\tworld
(2)输入 :echo "hello\tworld" 输出 :hello world
(3)输出环境变量 (**echo $**系统环境变量)
echo $PATH
(4)输入 :echo hello world 输出 :hello world (只输出一个空格)
(5)输入 :echo "hello world" 输出:hello world(加引号可以保留输出内容)
14.head 指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
head 文件 //查看文件前十行内容
head -n 5 文件 //查看文件前5行内容,5可以是任意数字
选项说明
|-----------|-------------|
| 选项 | 功能 |
| -n <行数> | 显示头部 n 行的内容 |
15.tail 指令
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。
tail 文件 // 查看文件尾部 10 行内容
tail -n 5 文件 // 查看文件尾部 5 行内容,5 可以是任意数
tail -f 文件 // 实时追踪该文档的所有更新
选项说明
|-----------|--------------------|
| 选项 | 功能 |
| -n <行数> | 显示尾部 n 行的内容 |
| -f | 显示文件最新追加的内容,监视文件变化 |
16. > 指令和 >> 指令
> 输出重定向 **>>**追加
ls -l > 文件 // 列表的内容写入文件 a.txt 中(覆盖写)
ls -al >> 文件 // 列表的内容追加到文件 a.txt 的末尾
cat 文件1 > 文件2 // 将文件1的内容覆盖到文件2
echo "内容" >> 文件
举个例子:
采用 echo 将 hello 单词追加到文件中
echo hello>>a.txt
17.ln 指令
软链接也称为符号链接,类似于 Windows 里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。(硬链接是直接指向,软链接是创建另一个链接)
软链接:
ln-s [原文件或目录] [软链接名] // 给原文件创建一个软链接
硬链接:
ln 文件名或目录 链接名 //创建一个硬链接
删除软链接:rm -rf 软链接名, 而不是 rm -rf 软链接名/。如果使用rm -rf 软链接名/ 删除,会把软链接对应的真实目录下的内容删掉。
查询:通过 ll 就可以查看,列表属性第 1 位是 l ,尾部会有位置指向。
注意:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。
举个例子:
进入软链接实际屋里路径
ln -s hello/mm/ ./name
cd -P name/
18.history 指令
history // 查看已经执行过的历史命令
!+ 命令行ID号 //重复调用该命令
history -c //历史命令全部清空
举个例子:
(1)显示最近使用过的10个命令
history 10
(2)执行历史编号为5的指令
!5