成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用重定向操作符和tee命令將文本寫入Bash中的文件

系統(tǒng) Linux
本文介紹了如何使用重定向操作符和tee命令將文本寫入Bash中的文件。

 編寫B(tài)ash腳本或在Linux命令行上工作時(shí),最常見的任務(wù)之一是讀寫文件。

本文介紹了如何使用重定向操作符和tee命令將文本寫入Bash中的文件。

使用重定向運(yùn)算符寫入文件

在Bash中,輸出的重定向使您可以捕獲命令的輸出并將其寫入文件。

重定向并將輸出寫入文件的一般格式如下: 

  1. output > filename  
  2. output >> filename  

>重定向操作符將輸出寫入給定的文件。如果文件存在,它將被截?cái)酁榱汩L度。否則,將創(chuàng)建文件。使用這個(gè)操作符時(shí)要格外小心,因?yàn)槟憧赡軙采w一個(gè)重要的文件。

>>重定向操作符將輸出追加到指定的文件。如果文件不存在,則創(chuàng)建該文件。

您需要對該文件具有寫權(quán)限。否則,您將收到一個(gè)權(quán)限被拒絕的錯(cuò)誤。

這是一個(gè)簡單的示例,顯示了如何將echo命令的輸出重定向到文件: 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" > linuxmi.txt 

為了防止覆蓋現(xiàn)有文件,請使用set內(nèi)置功能啟用“ noclobber”選項(xiàng): 

  1. linuxmi@linuxmi:~$ set -o noclobber  
  2. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" > linuxmi.txt  

輸出如下:

bash: linuxmi.txt:無法覆蓋已存在的文件

>|操作符允許你覆蓋Bash的" noclobber "選項(xiàng): 

  1. linuxmi@linuxmi:~$ set -o noclobber  
  2. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" >| linuxmi.txt  

>>操作符將輸出追加到文件的末尾,而不是覆蓋文件: 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" >> linuxmi.txt 

使用printf命令創(chuàng)建一個(gè)復(fù)雜的輸出: 

  1. printf "Hello, I'm %s.\n" $USER > Linuxmi.com.txt 

如果要將多個(gè)行寫入文件,請參考Here document(Heredoc)重定向。

例如,您可以將內(nèi)容傳遞給cat命令并將其寫入文件: 

  1. cat << EOF > linuxmi.com.txt 

當(dāng)前的工作目錄是: $PWD

您以以下身份登錄 $(whoami)

EOF

要附加這些行,在文件名之前用>>修改>: 

  1. cat << EOF >> linuxmi.txt 

當(dāng)前的工作目錄是: $PWD

您以以下身份登錄 $(whoami)

EOF

您可以將任何命令的輸出寫入文件: 

  1. linuxmi@linuxmi:~$ date +"Year: %Y, Month: %m, Day: %d" > xxvi.txt 

date命令的輸出將被寫入文件。 

使用tee命令寫入文件

tee命令從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),并同時(shí)向標(biāo)準(zhǔn)輸出和一個(gè)或多個(gè)文件寫入數(shù)據(jù)。 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" | tee linuxmi.txt 

該tee命令的默認(rèn)行為是覆蓋指定文件,與>操作員相同。要將輸出附加到文件,請使用-a(--append)選項(xiàng)調(diào)用命令: 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" | tee -a linuxmi.com.txt 

如果您不希望tee寫入標(biāo)準(zhǔn)輸出,則可以將其重定向到/dev/null: 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" | tee www.linuxmi.com.txt >/dev/null 

要將文本寫到多個(gè)文件中,請指定文件作為tee命令的參數(shù): 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" | tee file_1.txt file_2.txt file_3.txt 

該tee命令的另一個(gè)優(yōu)點(diǎn)是,您可以將其與sudo其他用戶擁有的文件結(jié)合使用并寫入其中。要將文本追加到您沒有寫許可權(quán)的文件中,請sudo在之前加上tee: 

  1. linuxmi@linuxmi:~$ echo "welcome to www.linuxmi.com" | sudo tee linuxmi.txt 

echo命令輸出作為輸入傳遞給tee, tee將提升sudo權(quán)限并將文本寫入文件。

總結(jié)

在Linux中,要將文本寫入文件,請使用>和>>重定向運(yùn)算符或tee命令。 

 

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2018-11-12 14:35:47

BashhereLinux

2010-07-14 14:55:07

Perl操作符

2010-07-13 14:10:44

ICMP協(xié)議

2019-12-18 09:45:24

BashshellLinux

2024-01-07 20:15:49

Python編程語言

2009-08-21 09:30:05

is和as操作符

2010-06-23 16:14:52

Linux Bash

2022-11-17 08:40:14

Linux輸出錯(cuò)誤重定向

2023-06-27 09:21:33

2021-07-01 11:07:49

Swift 自定義操作符

2009-07-21 12:47:04

Scala私有字段定義操作符

2021-10-09 13:48:11

操作符Python運(yùn)算符

2014-01-14 10:22:21

LinuxLinux命令

2020-06-28 07:33:01

source命令BashLinux

2020-11-18 09:29:06

NginxHTTPHTTPS

2021-10-31 18:59:55

Python操作符用法

2016-11-17 15:35:51

RxJava操作Subscriber

2009-07-21 09:31:00

Scala操作符

2009-08-19 17:26:28

C# 操作符

2022-11-10 15:08:44

Linux輸入輸出
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人中文字幕av | 中文字幕av亚洲精品一部二部 | 国产欧美精品一区二区色综合 | 毛片免费观看视频 | 欧美专区在线视频 | 国产成人免费视频网站高清观看视频 | 免费视频一区二区 | 成人在线观看黄 | 国产免费一区 | 精品亚洲视频在线 | 国产在线精品一区二区 | 国产精品久久久久aaaa九色 | 国产一区二区三区四区在线观看 | 超碰免费在线观看 | 91精品国产一区二区三区蜜臀 | 久久av资源网 | 欧美精品久久久 | 久久久久成人精品 | 欧产日产国产精品国产 | 国产精品久久久久久久久免费相片 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 成人av网站在线观看 | 激情 婷婷 | 亚洲欧美国产精品一区二区 | 国产亚洲精品成人av久久ww | 一区二区三区视频免费看 | 在线色网 | 日韩欧美中文字幕在线观看 | 久热精品在线播放 | 亚洲成人三级 | 国产精品久久av | 欧美一区二区三区视频 | 亚洲国产成人精品女人久久久 | 免费观看黄a一级视频 | 一区二区在线看 | 999精品在线 | 亚洲精品不卡 | 91麻豆蜜桃一区二区三区 | 精品久久久久久久久久久久 | 四虎永久 | 日韩视频―中文字幕 |