1 touch命令
touch命令用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录
使用者权限:所有权限用户
语法
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
- 参数说明:
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- –no-create 不会建立新档案。
- –help 列出指令格式。
- –version 列出版本讯息。
使用 touch 创建一个空文件
在 Linux 系统上使用 touch
命令创建空文件,键入 touch
,然后输入文件名。如下所示
touch aaa.txt
查看
ls -l aaa.txt
使用 touch 创建批量空文件
在实际的开发过程中可能会出现一些情况,我们必须为某些测试创建大量空文件,这可以使用 touch
命令轻松实现
touch aaa-{1..10}.txt
在上面的例子中,我们创建了 10 个名为 aaa-1.txt到
aaa-10.txt` 的空文件,你可以根据需要更改名称和数字
2 vi与vim命令
2.1 vi/vim介绍
使用vi/vim其实就相当于我们在Windows系统中创建文件、打开文件、编辑文件、保存文件操作
1、vi介绍
vi是 visual interface
的简称, 是linux中最经典的文本编辑器。
- vi的特点
- 只能是编辑 文本内容, 不能对 字体 段落进行排版
- 不支持鼠标操作
- 没有菜单
- 只有命令
- vi编辑器在 系统管理 服务器管理 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的
2、vim介绍
vim:是从 vi (系统内置命令)发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
2.2 vi/vim模式
vi/vim模式主要分为以下三种:
命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
**编辑模式:**在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
**末行模式:**在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
下面是三种模式的简单分析图:
上图总结
上面的三种模式简单总结下就是:
1、vim 开始进入时是命令模式
2、按下I的时候会进入编辑模式
3、按下ESC然后在按下:的时候是末行模式
2.3 打开和新建文件
使用vim不但可以打开一个现存的文件;也可以生成(vim后的文件不存在的情况下)一个文件;有点类似于我们在Windows中输入notepad命令一样,我们输入notepad后就会打开一个文本文档,然后进行编辑–另存为。
使用者权限:当前文件的权限用户
- 在终端中输入vim在后面跟上 文件名 即可
vim txtfile.txt
- 如果文件已经存在, 会直接打开该文件
- 如果文件不存在, 保存且退出时 就会新建一个文件
注意
我们通过下面的三种模式切换详细阐述vim的用法
2.4 三种模式退出
以下为退出模式:
:q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! 当vim进入文件对文件内容有操作但不想保存退出
:wq 正常保存退出
:wq! 强行保存退出,只针对与root用户或文件所有人生
2.5 文件查看
以下5个为文件查看命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看小文件内容 |
02 | less -N 文件名 | less | 分频 显示大文件内容 |
03 | head -n 文件名 | 查看文件的前一部分 | |
04 | tail -n 文件名 | 查看文件的最后部分 | |
05 | grep 关键字 文件名 | grep | 根据关键词, 搜索文本文件内容 |
总结:
以上5个命令都可以查询文件的内容,他们的功能如下
通过
cat
会一次显示所有的内容, 适合 查看内容较少 的文本文件
less
命令适合查看 内容较多 的文本文件通过
head
命令查看文档的前几行内容通过
tail -10f 文件
命令 查看文档(日志)的后几行内容通过
grep
命令 搜索存在 关键字 的行
cat命令
查看文件名为txtfile.txt的内容
cat txtfile.txt
查看文件名为txtfile.txt的内容(加入行号)
cat -n txtfile.txt
less命令
tail命令
1、要显示 txtfile.txt 文件的最后 3 行,请输入以下命令:
tail -3 txtfile.txt
2、动态显示文档的最后内容,一般用来查看日志,请输入以下命令(默认显示10行):
tail -f txtfile.txt
如果要显示最后4行,命令如下:
tail -4f txtfile.txt
3、显示文件txtfile.txt 的内容,从第 2 行至文件末尾
tail -n +2 txtfile.txt
4、显示文件 txtfile.txt的最后 45个字符:
tail -c 45 txtfile.txt
总结
在tail使用的过程中,我们使用最多的就是查看文件末尾多多少行
使用tail -nf txtfile.txt
通常都是在查看日志信息(报错调试时使用)
grep命令
1、搜索 存在关键字【eeee】 的行的文件
grep eeee txtfile.txt
2、搜索 存在关键字【eeee】 的行 且 显示行号
grep -n eeee txtfile.txt
3、忽略大小写 搜索 存在关键字 的行
grep -i EEEE txtfile.txt
4、搜索 不存在关键字 的行
grep -v 中国 txtfile.txt
5、查找指定的进程信息(包含grep进程)
ps -ef | grep sshd
6、查找指定的进程信息(不包含grep进程)
ps aux | grep sshd | grep -v "grep"
7、查找进程个数
ps -ef|grep -c sshd
2.6 vim定位行
打开文件定位到第6行,如下:
vim txtfile.txt +6
3 echo 命令
echo命令有点类似于我们在java se阶段学习的 System.out.print("hello")
但是,echo还有一个功能就是追加文件内容到文件,类似于我们在java se阶段学习的append文件流写入一样
echo string
将字符串输出到控制台 , 通常和 重定向 联合使用
echo hello world
# 如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号
echo "hello world"
6.3 重定向 >
(覆盖) 和 >>
(追加)
- 默认情况下 命令的结果 输出到 控制台
- 通过 重定向 可以将结果 输出到文件
6.2.3 实现
- 第一步: 将命令的成功结果 覆盖 指定文件内容
echo hello >czbk-txt.txt
czbk-txt.txt文件如果没有会自动创建
命令 | 作用 |
---|---|
结果 > 文件名 | > 表示输出, 会覆盖文件的原有内容 |
第二步: 将命令的成功结果 追加 指定文件的后面
echo hello >> czbk-txt.txt
执行结果如下
命令 | 作用 |
---|---|
命令 >> 文件名 | >> 表示追加, 会将内容追加到已有文件的末尾 |
第三步: 将命令的失败结果 追加 指定文件的后面
cat 不存在的目录 &>> error.log
执行效果如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3LntkvFk-1679137627903)(assets/1576722167942.png)]
命令 | 作用 |
---|---|
命令 &>> 文件 | &>> 表示不区分错误类型 都放到 日志中 |
总结
- 通过
命令 > 文件
将命令的成功结果 覆盖 指定文件内容- 通过
命令 >> 文件
将命令的成功结果 追加 指定文件的后面- 通过
命令 &>> 文件
将 命令的失败结果 追加 指定文件的后面
4 软连接
语法如下:
命令 | 英文 | 作用 |
---|---|---|
ln -s 目标文件绝对路径 快捷方式路径 | link | 给目标文件增加一个软链接, 通俗讲就是快捷方式 |
给home/itcast/txtfile.txt文件增加软连接
ln -s /home/itcast/txtfile.txt czbk-txt
上面;我们将/home/itcast/路径下的txtfile.txt文件增加软连接到czbk-txt,然后通过cat 访问czbk-txt也是可以正常访问的
5 find查找
find概念
find命令用来在指定目录下查找文件。
任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法
find <指定目录> <指定条件> <指定内容>
1、将目前目录及其子目录下所有延伸档名是 gz 的文件查询出来
find . -name "*.gz"
执行效果如下图
2、将目前目录及其子目录下所有最近 1天内更新过的文件查询出来
find . -ctime -1
执行效果如下
3、全局搜索czbk
/代表是全盘搜索,也可以指定目录搜索
find / -name 'czbk'
执行效果如下