Linux重定向和管道

合集下载

linux管道和重定向使用实验报告

linux管道和重定向使用实验报告

附件5:西南民族大学学生实验报告2018 ------2019 学年第1学期课程名称:Unix/Linux环境编程任课教师:学院:专业:年级:班级:学号:姓名:同组人:西南民族大学学生实验报告学院:实验室名称:实验时间:姓名:专业:班级:学号:实验项目名称:管道和重定向使用、账户验证文件内容实验成绩:教师签名:实验项目报告内容(1、实验背景(目的、意义及原理等);2、材料与方法;3、实验主要过程与结果;4、分析讨论;5、教师评阅,页数不够可加页)。

1、实验背景(目的、意义及原理等)实验内容:管道和重定向使用、账户验证文件内容。

实验目的:练习shell命令中的管道和输入输出重定向,以掌握linux集合小程序完成大功能的思想理念。

了解四个账户验证文件的文件名、位置、内容,以深刻理解linux的账户信息、口令时效、组成员。

实验重点:掌握linux编程中管道和输入输出重定向的使用。

2、材料与方法实验设备:安装有Windows操作系统的电脑、Linux系统iso文件、VMware虚拟机软件。

1)实验主要过程与结果①输入输出重定向举例截图②重定向举例③输出重定向与空设备④利用ctrl+z挂起的tail进程,查看带有重定向功能的进程fd指向⑤管道的引入⑥T型管道⑦命令替换⑧账户信息验证口令文件/etc/passwd组账号文件/etc/group分析讨论这次使用linux系统进行指令操作的实验,通过这次实验基本掌握了linux 系统的工作环境和操作流程,根据老师提供的操作指导一步一步对各项指令进行了验证,在得出结果显示的同时进行了数据分析。

Linux基本操作实验中的指令很多,需要自己通过实验理解记忆,在理解的同时深化各指令的应用,最终通过实验来实现对linux基本指令操作的目的。

在实验过程中,经常会因为命令的格式敲得不对,导致命令出错,比如漏掉空格,多一个空格,所以做实验的过程中一定要认真敲命令。

管道和输入输出重定向中体现的集合小程序完成大功能思想一般情况,我们的标准输入是键盘,标准输出是终端显示器;但是在很多情况,我们需要从文件中读取数据作为输入,然后将输出数据保存在文件中。

linux的标准输入重定向例子

linux的标准输入重定向例子

linux的标准输入重定向例子
标准输入重定向是将命令的输入从键盘转向其他来源,例如文件或其他命令的输出。

以下是Linux中的标准输入重定向的几个例子:
1. 从文件中读取输入:
```shell
$ command < file.txt
```
这个命令将会将`file.txt`的内容作为`command`命令的输入。

2. 通过管道将命令的输出作为输入:
```shell
$ command1 | command2
```
这个命令将会将`command1`的输出作为`command2`的输入。

3. 结合使用管道和重定向:
```shell
$ command1 | command2 < file.txt
```
这个命令将会将`command1`的输出作为`command2`的输入,而且`command2`的输入还会从
`file.txt`中读取。

4. 使用here文档:
```shell
$ command <<EOF
> input text
> input text
> more input text
> EOF
```
这个命令将会将`input text`作为输入传递给`command`命令。

`<<EOF`表示输入将从当前行延续到文件结尾的`EOF`行。

这些例子展示了如何使用标准输入重定向来改变命令的输入来源。

请注意,标准输入重定向使用`<`符号来指定重定向来源。

Linux命令高级技巧使用tee和重定向进行输出管道和文件保存

Linux命令高级技巧使用tee和重定向进行输出管道和文件保存

Linux命令高级技巧使用tee和重定向进行输出管道和文件保存Linux命令高级技巧:使用tee和重定向进行输出管道和文件保存在Linux系统中,命令行是我们日常工作的重要工具。

熟练掌握Linux命令的使用,能够提高我们的效率和操作的灵活性。

