日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

RHEL6入门系列之十一,内/外部命令、重定向、管道

發布時間:2024/4/11 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RHEL6入门系列之十一,内/外部命令、重定向、管道 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面一口氣介紹了18個命令,可能大家都已經有些暈了。學習Linux就是這樣,它不像Windows那樣的傻瓜式操作,要想學好Linux是必須要下苦功的。所以,Linux本身就不是一個面向普通用戶的桌面操作系統,而是面向專業運維人員的服務器操作系統。不過大家也沒必要把Linux中的所有命令都一口氣全學完,其實只要掌握了前面這18個命令,就可以說已經通過了Linux入門的第一關,就已經可以來做一些基本操作了。關鍵還在于要反復練習,把基礎打好。

今天主要介紹幾個在Bash中經常用到的基本概念和功能。

一、內部命令和外部命令 內部命令,指的是集成在Shell里的命令,屬于shell的一部分,系統中沒有與命令單獨對應的程序文件。只要shell被執行,內部命令就自動載入內存,用戶可以直接使用。如cd命令等。 外部命令,考慮到運行效率等原因,不可能把所有的命令都集成在shell里,更多的Linux命令是獨立于shell之外的,這些就稱為外部命令。每個外部命令都對應了系統中的一個文件,而Linux系統必須要知道外部命令對應的程序文件所在的位置,才能由shell加載并執行這些命令。如cp、ls等都屬于外部命令。 外部命令的程序文件大都存放在/bin、/sbin、/usr/bin……這些目錄里,Linux系統會默認將這些路徑添加到一個名為PATH的變量里,執行“echo $PATH”命令可以顯示出PATH變量里的保存的目錄路徑(路徑之間用“:”間隔)。 [root@localhost ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 每當要執行一個外部命令時,Linux系統就會先從PATH變量所保存的這些路徑里去尋找命令所對應的的程序文件,只有找到了程序文件才能正確地去執行外部命令。這也就意味著,如果把一個外部命令所對應的程序文件刪了,或者是存放外部命令程序文件的目錄沒有添加到PATH變量里,這些都會導致外部命令無法正常執行,這點我們在以后還會再提到。當然對于我們目前而言,并不需要知道這些外部命令的具體位置,甚至不用刻意地去分辨一個命令到底是內部還是外部命令,因為它們的使用方法都是基本類似的。 明白了內部命令和外部命令的區別之后,下面介紹幾個相關的命令。 1、which命令——查找外部命令所對應的程序文件 which命令用于查找Linux外部命令所對應的程序文件,其搜索范圍由環境變量PATH決定。 如,查找ls命令所對應的程序文件。 [root@localhost ~]# which ls alias ls='ls --color=auto' /bin/ls 執行命令后,首先顯示出系統中所設置的ls命令的別名,然后是ls命令的程序文件“/bin/ls”。 如果要查找的是一個內部命令,那將找不到任何對應的程序文件。 [root@localhost ~]# which cd /usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 2、help命令——查看內部命令的幫助信息 help命令只能查看內部命令的幫助信息。 如,查看pwd命令的幫助信息。

?當用help查看外部命令的幫助信息時則會報錯。
[root@localhost ~]# help ls
-bash: help: no help topics match `ls'.?Try `help help' or `man -k ls' or `info ls'.

對于外部命令,大都可以使用一個通用的命令選項“--help”,以查看命令的幫助信息。 如,使用“--help”選項查看ls命令的幫助信息。

3、man命令——查看命令的幫助手冊

help命令查看的幫助信息較為簡略,如果要查看更為詳盡的幫助信息,可以使用man命令查看指定命令的幫助手冊。 如,查看ls命令的幫助手冊。 [root@localhost ~]# man ls 執行man命令后將進入閱讀環境,按q鍵可以退出。 無論內部命令還是外部命令,都可以使用man命令查看其幫助手冊。 二、重定向 Linux系統中標準的輸入設備為鍵盤,標準輸出設備為屏幕,但在某些情況下,我們希望能從鍵盤以外的其他輸入設備讀取數據,或者將數據送到屏幕外的其他輸出設備,這種情況稱為重定向。Shell中輸入輸出重定向主要依靠重定向符號來實現,重定向的目標通常是一個文件。 1. 輸入重定向 輸入重定向就是將命令中接收輸入的途徑由默認的鍵盤重定向為指定的文件,需要使用“<”重定向操作符。如命令“wc < f1”就表示將f1文件的信息作為wc命令的輸入。 輸入重定向并不常使用,所以這里就不過多介紹了。 2. 輸出重定向 輸出重定向是將命令的輸出結果重定向到一個文件中,而不是顯示在屏幕上。輸出重定向使用“>”或“>>”操作符,分別用于覆蓋、追加文件。 “>”重定向符后面指定的文件如果不存在,在命令執行中將建立該文件,并保存命令結果到文件中。“>”重定向符后面指定的文件如果存在,命令執行時將清空文件的內容并保存命令結果到文件中。 如,查看/etc/passwd文件的內容,并將輸出結果保存到pass.txt文件中。 [root@localhost ~]# cat /etc/passwd > pass.txt 執行該命令后,會在當前目錄下生成一個名為pass.txt的文件,文件中的內容就是“cat /etc/passwd”命令執行的結果。 “>>”重定向操作符可以將命令執行的結果重定向并追加到指定文件的末尾保存,而不覆蓋文件中原有的內容。 如,查看/etc/shadow文件的后3行內容,并將輸出結果追加保存到pass.txt文件中。 [root@localhost ~]# tail -3 /etc/shadow >> pass.txt 三、管道符“|” 通過管道符“|”,可以把多個簡單的命令連接起來實現更加復雜的功能。 管道符“|”用于連接左右兩個命令,將“|”左邊命令的執行結果作為“|”右邊命令的輸入,這樣“|”就像一根管道一樣連接著左右兩條命令,并在管道中實現數據從左至右的傳輸。 如ls命令與more命令使用管道符組合使用便可以實現目錄列表分頁顯示的功能。 如,分頁顯示/etc目錄下所有文件和子目錄的詳細信息。 [root@localhost ~]# ls -lh /etc | more ls命令與grep命令使用管道符組合使用可以只顯示目錄列表中包含特定關鍵字的列表項。 如,顯示/etc目錄下包含有“net”關鍵字的所有文件和子目錄的詳細信息。 [root@localhost ~]# ls -lh /etc | grep net -rwxr-xr-x.?1 root root 1.3K 4月10 2012 auto.net -rw-r--r--.?1 root root74 5月31 2012 issue.net -rw-r--r--.?1 root root?767 11月30 2009 netconfig -rw-r--r--.?1 root root58 5月23 2012 networks drwxr-xr-x.?2 root root 4.0K 1月8 19:14 xinetd.d 如,統計一下/etc目錄下所有以“.conf”結尾的文件的個數。 [root@localhost ~]# ls -l /etc/*.conf | wc –l 44 如,查看/etc/httpd/conf/httpd.conf文件中除了以“#”開頭的行和空行以外的內容。 [root@localhost ~]# grep -v “^#” /etc/httpd/conf/httpd.conf | gerp –v “^$”

總結

以上是生活随笔為你收集整理的RHEL6入门系列之十一,内/外部命令、重定向、管道的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。