10分鐘學會Linux有點誇張,但是可以讓一個新手初步熟悉Linux中最重要最基本的知識,本文翻譯的英文網頁在眾多Linux入門學習的資料中還是非常不錯的。
英文地址:http://freeengineer.org/learnUNIXin10minutes.html
中文譯文如下:
前言
這是我已經在過去的幾年中給學生(CAD用戶培訓)培訓中所使用的材料。
其目的是在一個頁面上就可以使用 UNIX的shell的基礎命令。(這樣他們就沒有打電話問我了)。
本文檔受版權保護,但根據GFDL的條款自由傳播。
對這個頁面有什麼想法嗎?歡迎 給我發送補充,評論,更正,任何你認為是錯誤的或者是應該是包括在內的內容。我總是很高興收到你的來信,請在你的郵件標題中單詞包含“UNIX”的字樣。
1. Directories (目錄)
2. Moving around the file system (在文件系統中移動位置)
3. Listing directory contents(列出目錄內容)
4. Changing file permissions and attributes(更改文件的權限和屬性)
5. Moving, renaming, and copying files(移動,重命名和復制文件)
6. Viewing and editing files(查看和編輯文件)
7. Shells
8. Environment variables(環境變量)
9. Interactive History(交互歷史)
10. Filename Completion(文件名補全)
11. Bash is the way cool shell. (Bash是一個很酷的Shell)
12. Redirection(重定向)
13.Pipes(管道)
14.Command Substitution(命令替換)
15.Searching for strings in files: The grep command (在文件中搜索字符串:grep命令)
16.Searching for files : The find command (搜索文件:find命令)
17.Reading and writing tapes, backups, and archives: The tar command (讀取和寫入磁帶,備份和存檔:tar命令 )
18.File compression: compress, gzip, and bzip2 (文件壓縮:compress,zip和bzip2)
19.Looking for help: The man and apropos commands (尋求幫助:man 和 apropos 命令 )
20.Basics of the vi editor (vi編輯器的基礎知識)
事例:
/ 根目錄
/usr 目錄 usr ( 根目錄/ 的子目錄)
/usr/STRIM100 STRIM100 是 /usr 的一個子目錄
2 在文件系統中移動位置
pwd 顯示當前工作目錄,或顯示當前目錄
cd 改變當前目錄至當前用戶的主目錄
cd /usr/STRIM100 改變當前目錄至目錄 /usr/STRIM100
cd INIT 改變當前目錄至當前目錄的子目錄 INIT
cd .. 改變當前目錄至上一層目錄
cd $STRMWORK 改變當前目錄至環境變量STRMWORK所定義的目錄
cd ~bob 改變當前目錄至用戶bob的主目錄(假如有權限的話)
3 列出目錄內容
ls 列出目錄下內容
ls -l 以長格式 (詳細內容)列出目錄
舉例:
$ ls -l
文件權限 鏈接個數或目錄內容 文件擁有者 所在用戶組 文件大小 日期和時間 文件名 drwxr-xr-x 4 cliff user 1024 Jun 18 09:40 WAITRON_EARNINGS -rw-r--r-- 4 cliff user 767392 Jun 6 14:28 scanlib.tar.gz文件權限中(drwxr-xr-x,-rw-r--r--)
第1位代表文件類型: - = 普通文件, d=目錄, l = 鏈接符號,等等。
第(2,3,4)位代表文件的權限 (除擁有者所在用戶組之外的所有用戶)
第(5,6,7)位代表文件的權限 (和擁有者同組的用戶)
第(8,9,10)位代表文件的權限(對擁有者)
r = 讀, w = 寫, x = 執行 - = 缺失
ls -a
列出當前目錄並且包含隱含文件.隱含文件以"."開頭
ls -ld *
在當前目錄下使用長格式列出所有文件和目錄。
沒有d的話,就是列出所有的所有的文件
有d的話,就是列出所有的文件和目錄
chmod 755 文件更改文件的權限,對擁有者為RWX,對用戶組為其它用戶為RX(7 = rwx = 111的二進制 5 =R-X = 101二進制)
chgrp user file 使文件屬於該組的用戶。
chown cliff file 使用戶cliff成為文件擁有者
chown -R cliff dir 使用戶成為目錄dir的擁有者以及該目錄樹下的所有東西
你必須確保是文件/目錄的擁有者或者擁有Root的權限在你做以上操作之前
cp file1 file2 拷貝文件
mv file1 newname 移動或重命名一個文件
mv file1 ~/AAA/ 移動文件 file1 進入你主目錄下的AAA子目錄
rm file1 [file2 ...] 移除或刪掉一個文件(有區別嗎?)
rm -r dir1 [dir2...] 遞歸刪除一個目錄以及目錄下的內容(小心哦!)
mkdir dir1 [dir2...] 創建目錄
mkdir -p dirpath 創建目錄dirpath,以及該路徑中所有隱含的目錄
rmdir dir1 [dir2...] 移除一個空目錄
cat filename 把文件內容 在ascii中全部導出到屏幕
more filename 漸進的把文件內容全部導出到屏幕,按ENTER = 往下加一行SPACEBAR = 往下加一頁 q=退出
less filename 就像more一樣, 但是你可以使用上一頁,不是所以的系統都支持
vi filename 用VI編輯器編輯一個文件,所有的Unix系統都有某種形式的VI
emacs filename 用emacs編輯器編輯一個文件,不是所有的系統都有emacs
head filename 顯示一個文件的開始幾行
head -n filename 顯示一個文件的前面n行
tail filename 顯示一個文件的最後幾行
tail -n filename 顯示一個文件的最後n行
7 Shells
根據所使用的Shell程序,命令行行為將略有不同
根據所使用的Shell,一些額外的行為可以相當不錯
你可以查看你使用的Shell通過以下口令:echo $SHELL
當然,你可以創建一個包含一連串的shell命令的文件像一個程序一樣執行它,而從完成一個任務。這個叫做shell腳本。
這個事實上是許多shell的主要目的,而不是命令行行為的交互。
你可以教會你的shell去記住一些東西,以便以後使用環境變量。
比如在bash shell環境下:
export CASROOT=/usr/local/CAS3.0 定義了變量CASROOT的值為/usr/local/CAS3.0
export LD_LIBRARY_PATH=$CASROOT/Linux/lib 定義了變量LD_LIBRARY_PATH的值為:變量CASROOT的值加上/Linux/lib,