RHCSA(第三天)

第三章 从命令行管理文件

文件命名规则:

(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的

(2)文件名不能超过255个字符

(3)区分大小写file File FILE fIle

(4)目录也是文件,在同一路径下,两个文件不能同名

3.1 创建、删除普通文件

创建普通文件:touch

格式:touch [OPTION]... FILE... touch的两种用法:

1、如果文件已存在,更新文件的三个时间,stat可以查看文件的详细信息

atime access time 看了一下内容 cat

mtime modify time 文件内容被改变了,ctime也会发生改变

ctime change time 元数据被改变,重命名

2、如果文件不存在,则表示创建文件 创建多个普通文件:

方法1:touch 文件名1 文件名2 文件名3

方法2:touch {文件名1,文件名2,文件名3}

touch {1,2}{3,4}

touch abc{1..100}

删除普通文件:rm [-f] 文件名

3.2 向普通文件添加数据

1、将输出重定向到文件 echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:“echo [字符串] [$变量]”。

这是在Linux系统中最常用的几个命令之一,但操作却非常简单,执行“echo 字符串”或“echo $变量”就可 以,其中$符号意思是提取变量的实际值,以便后续的输出操作。

例如,把指定字符串“kongd.com”输出到终端屏幕的命令为:

该命令会在终端屏幕上显示如下信息:

 下面,我们使用“$变量”的方式提取出变量SHELL的值,并将其输出到屏幕上:

 bash shell提示符

重定向:>

追加重定向:>>

2、读取标准输入的数据,并将其内容输出到参数: -a或--append 附加到既有文件的后面,而非覆盖它. -i或--ignore-interrupts 忽略中断信号。 --help 在线帮助。 --version 显示版本信息 管道符|:管道符左边命令的输出作为管道符右边命令的输入。 Q1、 如何在 Linux 上使用这个命令?文件的同时输出到屏幕(即想把输出保存到文件中,又想在 屏幕上看到内容):tee 文件

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

语法

 参数:

-a或--append 附加到既有文件的后面,而非覆盖它.

-i或--ignore-interrupts 忽略中断信号。

--help 在线帮助。

--version 显示版本信息

管道符|:管道符左边命令的输出作为管道符右边命令的输入。

Q1、 如何在 Linux 上使用这个命令?

[command] | tee [file]

Q2、 如何确保 tee 命令追加信息到文件中?

[command] | tee -a [file]

Q3、如何让 tee 写入多个文件? 这非常之简单。你仅仅只需要写明文件名即可。

command] | tee [file1] [file2] [file3]

 图4-1 Vim编辑器模式的切换方法

在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而 每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim 中,无法直接从输入模式切换到末行模式。Vim编辑器中内置的命令有成百上千种用法。

命令模式下的常用命令——光标移动

命令模式下的常用命令——复制、粘贴、删除

命令模式下的常用命令—— 文件内容查找

命令模式中的基本操作——撤销编辑及保存退出 

末行模式中的基本操作——保存文件及退出vi编辑器

末行模式中的基本操作——打开新文件或读入其他文件内容

末行模式中的基本操作——文件内容替换

 3.3 浏览普通文件内容

1.查看文本文件的内容——cat命令

命令格式:cat [选项] 文件名列表

说明:文件名可使用通配符

常用选项:

-n——对输出内容中的所有行标注行号。

-b——对输出内容中的非空行标注行号。

2.分页查看文件内容——more和less命令

命令格式: more | less [选项] 文件名

常用选项:

-数字——仅适用于more命令,用来指定分页显示时每页的行数。

+num——指定从文件的第num行开始显示。

-c——从顶部清屏然后显示文件内容。

-N——仅适用于less命令,其作用是在每行前添加输出行号。

交互操作方法:

按Enter键向下逐行滚动

按空格键向下翻一屏、按b键向上翻一屏

文件末尾时more会自动退出,less 按q键退出

