Mac终端学习(四):重定向和管道

首先我们先做出一个A.java,输出一些简单的内容。

A.java

命令1(重定向):java A > out
作用:执行java程序A,把它在标准输出的结果写到名为out的文件里

命令2(重定向):java A < in
作用:执行java程序A,将in中的文本当做输入


组合命令1和2:java A < in > out


在执行一个程序的时候,它的标准输入和标准输出可以被我们重定向到文件里面,使它可以从文件里读数据,往文件里面写数据。


命令3(管道):ls | more
作用:可以让ls的输出拿过来当做右侧more的输入,而more是按照一屏一屏的显示,所以最后是把ls的结果按一屏一屏的显示出来
Tips:按q退出


命令4:more [文件名] (cat [文件名])
作用:查看文件内容


命令5:cat > [文件名]
作用:向文件里写文本
Tips:按control+d


命令6:touch [文件名]
作用:仅仅使修改时间发生变化,而不改变文件内容

其他作用:touch [不存在的文件名]
效果:创建0字节的新文件


命令7:tail
作用:列出文件的最后几行


扩展命令:ls /usr/bin | tail -n 50
作用:列出最后50行

扩展命令:ls /usr/bin | tail -n 50 | more
作用:将得到的结果分屏显示

扩展命令:tail -f [文件名]
作用:若有程序持续向该文件写入内容,则可以实时查看该文件的内容


快捷键:control+z
作用:暂停一直在运行的程序

命令8:bg
作用:搭配control+z使用,把刚才暂停下来的程序放到后台运行
Tips:如果此时想中断该程序,只能使用px命令查看进程,获取到进程号后,根据进程号杀掉该进程

命令9:java A.java > log.txt &
作用:直接在后台运行A.java,并将输出结果写入log.txt

终端学习系列:
Mac终端学习(一):基本操作
Mac终端学习(二):操作历史
Mac终端学习(三):进程管理
Mac终端学习(四):重定向和管道
Mac终端学习(五):万能的grep
Mac终端学习(六):环境变量
Mac终端学习(七):网络配置

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器