在此,我们将介绍两个高级技巧,即使用tee命令和重定向来进行输出的管道处理和文件保存。

一、使用tee命令进行输出管道处理在Linux中,我们经常需要将命令的输出结果通过管道传递给其他命令进行进一步处理,tee命令就可以派上用场。

tee命令能够将标准输入的内容同时输出到标准输出和指定的文件中。

其基本用法如下:``` shellcommand | tee file```其中,command表示前一个命令的输出内容,|表示管道符,tee表示将输出内容写入文件的命令,file表示指定的输出文件。

例如,我们可以通过以下命令将ls命令的输出结果保存到txt文件中并在终端显示:``` shellls | tee result.txt```通过这个命令,ls命令的输出结果将会同时显示在终端上并保存到result.txt文件中,方便我们查看和分析。

二、使用重定向进行输出文件保存除了使用tee命令进行管道处理外,我们还可以使用重定向来将命令的输出结果保存到文件中。

重定向有两种方式:一种是将输出结果覆盖写入文件,另一种是将输出结果追加写入文件。

1. 将输出结果覆盖写入文件可以使用以下方式将命令的输出结果覆盖写入文件:``` shellcommand > file```其中,command为要执行的命令,>为重定向符号,file为要保存输出结果的文件名。

例如,我们可以将date命令的输出结果保存到datetime.txt文件中:``` shelldate > datetime.txt```通过这个命令,date命令的输出结果将会覆盖写入datetime.txt文件中。

linux fish技巧

linux fish技巧

linux fish技巧Linux fish 是一款功能强大的命令行工具,为用户提供了更加便捷和高效的操作体验。

本文将介绍一些关于 Linux fish 的技巧,帮助用户更好地利用这个工具。

一、命令补全Linux fish 提供了强大的命令补全功能,可以自动补全命令、选项和参数。

当你输入命令的一部分时,按下 Tab 键即可自动补全。

例如,当你输入 "ls" 时,按下 Tab 键,会自动补全为 "ls" 命令。

二、命令历史在使用 Linux fish 进行命令行操作时,可以通过方向键上下来查看之前输入的命令历史记录。

通过按上方向键,可以逐步查看之前输入的命令,并且可以通过编辑器进行修改。

三、命令别名Linux fish 支持命令别名,可以通过设置别名来简化常用命令的输入。

例如,可以通过设置别名 "ll" 来代替 "ls -l" 命令,这样每次输入 "ll" 就会执行 "ls -l"。

四、通配符通配符是 Linux fish 中的一个重要特性,可以用来匹配文件名和目录名。

常见的通配符有 "*" 和 "?"。

"*" 可以匹配任意长度的字符,而 "?" 只能匹配一个字符。

使用通配符可以快速匹配符合条件的文件或目录。

五、管道和重定向Linux fish 支持管道和重定向操作,可以将一个命令的输出作为另一个命令的输入,或者将命令的输出重定向到文件中。

例如,可以使用管道将 "ls" 命令的输出传递给 "grep" 命令进行过滤,或者使用重定向将命令的输出保存到文件中。

六、命令执行在 Linux fish 中,可以直接执行一些简单的命令,而不需要进入到特定的目录或者使用特定的命令。

Linux之重定向

Linux之重定向

Linux之重定向1,Linux中的重定向到底是个什么呢?Linux中的重定向就是将原本要输出到屏幕中的数据信息,重新指向某个特定的⽂件中,或者定向到⿊洞(/dev/null)中。

1.2重定向有什么⽤呢?1,当程序执⾏输出的信息⽐较多时,需要保存下来在进⾏分页查看。

2,后台执⾏的程序⼀般都会有输出,不希望它输出⼲扰到终端。

3,执⾏定时的备份任务,希望备份的结果保留下来时。

4,当重复创建⽤户,会提⽰⼀些错误信息,可以直接将信息丢弃。

5,希望将错误⽇志与正确⽇志,分别输出保存到不同⽂件时。