参数 作用 -b 将可执行文件(binary)当作文本文件(text)来搜索 -c 仅显示找到的行数 -i 忽略大小写 -n 显示行号 -v 反向选择——仅列出没有“关键词”的行 -A -A 2:搜索时显示匹配到的那一行以及下2行 -B -B 2:搜索时显示匹配到的那一行以及上2行 -C -C 2:搜索时显示匹配到的那一行以及上下2行

⒊查看文件开头或末尾的部分内容——head和tail命令

命令:head | tail [选项] 文件名 常用选项有:

-num——指定需要显示文件多少行的内容,若不指定,默认只显示十行。

-f——使tail不停地去读取和显示文件最新的内容, 以监视文件内容的变化,这样有实时监视的效果。

tail命令更多的用于查看系统日志文件,以便于观察重要的系统消息,特别是结合使用-f选项,tail会自动实时 地把打开文件中的新消息显示到屏幕上,从而跟踪日志文件末尾的内容变化,直至按【Ctrl+C】键终止显示 和跟踪。

4.检索、过滤文件内容——grep命令

功能:在指定的文件中查找并显示含有指定字符串的行。

格式:grep [选项] 要查找的字符串或条件表达式 被查找的文件名

选项:

-i——查找时忽略大小写

-v——反转查找,输出与查找条件不相符的行

在grep命令中,可以直接指定关键字串作为查找条件,也可以使用复杂的条件表达式,例如:字符“^”表示行的 开始;字符“$”表示行的结尾;如果查找的字符串中带有空格,可以用单引号或双引号括起来。又如: "^read"表示以read开始;"read$"表示以read结束;"^$"表示空行。

3.4 grep命令

grep命令用于按行提取文本内容,语法格式为:“grep [参数] 文件名称”。

表2-15 grep命令中的参数及其作用

在Linux系统中,/etc/passwd文件是保存着所有的用户信息,而一旦用户的登录终端被设置 成/sbin/nologin,则不再允许登录系统,因此可以使用grep命令来查找出当前系统中不允许登录系统的 所有用户信息:

示例:

3.5 文本排序统计

1、cut命令 cut命令用于按列提取文本内容,语法格式为:“cut [参数] 文件名称”。 系统文件在保存用户数据信息时,每一项值之间是采用冒号来间隔的,先查看一下:

 一般而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是如果 按列搜索,不仅要使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号。

接下来使用下述命令尝试提取出passwd文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列 内容:

 2、uniq命令 uniq命令用于去除文本中连续的重复行,英文全称为:“unique”,语法格式为:“uniq [参数] 文件名 称”。

uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的 重复行,中间不能夹杂其他文本行,去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。

我们对两个文本内容进行操作,区别一目了然:

3、sort命令

sort命令用于对文本内容进行再排序,语法格式为:“sort [参数] 文件名称”。 有时文本里的内容顺序不正确,手动一行行的修改实在太麻烦了,那么使用sort命令就再合适不过了, 它能够对文本内容进行再次排序。这个命令千万不能只讲理论,一定要上实战,一看就懂。sort命令的 参数及其作用如表2-16所示。

表2-16 sort命令中的参数及其作用 

首先,sort命令执行后默认会按照字母顺序进行排序,非常方便:

4、tr命令

Linux tr 命令用于转换或删除文件中的字符。

tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。

语法 

参数说明:

-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行 转换

-d, --delete:删除指令字符

-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符

-t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等

--help:显示程序用法信息

--version:显示程序本身的版本信息

将文件testfile中的小写字母全部转换成大写字母,此时,可使用如下命令:

5、wc命令

wc命令用于统计指定文本文件的行数、字数或字节数,英文全称为:“word counts”,语法格式为:“wc [参数] 文件名称”。

wc命令用于统计文本的行数、字数、字节数等。wc的参数以及相应的作用如表2-14所示。

表2-14 wc命令中的参数以及作用 

在Linux系统中,/etc/passwd是用于保存系统账户信息的文件,要统计当前系统中有多少个用户,可以 使用下面的命令来进行查询,是不是很神奇:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值