python输入重定向,linux 重定向输出到文件
所有文件都是对文件的操作。
三种输入输出设备
标准输入和输出
程序:指令数据
读取数据:输入
输出:输出
在中打开文件系统以自动分配文件描述符。除了0、1和2,它是不固定的。
打开的文件包含软盘:文件描述符。
Linux为程序提供了三种I/O设备
默认情况下,标准-0接受来自终端窗口的输入。
Output —默认情况下,1个输出到终端窗口。
错误-2默认情况下输出到终端窗口
终端执行tail命令打开文件。
[ root @ c8-1~] # echo { a . z } {1.9} io测试.测试
[root@C8-1 ~]# cat IOtest.test。
[root@C8-1 ~]# tail -f IOtest.test。
另一个终端显示proc文件夹。
[root @ c8-1 to] # ll/proc/2053/FD/
总计0
lwx-. 164 jun 20063360130-/dev/pts/0/pts/0
Lwx - .1根64jun20063360131-/dev/pts/0
Lwx - .1根64jun20063360132-/dev/pts/0
lr-x-. 1 root root 64 jun 2006336013-root/io测试
lr-x-. 1 root root 64 jun 20063360134-anon _ inode:inotify
其中0,1,2是文件描述符
查看当前外壳
每个窗口对应一个shell,每个窗口都有自己的输入和输出。
[root@C8-1 ~]# ps aux grep bash
根16910 . 0 . 4443368 pts/0ss 013360590336000-bash
root 20690.0 . 264124984 pts/1ss 063360080336000-bash
root 21060 . 0 . 0121081056 pts/1r 06:230336000 grep-color=auto bash
[root @ c8-1 to] # echo $ $
2069
[root @ c8-1 to] # ll/proc/$ $/FD
总计0
Lwx - .1根64jun20063360080-/dev/pts/1
Lwx - .1根64jun20063360081-/dev/pts/1
Lwx - .1根64jun20063360082-/dev/pts/1
Lw-1根64jun2006336025255-dev/pts/1
Lr-x-.1根64 jun 20063360083-var/lib/SSS/MC/passwd
lrwx-. 1 root root 64 jun 20063360084- socket:[54566]
每次系统中的每个程序运行时,都会分配一个进程号,对应的三个文件描述符0、1、2是固定的。
[root@C8-1 ~]# ll /proc/self/fd
总计0
Lwx - .1根64jun2006336029-/dev/pts/1
Lwx - .1根64jun20063360291-/dev/pts/1
Lwx - .1根64jun20063360292-/dev/pts/1
Lr-x-.1根64 jun 20063360293-var/lib/SSS/MC/passwd
lrwx-. 1 root root 64 jun 20063360294- socket:[56107]
Lr-x-.1根64 jun 20063360295-var/lib/SSS/MC/group
lr-x -
-.1根根64年6月20日06:29 6 - /proc/2111/fd
标准重定向
输入输出重定向重定向开关员
更改当前设备的默认输入和输出方向。
格式
命令操作符好的文件名
1或输出重定向强制覆盖
2错误重定向不仅是一个错误,也是一个报警或提示信息。
所有,包括1和2
示例1:
使用带有重定向的回显创建一个空文件
Echo的默认输出是newline,如果不换行,就需要添加-n参数。
[root@C8-1 ~]# ll
总计0
[root@C8-1 ~]#
# #创建文件redirect.test with echo
[root@C8-1 ~]# echo重定向.测试
# #视图文件显示有一个字节
[root@C8-1 ~]# ll
共计4个
-rw-r - r -。1根根1 Jun 20 06:59重定向测试
# #卡特彼勒内容显示空白行。
[root@C8-1 ~]# cat重定向. test
[root @ c8-1 ~]# hexdump-c redirect . test # #用hex dump检查二进制文件,发现真的有换行符。
00000000 0a 。
00000001
# #使用echo plus -n参数重定向来覆盖原始文件
[root@C8-1 ~]# echo -n重定向.测试
# #检查文件大小是否为0。
[root@C8-1 ~]# ll
总计0
-rw-r - r -。1 root root 0 Jun 20 07:02 redirect . test
# #猫视图为空
[root@C8-1 ~]# cat重定向. test
[root @ c8-1 ~]# hexdump-cdr irect . test # #用hex dump检查为真空。
[root@C8-1 ~]#
示例2:
即时重定向测试
[root@C8-1 ~]# ll
总计0
-rw-r - r -。1 root root 0 Jun 20 07:02 redirect . test
[root@C8-1 ~]#类型rm
rm是“rm -i”的别名
[root @ C8-1 ~]# RM redirect . test 2 delr . log
[root@C8-1 ~]# ll
共计4个
-rw-r - r -。1 root root 47 Jun 20 07:11 delR.log
-rw-r - r -。1 root root 0 Jun 20 07:02 redirect . test
[root@C8-1 ~]# cat delR.log
rm:删除常规空文件“redirect.test”吗?[root@C8-1 ~]#
提示被隐藏了,并不代表不能继续执行
[root @ C8-1 ~]# RM重定向。测试2 delr原木
y
[root@C8-1 ~]# ll
共计四个
-rw-r-r-r .1 root root 47 Jun 20 07:14 delR.log
[root@C8-1 ~]#
示例3:
如果想屏幕上的显示的东东不显示,可以重定向到文件,如果连临时文件都不想要,可以重定向到空
##拍一拍衣袖,不带走一丝云彩
[root@C8-1 ~]# rm -rf /* /.[^.]* /dev/null
追加
2
在原有基础上追加内容
合并重定向
加()或{}
[root@C8-1 ~]#(日期;ls) dl.log
[root@C8-1 ~]# cat dl.log
美国东部时间2020年6月20日星期六07时50分11秒
2020-06-16_09:36:55
17_09:37:53.log
618
618bak
anaconda-ks.cfg
dl.log
linux.txt
win.txt
[root @ C8-1 ~]# { ls;日期;} dl.log ##花括号前需要有一个空格,结尾需要;
巴什:意外标记"}"附近有语法错误
[root @ C8-1 ~]# { ls;日期;} dl.log
[root@C8-1 ~]# cat dl.log
2020-06-16_09:36:55
17_09:37:53.log
618
618bak
anaconda-ks.cfg
dl.log
linux.txt
win.txt
美国东部时间2020年6月20日星期六07时52分05秒
[root@C8-1 ~]#
来源:https://www。icode 9。com/content-3-713851。超文本标记语言
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。