Linux命令和shell编程学习--14章呈现数据
来源:互联网 发布:《算法》pdf 编辑:程序博客网 时间:2024/05/10 21:55
14章呈现数据
#临时重定向./test.sh 2>err.txt#默认情况下,Linux会将STDERR定向到STDOUT#永久重定向exec 1>out.txtexec 0<test.file#从文件获得输入
exec命令告诉shell 在脚本执行期间重定向某个特定文件描述符
创建自己的重定向
在脚本中重定向,不局限于3个默认的文件描述符,shell中最多可以有9个打开的文件描述符。
exec 3>test3outecho this should be stored in the file >&3#exec 3>&1exec 1>test3out#经过以上两步,文件描述符对应的文件已经交换了。同时要知道重定向没有传递性。3对应于显示器,1对应于文件test3outexec 1&3#恢复1的重定向
创建输入文件描述符
exec 4<&0exec 0< testfile....exec 0<&4
创建读写文件描述符
exec 5<>testfileread line<&5echo "add the line" >&5#这个代码实质对testfile进行了替换(如果文件不止一行内容)
使用这种方法要特别小心,因为在向同一个文件进行读取和写入,shell会维护一个内部指针,指明现在在文件中的位置。任何读写都会从文件指针保存到位置开始
关闭文件描述符
exec 3>&-
当关闭了文件描述符之后,如果再使用它,就会报错。
如果之后在脚本中打开了同一个输出文件,文件原有内容会被覆盖。
列出打开的文件描述符
lsof命令可出整个Linux系统打开的所有文件 描述符。
-a:对其他两个选项结果执行布尔AND运算
-p:指定进程($$指当前进程)
-d:指定文件描述符几个
相应的列含义为:
列 描述
COMMAND 正在运行的命令名的前9个字符
PID 进程的PID
USER 进程属主的登录名
FD 文件描述符数目以及访问类型(r=读,w=写,u=读写)
TYPE 文件的类型(CHR=字符型,BLK=块型,DIR=目录,REG=常规文件)
DEVICE 设备的设备号(主设备号和从设备号)
SIZE 文件大小(如果有的话)
NODE 本地文件的节点数
NAME 文件名
创建临时文件
Linux使用/tmp目录作为临时目录,当系统启动时,Linux会自动删除目录下所有文件系统上任何账户都有权限在/tmp中读写。
mktemp命令可以在/tmp中创建一个唯一的临时文件,不使用默认的umask值。文件的读写权限将会分配给文件的属主,并将你设置为文件的属主,其他人无法访问,root除外。
创建本地临时文件
默认情况下,mktemp会在本地目录中创建临时文件
mktemp tmp.XXXXXXXXXX
在temp目录下创建临时文件
mktemp -t test.XXXXX,命令返回全路径名
创建临时目录
mktemp -d dir.XXXXX
记录消息
tee命令,默认情况下,tee命令会在每次使用时覆盖输出文件内容
-a 将数据追加到文件中(append)
who | tee testfile
既显示在屏幕中,又输出到文件中
- Linux命令和shell编程学习--14章呈现数据
- linux shell编程多线程和wait命令学习
- linux shell编程多线程和wait命令学习
- linux shell编程多线程和wait命令学习
- linux shell编程多线程和wait命令学习
- 第五章:shell呈现数据&重定向
- 【shell】呈现数据
- shell -- ch15呈现数据
- Linux命令shell脚本编程学习笔记-18章初识sed和gawk
- Linux命令与shell编程学习-15章控制脚本
- linux命令行与shell脚本大全_第十四章_呈现数据
- Linux进阶命令和Shell编程
- Linux命令,Shell编程
- Linux shell编程 14 ---- 学习shell script
- 《linux命令编辑器与shell编程》学习笔记 第5章 shell
- <Linux命令,编辑器和shell编程>之命令部分读书笔记
- Linux-Shell脚本编程-学习-1-Linux基本命令
- Linux-Shell脚本编程-学习-2-Linux基本命令
- Hotspot CMS 垃圾收集器要退休了?
- 在Github中上传并直接显示pdf文件
- Aandroid:Error:Execution failed for task ':app:processDebugResources'. 的解决办法
- div填充整个页面
- UVALive 7374 Racing Gems - dp,最长上升子序列
- Linux命令和shell编程学习--14章呈现数据
- oracle笔记2
- AR技术应用 の 如何做一个Pokemon GO这只皮卡丘是你的吗?
- 【mysql】order by limit分页数据重复问题
- iOS蓝牙录音
- JZOJ.4714【NOIP2016提高A组模拟8.19】公约数
- Rails中的config.assets.debug配置项
- 找到图中最小有向圈的一个时间复杂度为O(mn)的算法
- 写一个程序,从文件(c:\test.txt)中查出字符串”mobnet”出现的次数?