目录

  • 前言
  • 实验目的
  • 实验内容
  • 实验环境
  • 实验步骤
  • 1.cat命令-在终端设备上显示文件内容
  • 2.echo命令 – 输出字符串或提取Shell变量的值
  • 3.rm命令-移除文件或目录
  • 4.tail命令-查看文件尾部内容
  • 5.rmdir命令-删除空目录
  • 6.touch命令-创建文件


前言

通过前面的实验,我们已经将关于Ubuntu系统的文件管理部分的命令行做完了,接下来我们将进行关于linux文档编辑部分的linux命令行实验。

实验目的

1.掌握Ubuntu系统下文件系统中文件编辑部分的使用

实验内容

本次实验主要是掌握Linux系统下的文件系统部分的使用,主要包括以下内容:

第二部分(文件编辑部分):
1.cat命令
2.echo命令
3. rm命令
4. tail命令
5. rmdir命令
6. touch命令

实验环境

树莓派4B,系统为Ubuntu 20.10系统 。实验的编程环境为Terminal终端程序

实验步骤

1.cat命令-在终端设备上显示文件内容

(1)命令格式

cat [参数][文件]

(2)命令功能
Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。因为当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。
cat主要有三大功能:
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件
3.将几个文件合并为一个文件:cat file1 file2 > file

(3)命令参数

参数

功能说明

-n

显示行数(空行也编号)

-s

使用长格式列出文件及目录信息

-b

将文件以相反次序显示(默认依英文字母次序)

-E

根据最后的修改时间排序

-T

同-a,但不列出"."(当前目录)以及"…"(父目录)

-v

根据文件大小排序

-e

递归列出所有子目录

-t

根据版本进行排序

-A

每行只列出一个文件

-help

显示帮助信息并离开

-version

显示版本信息并离开

(4)使用范例
例一:查看filename文件的内容
命令:

cat  filename.txt

输出:

树莓派 desktop文件 启动两个_显示文件

例二:查看文件内容,并且显示行数编号
命令:

cat -n filename.txt

输出:

树莓派 desktop文件 启动两个_显示文件_02


可以看到加上参数-n就可以在查看文件内容的时候看到行数编号了。

例三:查看文件的内容,并在添加行数编号后输出到另外一个文件中:
命令:

cat -n filename.txt > filename2.txt

输出:

树莓派 desktop文件 启动两个_递归_03


通过上图可以看到filename2中的内容是filename中的内容加上了行号写进来的。

例四、持续写入文件内容,碰到EOF符之后结束并且保存
命令:

cat  > filename.txt << EOF
> Hello,World!
> Linux!
> EOF

输出:

树莓派 desktop文件 启动两个_显示文件_04

2.echo命令 – 输出字符串或提取Shell变量的值

(1)命令格式

echo[参数][字符串]

(2)命令功能
echo命令用于在终端设备上输出字符串或变量提取后的值,这是在Linux系统中最常用的几个命令之一,但操作却非常简单。
人们一般使用在变量前加上 $ 符号的方式提取出变量的值,例如:$PATH,然后再用echo命令予以输出。或者直接使用echo命令输出一段字符串到屏幕上,起到给用户提示的作用。

(3)命令参数

参数

功能说明

-n

显示所有文件及目录(包括以"."开头的隐藏文件)

-e “\a”

使用长格式列出文件及目录信息

-e “\b”

将文件以相反次序显示(默认依英文字母次序)

-e “\c”

根据最后的修改时间排序

-e “\f”

同-a,但不列出"."(当前目录)以及"…"(父目录)

-e “\n”

根据文件大小排序

-e “\r”

递归列出所有子目录

-E

根据版本进行排序

-version

每行只列出一个文件

-help

显示帮助信息并离开

(4)使用范例
例一:输出一段字符串
命令:

echo "Hello World!"

输出:

树莓派 desktop文件 启动两个_字符串_05

例二:输出变量提取后的值
命令:

echo $PATH

输出:

树莓派 desktop文件 启动两个_显示文件_06

例三:对内容进行转义,不让$符号的提取变量值功能生效
命令:

echo \$PATH

输出:

树莓派 desktop文件 启动两个_树莓派 desktop文件 启动两个_07

例四、结合输出重定向符,将字符串信息导入文件中
命令:

cat "It is a test" > filename.txt

输出:

树莓派 desktop文件 启动两个_显示文件_08

例五、使用反引号符执行命令,并输出其结果到终端:
命令:

echo 'date'

输出:

树莓派 desktop文件 启动两个_显示文件_09

例六:输出带有换行符的内容

echo -e "a\nb\nc"

输出:

树莓派 desktop文件 启动两个_递归_10


例七:输出信息中删除某个字符,注意看数字3消失了

