導航:首頁 > 操作系統 > linux串口重定向

linux串口重定向

發布時間:2022-08-23 00:41:39

⑴ 請解釋linux中的「重定向」的概念,由淺入深!

重定向是個操作系統的概念
它的主要含義是將原本從一個輸入輸出設備的輸入輸出操作,轉向到從另外一個輸入輸出設備進行。
例如:linux系統中sh啟動進程時會默認打開三個輸入輸出文件:標准輸入文件、標准輸出文件和標准錯誤文件(一般情況下是控制台),他們的文件句柄分別是0,1,2,
有時候你需要將進程的輸出輸出到一個文件的時候,你會這樣處理:a>file.txt(假定a是程序名稱)
那麼sh就會將默認的兩個輸出文件1和2改為:file.txt
這就叫重定向。
例如下面的sh命令:a
<fa.txt
1>fo.txt
2>fe.txt
sh就將0的輸入文件該向為:fa.txt,也就是將輸入改為從文件fa.txt
將1輸出文件重定向為:fo.txt
將2輸出文件重定向為:fe.txt
一般這些都是操作系統記得內容,基本上與開發沒有關系,你說gfortran要用重定向,我不太明白。

⑵ linux重定向命令示例

首先創建文件
file1
vi
file1
創建文件
file2
vi
file2
然後vi
file1
你輸入內容,同樣對文件2操作完成輸入之後輸入以下命令
cat
file1
file2
>file3
如果添加新的內容後不想覆蓋已經有的內容則對命令做如下修改
cat
file1
file2
>>file3
這個問題應該不是很難的,找本linux
C編程的書上面都會有的推薦幾本書給你,可以參考下
1、Linux
C編程實戰
2、精通Linux
C編程
3、鳥哥的私房菜

⑶ linux中怎麼實現重定向

在您實現輸出的那行命令後面加上>、>>、<、<<、2>、2>>來實現重定向。
>是每一次重定向時將原先的內容先刪除然後寫入新的數據。
>>是每一次重定向時將新的內容加入到就內容的後面。
<是將指定文件內容重定向到相關命令或者文件中,同時每次執行時先刪除舊的再加入新的。
<<作用同上,只是將新的信息加到舊的信息後面。
2>是將命令執行報錯時,將錯誤信息重定向至指定文件,並且每次執行都會先刪除舊的再加入新的。
2>>和上面一條命里作用一樣,只是將新的錯誤信息加到原來信息的後面

舉例:
1.ls /etc/passwd > user
2.ls /etc/passwd >> user
3.ls idjsoigjs > test
4.ls idjsoigjs >> test
5. mail 用戶名 -s "郵件題目" < file (file是你建的一個文件,裡面內容隨意自己定)
然後輸入 mail 可以看到自己有封郵件題目為(您自定義的名字),輸入相應的數字,您可以按到信件內容為file內容,這就是利用重定向直接將已寫好的信件內容發送出去。
至於1-4的結果,樓主可在輸入完後自行查看user和test的變化來進行對比。

⑷ 為什麼linux串口重定向的時候奇偶校驗無效

打開串口的時候需要設置串口參數,你把串口設置為
偶校驗
,然後就能檢測到錯誤了,還有一個可能,發送的時候你要的串口工具吧,有好多串口工具是不管校驗的,雖然你選了奇校驗,但是沒有使用奇校驗發送

⑸ LINUX控制台怎麼定向到串口終端

利用串口終端作為Linux控制台,可以免去額外的鍵盤,顯示卡和顯示器,同時可將Linux主機作為一個任意用途的嵌入式黑匣。那麼LINUX控制台怎麼定向到串口終端?下面跟著學習啦小編一起來了解一下吧。
LINUX控制台怎麼定向到串口終端
目的: 台機已經裝好Linux,顯示器有問題,平時一般都SSH控制,當Linux網路掛的時候,想通過串口來管理。
硬體:台機自帶兩個串口(上面的是COM1)[under Windows] or ttyS0[under Linux)),筆記本T61p沒有串口,買了個USB轉串口(具體見下圖)。同時需要串口交叉線一根(NULL modem Cable),母對母(公的是針),都是凹口那種。
目標機器:安裝的CentOS 5.2 Linux 內核2.6.18-92.1.22.el5和2.6.18-92.1.22.el5xen
客戶端: Windows XP SP3 IBM OEM. 安裝USB轉串口驅動。
需要把輸出定向到串口,一般有下面幾處:
BIOS中的設置
GRUB設置
/etc/inittab 設置
/etc/securetty 設置
BIOS中的設置
BIOS設置的作用我沒嘗試過,如果是可以連BIOS設置都可以定向到串口,那個強大了。也不知道如何去掉機器需要連鍵盤的限制。沒拿出顯示器所以沒看我台機的BIOS,不過這個功能一般只有伺服器級別的機器有。【注1】台機一般沒有串口重定向功能。
GRUB設置
這里的配置是為了把grub菜單定向到串口,這樣你就可以在串口操作grub,選擇啟動項,使用single mode等等。
同時也要給kernel參數加上console選項。
[root@CentOS5 ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vg00/lv_root
# initrd /initrd-version.img
#boot=/dev/hdb1
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
default=2
timeout=20
#splashimage=(hd0,0)/grub/splash.xpm.gz =>這些在console下會工作不正常,注釋掉。
#hiddenmenu
title CentOS (2.6.18-92.1.22.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root rhgb quiet
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Serial[ttyS0] - Console (2.6.18-92.1.22.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=ttyS0,9600 console=tty0
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Console - serial[ttyS0] (2.6.18-92.1.22.el5) [get more output in serial console]
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=tty0 console=ttyS0,9600
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Xen (2.6.18-92.1.22.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.22.el5
mole /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root rhgb quiet xencons=off
mole /initrd-2.6.18-92.1.22.el5xen.img
title CentOS Xen Serial[ttyS0] - Console (2.6.18-92.1.22.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.22.el5
mole /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=ttyS0,9600 console=tty0
mole /initrd-2.6.18-92.1.22.el5xen.img
title CentOS Xen Console - serial[ttyS0] (2.6.18-92.1.22.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.22.el5
mole /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=tty0 console=ttyS0,9600
mole /initrd-2.6.18-92.1.22.el5xen.img
title Other
rootnoverify (hd0,0)
chainloader +1
後面的console有順序關系,詳見下文【注2】,我常用串口所以console=tty0 console=ttyS0,9600這個順序的輸出信息比較多。
因為我的機器有xen的內核,xen默認情況下會把串口做為xencons,所以這里設置xencons=off.
When multiple consoles are listed output is sent to all consoles and input is taken from the last listed console. The last console is the one Linux uses as the /dev/consoledevice.
/etc/inittab 設置
系統系統後,需要在串口上監聽請求,所以要有個類似伺服器的程序(agetty, mgetty etc)。
/etc/inittab中添加
s0:2345:respawn:/sbin/agetty -L -f /etc/issue.serial 9600 ttyS0 vt100
#s1:2345:respawn:/sbin/agetty -L -f /etc/issue.serial 9600 ttyS1 vt100
#S0:2345:respawn:/sbin/mgetty -r -x 9 ttyS0 ==> mgetty 用來調試比較好,log也豐富。
What is a getty?
A getty is is a program that opens a tty port, prompts for a login name, and runs the /bin/login command. It is normally invoked by init.
所以其他程序就不能再來佔用ttyS0了,串口是獨占模式的吧。
vt100:
vt100 is the terminal emulation. You can use others, but VT100 is the most common or "standard". Another widely used termial type is VT102.
OK都可以了,可以重啟server了。這里如果想測試下串口線,推薦先在Linux啟動下mgetty,因為他的debug信息和log比較豐富,適合排錯和測試。
#mgetty –r –x 9 ttyS0
Log在/var/log/mgetty*中。
/etc/securetty設置
因為一般我們都是使用root登陸串口來維護,所以需要設置root可以在COM1和COM2登陸。
在/etc/securetty中添加:
ttyS0
ttyS1
Windows客戶端連接可以用超級終端或者Putty。
注意啟動server的時候,putty就應該去連接串口了,這樣才可以看到所有信息。
本來正常情況下,接下去kernel的boot信息應該也會打到串口的。但是沒有,確定是Xen內核的關系。
系統啟動起來後,過了init,agetty就起來了,這個時候就可以通過串口登陸了。(在/etc/securetty中需要添加ttyS0)
看過「 LINUX控制台怎麼定向到串口終端 」的人還看了:

⑹ linux中的重定向問題

不管是>>還是2>>都屬於追加重定向。也就說,新重定向的內容不會覆蓋掉原有文件里的內容,而是另起一行。只不過>>,是只對正確的內容或者結果進行重定向;而2>>,只對錯誤的內容或結果進行重定向。
比如原有文件a.txt,裡面有一內容this is a test。現在我執行了命令:ls -l >> a.txt, 那麼這個時候,因為的ls -l這個命令是正確的,所以ls -l 這個命令的結果將會被追加到a.txt中,以行為單位,寫在了this is a test這段內容下面。
相反如果我執行了命令aaaa 2>> a.txt,那麼因為這個命令是錯的,所以會把我執行的aaaa命令之後所提示的錯誤提示(比如: command not found)追加到a.txt,同樣是在this is a test這段話的下面。

而> 和2>卻是不追加,而是覆蓋掉原有內容,其他意思一樣。

⑺ linux重定向的介紹

Linux重定向是指修改原來默認的一些東西,對原來系統命令的默認執行方式進行改變,比如說簡單的我不想看到在顯示器的輸出而是希望輸出到某一文件中就可以通過Linux重定向來進行這項工作。

⑻ linux 的輸入輸出重定向是什麼意思

LINUX默認輸入是鍵盤,輸出是顯示器。你可以用重定向來改變這些設置。比如用wc命令的時候本來是要手動輸入一篇文字來計算字元數的,用了重定向後可以直接把一個已經寫好的文件用『<』指向這條命令,就直接可以統計這個文件的字元數等了。輸出也是一樣,你可以把屏幕輸出重定向到一個文件里,再到文件里去看結果。

閱讀全文

與linux串口重定向相關的資料

熱點內容
php正則class 瀏覽:731
怎麼在文件夾查找一堆文件 瀏覽:536
核酸報告用什麼app 瀏覽:785
u8怎麼ping通伺服器地址 瀏覽:990
安卓什麼手機支持背部輕敲調出健康碼 瀏覽:868
程序員抽獎排行 瀏覽:738
扭蛋人生安卓如何下載 瀏覽:722
什麼app文檔資源多好 瀏覽:922
黑馬程序員APP 瀏覽:146
掌閱小說是哪個app 瀏覽:45
如何把u盤的軟體安裝到安卓機 瀏覽:998
php跑在什麼伺服器 瀏覽:122
編譯器怎麼跳轉到下一行 瀏覽:450
嵌入式py編譯器 瀏覽:324
rplayer下載安卓哪個文件夾 瀏覽:298
安卓手機里的電子狗怎麼用 瀏覽:748
pythonspyder入門 瀏覽:764
趣質貓app是什麼 瀏覽:60
皮帶壓縮機經常吸不上 瀏覽:205
西部隨行版怎樣加密 瀏覽:996