1.3 标准输⼊与输出当进程操作⼀个⽂件时:1,⾸先进程是⽆法直接访问硬件的,需要借助内核来访问⽂件2,⽽内核kernel需要利⽤⽂件描述符(file descriptor)来访问⽂件。

总结:进程---通过--->⽂件描述符(⾮负整数)--访问---》⽂件名称;进程使⽤⽂件描述符来管理打开的⽂件对应关系。

第⼀步:运⾏ tail -f /etc/passwd第⼆部:通过⽂件描述符3--->/etc/passwd-->inode-->block第三步:正确输出--->默认情况下通过⽂件描述符1--->当前终端 1>(改变输出的位置,⽂件,⿊洞)第四步:错误输出--->默认情况下通过⽂件描述符2---》当前终端 2>(错误输出)通常程序访问⼀个⽂件⾄少会打开三个标准⽂件,分别是标准输⼊,标准输出,错误输出。

进程将从标准输⼊中得到数据,将正常输出打印⾄屏幕终端,将错误的输出信息也打印⾄屏幕终端。

名称⽂件描述符作⽤标准输⼊(STDIN)0默认是键盘,也可以是⽂件或其他命令的输出标准输出(STDOUT)1默认输出到屏幕。

错误输出(STDERR)2默认输出到屏幕⽂件名称(filename)3+2,输出重定向案例输出重定向,改变输出内容的位置。

输出重定向有如下⼏种⽅式,如表格所⽰:类型操作符⽤途标准覆盖输出重定向1>将程序输出的正确结果输出到指定到⽂件中,会覆盖⽂件原有的内容标准追加输出重定向1>>将程序输出的正确结果以追加的⽅式输出到指定⽂件错误覆盖输出重定向2>将程序的错误结果输出到执⾏的⽂件中,会覆盖⽂件原有的内容错误追加输出重定向2>>将程序输出的错误结果以追加的⽅式输出到执⾏的⽂件2.1,案例1,-标准输出重定向标准输出重定向⽰例1,如果⽂件不存在则创建2,如果⽂件存在则清空内容[root@: ~]#> text.txt[root@: ~]#ifconfig echo > edu.txt2.2案例-标准追加输出重定向标准追加输出重定向⽰例1,如果⽂件不存在则创建2,如果⽂件存在则在⽂件尾部添加内容[root@: ~]#echo "hello linux" >>if2.3案例3-错误输出重定向错误输出重定向1,正确输出及错误输出⾄相同⽂件2,正确输出及错误输出⾄不同的⽂件[root@: ~]#find /etc -name "*.conf" 1>ok 2>ok[root@: ~]#find /etc -name "*.conf" 1>ok 2>error2.4案例4-混合和输出重定向混合输出重定向1,将正确输出和错误输出混合⾄同⼀⽂件2,将两个⽂件内容组合为⼀个⽂件[root@: ~]#find /etc/ -name "*.conf" &>ab[root@: ~]#cat ab >c*正确和错误都输⼊到相同位置[root@: ~]#ls /root/ /error >ab 2>&12.5,案例5-将内容输出⾄⿊洞[root@: ~]#ls /root/ /error >ab 2>/dev/null[root@: ~]#ls /root/ /error >ab &>/dev/null3,输⼊重定向案例输⼊重定向:指的是"重新指定设备"来"代替键盘"作为新的输⼊设备;3.1输⼊重定向⽰例1,通过输⼊重定向读取⽂件内容;[root@: ~]#cat < /etc/hosts2,通过输⼊重定向读⼊多⾏内容;[root@: ~]# cat <<EOF[root@: ~]#cat <<EOF> 1> 2> 3> 4> 5> EOF #只要不出现EOF则可以⼀直输⼊3,通过输⼊重定向数据导⼊⾄数据库中;[root@: ~]#mysql -uroot -p < /opt/wordpress.sql3.2脚本输⼊重定向使⽤输⼊重定向打印安装服务的菜单导航栏;[root@: ~]# cat install.sh#!/usr/bin/bashcat <<-EOF-----------主菜单---------| 1)安装nginx || 2)安装php || 3)退出 |-----------------------EOFread -p "请选择你要安装的软件编号[1|2|3]:"3.3输⼊重定向场景1,恢复数据时2,脚本打印菜单3,cat写⼊⽂件时;vim输出重定向正确输出:1>:覆盖(先清空,后写⼊)1>>:直接写⼊⽂件的尾部(末尾)错误输出2>:覆盖(先清空,后写⼊)2>>:直接写⼊⽂件的尾部(末尾)混合输出&>/dev/null&>>/dev/null1>/dev/null 2>&14,进程管道技术4.1 什么是管道管道操作符合"|",主要⽤来链接左右两个命令,将左侧命令的【标准输出】,交给右侧命令的【标准输⼊】⽆法传递错误的标准输出给后者命令管道命令符可以让⼤家进⼀步掌握命令之间的搭配使⽤⽅法,进⼀步提⾼命令输出值的处理效率4.2管道流程⽰意图格式:cmd1 | cmd2 [...|cndn]4.3管道使⽤案例案例1:将/etc/passwd中的⽤户按UID⼤⼩排序[root@: ~]#sort -t ":" -k3 -n /etc/passwd[root@: ~]#sort -t ":" -k3 -n /etc/passwd -r[root@: ~]#sort -t ":" -k3 -n /etc/passwd |head案例2:统计当前/etc/passwd中⽤户使⽤的shell类型#取出第七列(shell)|排序(相同的归类)|去重[root@: ~]#awk -F:`{pint $7}` /etc/passwd |sort |uniq -c案例3:打印并输出当前所有主机⽹卡的IP地址[root@: ~]#ip addr |grep 'inet' |awk '{print $2}' |awk -F "/" '{print $1}'4.4.1,tee与xargs[root@: ~]#ip addr |grep 'inet' |tee ip.txt |awk -F "/" '{print $1}' |awk '{print $2}'[root@: ~]#cat ip.txt4.4.2,管道中使⽤xargsxargs参数传递,主要让⼀些不⽀持管道的命令可以使⽤管道技术[root@: ~]#which cat |xargs ls -l-rwxr-xr-x. 1 root root 54080 Apr 11 2018 /usr/bin/cat[root@: ~]# xargs rm -fv。