命令:

echo -e "123\b456"

输出:

树莓派 desktop文件 启动两个_树莓派 desktop文件 启动两个_11

3.rm命令-移除文件或目录

(1)命令格式

rm [参数][文件]

(2)命令功能
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

(3)命令参数

参数

功能说明

-f

忽略不存在的文件,不会出现警告信息

-i

删除前会询问用户是否操作

-r/R

递归删除

-v

显示指令的详细执行过程

(4)使用范例
例一:删除前逐一进行询问
命令:

rm -i filename.txt

输出:

树莓派 desktop文件 启动两个_显示文件_12


例二:直接删除,不会有任何提示

命令:

rm -f filname2.txt

输出:

树莓派 desktop文件 启动两个_递归_13

例三:递归删除目录及目录下所有文件
命令:

mkdir /data/log
rm -rf /data/log

例四、删除当前目录下多有文件以及删除系统中的所有文件(谨慎使用)
命令:

rm -rf *
rm -rf /*

4.tail命令-查看文件尾部内容

(1)命令格式

tail [参数]

(2)命令功能
tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

(3)命令参数

参数

功能说明

–retry

即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用

-c或–bytes=

输出文件尾部的N(N为整数)个字节内容

-f<name/descriptor>

–follow:显示文件最新追加的内容

-F

与选项“-follow=name”和“–retry”连用时功能相同

-n或——line=

输出文件的尾部N(N位数字)行内容

–pid=<进程号>

与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令

-help

显示指令的帮助信息

-version

显示指令的版本信息

(4)使用范例
例一:显示文件file的最后10行
命令:

tail filename.txt

输出:

树莓派 desktop文件 启动两个_树莓派 desktop文件 启动两个_14

例二:显示文件file的内容,从第20行至文件末尾
命令:

tail +20 file

输出:

树莓派 desktop文件 启动两个_字符串_15

例三:显示文件file的最后十个字符
命令:

tail -c 10 file

输出:

树莓派 desktop文件 启动两个_字符串_16

例四、一直变化的文件总是显示后10行
命令:

tail -f 10 file

输出:

树莓派 desktop文件 启动两个_递归_17

例五、显示帮助信息
命令:

tail --help

输出:

树莓派 desktop文件 启动两个_树莓派 desktop文件 启动两个_18

5.rmdir命令-删除空目录

(1)命令格式

rmdir [参数][目录名称]

(2)命令功能
rmdir命令作用是删除空的目录,英文全称:“remove directory”。但是rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的rm命令。同时rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。

(3)命令参数

参数

功能说明

-p

用递归的方式删除指定的目录路径中的所有父级目录,非空则报错

– -- ignore-fail-on-non-empty

忽略由于删除非空目录时导致命令出错而产生的错误信息

-v

显示命令的详细执行过程

– -- help

显示命令的帮助信息

– -- version

显示命令的版本信息

(4)使用范例
例一:删除空目录
命令:

rmdir dir

输出:

树莓派 desktop文件 启动两个_字符串_19

例二:递归删除指定的目录树
命令:

rmdir -p Documents/wenjian1

输出:

树莓派 desktop文件 启动两个_字符串_20


树莓派 desktop文件 启动两个_递归_21


树莓派 desktop文件 启动两个_显示文件_22

例三:显示指令详细执行过程
命令:

rmdir -v wenjian2
rmdir: 正在删除目录 'dir'
rmdir -p -v Documents/wenjian3

输出:

树莓派 desktop文件 启动两个_递归_23

例四、显示命令的版本信息
命令:

rmdir --version

输出:

树莓派 desktop文件 启动两个_字符串_24

6.touch命令-创建文件

(1)命令格式

touch [参数][文件]

(2)命令功能
touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。
touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。当然在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限。

(3)命令参数

参数

功能说明

-a

改变档案的读取时间记录

-m

改变档案的修改时间记录

-r

使用参考档的时间记录,与 --file 的效果一样

-c

不创建新文件

-d

设定时间与日期,可以使用各种不同的格式

-t

设定档案的时间记录,格式与 date 命令相同

–no-create

不创建新文件

–help

显示帮助信息

–version

列出版本讯息

(4)使用范例
例一:创建一个空文件
命令:

touch file.txt

输出:

树莓派 desktop文件 启动两个_字符串_25

例二:批量创建文件
命令:

touch file{1..5}.txt
ls
file1.txt file2.txt file3.txt file4.txt file5.txt

输出:

树莓派 desktop文件 启动两个_显示文件_26

例三:修改文件的access(访问)时间
命令:

stat file.txt //查看file.txt文件的访问时间
touch -a file.txt
stat file.txt

输出:

树莓派 desktop文件 启动两个_显示文件_27