關於Linux詳細介紹可以參見:http://blog.csdn.net/hguisu/article/details/6122513
關於Linux的常用命令可以參見:http://blog.csdn.net/xiaoguaihai/article/details/8705992
1、Linux操作系統的安裝
目前基本上都是基於windows操作系統上的安裝,在安裝在windows上搞得虛擬機上加載安裝Linux系統,主要有CentOS(企業服務用這個比較多)和Unbantu(個人筆記本安裝用這個比較多)兩種使用較多。
2、系統結構

-
內核是操作系統的核心,具有很多最基本功能,它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定着系統的性能和穩定性。Linux 內核由如下幾部分組成:內存管理、進程管理、設備驅動程序、文件系統和網絡管理等。
- shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行,是一個命令解釋器。另外,shell編程語言具有普通編程語言的很多特點,用這種編程語言編寫的shell程序與其他應用程序具有同樣的效果。
目前主要有下列版本的shell。
- Bourne Shell:是貝爾實驗室開發的。
- BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell,大部分linux的發行套件使用的都是這種shell。
- Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容。
-
C Shell:是SUN公司Shell的BSD版本。
- 應用程序
3、文件系統
Linux的文件系統和MS-Windows的文件系統有很大的不同,對於微軟視窗系統的文件結構我在這里不再多說,我們主要了結一下linux的文件系統結構. linux只有一個文件樹,整個文件系統是以一個樹根"/"為起點的,所有的文件和外部設備都以文件的形式掛結在這個文件樹上,包括硬盤,軟盤,光驅,調制解調器等,這和以"驅動器盤符為基礎的MS-Windows系統是大不相同的.Linux的文件結構體現了這個操作系統簡潔清析的設,常我們能夠接觸到的linux發行版本的根目錄大都是以下結構:
/bin /sbin /etc /lost+found /var /boot /root/home /mnt /tmp /dev /lib /proc /usr
現在我將這些目錄給大家做一個簡要的介紹:
- 1. /bin和/sbin:使用和維護UNIX和Linux系統的大部分基本程序都包含在/bin和/sbin里,這兩個目錄的名氣之所以包含bin,是因為可執行的程序都是二進制文件(binary files).
/bin目錄通常用來存放用戶最常用的基本程序,如:
login
Shells
文件操作實用程序
系統實用程序
壓縮工具
/sbin目錄通常存放基本的系統和系統維護程序,如:
fsck fdisk mkfs shutdown lilo init
存放在這兩個目錄中的程序的主要區別是:/sbin中的程序只能由root(管理員)來執行.
- 2. /etc:這個目錄一般用來存放程序所需的整個文件系統的配置文件
其中的一些重要文件如下:
passwd shadow fstab hosts motd profile shells services lilo.conf
- 3. /lost+found:這個目錄專門是用來放那些在系統非正常菪機后重新啟動系統時,不知道該往哪里恢復的"流浪"文件的。
- 4. /boot:這個目錄下面存放着和系統啟動有關系的各種文件,包括系統的引導程序和系統核心部分。
- 5. /root:這是系統管理員(root)的主目錄。
- 6. /home:系統中所有用戶的主目錄都存放在/home中,它包含實際用戶(人)的主目錄和其他用戶的主目錄.
- 7. /mnt:/mnt目錄通常包含一些子目錄,每個子目錄是某種特定設備類型的一個安裝點。
按照約定,像CD-ROM,軟盤,Zip盤,或者Jaz這樣的可以動介質都應該安裝在/mnt目錄下,例如:
/cdrom /floppy /zip /win ....
如果我們要使用這些特定設備,我們需要用mount命令從/dev目錄中將外部設備掛接過來。在這里大家可能看到了有一個win的目錄,這是我的機子上面做的一個通向windows文件系統的掛接點,這樣我通過訪問這個目錄就可以訪問到我在windows下面的文件了。但如果你的windows文件系統是NTFS格式,那么這個辦法就不行了。
- 8. /tmp和/var:這兩個目錄用來存放臨時文件和經常變動的文件。
- 9. /dev:這是一個非常重要的目錄,它存放着各種外部設備的鏡像文件,其中有一些內容我們是要牢牢記住的。例如第一個軟盤驅動器的名字是fd0;第一個硬盤的名字是hda,硬盤中的第一個分區是hda1,第二個分區是hda2;第一個光盤驅動器的名字是hdc;此外,還用modem和其他外設的名字,在這么多的名字中,我們只需要記住最最常用的那幾個外設就可以了。
- 10. /usr:按照約定,這個目錄用來存放與系統的用戶直接相關的程序或文件,這里面有每一個系統用戶的主目錄,就是相對於他們的小型"/"。
- 11. /proc:這個目錄下面的內容是當前在系統中運行的進程的虛擬鏡像,我們在這里可以看到由當前運行的進程號組成的一些目錄,還有一個記錄當前內存內容的kernel文件。
5、常用命令:命令+參數項+所操作文件
- ifcofig 網卡名 IP地址 //配置網絡
- telnet 主機名/IP 端口號 //遠程登錄
- ls : 這個命令就相當於dos下的dir命令一樣,這也是Linux控制台命令中最為重要幾個命令之一。ls最常用的參數有三個: -a -l -F。
- ls -a:Linux上的文件以.開頭的文件被系統視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示 一般文件名外,連隱藏文件也會顯示出來。
- ls -l(這個參數是字母L的小寫,不是數字1):這個命令可以使用長格式顯示文件內容,如果需要察看更詳細的文件資料,就要用到ls -l這個指令。例如我在某個目錄下鍵入ls -l可能會顯示如下信息(最上面兩行是我自己加的):
位置1 2 3 4 5 6 7
文件屬性 文件數 擁有者 所屬的group 文件大小 建檔日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我為大家解釋一下這些顯示內容的意義。
第一個欄位,表示文件的屬性。
Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。
-
-
-
- 第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫"-"表示,則表示這是文件。
- 第2~4個小格表示當前用戶的權限,r--可讀,w--可寫,x--可執行
- 第5~7個小格表示當前用戶所在組的權限,r--可讀,w--可寫,x--可執行
- 第8~10個小格表示其他用戶的權限,r--可讀,w--可寫,x--可執行
-
- Ls -F(注意,是大寫的F):使用這個參數表示在文件的后面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是因為使用了-F這個參數。但是現在基本上所有的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,我們也能看到各種分辨符號。
-
- 顯示當前目錄所有的文件和目錄信息
> ls //list
> ls XX目錄 //查看指定目錄下邊的文件信息
- 顯示當前文件目錄位置
> pwd
- 目錄之間切換
> cd 目錄名字
> cd .. 切換到上級目錄
- 切換到完全命令模式
> init 3 進入命令模式
> init 5 進入可視化操作界面
> init 0 關機
- 用戶切換到超級管理員
> su - root //$是普通用戶 #是超級管理員
> su -
> su root //也可以切換到root用戶,但是沒有超級管理員權限
- 超級管理員切換回普通用戶
> exit
- 查看當前用戶是誰
> whoami
- 輸出一個文件內容
> cat 具體文件
- 創建目錄make directory
> mkdir hello
> mkdir hello/world
> mkdir -p first/second/third //遞歸創建3個目錄
- 給目錄改名字move移動
> mv 舊名字 新名字
> mv book.ods bread.ods
> mv first/second first/six //把second改名字為six
- 移動目錄操作move
> mv 目標 新的地址
> mv bread.ods 目錄
> mv ten/bread.ods first //移動,因為first目錄存在
mv ten/bread.ods firstt //改名字,並且移動文件到當前目錄
mv 目標 地址 //移動,只要地址是存在的目錄就是移動
mv 目標 地址 //改名字,地址只要不存在就是改名字
- 復制操作copy
> cp 源文件 復制文件
> cp -R 目錄 目標目錄 //復制"目錄"需要添加參數-R
> cp 源文件 目標/新的名字 //復制的同時給起一個新的名字
- 刪除目錄、文件
> rm 文件 //刪除單個文件
> rmdir 目錄 //刪除單個目錄
> rm -rf 文件 //可以刪除一切普通的目錄或文件 遞歸recursive 強制force
rm -rf / // kill your self
- 輸出文件內容
> cat 文件 //一次性輸出文件全部內容
> more 文件 //分頁顯示文件內容
敲回車查看下邊的內容,不支持回看
中間停止:q
顯示內容百分比
> less 文件 //分頁顯示文件內容
可以通過上、下、左、右查看文件具體內容
停止:q
沒有百分比顯示
> head -n 文件 //查看文件前n行內容
> tail -n 文件 //查看文件末尾n行內容
- 計算文件行數
> wc 文件 //計算文件行數
- 創建文件
> touch filename //創建文件
- 給文件添加內容
> echo content > filename //給文件添加內容[覆蓋添加內容,原內容被刪除]
> echo 內容 >> filename //給文件追加內容
> echo 內容 >/>> newfilename //會創建一個新的文件,並且有添加內容[重定向方式]
- 給系統增加一個用戶
user add/mod/del
> useradd username //添加一個用戶
該方式創建用戶,並沒有顯示設置用戶的組
> useradd -g NNN 用戶名 //添加用戶並設置組別
> useradd -g NNN -d 目錄 用戶名 //添加用戶並設置家目錄、組別
> useradd -u XXX 用戶名 //添加用戶並顯示設置用戶編號
> usermod -u 用戶編號 -g 組編號 -d 家目錄 用戶名 //修改用戶
> userdel -r 用戶 //刪除用戶,並且刪除家目錄
- 給系統創建組
group add/mod/del
groupadd movie
groupadd music
groupadd -g XXX 組名 //添加組並設置組編號
> groupmod -n 新名字 舊名字 //修改組的名字
> groupdel 組名 //刪除組
- 查看系統用戶信息
> cat /etc/passwd 用戶信息
> cat /etc/group 組的信息
- 查看具體指令使用參數方法
> man 指令
- 給用戶設置密碼
> passwd 用戶名