第7单元-标准输入输出及重定向

第7单元-标准输入输出及重定向

命令执行判断的依据 Cmd;cmd 不考虑命令相关性的连续执行命令 [admin@localhost ~]$ sync; sync halt -h now $?(命令回传码)与 && 或|| Cmd1 && cmd2 若cmd1 执行完毕且正确执行($?=0),则开始执行cmd2。 若cmd1 执行完毕为错误执行($? ≠0),则cmd2不执行。 Cmd1 || cmd2 若cmd1 执行完毕且正确执行($?=0),则cmd2不执行。 若cmd1 执行完毕为错误执行($? ≠0),则开始执行cmd2 范例 利用ls 查阅目录 /tmp/f35 是否存在,若存在则利用touch 创建 /tmp/f35/j20 [root@localhost ~]# ls /tmp/f35 && touch /tmp/f35/j20 ls: 无法访问/tmp/f35: 没有那个文件或目录 [root@localhost ~]# mkdir /tmp/f35 [root@localhost ~]# ls /tmp/f35 && touch /tmp/f35/j20 [root@localhost ~]# ls /tmp/f35 j20
也可使用“2>>”将报错讯息追加入一个文件。
例:lt -l 2>> erro
2.5、双重输出重定向 如果用户想将正确的输出结果与错误输出结果 一次性单独地送到不同的地方则可使用下面的 双重输出重定向。
例:ls -l 2> error > results LS -a 2>> error >> results
测试/tmp/f35 是否存在,若不存在则予以创建,若存在就不做任何事情 [root@localhost ~]# rm -rf /tmp/f35/ [root@localhost ~]# ls /tmp/f35 || mkdir /tmp/f35 不清楚 /tmp/f35是否存在,但就是要创建/tmp/f35/j20 [root@localhost ~]# ls /tmp/f35 || mkdir /tmp/f35 && touch /tmp/f35/j20 例题 以ls测试/tmp/df21d 是否存在,若存在侧显示“exist”,若不存在则显示 “not exist”。

linux管道实现原理

linux管道实现原理

linux管道实现原理Linux管道是一种特殊的通信机制,它可以将一个命令的输出作为另一个命令的输入,从而实现多个命令之间的协同工作。

本文将介绍Linux管道的实现原理。

一、管道的基本概念管道是一种特殊的文件,它连接了两个进程,其中一个进程的输出被重定向到管道,而另一个进程的输入则从管道中获取数据。

这种连接方式是单向的,即只能从一个方向传输数据。

在Linux系统中,管道可以通过“|”符号连接两个命令,例如:```$ ls -l | wc -l```这个命令将列出当前目录下的所有文件,并将结果通过管道传递给wc命令统计行数。

二、管道的实现原理管道的实现原理涉及到多个系统调用,包括pipe()、fork()、dup2()、execve()和close()。

1. pipe()系统调用pipe()系统调用用于创建一个管道,它返回两个文件描述符,一个用于读取数据,另一个用于写入数据。

例如:上述代码创建了一个管道,并将两个文件描述符存储在数组fd中。

fd[0]表示管道的读取端,fd[1]表示管道的写入端。

fork()系统调用用于创建一个子进程,它将父进程的所有数据复制到子进程中。

这样,在子进程中可以执行一个命令,并将输出重定向到管道中。

例如:上述代码首先通过fork()函数创建了一个子进程,然后在子进程中将标准输出重定向到管道的写入端。

在父进程中,将标准输入重定向到管道的读取端。

这样,子进程的输出就可以通过管道传递给父进程进行处理。

dup2()系统调用用于将一个文件描述符复制到另一个文件描述符中。

例如:```dup2(fd[1], STDOUT_FILENO);```上述代码将管道的写入端复制到标准输出中,这样子进程的输出就会被重定向到管道中。

execve()系统调用用于执行一个新的程序,并替换当前进程的代码段、数据段和堆栈段。

例如:```execve("/usr/bin/ls", args, envp);```上述代码执行了一个名为ls的程序,并将命令行参数和环境变量传递给它。

linux实验报告--管道、过滤器及重定向

linux实验报告--管道、过滤器及重定向
广东科学技术职业学院
计算机学院
实 验 报 告
专业网络专业班级成绩评定______
学号姓名教师签名赖小卿
实验4题目管道、过滤器及重定向第7周星期1第节
一、实验目的与要求(此栏实验前由老师填写)
掌握输入、输出命令的基本使用方法;
掌握管道的基本使用方法;
二、实验题(答案均以截图方式上交)
关于输出重定向(在11network2目录下进行)
四、心得体会(在学习过程中遇到的困难)
10、使用split命令将list_network文件分割成多个小文件,每个小文件的行数为2。
关于输入重定向
1、使用tr命令将network文件中的h字母转化成大写的H字母;
cat network |tr "a" "A"(不能够直接指定文件名)
ls |tr "[a-z]" "2、使用tr命令将network文件中的h字母转化成大写的H字母,并写入到network1文件中去。
3、练习使用cat >network2 <<!
关于过滤
1、利用管道和grep命令,在上面建立的文件list中查找字符串list。
2、利用管道和wc命令,计算文件list中的行数、单词数和字符数。
三、思考题
5、查看文件list的内容,注意其中两行list文件的信息中文件大小的区别。
6、使用echo命令,在屏幕上显示内容为“happy”的字符串;
7、使用echo命令,将“happy”的字符串写入到network文件中去。
8、设计一个案例,使用2> 将报错的信息重定向到一个文件中去。
9、使用cat命令将list文件和network文件合并成一个文件list_network。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.3 Linux重定向和管道实验目的通过重定向和管道操作:1) 熟悉输入/输出(I/O) 重定向;2) 把标准输出重定向创建一个文件;3) 防止使用重定向的时候覆盖文件;4) 把输出追加到一个现有的文件中;5) 把一个命令的输出导入到另一个命令中。

