導航:首頁 > 程序命令 > 打開pipe的命令怎麼寫

打開pipe的命令怎麼寫

發布時間:2022-11-15 04:30:48

A. linux怎麼利用無名管

無名管道的缺點:
沒有名字,因此無法使用open()打開
只能用於親緣進程間(如父子進程、兄弟進程、祖孫進程等)通信
半雙工工作方式,讀寫端是分開的,pipefd[0]為讀端,pipefd[1]為寫端
寫入操作不具有原子性,因此只能用於一對一的簡單通信
不能用lseek()來定位
具體使用:
1.查看命令: man 2 pipe
2.頭文件:#include <unistd.h>
3、函數原型: int pipe(int pipefd[2]);
a、pipefd[2] :無名管道的兩個文件描述符,int型的數組,大小為2,pipefd[0]為讀端,pipefd[1]為寫端

4、返回值:
成功:返回0
失敗:返回-1

B. 大俠求助,如何用腳本調用pipe一類命令

在monkey中不知有什麼命令。 老師提醒的是用command 調用pipe

C. 管道命令(pipe)使用及與shell重定向區別

管道命令是用來定位輸出,也就是查詢到很多信息只需要其中個別然後可以切割輸出,而重定向是輸出位置不一樣,可以把查詢到的信息輸出到屏幕或者文本或者其他。

D. 請教python如何執行shell管道命令

Python執行Linux系統命令,即在Python腳本中調用Shell命令,具體有以下四種方法:
1、os.system
//僅僅在一個子終端運行系統命令,而不能獲取命令執行後的返回信息
system(command) -> exit_status
Execute the command (a string) in a subshell.
//如果再命令行下執行,結果直接列印出來:
>>> os.system('ls')
04101419778.CHM bash document media py-django video
11.wmv books downloads Pictures python
all-20061022 Desktop Examples project tools
2、os.popen
//該方法不但執行命令還返回執行後的信息對象
popen(command [, mode='r' [, bufsize]]) -> pipe
Open a pipe to/from a command returning a file object.
3、使用模塊 subprocess
>>> import subprocess
>>> subprocess.call(["cmd", "arg1", "arg2"],shell=True)
//獲取返回和輸出:
import subprocess
p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
print line,
retval = p.wait()
4、使用模塊 commands

>>> import commands
>>> dir(commands)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']
>>> commands.getoutput("date")
'Wed Jun 10 19:39:57 CST 2009'
>>>
>>> commands.getstatusoutput("date")
(0, 'Wed Jun 10 19:40:41 CST 2009')

E. Linux系統編程—管道

Linux 實現 IPC 其中的一種方式——管道
管道又分:
1、無名管道:無名管道只能用於有親緣關系的進程。
2、有名管道:有名管道用於任意兩進程間通信。

你就可以把管道理解成位於進程內核空間的「文件」。

給文件加引號,是因為它和文件確實很像,因為它也有描述符。但是它確實又不是普通的本地文件,而是一種抽象的存在。

當進程使用 pipe 函數,就可以打開位於內核中的這個特殊「文件」。同時 pipe 函數會返回兩個描述符,一個用於讀,一個用於寫。如果你使用 fstat函數來測試該描述符,可以發現此文件類型為 FIFO。

而無名管道的無名,指的就是這個虛幻的「文件」,它沒有名字。本質上,pipe 函數會在進程內核空間申請一塊內存(比如一個內存頁,一般是 4KB),然後把這塊內存當成一個先進先出(FIFO)的循環隊列來存取數據,這一切都由操作系統幫助我們實現了。

pipe 函數打開的文件描述符是通過參數(數組)傳遞出來的,而返回值表示打開成功(0)或失敗(-1)。
它的參數是一個大小為 2 的數組。此數組的第 0 個元素用來接收以讀的方式打開的描述符,而第 1 個元素用來接收以寫的方式打開的描述符。也就是說,pipefd[0] 是用於讀的,而 pipefd[1] 是用於寫的。
打開了文件描述符後,就可以使用 read(pipefd[0]) 和 write(pipefd[1]) 來讀寫數據了。

注意事項
1、這兩個分別用於讀寫的描述符必須同時打開才行,否則會出問題。
2、如果關閉讀 (close(pipefd[0])) 端保留寫端,繼續向寫端 (pipefd[1]) 端寫數據(write 函數)的進程會收到 SIGPIPE 信號。
3、如果關閉寫 (close(pipefd[1])) 端保留讀端,繼續向讀端 (pipefd[0]) 端讀數據(read 函數),read 函數會返回 0。

當在進程用 pipe 函數打開兩個描述符後,我們可以 fork 出一個子進程。這樣,子進程也會繼承這兩個描述符,而且這兩個文件描述符的引用計數會變成 2。

如果你需要父進程向子進程發送數據,那麼得把父進程的 pipefd[0] (讀端)關閉,而在子進程中把 pipefd[1] 寫端關閉,反之亦然。為什麼要這樣做?實際上是避免出錯。傳統上 pipe 管道只能用於半雙工通信(即一端只能發,不能收;而另一端只能收不能發),為了安全起見,各個進程需要把不用的那一端關閉(本質上是引用計數減 1)。
步驟一:fork 子進程

步驟二:關閉父進程讀端,關閉子進程寫端

父進程 fork 出一個子進程,通過無名管道向子進程發送字元,子進程收到數據後將字元串中的小寫字元轉換成大寫並輸出。

有名管道打破了無名管道的限制,進化出了一個實實在在的 FIFO 類型的文件。這意味著即使沒有親緣關系的進程也可以互相通信了。所以,只要不同的進程打開 FIFO 文件,往此文件讀寫數據,就可以達到通信的目的。

1、文件屬性前面標注的文件類型是 p
2、代表管道文件大小是 0
3、fifo 文件需要有讀寫兩端,否則在打開 fifo 文件時會阻塞

通過命令 mkfifo 創建

通過函數 mkfifo創建

函數返回 0 表示成功,-1 失敗。
例如:

cat 命令列印 test文件內容

接下來你的 cat 命令被阻塞住。
開啟另一個終端,執行:

然後你會看到被阻塞的 cat 又繼續執行完畢,在屏幕列印 「hello world」。如果你反過來執行上面兩個命令,會發現先執行的那個總是被阻塞。

有兩個程序,分別是發送端 send 和接收端面 recv。程序 send 從標准輸入接收字元,並發送到程序 recv,同時 recv 將接收到的字元列印到屏幕。
發送端

接收端

編譯

運行

因為 recv 端還沒打開test文件,這時候 send 是阻塞狀態的。
再開啟另一個終端:

這時候 send 端和 recv 端都在終端顯示has opend fifo
此時在 send 端輸入數據,recv 列印。

F. 有關於shell的命令,本人剛接觸shell,主要是想知道他具體的命令

Shell基礎:

你可以通過打開Linux的terminal(終端)來執行Shell命令。Shell的種類有很多種,例如CSH,Bourne
Shell,Korn Shell。在現在的大多數Linux發行版中,默認的Shell一般都是Bourne again
shell(bash)。


想看看你的Shell是哪一種,執行下面的命令

echo
$SHELL

在Linux中,$符號代表一個shell變數。所有的shell都用這種方式使用變數。有一些shell變數在你的系統啟動的時候就有了默認值。例如,$SHELL;$LOGNAME是你的登錄名,而$PATH變數指明了你的shell命令的搜索范圍。

echo命令的作用就是列印出你的輸入。如果你的輸入具有shell的特殊意義,例如shell變數,他就輸出變數的值。



一個重要的地方是,你要注意文本的大小寫。例如,ls,是DOS的dir命令的Linux版本。這個命令列出當前工作目錄下的文件列表。如果你輸入的是LS,你得到的只能是「找不到命令」的錯誤信息。

另外在Linux
shell命令中一個重要的地方是,你可以將命令串起來。這是Unix/Linux從第一天開始就有的巧妙的特點。最簡單的將命令連起來的辦法就是使用「|」,我們稱之為「pipe」。第一個命令的輸出就是下一個命令的輸入。
Linux命令有自己的語法規則:

基本的語法就像這樣:

command -option
file

例如:

ls
-la

這行命令的意義是輸出當前目錄的所有文件的文件名,l代表「long」,a代表「all」,有了l選項,你會發現,輸出的內容比較豐富,不只包括文件
名,還有文件的訪問許可權,所有者,所屬組等。你會發現這個命令會在屏幕上輸出大量的信息,如果當前目錄的文件比較多的話。

