RHCSA学习--命令行管理文件

目录

创建连接文件

软连接

创建软连接文件

硬链接

创建硬链接文件

目录操作命令

创建目录

删除目录文件

强制删除(当你删除一个不存在的东西的时候会有提示,-f 可以让你忽略这个提示)

递归删除

创建删除普通文件

touch命令创建普通空文件

单个创建

多个创建

touch的其他用法

删除文件

数据流和重定向

数据流

标准输入

标准输出

标准错误输出

重定向操作符(可用来创建文件)

输出重定向

输入重定向

tee命令读取数据输出到文件

管道符

tee指令 

tee如何使用

vim编辑器

使用vim编辑文件


创建连接文件

软连接

类似于window的1快捷方式,如果原始文件的路径被改变,软连接将会失效。软链接可以跨系统,且可以为目录建立。

创建软连接文件

格式

ln -s 原文件 目标文件

例子

这个命令是给在root用户的家目录下的1文件夹中的test.txt 在root用户家目录下的2文件夹创建一个名为6.txt的软链接(注:这里的1 2文件夹及其里面的内容都需要自己创建)

[root@Test ~]# ln -s 1/test.txt  2/6.txt

硬链接

只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。硬连接的作用是允许一个文件拥有多个有效路径名。

创建硬链接文件

格式

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 指令相同。

删除文件

删除文件操作与删除目录操作一样

数据流和重定向

数据流

标准输入

默认情况下,标准输入指从键盘获取的输入

标准输出

默认情况下,命令执行所回传正确的信息会输出到屏幕上

标准错误输出

默认情况下,标准错误输出可理解为命令
执行失败后,所回传的错误信息会输出到屏幕上不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这两条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去,而分别传送所用的特殊字符如下所示
标准输入( stdin ):代码为 0
标准输出( stdout ):代码为 1
标准错误输出( stderr ):代码为 2

重定向操作符(可用来创建文件)

输出重定向

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 指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件。

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的使用具体可以参考下面的连接

Linux 之 Vim 命令使用(详细总结) - 知乎 (zhihu.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值