目录
- 前言
- 实验目的
- 实验内容
- 实验环境
- 实验步骤
- 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
输出:
例二:查看文件内容,并且显示行数编号
命令:
cat -n filename.txt
输出:
可以看到加上参数-n就可以在查看文件内容的时候看到行数编号了。
例三:查看文件的内容,并在添加行数编号后输出到另外一个文件中:
命令:
cat -n filename.txt > filename2.txt
输出:
通过上图可以看到filename2中的内容是filename中的内容加上了行号写进来的。
例四、持续写入文件内容,碰到EOF符之后结束并且保存
命令:
cat > filename.txt << EOF
> Hello,World!
> Linux!
> EOF
输出:
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!"
输出:
例二:输出变量提取后的值
命令:
echo $PATH
输出:
例三:对内容进行转义,不让$符号的提取变量值功能生效
命令:
echo \$PATH
输出:
例四、结合输出重定向符,将字符串信息导入文件中
命令:
cat "It is a test" > filename.txt
输出:
例五、使用反引号符执行命令,并输出其结果到终端:
命令:
echo 'date'
输出:
例六:输出带有换行符的内容
echo -e "a\nb\nc"
输出:
例七:输出信息中删除某个字符,注意看数字3消失了
命令:
echo -e "123\b456"
输出:
3.rm命令-移除文件或目录
(1)命令格式
rm [参数][文件]
(2)命令功能
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
(3)命令参数
参数 | 功能说明 |
-f | 忽略不存在的文件,不会出现警告信息 |
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
(4)使用范例
例一:删除前逐一进行询问
命令:
rm -i filename.txt
输出:
例二:直接删除,不会有任何提示
命令:
rm -f filname2.txt
输出:
例三:递归删除目录及目录下所有文件
命令:
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
输出:
例二:显示文件file的内容,从第20行至文件末尾
命令:
tail +20 file
输出:
例三:显示文件file的最后十个字符
命令:
tail -c 10 file
输出:
例四、一直变化的文件总是显示后10行
命令:
tail -f 10 file
输出:
例五、显示帮助信息
命令:
tail --help
输出:
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
输出:
例二:递归删除指定的目录树
命令:
rmdir -p Documents/wenjian1
输出:
例三:显示指令详细执行过程
命令:
rmdir -v wenjian2
rmdir: 正在删除目录 'dir'
rmdir -p -v Documents/wenjian3
输出:
例四、显示命令的版本信息
命令:
rmdir --version
输出:
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
输出:
例二:批量创建文件
命令:
touch file{1..5}.txt
ls
file1.txt file2.txt file3.txt file4.txt file5.txt
输出:
例三:修改文件的access(访问)时间
命令:
stat file.txt //查看file.txt文件的访问时间
touch -a file.txt
stat file.txt
输出: