2021SC@SDUSC
上一周我主要学习了与文件的管理部分有关的Linux命令,现在已经可以熟练掌握 Ubuntu 操作系统的使用界面和各项功能以及 Ubuntu 系统下文件系统命令行的使用。这一周我主要学习与文件的编辑部分有关的Linux命令。
实验二:文件编辑部分
1.实验目的
1)掌握 Ubuntu 系统下文件系统中文件编辑部分的使用
2.实验内容
本次实验主要是掌握 Linux 系统下的文件系统部分的使用,主要包括以下内容:
第二部分(文件编辑部分):
1.cat 命令
2.echo 命令
3. rm 命令
4. tail 命令
5. rmdir 命令
6. touch 命令
3.实验环境
树莓派 4B,系统为 Ubuntu 21.10 系统 。实验的编程环境为 Terminal 终端程序
4.实验步骤
1.cat命令 – 文本输出命令,通常是用于观看某个文件的内容的
(1)命令格式
cat [参数] [文件]
(2)命令功能
cat 主要有三大功能:
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 > file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
(3)命令参数
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项。
-t:等价于"-vT"选项。
(4)实例
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
2.echo 命令 – 输出字符串或提取 Shell 变量的值
(1)命令格式
echo [参数] [字符串]
(2)命令功能
echo 命令用于在终端设备上输出字符串或变量提取后的值,这是在 Linux 系统 中最常用的几个命令之一,但操作却非常简单。 人们一般使用在变量前加上 $ 符号的方式提取出变量的值,例如:$PATH,然 后再用echo命令予以输出。或者直接使用echo命令输出一段字符串到屏幕上, 起到给用户提示的作用。
(3)命令参数
\b :相当于按退格键(backspace) ,但前提是”\b”后面存在字符。
\c :不换行输出,在”\c”后面不存在字符的情况下,作用相当于echo -n。
\n :换行。
\f :换行,但是换行后的新行的开头位置连接着上一行的行尾。
\v :与\f相同。
\t :转以后表示插入tab,即制表符。
\r :光标移至行首,但不换行,相当于使用”\r”以后的字符覆盖”\r”之前同等长度的字符,只看这段文字描述的话可能不容易理解。
(4)实例
用echo命令打印带有色彩的文字:
文字色:
\e[1;31m
将颜色设置为红色\e[0m
将颜色重新置回
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
3.rm命令 – 用于删除一个文件或者目录
(1)命令格式
rm [参数] [文件]
(2)命令功能
可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
(3)命令参数
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
4.tail 命令-查看文件尾部内容
(1)命令格式
tail [参数]
(2)命令功能
tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。
(3)命令参数
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
- --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
(4)实例
要显示 notes.log 文件的最后 10 行,请输入以下命令:
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:
5.rmdir 命令-删除空目录
(1)命令格式
rmdir [参数] [目录名称]
(2)命令功能
该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。
(3)命令参数
- p :递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
-v, --verbose :显示指令执行过程。
(4)实例
将工作目录下,名为 AAA 的子目录删除 :
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除:
6.touch 命令-创建文件
(1)命令格式
touch [参数] [文件]
(2)命令功能
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录。
(3)命令参数
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- --no-create 不会建立新档案。
- --help 列出指令格式。
- --version 列出版本讯息。
(4)实例
使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:
首先,使用ls命令查看testfile文件的属性,如下所示:
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:
使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令: