目录
强制删除(当你删除一个不存在的东西的时候会有提示,-f 可以让你忽略这个提示)
创建连接文件
软连接
类似于window的1快捷方式,如果原始文件的路径被改变,软连接将会失效。软链接可以跨系统,且可以为目录建立。
创建软连接文件
格式
ln -s 原文件 目标文件
例子
这个命令是给在root用户的家目录下的1文件夹中的test.txt 在root用户家目录下的2文件夹创建一个名为6.txt的软链接(注:这里的1 2文件夹及其里面的内容都需要自己创建)
[root@Test ~]# ln -s 1/test.txt 2/6.txt
硬链接
创建硬链接文件
格式
ln 原文件 目标文件
例子
这个命令是给在root用户的家目录下的1文件夹中的2.txt 在root用户家目录下的2文件夹创建一个名为3.txt的硬链接(注:这里的1 2文件夹及其里面的内容都需要自己创建)
[root@Test ~]# ln 1/2.txt 2/3.txt
目录操作命令
创建目录
格式
mkdir 选项 参数
例子
[root@Test ~]# mkdir -p 9/10
[root@Test ~]# ls
1 2 3 4 5 6 7 9 anaconda-ks.cfg
[root@Test ~]# cd 9
[root@Test 9]# ls
10
[root@Test ~]# mkdir -v 6 7
mkdir: created directory '6'
mkdir: created directory '7'
删除目录文件
强制删除(当你删除一个不存在的东西的时候会有提示,-f 可以让你忽略这个提示)
格式
rm -f 文件名
例子
[root@Test ~]# ls
anaconda-ks.cfg
[root@Test ~]# rm -f 9
递归删除
格式
rm -r 要删除的文件名
例子
[root@Test ~]# rm -r 1 2 3 4 5 6 7
rm: descend into directory '1'? y
rm: remove regular empty file '1/test.txt'? y
rm: remove regular empty file '1/2.txt'? y
rm: remove directory '1'? yy
rm: descend into directory '2'? y
rm: remove symbolic link '2/6.txt'? y
rm: remove regular empty file '2/3.txt'? y
rm: remove directory '2'? y
rm: remove directory '3'? y
rm: remove directory '4'? y
rm: remove directory '5'? yy
rm: remove directory '6'? y
rm: remove directory '7'? y
创建删除普通文件
touch命令创建普通空文件
单个创建
格式
touch 文件名
例子
[root@Test 1]# touch test.txt
[root@Test 1]# ls
test.txt
多个创建
格式
touch 文件1 文件2 文件3
touch {文件1,文件2}
例子
[root@Test 1]# touch 3 4
[root@Test 1]# ls
1 2 3 4 test.txt
[root@Test 1]# touch {5,6}
[root@Test 1]# ls
1 2 3 4 5 6 test.txt
touch的其他用法
格式
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
选项说明
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
删除文件
删除文件操作与删除目录操作一样
数据流和重定向
数据流
标准输入
标准输出
标准错误输出
重定向操作符(可用来创建文件)
输出重定向
1、将执行命令过后的标准输出信息不在默认屏幕上显示,以覆盖的方式写入到指定文件中,若文件不存在则自动创建文件
格式
命令 > 文件
命令 1 > 文件
例子
首先随便创建两个文件然后使用cat命令查看b.txt让查看结果覆盖a.txt 最后a.txt的内容和b.txt中内容一样
[root@Test tmp]# cat a.txt
1asfsakldjfklasdjfasjdf
[root@Test tmp]# cat b.txt
1
[root@Test tmp]# cat b.txt > a.txt
[root@Test tmp]# cat a.txt
1
2、将命令执行所产生的错误信息不在屏幕上显示,以覆盖的方式写入指定文件文件不存在,则创建文件
格式
命令 2 >文件
例子
这里没有创建c.txt文件所以查询文件结果是错误的,然后这条命令可以直接将查询的结果放到b.txt中
[root@Test tmp]# ls c.txt 2> b.txt
[root@Test tmp]# cat b.txt
ls: cannot access 'c.txt': No such file or directory
3、将命令执行后的错误信息写入空设备文件中,也就是将错误信息丢弃掉
格式
命令 2> /dev/null
例子
这里同理c.txt文件没有创建,这个命令是将结果直接丢弃
[root@Test tmp]# ls c.txt 2> /dev/null
[root@Test tmp]# cat /dev/null
[root@Test tmp]#
4、执行的命令不管对错都输入到文件中去,将原文件内容覆盖
格式
命令 &> 文件
例子
这里c.txt文件没有创建查询结果是错误的,这条可以将错误的信息传到a.txt中
[root@Test tmp]# cat b.txt
1
[root@Test tmp]# ls c.txt &> a.txt
[root@Test tmp]# cat a.txt
ls: cannot access 'c.txt': No such file or directory
这里是将cat过后b.txt文件的信息传入到a.txt中
[root@Test tmp]# cat b.txt &> a.txt
[root@Test tmp]# cat a.txt
1
5、将命令执行后的结果正确的信息以追加的方式写入到文件中去,不覆盖原文件内容,若指定文文件不存在,则创建该文件。
格式
命令 >> 文件
例子
创建a如图.txt和b.txt两个文件,然后将查看a.txt中的结果追加输入到b.txt中
[root@Test tmp]# cat a.txt
2345
[root@Test tmp]# cat b.txt
1
[root@Test tmp]# cat a.txt >> b.txt
[root@Test tmp]# cat b.txt
1
2345
输入重定向
命令格式 | 功能 |
命令 <文件 | 使命令从指定的文件中读取数据作为输入 |
命令 <<结束标识字符串 | 在命令行读取数据作为输入,直到遇到指定的结束标识字符串 |
tee命令读取数据输出到文件
管道符
tee指令
tee如何使用
1、将命令输出的正确结果覆盖到文件中
tee 选项 文件名
例子
将cat查看b.txt输出的正确结果覆盖到a.txt文件中,若文件不存在则创建文件
[root@Test tmp]# cat b.txt
1
[root@Test tmp]# cat a.txt
1
2345
[root@Test tmp]# cat b.txt | tee a.txt
1
[root@Test tmp]# cat a.txt
1
2、tee名令追加到文件中不覆盖文件
格式
命令 | tee -a 文件名
例子
将cat命令查看b.txt的结果追加到a.txt中
[root@Test tmp]# cat a.txt
1
[root@Test tmp]# cat b.txt
1
[root@Test tmp]# cat b.txt | tee -a a.txt
1
[root@Test tmp]# cat a.txt
1
1
3、让tee写入多个文件
格式
命令 | tee 文件名 文件名
例子
将查看b.txt的结果添加到 d、f、s、a文件中去,且d、f、s、a文件开始并不存在
[root@Test tmp]# cat b.txt | tee d f s a
1
[root@Test tmp]# cat d s f a
1
1
1
1
vim编辑器
使用vim编辑文件
格式
vim 文件名
例子
使用vim对passwd文件进行编辑
[root@Test tmp]# vim /etc/passwd
按下回车进入如下图片
vim的使用具体可以参考下面的连接