实验内容与步骤在本实验中将会用到下列命令:pwd:显示当前的工作路径。

cd:改变目录路径。

ls:显示指定目录的内容。

more:分页显示文件的内容。

这是用于显示文本文件的首选方法。

head:截取显示文件的开头部分(默认为开头10行) 。

tail:截取显示文件的结尾部分(默认为最后10行) 。

cal:有关日历的命令。

set:当前shell下定义的一系列变量及其值。

echo:显示变量的值。

ps:显示当前进程的信息。

data:显示或设置系统日期和时间。

grep:查找文件中指定的关键字的行并输出。

步骤1:开机,登录进入GNOME。

在GNOME登录框中填写指导老师分配的用户名和口令并登录。

步骤2:访问命令行。

单击红帽子,在“GNOME帮助”菜单中单击“系统工具”-“终端”命令,打开终端窗口。

1. 使用重定向标准输出符号步骤3:重定向标准输出,创建一个文件。

右尖括号或称大于符号(>) 把命令的输出发送到一个文件中:使用单个右尖括号,当指定文件名不存在的时候,将创建一个新文件;如果文件名存在,它将被覆盖。

(注意:命令、重定向符号和文件名之间的空格是可选的) 。

重定向标准输出命令的格式是:command > file1) 为核实当前所在目录位置,使用什么命令?___pwd________________________________________________________ 如果当前位置不在主目录中,使用什么命令可以改变到主目录中?___cd /__________________________________________________________2) 如果希望把文件和目录列表截获,存储为主目录中的一个文件,这样可以追踪主目录中有什么文件。

使用什么命令,把长文件列表的输出重定向,创建一个叫做homedir.list的文件。

____ls >homedir.list________________________________________________3) 新文件homedir.list被放在哪里?__根目录_________________________________________________________ 使用ls命令核实新文件存在。

4) 使用什么命令,以一次一屏的方式,来查看刚才创建的文件内容?__ls –l|more homedir.list____________________________________________5) 使用head命令截获homedir.list文件的前10行,通过重定向,创建一个叫做dhomedir.list-top-10的新文件。

应该使用什么命令?___head –10 homedir.list >dhomedir.list-tail-10_________________________ 使用more命令查看文件的内容。

6) 使用tail命令,截获homedir.list文件的最后10行,通过重定向,创建一个叫做dhomedir.list-top-10的新文件。

使用什么命令?___tail –10 homedir.list >dhomedir.list-top-10___________________________ 使用more命令查看文件的内容。

7) 截获cal -y命令的输出,把它存到名为calendar的文件中。

查看文件的内容。

截获了什么?___cal –y>calendar |more calendar截获了2008年12个月份的日历8) 截获cal 2010命令的输出,把它存到名为calendar的文件中。

查看文件的内容。

其中有什么内容?_ cal -y 2010 > calendar |more calendar2010年12月份的日历日历有什么变化?____不是2008年,变成2010年了_____________________________________ 步骤4:防止使用重定向的时候覆盖文件。

在bash shell中,一个叫做noclobber的选项可以用来设定防止在重定向的过程中覆盖文件。

可以在命令行中使用$set -o noclobber命令来完成。

o代表选项。

为了重新激活clobber特性,使用$set -o noclobber;撤消则用set +o noclobber。

如果你使用的是csh shell,为了激活/撤消C shell中的clobber特性,使用set noclobber和unset noclobber。

1) 输入命令,打开shell中的noclobber选项。

输入什么命令?___set –o noclobber__________________________________________ _____2) 输入命令ls -l > homedir.list,结果是什么?___bash:homedir.list:cannot overwrite existing file.因为clobber选项防止了重定向过程覆盖文件___________________________________ _ _3) 输入命令ls -l > homedir.list2,结果是什么?___不能重定向成功_______________________________________________ 步骤5:向现有的文件追加输出。

