目标
查看目录内容ls
切换目录cd
创建和删除操作touch
rm
mkdir
拷贝和移动文件cp
mv
查看文件内容cat
less
grep
其他echo
重定向>
和>>
管道|
01.查看目录内容
1.1 终端使用技巧
自动补全
在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下tab
键如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令曾经使用过的命令
使用上
/下
光标键可以在曾经使用过的命令之间来回切换如果想要退出选择, 并且不想执行当前选中的命令, 可以按ctrl + c
1.2 ls命令说明
ls
是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一因为需要编辑服务器上的文件, 所以需要先确认指定目录下 是否存在linux 下文件和目录的特点
linux文件 或者 目录 名称最长可以256
个字符以.
开头的文件为隐藏文件, 需要用 -a 参数才能显示.
代表当前目录..
代表上一级目录
1.3 ls常用选项
如果 只使用ls命令 就只能看到当前目录下非隐藏文件。
如果想增强功能,就需要学习更多的选项
演练:
计算机中文件大小的表示方式(科普)
1.4 ls 和通配符的使用
准备工作
# 切换到临时目录cd /usr/tmp# 清空目录内容rm -rf *# 创建文件touch a23.txt 11.txt 111.txt 112.txt 123.txt 223.txt 323.txt 423.txt 523.txt# 查看目录内容ls
演练:
1 查看以 1 开头的文件或目录2 查看以 3.txt 结尾的 文件或目录3 查看含有3的文件列表4 查看第二个字符是2的文件[root@k8s-master tmp]# ls 1*.txt111.txt 112.txt 11.txt 123.txt[root@k8s-master tmp]# ls *3.txt123.txt 223.txt 323.txt 423.txt 523.txt a23.txt[root@k8s-master tmp]# ls *3*.txt123.txt 223.txt 323.txt 423.txt 523.txt a23.txt[root@k8s-master tmp]# ls ?2?.txt123.txt 223.txt 323.txt 423.txt 523.txt a23.txt[root@k8s-master tmp]#
演练:
1 查看 第一个字符是 1到5, 以23.txt结尾 的 目录或文件名[root@k8s-master tmp]# ls [1-5]23.txt123.txt 223.txt 323.txt 423.txt 523.txt[root@k8s-master tmp]#
02.切换目录
2.1 cd
cd 是英文单词change directory的缩写, 其功能为更改当前的工作目录, 是用户最常用的命令之一
注意: linux的所有目录和文件名都是大小写敏感的
演练:
1 查看当前所在目录2 切换到 /usr/local3 切换到 上一级目录 /usr4 后退到上一次访问的目录中[root@k8s-master tmp]# pwd/usr/tmp[root@k8s-master tmp]# cd /usr/local[root@k8s-master local]# cd ../[root@k8s-master usr]# cd -/usr/local[root@k8s-master local]#
2.2 相对路径和绝对路径
2.2.1 目标 : 通过路径找到目标
2.2.2 如何分步骤实现:
第一步: 使用相对路径定位目标
第二步: 使用绝对路径定位目标
2.2.3 第一步: 使用相对路径定位目标
特征:相对路径输入路径时, 最前面不是以 “/” 开始的, 表示相对当前目录所在的位置缺点: 参照工作目录 发生变化 相对路径也要发生变化演练:当前工作目录是 /usr, 使用相对路径 切换到 /usr/tmp 目录下 当前工作目录是 /root, 使用相对路径 切换到 /usr/tmp 目录下 [root@k8s-master local]# clear[root@k8s-master local]# cd /usr[root@k8s-master usr]# cd tmp/[root@k8s-master tmp]# cd /root[root@k8s-master ~]# cd ../usr/tmp/[root@k8s-master tmp]#
2.2.4 第二步: 使用绝对路径定位目标
特征:绝对路径在输入路径时, 最前面是以/
开始的, 表示 从根目录开始的具体目录位置优点: 定位准确, 不会因为 工作目录变化 而变化演练:当前工作目录是 /usr, 使用绝对路径 切换到 /usr/tmp 目录下 当前工作目录是 /root, 使用绝对路径 切换到 /usr/tmp 目录下 [root@k8s-master tmp]# cd /usr[root@k8s-master usr]# cd /usr/tmp/[root@k8s-master tmp]# cd /root[root@k8s-master ~]# cd /usr/tmp[root@k8s-master tmp]#
2.2.5 小总结
相对路径在输入路径时, 最前面不是以/
开始的 , 表示相对当前目录所在的目录位置绝对路径在输入路径时, 最前面是以/
开始的, 表示 从根目录开始的具体目录位置03.创建和删除操作
3.1 touch
3.1.1 目标
通过touch
命令 创建文件3.1.2 路径
第一步: 创建一个空白文件第二步: 修改文件的末次修改日期3.1.3 实现
3.1.3.1 第一步: 创建一个空白文件
touch 不存在的文件
3.1.3.2 第二步: 修改文件的末次访问时间
touch 存在的文件
3.1.4 小结
通过touch 文件名
创建文件 和 修改文件的末次访问时间
3.2 mkdir
3.2.1 目标:
通过mkdir
命令 创建目录3.2.2 路径:
第一步: 创建 没有层级关系的目录第二步: 创建 有层级关系的目录3.2.3 实现
3.2.3.1 第一步: 创建 没有层级关系的目录
mkdir 目录名
3.2.3.2 第二步: 创建 有层级关系 的目录
mkdir -p 目录1/目录2/目录3
创建一个新的目录
3.2.4 小结
通过mkdir -p 目录名
命令 创建目录
注意:新建目录的名称不能与当前目录中已有的目录或文件同名
3.3 rm
3.3.1 目标
通过rm 文件/目录
命令实现删除 文件和目录的功能,rm
对应的英文是remove
含义: 删除
3.3.2 路径
第一步: 删除文件 (有提示)第二步: 删除文件 (取消提示)第三步: 删除目录第四步: rm 结合 通配符3.3.3 实现
3.3.3.1 第一步: 删除文件 (有提示)
rm 文件
3.3.3.2 第二步: 删除文件 (取消提示)
rm -f 文件
3.3.3.3 第三步: 删除有内容的目录
rm -rf 目录
3.3.3.4 第四步: rm 结合 通配符 * ? [abc][a-z]
rm -rf *.txt
3.3.4 小结
通过rm -rf 文件/目录
完成删除 文件或目录的功能.注意: 使用rm
命令要小心, 因为文件删除后不能恢复04.拷贝和移动文件
4.1 tree (扩展)
4.2.1 目标
通过tree
命令可以以树状图列出文件目录结构.4.2.2 路径
第一步: 以树形结构显示目录中的文件和目录第二步: 只显示 当前目录中的目录第三步: 显示指定的两层4.2.3 实现
准备工作
# 创建目录mkdir -p /export/aaa/bbb/ccc# 创建文件touch /export/aaa/01.txt /export/aaa/02.txttouch /export/aaa/bbb/03.txt /export/aaa/bbb/04.txttouch /export/aaa/bbb/ccc/05.txt /export/aaa/bbb/ccc/06.txt
默认没有安装tree
组件, 需要联网时安装:
# 安装 tree组件yum -y install tree# 卸载 tree组件yum -y remove tree
4.2.3.1 第一步: 以树形结构显示目录中的文件和目录
tree [目录]
如果指定目录, 就显示指定目录的内容如果不指定目录,就显示当前目录的内容
4.2.3.2 第二步: 只显示 当前目录中的目录
tree -d [目录]
4.2.3.3 第三步: 显示指定的两层
tree -L n [目录]
4.2.4 小结
通过tree 目录
命令可以以树状图列出文件目录结构.4.2 cp
4.2.1 目标
通过cp
实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中4.2.2 路径
第一步: 备份指定文件第二步: 将文件复制到目录中第三步: 将文件复制到另一个文件中, 实现覆盖效果第四步: 复制目录 到指定 目录中4.2.3 实现
4.2.3.1 第一步: 备份指定文件
cp 文件1 备份文件名
4.2.3.2 第二步: 将文件复制到目录中
cp 文件1 目录/
4.2.3.3 第三步: 将文件复制到另一个文件中, 实现覆盖效果
cp 文件1 文件2(存在的)
4.2.3.4 第四步: 复制目录 到指定 目录中
cp -r 目录1/ 目录2/
4.2.4 小结
cp命令的功能是将给出的文件 或 目录复制到另一个文件 或 目录中4.3 mv
4.3.1 目标
通过mv
命令可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名4.3.2 路径
第一步: 将文件 移动 另一个目录中第二步: 重命名第三步: 将目录移动到 另一个目录中4.3.3 实现
4.3.3.1 第一步: 将文件 移动 另一个目录中
mv 文件 目录/
4.3.3.2 第二步: 重命名
mv 旧文件名 新文件名
4.3.3.3 第三步: 将目录移动 到 另一个目录中
mv 被移动目录 目标目录
4.3.4 小结
mv
可以用来移动 文件 或 目录, 也可以给文件或目录重命名05.查看文件内容
准备工作
# 清空指定目录内容cd /export/ rm -rf *# 复制 /etc/passwd 文件 到 /export/ 目录中cp /etc/passwd /export/# 复制 /etc/profile 文件 到 /export/ 目录中cp /etc/profile /export/# 罗列目录中内容tree /export
5.1 cat
5.1.1 目标
通过cat
会一次显示所有的内容, 适合查看内容较少的文本文件
5.1.2 路径
第一步: 显示文件内容第二步: 显示文件内容(显示行号 包含空行)第三步: 显示文件内容(显示行号 排除空行)5.1.3 实现
5.1.3.1 第一步: 显示文件内容(不显示行号)
cat 文件名
5.1.3.2 第二步: 显示文件内容(显示行号 包含空行)
cat -n 文件名
缺点: 空行也显示行号
5.1.3.3 第三步: 显示文件内容(显示行号 排除空行)
cat -b 文件名
nl 文件名
也可以实现非空行显示行号的效果
5.1.4 小结
通过cat 文件名
查看 小文件内容 准备工作# >> 重定向这个命令, 为了课程需要 我们先用, 后面我们会讲# 将文件 /etc/profile 的内容 追加到 /export/01.txt目录中cat /etc/profile >> /export/01.txtcat /etc/profile >> /export/01.txtcat /etc/profile >> /export/01.txtcat /etc/profile >> /export/01.txtcat /etc/profile >> /export/01.txt
5.2 less
5.2.1 目标
通过less [参数] 文件名
命令可以用于分屏显示文件内容, 每次只显示一页内容less
命令适合查看内容较多的文本文件5.2.2 路径
第一步 : 分屏显示文件内容第二步 : 根据关键词搜索内容5.2.3 实现
5.2.3.1 第一步 : 分屏显示文件内容
使用more
的操作键:
5.2.3.2 第二步: 根据关键词 搜索
# 根据关键词搜索/word
5.2.4 小结
less
命令适合查看内容较多的文本文件
准备工作
# 准备一个26个字母的文件, 使用 WINscp客户端 上传到 /export/ 目录下
5.3 head
5.3.1 目标
通过head
命令查看文档的前几行内容5.3.2 路径
第一步: 查看文件的前5行内容5.3.3 实现
5.3.3.1 第一步:查看文件的前5行内容
head -n 数字 文件
5.3.4 小结
通过head
命令查看文档的前几行内容5.4 tail
5.4.1 目标
需求: 查看文档(日志)的后几行内容5.4.2 路径
第一步: 查看文档的最后10行内容第二步: 动态显示文档的最后内容,一般用来查看日志第三步: 动态显示文档的最后10行内容5.4.3 实现
第一步: 查看文档的最后10行内容
tail -10 文件
第二步: 动态显示文档的最后内容,一般用来查看日志
tail -f 文件名
第三步: 动态显示文档的最后100行内容
tail -100f 文件名
5.4.4 小结
通过tail -10f 文件
命令 查看文档(日志)的后几行内容5.5 grep
5.5.1 目标
通过grep
命令 搜索存在关键字的行5.5.2 路径
第一步: 搜索存在关键字的行第二步: 搜索存在关键字的行 且显示行号第三步:忽略大小写搜索存在关键字的行第四步: 搜索不存在关键字的行第五步: 搜索以关键字开始的行 或以关键字结尾的行5.5.3 实现
5.5.3.1 第一步: 搜索存在关键字的行
grep 关键字 文件名
5.5.3.2 第二步: 搜索存在关键字的行 且显示行号
grep -n 关键字 文件名
5.5.3.3 第三步:忽略大小写搜索存在关键字的行
grep -i 关键字 文件名
5.5.3.4 搜索不存在关键字的行
grep -v 关键字 文件名
5.5.3.5 第五步: 搜索以关键字开始的行 或以关键字结尾的行
grep 正则 文件名
5.3.4 小结
通过grep
命令 搜索存在 关键字 的行06 其他
6.1 管道 |
6.1.1 目标
通过命令1 | 命令2
可以将命令1的结果通过命令2 作进一步的处理6.1.2 路径
第一步 : 过滤/etc/
目录下 以pro
开头的文件第二步 : 搜索存在关键字的行数6.1.3 实现
第一步 : 过滤/etc/
目录下 以pro
开头的文件
ls /etc/ | grep ^pro
第二步 : 搜索存在关键字的行数
ls /etc | grep ^pro | wc -l
6.1.4 小结
通过命令1 | 命令2
可以将命令1的结果 通过 命令2 作进一步的处理6.2 echo 文字内容
echo string
将字符串输出到控制台 , 通常回和重定向联合使用echo hello# 如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号echo "hello world"
6.3 重定向 > 和 >>
6.2.1 目标
默认情况下命令的结果输出到控制台通过重定向可以将结果输出到文件6.2.2 路径
第一步: 将命令的成功结果覆盖指定文件内容第二步: 将命令的成功结果追加指定文件的后面6.2.3 实现
第一步: 将命令的成功结果覆盖指定文件内容
echo 2222 > 01.txt
第二步: 将命令的成功结果追加指定文件的后面
echo 3333333 >> 01.txt
第三步: 将命令的失败结果追加指定文件的后面
cat 不存在的目录 &>> error.log
6.2.4 小结
通过命令 > 文件
将命令的成功结果覆盖指定文件内容通过命令 >> 文件
将命令的成功结果追加指定文件的后面通过命令 &>> 文件
将命令的失败结果追加指定文件的后面6.4 && 和 ||
6.4.1 目标
如果创建 目录成功, 就提示创建成功如果创建 目录失败, 就提示创建失败6.4.2 实现
第一步: 如果创建 目录成功, 就提示创建成功
mkdir -p 正确目录 && echo "提示创建目录成功"
第二步: 如果创建 目录失败, 就提示创建失败
mkdir 错误目录 || echo "提示创建目录失败"
6.4.3 小结:
通过命令1 && 命令2
实现 如果 命令1 执行成功, 就执行 命令2的效果通过命令1 || 命令2
实现 如果 命令1 执行失败, 就执行 命令2的效果准备工作
0 清空/export目录中内容cd /export && rm -rf *# 1 创建目录mkdir -p /export/aaa/bbb/ccc/ddd/eee# 2 创建文件touch /export/aaa/bbb/ccc/ddd/eee/01.txt /export/aaa/bbb/ccc/ddd/eee/02.txt# 3 切换到 /export/aaa/bbb/ccc/ddd/eee/ 目录下 且 查看内容# 3.1 cd /export/aaa/bbb/ccc/ddd/eee/ && ll# 3.2 软链接(快捷方式) cd 软链接 && ll
6.5 软链接
在linux中文件名和内容是两个文件, 分开的!6.5.1 目标
因为 某些文件和目录 的路径很深, 所以 需要增加软链接(快捷方式)6.5.2 实现
语法如下:
6.5.3 小结
通过ln -s 源文件的绝对路径 快捷方式路径
给目标文件增加快捷方式注意: 必须 增加-s
, 否则 就变成了硬链接(同样指向真是存在的目标内容),