Windows 到 Linux 之旅:第 2 部分. 控制檯速成班(轉)
Windows 到 Linux 之旅:第 2 部分. 控制檯速成班(轉)[@more@]Linux 控制檯快速指南級別: 初級Chris Walden (cmwalden-at-us.ibm.com)電子商務架構師,IBM Developer Relations2004 年 1 月IBM 電子商務架構師 Chris Walden 將透過他在 developerWorks 上發表的九篇系列文章來指導您如何在 Linux 環境中運用您的 Windows 操作技巧。本部分將介紹各種不同的 shell 和一些最基本的 Linux 命令。Linux 中的所有管理任務都可以在控制檯中完成。許多情況下,使用控制檯比使用圖形化的程式更快捷,而且還可能實現額外的功能。不僅如此,所有的控制檯任務都可以寫到指令碼中,這樣就可以自動執行。為了真正地駕馭您的 Linux 環境,您將希望掌握如何在控制檯中工作。如果您曾經使用過 DOS/Windows,本文將引導您開始使用 Linux 控制檯。進入控制檯如果您的系統引導進入文字模式(為了降低服務開銷,伺服器通常是這樣配置的),那麼您在以文字形式登入後就已經在控制檯中了。在典型的 Linux 系統中,透過組合鍵 Ctrl + Alt + (F1 - F6) 您可以切換到另外的控制檯。每一個控制檯是系統中一個完全獨立的會話,不同的使用者可以同時使用。這一多控制檯的特點與 Windows 中的多桌面不同。在 Linux 中,每一個控制檯可以分別由完全不同的使用者來控制。例如,您可能在控制檯 1 中以 root 身份登入,而在控制檯 2 中以 joeuser 身份登入。兩個控制檯在各自的使用者空間中執行不同的程式。與此類似,不同的使用者可以遠端登入到同一個 Windows 系統中。就這一點來說,Linux 更像是主機而不是簡單的伺服器或工作站。如果您是在圖形模式下,那麼您可以開啟一個 終端 (terminal) 以進入控制檯視窗。通常在桌面的任務條上會有終端的按鈕。您也可以從上下文選單(在桌面上單擊右鍵)開啟終端 。命令在控制檯中可以使用的命令很多。其中有一些實際上只在編寫指令碼時才會用到。這裡介紹一些您最可能用到的命令。不要忘記,所有的命令和選項都區分大小寫。-R 與 -r 不同,會去執行不同的操作。控制檯命令幾乎全都是小寫的。cd使用我們所熟悉的 cd 命令可以在目錄間切換。一定注意的是在 Linux 中用的是正斜槓 (/),而不是您所熟悉的反斜槓 ()。反斜槓也用到了,但只是用來說明命令需要換行繼續,這樣可以提高比較長的命令的可讀性。lsls 命令用於列出一個目錄下的所有檔案。可以使用許多不同的開關更改列表的表示形式:列出檔案ls -l 以長格式列出檔案,包括檔案大小、日期和時間、屬性ls -t 對檔案以時間排序ls -S 對檔案以大小排序ls -r 與一個排序開關組合起來使用,逆序排列。ls -t 將最新的檔案顯示在列表的頂部。ls -t將最新的檔案顯示在底部。ls -h 易讀格式。使用 k、M、G 等來標識檔案的大小,而不是以位元組為單位。ls -a 顯示目錄中所有的檔案,包括隱藏檔案cp使用 cp 命令來複制檔案。這個命令與 DOS 下的 copy 命令基本一樣。基本的開關如下:複製檔案cp -R 遞迴地複製檔案;當需要複製整個目錄時會用到cp -f 強制複製並覆蓋已有的檔案,不詢問使用者cp -l 連結檔案,而不是複製;見下面的說明使用複製命令建立連結用 cp 命令可以建立指向一個檔案或者整個檔案結構的硬連結。使用 -l 開關來指明操作是連結複製。所有的目錄仍作為目錄建立,但所有的檔案會被設定為硬連結。cp -lR /data/accounting/payroll /data/management/hr上面的命令將把整個目錄結構及其下面的檔案從 /data/accounting/payroll 複製到 /data/management/hr/payroll。目錄結構下的所有檔案將被設定為硬連結。這樣使一個檔案在同一個檔案系統中可以具備不同的檢視。這也是有用的安全技術,使得在不同的目錄下對同一檔案有不同的訪問許可權。mv使用 mv 命令來移動和重新命名檔案。這個命令的工作方式基本上與 DOS 中的 move 命令一樣,不過它可以移動整個目錄結構及所有檔案。cat使用 cat 命令來檢視檔案的內容。它相當於 DOS 中的 type 命令。它將把檔案的內容轉儲到另一個檔案、螢幕或者其他命令。cat 是concatenate 的簡寫,還可以將一系列的檔案合併為一個大檔案。more使用命令 more 可以以分頁的方式檢視檔案。它基本上與 DOS 中的 more 命令相同。lessless 命令也是用來檢視檔案,但是它支援上下滾屏以及在文件中進行文字搜尋。vi有一些人可能會說 vi 表示“virtually impossible”。它是 Unix 中的一個歷史悠久的文字編輯器。vi 並不真正直觀,但是現在幾乎所有的類 Unix 環境中都有 vi。對於 Linux 中安裝的版本有一個內建的教程,一旦您熟悉了 vi,只需幾次擊鍵就可以完成不可思議的任務。說實話,沒有任何編輯器能夠取代 vi 來編輯密碼和配置檔案。man使用 man 命令來檢視命令的文件。man 是 manual 的縮寫。幾乎每一個命令都有相應的文件。要深入瞭解 man,請輸入以下命令:man maninfoinfo 命令與 man 命令類似,不過它提供了超連結文字,可以更方便地瀏覽文件。哪個 shell?DOS/Windows 與 Linux 的最重要的區別之一是 Linux 的命令 shell 是與作業系統相分離的一層。不同的 shell 環境影響您具備不同的功能,比如可編輯的命令列和歷史命令回查等。shell 還決定了指令碼中函式的語法。在 DOS/Windows 中,編寫指令碼程式只有一種情況,那就是使用效率低下的 .BAT 檔案。它的確可以完成很多功能,但除了完成那些基本的任務,複雜些的任務就需要指令碼編寫者具有極強的創造性。在 Linux 中,指令碼中可以有迴圈,不僅可以執行基本的條件語句,很多在程式語言中才有的功能它都具備。如果您擅長編寫 .BAT 檔案,那麼 shell 指令碼更會使您大展才華。預設的 shell 是每個使用者帳號的一個引數。Linux 中典型的預設 shell 是 /bin/bash,不過也可以用其他的 shell。每個 shell 的 man 文件實際上都非常好,都對各種 shell 及其使用進行了詳細的說明。僅僅閱讀下面的解釋是不夠的,應該從下面列出的 shell 中選擇一個,去檢視它的 man 文件。bashbash shell 是 Bourne shell 的一個免費版本,它是最早的 Unix shell,包括許多附加的特點。Bash 有可編輯的命令列,可以回查歷史命令,支援 tab 鍵補齊以使使用者避免輸入長的檔名。cshC shell 使用的是“類C”語法,借鑑了 Bourne shell 的許多特點,只是內部 shell 命令集有所不同。kshKorn shell 的語法與 Bourne shell 相同,同時具備了 C shell 的易用特點。許多安裝指令碼都使用 ksh,即使您不把它作為您的主 shell,您也應該在系統中安裝它。tcshTC shell 是 C shell 的一個增強版本,與 C shell 完全相容。zshZ shell 是 Korn shell 的一個增強版本,具備 bash shell 的許多特色。Shell 規則您只需在控制檯中執行相應的命令就可以隨時切換 shell。只要在檔案頂部放置一個井號 (#!) 指向需要的 shell,指令碼就可以指定想要執行的 shell。當指令碼執行的時候,不管使用者所處的 shell 環境是什麼,它都會在正確的 shell 環境中執行。下面例子中的這行程式碼指出指令碼需要在 C shell 下執行:#!/bin/csh給我做連結,這樣就更安全!Linux 檔案系統最重要的特點之一是它的檔案連結。連結是對檔案的引用,這樣您可以讓檔案在檔案系統中多處被看到。不過,在 Linux 中,連結可以如同原始檔案一樣來對待。連結可以與普通的檔案一樣被執行、編輯和訪問。對系統中的其他應用程式而言,連結就是它所對應的原始檔案。當您透過連結對檔案進行編輯時,您編輯的實際上是原始檔案。連結不是副本。有兩種型別的連結:硬連結和符號連結。硬連結 只能引用同一檔案系統中的檔案。它引用的是檔案在檔案系統中的物理索引(也稱為 inode)。當您移動或刪除原始檔案時,硬連結不會被破壞,因為它所引用的是檔案的物理資料而不是檔案在檔案結構中的位置。硬連結的檔案不需要使用者有訪問原始檔案的許可權,也不會顯示原始檔案的位置,這樣有助於檔案的安全。如果您刪除的檔案有相應的硬連結,那麼這個檔案依然會保留,直到所有對它的引用都被刪除。符號連結 是一個指標,指向檔案在檔案系統中的位置。符號連結可以跨檔案系統,甚至可以指向遠端檔案系統中的檔案。符號連結只是指明瞭原始檔案的位置,使用者需要對原始檔案的位置有訪問許可權才可以使用連結。如果原始檔案被刪除,所有指向它的符號連結也就都被破壞了。它們會指向檔案系統中並不存在的一個位置。兩種連結都可以透過命令 ln
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-939305/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Windows 到 Linux 之旅:第 1 部分. Linux 思想(轉)WindowsLinux
- Windows 到 Linux 之旅:第 5 部分. Linux 日誌(轉)WindowsLinux
- Windows 到 Linux 之旅:第 4 部分. 使用者管理(轉)WindowsLinux
- Windows 到 Linux 之旅WindowsLinux
- Windows 到 Linux 之旅:系列文章概述(轉)WindowsLinux
- 將LINUX的控制檯定向到串列埠終端(轉)Linux串列埠
- Windows XP 用控制檯解決PC故障(轉)Windows
- Windows Xp修復控制檯詳細用法(轉)Windows
- Windows 到 Linux 之旅: 系列文章概述WindowsLinux
- linux 控制檯怎麼進去阿?(轉)Linux
- Windows XP 故障恢復控制檯應用例項(轉)Windows
- Windows控制檯的定時器Windows定時器
- 用Windows XP故障恢復控制檯恢復系統(轉)Windows
- IBM-Windows 到 Linux 之旅: 系列文章概述IBMWindowsLinux
- Windows控制檯(cmd)中文亂碼解決方法Windows
- 控制檯程式的事件處理 (轉)事件
- 彙編+qemu玩轉控制檯列印
- JRockitJVM對AOP的支援,第2部分(轉)JVM
- 序列控制檯如何在 Linux 上工作?Linux
- 如何更改 Linux 控制檯上的字型Linux
- Win2K"秘密武器"之登錄檔控制檯工具(轉)
- zookeeper控制檯
- 巧用 Windows 系統控制檯刪除病毒檔案Windows
- win10 怎麼開啟火炬之光2的控制檯_火炬之光2win10開啟控制檯教程Win10
- JAVA控制檯下:控制檯商城購物系統Java
- Mybatis 中將 SQL 查詢記錄到控制檯MyBatisSQL
- 在Linux控制檯下顯示JPEG影像Linux
- Win10系統開啟Windows控制檯的方法Win10Windows
- Windows Console 控制檯、視窗介面切換Windows
- mysql performance schema 第2部分MySqlORM
- Oracle:PL/SQL--開啟控制檯or關閉控制檯OracleSQL
- Windows Phone 部分控制元件的應用Windows控制元件
- rocketmq 管理控制檯MQ
- linux下使用tomcat檢視控制檯資訊LinuxTomcat
- 遙控Linux的控制檯圖形介面薦Linux
- 《Divinuet》的互動音樂系統 – 第 2 部分
- 利用RMAN把ORACLE從WINDOWS轉換到LINUXOracleWindowsLinux
- linux下一些鍵的作用(控制檯下)Linux