如果想向一个现有的文件追加(添加到末尾) 文本而不是覆盖它,可以使用双右尖括号(>>) 。

这个选项当文件不存在的时候,会创建一个新文件,或者追加到已有文件。

追加命令的格式是:command >> file1) 输入命令,显示“Happy Bday”一行字,使用重定向符号截获输出,把它存到叫做bday4me的文件中。

使用什么命令?____echo “Happy Bday” >>bday4me___________________________________2) 输入命令,显示“YOURNAME!”一行字,使用双重定向符号,把输出追加到bday4me文件中。

查看bday4me文件的内容。

其中有什么?__echo “YOURNAME” >>bday4me________________________ __ __3) 输入命令,显示您出生年月的日历(如果在1985年的6月出生,输入cal 6 1985) ,使用双重定向符号,把输出追加到bday4me文件中。

使用什么命令?___cal 06 1989 >>bday4me___________________________ ___________4) 查看bday4me文件的内容。

注意这3个命令的输出在bday4me文件中已经被组合起来了。

您是在一周中的哪一天出生的?____周一_________________________________________________________ 2. 使用管道符号步骤6:把命令的输出导入到另一个命令中。

1) 使用管道元字符,发送ls -l命令的输出,作为more命令的输入(注意:如果在当前目录中没有太多的文件,使用/etc目录获取长列表) 。

把输出作为more命令的输入的时候,得到什么结果?输入命令ls –l |more 结果以一屏一次的方式显示在屏幕上2) 查看使用ls –l | more命令列出来的文件,注意创建或修改的日期。

为了查看在同一个月被创建或修改的文件或目录的列表,可以使用grep命令对那个月进行搜索。

当月份显示在列表中的时候,指定它(例如:Oct) 。

输入命令ls -1 | grep Oct (或者想查找的月份) 。

结果是什么?____只显示10月的目录___________________________________________3) 目录总是4096字节大小。

输入命令ls -1 | grep 4096。

产生的列表是什么?__4096字节大小的目录显示_______________________________________4) 可以使用多个管道连接多个命令。

输入取得长文件列表输出的命令,把它输入给tail命令,然后到sort命令。

输入的命令是:___ls –l|tail|sort____________________________________________________5) ps (进程状态) 命令用于查看Linux系统中运行什么进程。

把ps -e命令的输出输入给more命令。

-e选项将给出每一个在系统中运行的进程。

把输出输入到more命令中的结果是什么?__输入命令_ps –e|more____显示所有系统中运行的程序_________步骤7:删除在本实验中创建的文件和目录。

步骤8:关闭终端窗口,注销。

可选练习1. 使用set -o命令不指定任何选项,可以查看noclobber特性是否已经打开。

1) 输入set -o。

noclobber特性打开还是关闭的?如果它是关闭的,打开它。

使用什么命令?____关闭set –o noclobber___________________________________________2) 永久的关闭noclobber特性。

使用什么命令?___set +o noclobber________________________________________________2. 可以把管道和重定向组合起来使用,达到特殊的效果。

输入命令创建一个名为top5.list的文件,内容为主目录中的头5行记录,使用什么命令?_____ls –l|head –5 >top5.list__________________________________________实验总结通过前面的实验目的,我学会了1) 熟悉输入/输出(I/O) 重定向;2) 把标准输出重定向创建一个文件;尖括号或称大于符号(>) 把命令的输出发送到一个文件中:使用单个右尖括号,当指定文件名不存在的时候,将创建一个新文件;如果文件名存在,它将被覆盖。

(注意:命令、重定向符号和文件名之间的空格是可选的) 。

3) 防止使用重定向的时候覆盖文件;在bash shell中,一个叫做noclobber的选项可以用来设定防止在重定向的过程中覆盖文件。

相关文档
最新文档