現在就是「pipe」出場的時候了。

ls
-la | more

你會在屏幕上看到如下信息:



你也可以在大多數Linux命令中使用通配符。通配符就是可以代表文件名中任何未知的字元或字元串。例如,*就代表任意字元串,?代表單個字元。例如:

ls
-l a*

這個命令會列出在當前工作目錄下所有的以小寫a開頭的文件,比如說abc.txt,alpha.jpg等等。

ls
a?cd

這條命令會列出所有以小寫a開頭隔一個未知字元以小寫cd結尾的所有文件。例如adcd,axcd,但是不會列出adfdcd,也不會列出axcd.txt。
一些常用的命令

man:如果你想了解每一個命令代表什麼含義以及他的用法,你就可以使用man(意義為manual)命令,例如:

man
ls

man輸出的內容是為系統管理員和開發者編寫的,如果你想了解更多命令的用法,你可以去找網路上的Linux命令文檔,有一個非常方便的就是丹尼爾·巴雷特的Linux的袖珍指南。

在以前如果你真的想學習Linux和Unix你必須閱讀man手冊。而在2012年的今天,面對如此好用的圖形界面,這句話顯得不是那麼的重要,但是如果你想了解Linux更深,閱讀man手冊仍然是一個好的開始。

su和sudo:su命令的作用是切換用戶,這也被稱為超級用戶,因為在有些系統中su命令可以使你以系統的所有許可權用戶root登錄。除非你是系統管理員,否則我絕不推薦你使用su切換到root,因為這可能給你帶來很多麻煩。

一個相對安全的多的辦法是使用sudo命令,這個命令可以上你以root許可權運行一個命令。

這兩個命令都需要系統密碼。在大多數Linux的桌面發行版中這兩個是相同的,就是你系統的第一個用戶設置的密碼。

grep:grep是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。例如:

grep
foo /etc/passwd

返回在password文件中所有的含有foo的行

grep -i 「foo」
/etc/passwd

-i選項是忽略大小寫,這就意味著若某一行含有FOO或FOo也會被搜索到。

grep還支持遞歸搜索:

grep
-r 「foo」
/home/sjvn

這條命令將會搜索/home/sjvn目錄及其子目錄下所有的包含「foo」的行

grep也通常與其他命令串連起來使用,例如:

ls
-la | grep
foo*

列出當前目錄下任何以foo開頭的文件或目錄。例如如下文件將被匹配:foo,foobar,foolish.txt等等。

ps:報告進程的狀態。此命令將顯示哪些程序正在運行。我使用PS和grep比其他任何命令使用的都要多。

現在假如你有一個程序運行出了錯誤,你不能再桌面上把他關掉,(我看準你了,火狐),我運行如下命令就能查看他的進程id:

ps
-ef | grep firefox

這條命令做了如下事情:

kill -9
1234

·第一,他找出所有當前在我的電腦上運行的程序

·然後grep命令找出這些文件中叫「firefox」的,顯示到屏幕上。

·每一行都有一個進程id數字。有了,現在我就可以是用...

kill:這條命令就想他的名字一樣,他可以幹掉指定的進程。幹掉運行錯誤的firefox或者其他我想幹掉的進程。

kill
1234

這將會幹掉所有進程id為1234的程序。為了確保這個程序已經被幹掉(強行終止),我使用下面的命令。

clear:如果你覺得你的屏幕上有太多的東西,看起來很討厭,可以使用clear命令清空。
文件/目錄命令

cp:cp代表,就是復制,他可以復制一個或多個文件到指定的一個或多個目錄下。

一個通常的用法是:

cp
fred.txt ethel.txt

把fred.txt中的內容復制到當前文件夾中名為ethel.txt中

cp fred.txt
/home/sjvn/docs/fred.txt

把fred.txt復制到指定文件中。

cp *.txt
/home/sjvn/docs/

復制當前目錄下所有以.txt結尾的文件到指定的目錄下。

