該文章是小弟學習linux歸納出來的一些基礎知識,也是做為自己的參考資料,希望各位渴望學習linux的朋友們共同學習。 1、linux分區(qū) --在linux里面所有的設備、任何東西,在linux看來都是文件。 --文件在它看來,有兩種形式: 第一種是字符型(鍵盤輸入、打印機); 第二種是二進制型(硬盤、光驅(qū)、U盤) --linux中所有硬件 --手動分區(qū) --A、至少有兩個分區(qū) / 根分區(qū) SWAP 交換分區(qū)(物理內(nèi)存大小的兩倍) --B、個人桌面分區(qū) / /boot 128MB is enough /usr SWAP /tmp(用于光盤刻錄) 2、linux目錄說明 --/dev/xxyN --xx (分區(qū)所在設備類型:hd--IDE硬盤 sd--SCSI硬盤) --y (標明分區(qū)所在設備 例如:/dev/hda 第一個IDE硬盤 或 /dev/hdb 第二個IDE硬盤 或 /dev/sdb 第二個SCSI硬盤) --N (數(shù)字代表分區(qū):1-4--主分區(qū)或擴展分區(qū);邏輯分區(qū)從5開始! 例如:/dev/hda3 第一個IDE硬盤上的第三個主分區(qū)或擴展分區(qū) /dev/sdb6 第二個SCSI硬盤上的第二個邏輯分區(qū)) 3、linux目錄結(jié)構 / 根目錄,最高級別 /bin 系統(tǒng)基本命令存放目錄(/usr/bin) /boot linux的內(nèi)核及引導系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img) 一般情況下,GRUB或LILO系統(tǒng)引導管理也位于這個目錄 /dev 設備文件存儲目錄,如聲卡、光驅(qū)... /ect 存放系統(tǒng)設置文件(如用戶賬號密碼、服務器配置文件等) /home 普通用戶家目錄,默認存放目錄 /lib 庫文件存放目錄 /lost+found 在ext2或ext3文件系統(tǒng)中,當系統(tǒng)以外崩潰或機器意外關機,而產(chǎn)生一些文件碎片放在這里。 當系統(tǒng)啟動的過程中,fsck工具會檢查這里,并修復已經(jīng)損壞的文件系統(tǒng)。 有事喜用發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或者移文件到原來的位置上。 /media 即插即用型存儲設備的掛載點自動在這個目錄下創(chuàng)建。 如USB盤系統(tǒng)自動掛在后,會在這個目錄下產(chǎn)生一個目錄; 類似cdrom的目錄 /mnt 存放掛載存儲設備的掛載目錄,如cdrom等目錄 /opt 表示可選的意思,有些軟件包也會被安裝在此,也就是自定義軟件包, 比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。 /proc 操作系統(tǒng)運行時,進程(正在運行的程序)信息及內(nèi)核信息(比如CPU、硬盤分區(qū)、內(nèi)存信息等)存放在此。 /proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng) /root linux超級權限用戶root的家目錄 /sbin 大多是涉及系統(tǒng)管理的命令的存放,只有超級權限用戶root才可執(zhí)行命令存放,普通用戶無權限執(zhí)行此目錄下的命令 與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似 (sbin,只有root權限才能執(zhí)行) /tmp 臨時文件目錄,有時用戶運行程序的時候,會產(chǎn)生臨時文件。 /var/tmp目錄和此目錄相似 /usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個目錄下有很多的文件和目錄。 大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務器的配置文件就安裝在/ect中。 /usr/share/fonts 字體目錄 /usr/share/man 或 /usr/share/doc 幫助目錄 /usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執(zhí)行文件目錄 /usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級權限用戶root可執(zhí)行命令存放目錄 /usr/include 程序頭文件存放目錄 /var (vary)此目錄經(jīng)常變動 /var/log 用來存放系統(tǒng)日志 /var/www 用來定義Apache服務器站點存放 /var/lib 用來存放一些庫文件,如MySQL的,以及MySQL數(shù)據(jù)庫的存放地。 4、基本命令 --查看幫助 *** --help *** --? --查看詳細幫助 man *** --登錄 login --退出窗口 exit --關機 shutdown --重啟 reboot --初始化 init (run level -/etc/inittab),0-6看第六部分的g --進入根目錄 cd / --回上層目錄 cd .. --相對路徑 cd dev --絕對路徑 cd /dev --查用戶名 whoami --查當前目錄 pwd --列出當前目錄內(nèi)容 ls -l(樹詳細顯示目錄內(nèi)容) -m(橫列顯示目錄內(nèi)容,是屏幕長度顯示) -a(列出全部文件,包括隱藏文件) -S(以文檔大小排序) --創(chuàng)建目錄 mkdir dname --刪除目錄 rmdir dname rm -r *** -(遞歸刪除該目錄下所有內(nèi)容,詢問每個準備刪除的文件) rm -rf ***-(強制刪除該目錄下所有內(nèi)容,不詢問) --創(chuàng)建空白文件 touch *** (ps:從技術的角度來講,linux的文件后綴名沒有任何意義) --復制 cp cp -r **1 **2 (復制1到2中) --移動 mv mv -t **1 **2 (把2移動到1中) --編輯文本 vi [文件名] --查看文本 cat 由第一行開始顯示文本內(nèi)容 tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫 more 一頁一頁的顯示文檔內(nèi)容 less 與 more 類似,可以往前翻頁 head 只看頭幾行 -N(數(shù)字,可根據(jù)行數(shù)顯示) tail 只看后幾行 -N(數(shù)字,可根據(jù)行數(shù)顯示) nl 顯示的時候,順序輸出行號 od 以二進制位的方式讀取檔案內(nèi)容 --查找文本 find [路徑][查找類型][搜索文件名] 如查找rc.local find /etc -name *.local --查找命令信息及其位置 whereis 命令 如 whereis ls --查看環(huán)境變量 echo $SHELL 如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;) --鏈接 ln 如 ln joe.txt a (硬鏈接,如同復制一個新文件,joe.txt刪除后,a還存在) a是鏈接的名稱,a和joe.txt同步,然后a的內(nèi)容和joe.txt一樣 joe.txt改變,a也跟著變 如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個快捷方式,joe.txt刪除后,b不存在) --wc 統(tǒng)計指定文本文件的行數(shù)、字數(shù)、字符數(shù) --grep(很常用) 在指定的文本文件中查找指定的字符串 grep 字符串 文件名 --col 見管道.. -------------------- ----信息顯示命令---- -------------------- --date 顯示和設置日期 --stat 顯示指定文件的相關信息 --who、w 顯示在線登錄用戶 --whoami 顯示用戶自己的身份 --id 顯示當前用戶的id信息 --hostname 顯示主機名稱 --uname 顯示操作系統(tǒng)信息 --dmesg 顯示系統(tǒng)啟動信息 --du 顯示指定的文件(目錄)已使用的磁盤空間 --df 顯示文件系統(tǒng)磁盤空間的使用情況 --free 顯示當前內(nèi)存和交換空間的使用情況 --fdisk -l 顯示磁盤信息 --locale 顯示當前語言環(huán)境 5、掛載點(mount 設備目錄 掛載目錄) --訪問設備 (那設備當成一個文件,和另外一個文件夾進行綁定) --例如掛載光驅(qū):步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問光驅(qū)內(nèi)容 --卸載掛載設備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現(xiàn)"device is busy"錯誤. 6、startup-shutdown(linux啟動流程) --A、boot sequence(important) linux啟動過程 a. load bios(hardware information) b. read MBR's config to find out the OS (MBR--Master Boot Record,硬盤第一個物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導程序和硬盤分區(qū)表) c. load the kernel of the OS (加載為kernel核心的OS) d. init process starts... (啟動linux第一個進程init) e. execute /etc/rc.d/sysinit (執(zhí)行系統(tǒng)最重要的配置文件,后臺啟用進程) (rc.d--run command) f. start other modules(stc/modules.conf) (開啟各種模塊,如內(nèi)存管理模塊、硬盤管理模塊) g. execute the run level scripts (系統(tǒng)啟動是分層次的,根據(jù)情況執(zhí)行,每個層次之間沒關系) 0 - 系統(tǒng)停機狀態(tài) 1 - 單用戶工作狀態(tài) root 2 - 多用戶狀態(tài)(沒有NFS) 3 - 多用戶狀態(tài)(有NFS) NFS - Network File System 網(wǎng)絡文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng) 4 - 系統(tǒng)未使用,留給用戶 5 - 圖形界面 6 - 系統(tǒng)正常關閉并重新啟動 如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個文件夾,保存著各個層次執(zhí)行的進程文件 h. execute /etc/rc.d/rc.local (重要) (保存其它進程腳本,如tomcat自動啟動,要修改此配置文件) i. execute /bin/login (登錄界面) j. shell started... 7、vi 文本編輯器 --兩種模式:命令模式 編輯模式 --vi [文件名] (切換到編輯模式) a append-光標后添加 i insert-光標前插入 o open-另起一行編輯 esc (切換回命令模式) :w 存盤 :wq 存盤退出 :q 退出 :q! 不存盤退出 dd 刪除其中一行 dw 刪除一個單詞 (sudo gedit 文本 常用linux下的文本編輯器,比vi好用) 8、用戶設置 --切換用戶(switch user) su username 小技巧:直接exit切換 --添加用戶 useradd username [-g] [組名](分配到某個用戶組) (創(chuàng)建后會自動在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username) --設置密碼 passwd username --cd /etc --查看用戶信息 more password 如新增的用戶信息:username:x:500:500::/home/username:/bin/bash 第一個數(shù)字,代表用戶組,當添加用戶沒有指定用戶組時,系統(tǒng)會創(chuàng)建一個和用戶ID一樣的組ID; 第二個數(shù)字:用戶ID號; 用戶的目錄是/home/username; 用戶的SHELL是/bin/bash (命令--->SHELL[解釋命令]--->kenrel內(nèi)核) SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始) --添加用戶組 groupadd groupname --查看用戶組信息 more group --刪除用戶組 groupdel groupname --修改用戶 usermod [-g] [組名] [用戶名] --刪除用戶 userdel username 然后把/home的文件夾刪除了 rm -rf 文件夾 9、權限file privilege --linux把文件的權限分成四種:r:read w:write x:execute -:none 如:-rw-r--r-- lrwxrwxrwx drwxr-xr-x drwxr-xr-x 第一個數(shù)字'-'代表文件,其余是文件夾,后9位分為3組,每組有四種權限設置rwx- 第一位表示文件所有者 第二位表示和所有者在同一用戶組的用戶 第三位表示不在同一用戶組的用戶權限 --設置權限 (隨意應用,靈活組合!) 1、普通用法 --添加權限 [chmod +x 文件] 如:-rw-r--r-- ---> -rwxr-xr-x --刪除權限 [chmod -x 文件] 如:-rwxr-xr-x ---> -rw-r--r-- --給自己添加權限 [chmod ?+x 文件] 如此類推,組--g,其他人--o 如:chmod u+x -rw-r--r-- ---> -rwxr--r-- chmod g+x -rw-r--r-- ---> -rw-r-xr-- chmod o+x -rw-r--r-- ---> -rw-r--r-x 2、專業(yè)用法 chmod 755/777 --原理,八進制轉(zhuǎn)二進制 如755,111 101 101, rwx r-x r-x 777,111 111 111, rwx rwx rwx --修改所有者權限 chown (change owner) 如:chown 原來文件 file1 的所有者是 root,改成joe的 chown joe file1 10、管道(把上一個命令執(zhí)行的結(jié)果交給下一個命令) --使用方法: 命令1|命令2|命令3......|命令n --使用舉例 --$ls -Rl /etc | more (如 ls -Rl /etc (在控制臺模式下,無法返回前面過去的信息),因此需要管道執(zhí)行該查詢,實現(xiàn)分頁的工作, ls -Rl /etc | more) --$cat /etc/passwd | wc (顯示文件結(jié)果,再數(shù)數(shù)有多少行) --$cat /etc/passwd | grep lrj (顯示文件結(jié)果,再查找包含lrj的行) --#dmesg | grep eth0 (顯示系統(tǒng)啟動的信息,再查找包含eth0的行--真正含義,檢查網(wǎng)卡執(zhí)行信息是否正常) --$man bash | col -b > bash.txt 語 法:col [-bfx][-l<緩沖區(qū)列數(shù)>] 補充說明:在許多UNIX說明文件里,都有RLF控制字符。當我們運用shell特殊字符">"和">>",把說明文件的內(nèi)容輸出成純文本文件時,控制字符會變成亂碼,col指令則能有效濾除這些控制字符。 參 數(shù): -b 過濾掉所有的控制字符,包括RLF和HRLF。 -f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來。 -x 以多個空格字符來表示跳格字符。 -l<緩沖區(qū)列數(shù)> 預設的內(nèi)存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。 --$ls -l | grep "^d" (用正則表達式篩選出目錄列表中 頭字母為'd' 的內(nèi)容--目錄)(^是正則表達式開頭部分) --$ls -l * | grep "^-" | wc -l (列出目錄列表中 頭字符為'-'的內(nèi)容--文件,并統(tǒng)計顯示的行數(shù)wc -l) 11、其他命令 --wall(warning all) 通知所有人 a.命令替換 如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r) b.重定向 重定向輸出: 如 ls > cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺 ls >> cmd.txt ,把文件追加寫到cmd.txt 重定向輸入: 如 wall > cmd.txt,把文本內(nèi)容發(fā)給所有人 12、修改系統(tǒng)的默認系統(tǒng)級別 常用3和5 3 - 多用戶狀態(tài)(有NFS) NFS - Network File System 網(wǎng)絡文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng) 5 - 圖形界面 PS.設置用戶權限: sudo chmod 777 目錄 4表示讀,2表示寫,1表示執(zhí)行. 第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權限. 755表示文件所有者可讀寫,執(zhí)行. 第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫. 第三位5表示其它組可讀,可執(zhí)行,不可寫. |