cp -r
/home/sjvn/docs/*
/home/sjvn/backup

遞歸的復制在/home/sjvn/docs/目錄下的所有文件到指定的文件夾。

hostname:顯示你當前登錄進去的計算機的名稱。

mv:mv(意義為move)顧名思義就是移動,可以移動指定文件到指定位置。當然這個命令有的時候還可以用來實現重命名。

例如:

mv
fred.txt
ethel.txt

這條命令的作用你可以簡單的認為是重命名fred.txt為ethel.txt。

當然此命令還有其他用法,此處不再一一羅列,用法與cp類似,只是這條命令不再保留原文件。

rm:rm代表remove,是刪除的意思,所以我運行:

rm
fred.txt

我將刪除fred.txt。

我強烈推薦你在執行rm命令的時候使用-i選項。這兒選項將在你執行命令的時候詢問你是否要真的刪除文件。就像這樣:

rm
-i fred.txt
系統信息

uname:uname
-a命令用一行簡短的給你總結的電腦的基本信息。這通常包括你的電腦名稱,Linux內核版本,你的發行版名稱等。



對於更詳細的信息,你可以使用cat命令,他可以顯示你的Linux電腦中的文本信息。

cat
/proc/cpuinfo

展示你的CPU的重要的統計。

cat
/proc/version

展示你的當前運行的Linux發行版的詳細信息。

cat
/etc/printcap

展示你當前安裝的列印機。

set | more:
set|more

組合命令可以給你更多的呢當前的桌面環境變數的信息。單如果你只是想知道你系統環境變數中的某一個或兩個,可以執行如下命令:

echo
$PATH

結束或者說是另一個開始

這里給你展示的只不過是Linux命令的表皮。成百上千的書和網站可以給你更多更復雜的如何使用Linux命令的展示。本文只是讓你在想了解比Linux
Gui更深一層時的參考。

G. 在C語言中實現 UNIX中的輸入\輸出重導向,管道(pipe「|」),和後台工作(「&」)命令

要想自行實現
那麼就需要從命令行讀取識別>和<
在解析出>/<之後, 讀取下一個參數,作為重定向文件名
然後,在程序中, 通過freopen 打開重定向文件。
至於管道 就麻煩的多,因為要把輸出 作為其他程序輸入
這樣 需要把輸出保存在緩沖中,調用參數程序,然後把緩沖數據作為參數程序的輸入。

H. centos 怎樣寫linux命令

Linux的常用基本命令。
首先啟動Linux。啟動完畢後需要進行用戶的登錄,選擇登陸的用戶不同自然許可權也不一樣,其中「系統管理員」擁有最高許可權。
在啟動Linux後屏幕出現如下界面顯示:
……
Red Hat Linux release 9 (Shrike)
Kernel2.4.20.8 on an i686
login:
輸入:root(管理員名)後,計算機顯示輸口令(password:),輸入你的口令即可。當計算機出現一個「#」提示 符時,表明你登錄成功!
屏幕顯示Linux提示符:[root@localhost root]#_
這里需要說明的是「Red Hat Linux release 9 (Shrike)」表示當前使用的操作系統的名稱及版本。「2.4.20.8」表示Linux操作系統的核
心版本編號。「i686」表示該台電腦使用的CPU的等級。
下面我們來介紹常用基本命令
一,注銷,關機,重啟
注銷系統的logout命令
1,Logout 注銷是登陸的相對操作,登陸系統後,若要離開系統,用戶只要直接下達logout命令即可:
[root@localhost root]#logout
Red Hat Linuxrelease 9(Shike)
Kernel2.4.20.8 on an i686
Login: ← 回到登陸的畫面
2,關機或重新啟動的shutdown命令
Shutdown命令可以關閉所有程序,依照用戶的需要,重新啟動或關機。
參數說明如下:
 立即關機:-h 參數讓系統立即關機。範例如下:
[root@localhost root]#shutdown –h now ← 要求系統立即關機
 指定關機時間:time參數可指定關機的時間;或設置多久時間後運行shutdown命令,範例如下:
[root@localhost root]#shutdown now ← 立刻關機

[root@localhost root]#shutdown +5 ← 5分鍾後關機
[root@localhost root]#shutdown 10:30 ← 在10:30時關機
 關機後自動重啟:-r 參數設置關機後重新啟動。範例如下:
[root@localhost root]#shutdown -r now ← 立刻關閉系統並重啟
[root@localhost root]#shutdown -r 23:59 ← 指定在23:59時重啟動
3,重新啟動計算機的reboot命令
顧名思義,reboot命令是用來重新啟動系統的。常用的參數如下:
 -f 參數:不依正常的程序運行關機,直接關閉系統並重新啟動計算機。
 -I 參數:在在重新啟動之前關閉所有網路介面。
雖然reboot命令有個參數可以使用,但是一般只需要單獨運行reboot命令就可以了
二,文件與目錄的操作
1,列出文件列表的ls命令
ls(list)命令是非常有用的命令,用來顯示當前目錄中的文件和子目錄列表。配合參數的使用,能以不同的方式顯示目錄內容。範例
如下:
 顯示當前目錄的內容:
[tony@free tony]$ ls
Desktop mail myinstall.log test.txt ← 有兩個目錄及兩個文件夾
 當運行ls命令時,並不會顯示名稱以「.」開頭的文件。因此可加上「-a」參數指定要列出這些文件。範例如下:
[tony@free tony]$ ls –a
 以「-s」參數顯示每個文件所有的空間,並以「-S」參數指定按所有佔用空間的大小排序。範例如下:
[tony@free tony]$ ls –s –S
總計36
4 Desktop 4 mail 24 myinstall.log 4 test.txt
 在ls命令後直接加上欲顯示的目錄路徑,就會列出該目錄的內容。範例如下:
[tony@free tony]$ ls –l/usr/games
2,切換目錄的cd命令
cd(change directory)命令可讓用戶切當前所在的目錄。範例如下:
[tony@free home]$ cd tony ← 切換到當前目錄下的tony子目錄

[tony@free tony]$ cd .. ← 切換到上一層目錄
[tony@free home]$ cd / ← 切換到系統根目錄
[tony@free /]$ cd ← 切換到用戶主目錄
[tony@free tony]$ cd /usr/bin ← 切換到/usr/bin目錄
3,創建目錄的mkdir命令
Mkdir(make directory)命令可用來創建子目錄。下面的範例會在所在目錄下創建tool子目錄。
[tony@free tony]$ mkdir tool
4,刪除目錄的rmdir命令
rmdir(remove directory)命令可用來刪除「空」的子目錄。範例如下:
[tony@free tony]$ rmdir tool ← 刪除tool目錄
5,復制文件的cp命令
cp()命令可以將文件從一處復制到另一處。一般在使用cp命令將以個文件復製成另一個文件或復制到某個目錄時,需要指定原始文件
名與目的文件名或目錄。範例如下:
[tony@free tony]$ cp data1.txt data2.txt ← 將data1.txt復製成data2.txt
[tony@free tony]$ cp data3.txt /tmp/data ← 將data3復制到/tmp/data目錄中
 顯示復制過程:加入-v參數可顯示命令執行過程。範例如下:
[tony@free tony]$ cp zip.txt zip2.txt ← 一般狀態下不會顯示復制過程
[tony@free tony]$ cp –v zip.txt zip3.txt ← 以-v顯示復制過程
zip.txt ->zip3.txt
 遞回復制:加入「-R」參數可同時復制目錄下的所有文件及子目錄。範例如下:
[tony@free tony]$ cp –v –R * backup ← 將所有文件(含子目錄文件)復制到backup目錄
6,刪除文件或目錄的rm命令
rm(remove)命令可以刪除文件或目錄。範例如下:
[tony@free tony]$ rm myfile ← 刪除指定的文件
[tony@free tony]$ rm * ← 刪除當前目錄中的所有文件
rm命令的常用參數如下:
 強迫刪除:使用-f參數時,rm命令會直接刪除文件,不再詢問。範例如下:
[tony@free tony]$ rm –f *.txt ← 強迫刪除文件

 遞回刪除:-r 也是一個相當常用的參數,使用此參數可同時刪除指定目錄下的所有文件及子目錄。範例如下:
[tony@free tony]$ rm –r data ← 刪除data目錄(含data目錄下所有文件和子目錄)
[tony@free tony]$ rm –r * ← 刪除所有文件(含當前目錄所有文件,所有子目錄和子目錄下的文件)
 強制刪除指定目錄:當使用-r參數刪除目錄時,若該目錄下有許多子目錄及文件,則系統會不間斷地詢問,以確認您的確要刪除
目錄或文件。若已確定要刪除所存目錄及文件,則可以使用-rf參數,如此一來,系統將直接刪除該目錄中所有的文件及子目錄,不再詢問。范
例如下:
[tony@free tony]$ rm –rf tmp 強制刪除tmp目錄及該目錄下所有文件及子目錄
 顯示刪除過程:使用-v 參數。範例如下:
[tony@free tony]$ rm –v
7,讓顯示畫面暫停的more命令
為了避免畫面顯示瞬間就閃過去,用戶可以使用more命令,讓畫面在顯示滿一頁時暫停,此時可按空格鍵繼續顯示下一個畫面,或按Q鍵停
止顯示。
 當使用ls命令查看文件列表時,若文件太多則可以配合more命令使用。範例如下:
[tony@free bin]$ ls –al more
 單獨使用more命令時,可用來顯示文字文件的內容。範例如下:
[tony@free tony]$ more data.txt
8,連接文件的cat命令
cat(concatenate) 命令可以顯示文件的內容(經常和more命令搭配使用),或是將數個文件合並成一個文件。範例如下:
 逐頁顯示 preface.txt的內容:
[tony@free tony]$ cat preface.txt more
 將preface.txt 附加到outline.txt文件之後:
[tony@free tony]$ cat preface.txt >> outline.txt
 將new.txt和info.txt合並成readme.txt文件:
[tony@free tony]$ cat new.txt info.txt >readme.txt
9,移動或更換文件,目錄名稱的mv命令
mv (move)命令可以將文件及目錄移動到另一個目錄下面,或更換文件及目錄的名稱。範例如下:
[tony@free backup]$ mv a.txt .. ← 將a.txt文件移到上層目錄

[tony@free backup]$ mv z1.txt z3.txt ← 將 z1.txt改名成z3.txt
[tony@free backup]$ cd.. ← 切換到上一層目錄
[tony@free tony]$ mv backup.. ← backup 目錄上移一層
10,顯示當前所在目錄的pwd命令
pwd(print working directory)命令可顯示用戶當前所在的目錄。範例如下:
[tony@free tony]$ pwd
/home/tony ← 當前所在目錄為「/home/tony」
11,查找文件的locate命令
locate 命令可用來搜索包含指定條件字元串的文件或目錄。範例如下:
[tony@free tony]$ locate zh_CN 列出所有包含「zh_CN」字元串的文件和目錄。
由於locate命令是從系統中保存文件及目錄名稱的資料庫中搜索文件,雖然系統會定時更新資料庫,但對於剛新增或刪除的文件、目錄,
仍然可能會因為資料庫尚未更新而無法查得,此時可用root身份運行updatedb命令更新,為此資料庫得內容正確。
12,搜索字元串得grep命令
grep 命令可以搜索特定字元串來並顯示出來,一般用來過濾先前得結果,避免顯示太多不必要得信息。範例如下:
[tony@free etc]$ grep text *.conf ← 搜索當前目錄中擴展名為.conf且包含「text」字元串得文件。
grep:amd.conf: ← 拒絕不符許可權得操作
grep:diskcheck.conf: ← 拒絕不符許可權得操作
grep:grub.conf ← 拒絕不符許可權得操作
 若您是使用一般許可權的用戶運行,上例的輸出結果會包含很多如「拒絕不符許可權的操作之類的錯誤信息,可使用-s參數消除。
[tony@free etc]$ grep –s text *.conf
13,重導與管道
重導(redirect)可將某命令的結果輸出導文件中,它有兩中命令:「>」和「>>」。「>」可將結果輸出到文件中,該文件原有的內容會被
刪除:「>>」則將結果附加到文件中,原文件內容不會被清除。範例如下:

[tony@free tony]$ ls –a>dir.txt ← 將ls –a命令執行結果輸出到dir.txt文件。
[tony@free tony]$ cat data1.txt >> data2.txt ← 將 data1.txt 內容附加到data2.txt文件之後。
通道(pipe)命令的符號是「」,可將某命令的結果輸出給另一命令,一下範例將ls命令的輸出結果傳給grep命令過濾:
[tony@free etc]$ ls gerp conf ← 搜索並顯示ls命令運行結果中包含有「conf」字元串
在舉一個刪除文件或目錄的例子,可以利用yes命令重復輸出「y」字元的特性,將結果傳給rm命令,如此即可避免重復輸入「y」:
[tony@free tony]$ yes rm –r mydir
三,使用光碟及軟盤
在Linux的文字模式下要使用光碟或軟盤,並不是只將光碟或軟盤放入即可,用戶需要運行載入的命令,才可讀寫數據。所謂載入就是將存
儲介質(如光碟和軟盤)指定成系統中的某個目錄(如/mnt/cdrom或mnt/floppy)。通過直接存取此載入目錄,即可讀寫存儲介質中的數據。
以下就來看看文字模式下的載入及卸載命令。
1,載入的mount命令
要使用光碟時先把光碟放入光碟機,然後執行載入的mount命令,將光碟載入至系統中:
[tony@free tony]# mount/dev/cdrom/mut/cdrom ← 載入光碟
同理,使用軟盤之前也需要和光碟一樣,必須先載入後才能使用:
[tony@free tony]# mount/dev/fd0/mut/floppy ← 載入軟盤
2,卸載的umount命令
如果不需要使用光碟或軟盤,則需先執行卸載命令之後,才能將光碟或軟盤退出。範例如下:
[tony@free tony]# umount / mnt/cdrom ← 光碟卸載
在不使用軟盤時執行umount 命令卸載軟盤,再將軟盤拿出
[tony@free tony]# umount / mnt/ ← 軟盤卸載
四,在後台運行程序
用戶有時的程序有可能要花費很多時間,如果將它放在前台運行,將導致無法繼續做其他事情,最好的方法就是將它放在後台運行,甚至
可能希望在用戶注銷系統後,程序還可以繼續運行。讓我們看看那如何實現這一目的。

1,在後台運行程序的&、bg命令
將程序放到後台運行的最簡單方法就是在命令最後加上「&」,範例如下:
[tony@free root]# updatedb & ← 在後台執行 locate 資料庫更新命令
[tony@free root]# bg ← 將更新操作放到後台運行
2,前台運行的程序fg命令
如果用戶當前已有程序在後台運行,可以輸入fg命令,將它從背景中移到前台運行:
[tony@free root]# fg ← 放到前台執行的命令會顯示出來
3,在退出後讓程序繼續運行的nohup命令
此命令可使用戶退出系統後,程序繼續運行。範例如下:
[tony@free rony]$ nohup myserver &
然後用戶就可以退出了,當再次登錄的時候,可以用ps –aux命令看到程序仍在後台中運行。
五,任務調度命令
計算機有很多程序需要周期性的被運用,例如清理磁碟中不要的暫存檔、備份系統數據、檢查遠程伺服器的郵件等。對於這些重復性的工
作,其實不需要每次都辛苦地運行這些程序。可利用任務調度命令,指定系統定期在某個時間運行這些程序,輕輕鬆鬆完成想要執行的工作。
任務調度的crond常駐命令
crond 是Linux用來定期執行程序的命令。當安裝完成操作系統後,默認便會啟動此任務調動命令。crond命令每分鍾會定期檢查是否有要
執行的工作,如果有要執行的工作,便會自動執行該工作。由於任務調度中間的操作過程十分繁雜,我們只將任務調度文件的寫法介紹給大家
,供大家參閱:
Minute Hour Day Month DayOfWeek Command
在這段文字中除了「Command」是每次都必須指定的欄位以外,其他自動皆可視需求自行決定是否指定。
六,任務調度的系統工作
/ect/crontab/文件是Linux系統工程的任務調度設置文件,其默認的內容如下:
SHELL=/bin/bash ← 指定執行任務調度工作時所使用的SHELL
PATH=/shin:/bin:/usr/sbin:/usr/bin ← 指定命令搜索的路徑
MAILTO=root ← 指定將輸出結果給root用戶
HOME=/ ← 指定跟目錄

I. 收集CMD語言命令

樓主問的應該是[運行]的命令吧,不是CMD的命令,
Windows常用命令集

winver---------檢查windows版本

wmimgmt.msc----打開windows管理體系結構(wmi)

wupdmgr--------windows更新程序

w腳本--------windows腳本宿主設置

write----------寫字板

winmsd---------系統信息

wiaacmgr-------掃描儀和照相機向導

winchat--------xp自帶區域網聊天

mem.exe--------顯示內存使用情況

msconfig-----------啟動

msconfig.exe---系統配置實用程序

mplayer2-------簡易widnows media player

mspaint--------畫圖板

mstsc----------遠程桌面連接

mplayer2-------媒體播放機

magnify--------放大鏡實用程序

mmc------------打開控制台

mobsync--------同步命令

dxdiag---------檢查directx信息

drwtsn32------ 系統醫生

devmgmt.msc--- 設備管理器

dfrg.msc-------磁碟碎片整理程序

diskmgmt.msc---磁碟管理實用程序

dcomcnfg-------打開系統組件服務

ddeshare-------打開dde共享設置

dvdplay--------dvd播放器

nslookup-------ip地址偵測器

net stop messenger-----停止信使服務

net start messenger----開始信使服務

notepad--------打開記事本

nslookup-------網路管理的工具向導

ntbackup-------系統備份和還原

narrator-------屏幕「講述人」

ntmsmgr.msc----移動存儲管理器

ntmsoprq.msc---移動存儲管理員操作請求

netstat -an----(tc)命令檢查介面

syncapp--------創建一個公文包

sysedit--------系統配置編輯器

sigverif-------文件簽名驗證程序

sndrec32-------錄音機

shrpubw--------創建共享文件夾

secpol.msc-----本地安全策略

syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼

services.msc---本地服務設置

sndvol32-------音量控製程序

sfc.exe--------系統文件檢查器

sfc /scannow---windows文件保護(掃描錯誤並復原)

tsshutdn-------60秒倒計時關機命令

tourstart------xp簡介(安裝完成後出現的漫遊xp程序)

taskmgr--------任務管理器 (2000/xp/2003)

eventvwr-------事件查看器

eudcedit-------造字程序

explorer-------打開資源管理器

packager-------對象包裝程序

perfmon.msc----計算機性能監測程序

progman--------程序管理器

regedit.exe----注冊表

rsop.msc-------組策略結果集

regedt32-------注冊表編輯器

rononce -p ----15秒關機

regsvr32 /u *.dll----停止dll文件運行

regsvr32 /u zipfldr.dll------取消zip支持

cmd.exe--------cmd命令提示符

chkdsk.exe-----chkdsk磁碟檢查

certmgr.msc----證書管理實用程序

calc-----------啟動計算器

charmap--------啟動字元映射表

cliconfg-------sql server 客戶端網路實用程序

clipbrd--------剪貼板查看器

conf-----------啟動netmeeting

compmgmt.msc---計算機管理

cleanmgr-------垃圾整理

ciadv.msc------索引服務程序

osk------------打開屏幕鍵盤

odbcad32-------odbc數據源管理器

oobe/msoobe /a----檢查xp是否激活

lusrmgr.msc----本機用戶和組

logoff---------注銷命令

iexpress-------木馬捆綁工具,系統自帶

fsmgmt.msc-----共享文件夾管理器

utilman--------輔助工具管理器

gpedit.msc-----組策略

J. 關於linux中管道的問題 pipe();

管道是進程間通信的一種方式,用到fork(),你可以參看bash的源碼,看它是如何實現的。
這還需要一些編譯原理方面的知識,至少要知道命令行分析等。

閱讀全文

與打開pipe的命令怎麼寫相關的資料

熱點內容
如何在vps上搭建自己的代理伺服器 瀏覽:742
nginxphp埠 瀏覽:401
內臟pdf 瀏覽:150
怎麼看雲伺服器架構 瀏覽:83
我的世界國際服為什麼登不進伺服器 瀏覽:994
微盟程序員老婆 瀏覽:928
intellij創建java 瀏覽:110
java連接odbc 瀏覽:38
啟動修復無法修復電腦命令提示符 瀏覽:359
手機編程是什麼 瀏覽:98
山東移動程序員 瀏覽:163
蘇州java程序員培訓學校 瀏覽:477
單片機液晶驅動 瀏覽:854
魔拆app里能拆到什麼 瀏覽:130
新預演算法的立法理念 瀏覽:144
wdcpphp的路徑 瀏覽:134
單片機p0口電阻 瀏覽:926
瀏覽器中調簡訊文件夾 瀏覽:594
五菱宏光空調壓縮機 瀏覽:68
為什麼app佔用幾百兆 瀏覽:680