Linux 笔记 Linux note.doc_第1页
Linux 笔记 Linux note.doc_第2页
Linux 笔记 Linux note.doc_第3页
Linux 笔记 Linux note.doc_第4页
Linux 笔记 Linux note.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux 筆記 Linux noteLinux源起1991 年的十月,有一個名為 Linus Torvalds 的芬蘭赫爾辛基的大學生在comp.os.minix 這個新聞群組上發表了這樣一封內容不怎麼起眼的 POST: Hello everybody out there using minix -Im doing a (free) operation system(just a hobby, wont be big and professional like gnu)for 386(486) AT clones. 這個 Linus 的興趣(hobby)就是 Linux 核心程式 0.02 版的原始碼,當初還是個大學生的 Linus 大概完全沒想到當初被他視為個人興趣的程式,在幾年以後會有超過億萬個使用者,由他自己帶頭開發的作業系統現在已經在世界各地受到普遍的歡迎。 不同於比爾蓋茲寫程式賺錢,Torvalds寫Linux的原始動機,是為了興趣和分享。Linux 是一套 Unix-like 的作業系統,是 Unix 的一種,支援多人多工的作業系統,它控制整個系統基本服務的核心程式 (kernel) 是由 Linus 帶頭開發出來的,Linux 這個名稱便是以Linuss Minix來命名。Linux是依IEEE Std 1003.1-1900 (POSIX.1)及IEEE 1003.2 (POSIX.2) 的標準所設計的,除此之外,Linux也包合了許多其它UNIX 系統標準的特色,例如SVID (System V Interface Document) 以及BSD (Berkeley Software Distribution) 的UNIX。Linus 選擇用大眾公有版權 (GPL,General Public License)的方式來發行這份程式,這個版權允許任何人以任何形式複製與散佈 Linux 的原始程式,正因為此,所以,Linux 實際上是免費的,使用者在網路上就可以抓到 Linux 的原始程式碼,隨心所欲的複製與更改 Linux 的原始程式,在網際網路的日漸盛行以及 Linux 開放自由的版權之下,吸引了無數電腦高手投入開發、改善 Linux 的核心程式,使得 Linux 的功能日見強大,所以今日我們可以在網路上免費下載 Linux 使用,或者花很少費用就可以取得 Linux 光碟, 這都是因為 Linux 是 GPL 版權的緣故。 Linux的吉祥物為一隻企鵝(Tux),是因為 Linus Torvalds在逛澳洲動物園時被一隻小企鵝咬到,所以印象特別深刻喔。Linux作業系統 Unix系統的主要分支,1.BSD系列(加州柏克萊大學) 2.System V 系列(AT&T) 3.AIX系列 (IBM),Linux兼顧了前2者的優點。 Linux遵循可 移植作業系統界面(POSIX; Portable Operating System for unIX)的標準來開發,因此可與 現今的System V與BSD等Unix like系統相容。 Linux系統對於大小寫字母是有區別的。 Linux系統是多人多工的環境,有權限概念。自由軟體基金會自由軟體基金會(Free Software Foundation;FSF)是由Richard Stallman(RMF)在1984年所創立,第一個計畫就是GNU(GNUs Not Unix),目的在推動發展開放原始碼的自由軟體。網址:長久以來GNU在GPL的授權下發展了一堆open的工具,如 Emacs, GCC, 標準的C函式庫等,但是最重要的核心卻一直難產,直到Linux Torvalds發展了Linux這個Unix Like的核心。因此我們應該稱為GNU/Linux 。General Public License (GPL)的精神 GPL 的授權之軟體,乃為自由軟體(Freeware),任何人皆可擁有他。 開發 GPL 的團體(或商業企業)可以經由該軟體的服務來取得服務的費用。 經過 GPL 授權的軟體,其屬於 Open source 的情況,所以應該公布其原始碼。 任何人皆可修改經由 GPL 授權過的軟體,使符合自己的需求。 經過修改過後 Open source 應該回饋給 Linux 社群。Linux系統架構使用者應用程式命令解譯器(Shell)命令與工具系統軟體核心(Kernel)核心模組電腦硬體與週邊核心功能System Calls System call interface Process control Memory management File system management Device drivers Process Control File Control Device Drivers Hardware Interface Linux擁有優異的資源管理與記憶體管理,使用Preemptive Multitasking的行程管理 ,避免特定的行程強佔資源不放,記憶體保護方面分為使用者空間(user space)與核心空間(kernel space),程序的錯誤不會影響到核心的運作1. Linux 核心網址: 2. 核心的版本:uname -r 套件(Distribution)常見的版本有 Ubuntu, Mandriva , Fedora , Debian , SuSE , Slackware , Gentoo , Knoppix等,Linux所有的套件種 類可參考DistroWatch , 若你無法抉擇使用哪一種套件,不妨利用 Linux Distribution Chooser為你決定。Ubuntu 2004年10月首次發佈的Linux套件其衍生自Debian套件,安裝光碟具備Live CD方式開機功能,可在Live CD的作業環境下,立即將系統安裝到指定的硬碟。2006年6月剛釋出最新的6.06 LTS(Long-Term Support)版,即代號Dapper Drake的版本提供三年的桌面支援與五年的伺服器支援,並區分為桌上型電腦與伺服器等應用版本。桌上型版本採用GNOME桌面環境(使用KDE則以 Kubuntu套件另外發布),伺服器版雖然使用文字介面,但核心卻經過效能的調整。Mandriva(原Mandrake)以RedHat架構為藍本,Xwindow改用KDE介面,並自行設計了許多圖形化的設定工具,收錄的軟體不但快也很新,是所有 套件中最具有親和力的一種。Fedora特色為安裝快速方便,由RedHat套件分離出來,使用的package管理系統rpm(RedHat Package Manager)廣為流傳與使用。Debian大家公認結構最為嚴謹的套件,有自己的package管理系統dpk(Debian Package)。SuSE德國發展的套件版本,現已為Novell收購。Slackware完全手工打造,建議老手使用。Gentoo Linux提供相當便利的 Portage 軟體套件管理系統。KNOPPIX Linux Live CD 一片活的CD, 由Debian改裝而來 。Linux安裝Mandrake套件 9.2的安裝步驟與畫面建議硬體 586CPU 256MB RAM 6G HD 知道螢幕的垂直與水平掃描頻率 顯示卡的晶片型號,記憶體大小,安裝套件發行前半年的卡較好 網路卡型號, 可用realtek的螃蟹卡8139c安裝過程調整BIOS 調整時間 調整開機順序 : 可從光碟開機安裝硬體設定一般3鍵滑鼠可選 MS intelliMouse儲存裝置代號 IDE硬碟 /dev/hda-d SCSI硬碟 /dev/sda-p 軟碟 /dev/fd0-1 印表機 /dev/lp0-2 光碟機 /dev/cdrom 滑鼠 /dev/mouse 網路卡 /dev/eth0-* SCSI磁帶機 /dev/st0 IDE磁帶機 /dev/ht0 磁碟陣列 /dev/md0PC 的IDE硬碟裝置代號 MasterSlaveIDE 1 /dev/hda/dev/hdbIDE 2 /dev/hdc/dev/hdd磁碟分割 硬碟的分割區有主要分割區與延伸分割區2種,而一顆硬碟只能有四個分割區,其中只能有一個延伸分割區,或者不劃分延伸分割區,但 因為邏輯分割只能在延伸分割區下切割使用,因此通常都會規劃一個延伸分割區 硬碟分割區的代號從1-4,如/dev/hda1-4, 邏輯分割區則不論是否切完4個分割, 其代號一律從5開始,如/dev/hda5 Linux系統的的分割區有2種 o native:用來儲存實際檔案目錄資料的分割區o swap:虛擬記憶體資料交換使用的分割區(256512MB) 舊的版本需注意BIOS對1024磁柱(8.4GB)的支援, 若未支援1024磁柱時,系統的核心需放置在1024磁柱之前,/boot目錄大約保留500MB 以spfdisk作多重開機說明, swap partition id:82 native partition id:83 linux目錄規劃遵照Linux檔案系統階層式架構標準(Linux file system Hierarchy Standards:FHS) 軟體磁碟陣列 (Software RAID support) o linux以軟體模擬磁碟陣列功能,也支援IDE硬碟喔,只做出RAID0,1,5的規格,必須在安裝時就指定使用 LVM(Logical Volume Management) o 當規劃的分割區空間不夠了,可加上一顆硬碟連結不夠的分割區,方便管理者擴充空間 日誌式檔案系統 (安裝時就要選擇採用的檔案系統) :提供了錯誤復原與稽核的功能 o ReiserFSo Ext3o JFSo XFSLinux開機流程1. 載入 BIOS 的硬體資訊2. BIOS從開機磁碟機的第 0 磁區、第 0 磁柱載入可供開機的磁區, 讀取 MBR 3. 自MBR載入Kernel Loader (亦即是 lilo, grub, spfdisk 等等)開機資訊4. 載入 Kernel 的作業系統核心資訊 (/boot/vmlinuz-xxxx)5. Kernel 執行第一支程式 /sbin/init 並依 /etc/inittab 來決定 不同的run-level0-halt : 關機 1-single user mode : 單人模式 2-Multiuser, with NFS : 3-Full multiuser mode : 文字模式 4-unsed : 目前未指定 5-X11 : X-Windows 6-reboot : 重新開機 6. init執行第一支 script : /etc/rc.d/rc.sysinit 7. 啟動核心的外掛式模組 (/etc/modules.conf)8. init 執行 run-level 的各個批次檔( Scripts )9. init 執行 /etc/rc.d/rc.local 檔案10. getty 監測登入要求,登入前顯示/etc/issue檔 案內容(telnet顯示)11. 執行 /bin/login 程式 , 根據輸入核對/etc/passwd, 登入後顯示/etc/motd檔案內容, 並將登入的訊息紀錄寫入/var/run/utmp與/var/log/wtmp12. 登入之後開始以 Shell 控管主機步驟讀取檔案寫入檔案載入 BIOS 讀取MBR載入Boot Loader(LILO / GRUB)載入核心/boot/vmlinuz-xxxx 核心執行/sbin/init並由 /etc/inittab 取得系統登入狀態/etc/inittabinit執行第一支 script : /etc/rc.d/rc.sysinit 啟動核心的外掛式模組/etc/modules.confinit 執行 run-level 的各個 scripts init 執行 /etc/rc.d/rc.local getty 監測登入/etc/issue, /etc/登入程式 /bin/login/etc/passwd , /etc/motd/var/run/utmp, /var/log/wtmpshell程式接管/bin/bash基本系統操作終端機切換一般的Linux套件皆預設提供了6個文字介面的終端機可供使用(tty1-6),可利用按鍵Alt+F1Alt+F6, 若載入Xwindow後則增加Alt+F7用以切換,但在 Xwindow下切換至文字介面的終端機則還要加上Ctrl。登入,登出,關機登入login登出logout, exit, Ctrl+D 關機halt, poweroff, shutdown -h now 重新啟動reboot, shutdown -r now 觀看硬體資訊dmesg查看系統硬體的資訊。uname看主機資訊。Linux的文件系統與資源線上手冊(man pages)手冊位置:/usr/share/man/ 設定檔:/etc/man.conf man 分類號碼 選項指令名稱-k:尋找出現在哪幾頁以/usr/bin/less檢視時的操作g:第一行G:最後一行/:尋找q: 離開 1.使用者指令8.系統調整指令2.系統呼叫3.函式呼叫4.裝置5.檔案格式6.遊戲7.其它9.核心內部GNU製作的線上文件(infomation)info 指令名稱一般而言,GNU本身的工具會較完整查看相關的man pages中,包含指定關鍵字的文件apropos 關鍵字與 man -k 相同 ,需先makewhatis 查看相關的man pages中,指令的分類whatis 指令名稱查看指令的位置與相關的man pageswhereis 指令名稱一般指令的選項(-help)ls -helpcat -help選項名稱大於1個字元者要加2個-Linux本身提供之技術文件/usr/share/doc/網路資源Mailing List郵件論壇News Groups新聞論壇 LDP, Linux Online, Slashdot, CLDP , BBS檔案系統 檔案系統(File System ; FS)是作業系統(OS)用來儲存與管理檔案的標準。不同的作業系統通常都有自己的檔案系統,而Linux甚至於將硬體與周邊裝置都視為檔案,因此有必要 將FS徹底的瞭解一下 Linux可使用非常多的檔案系統,如Ext2, Ext3, RaiserFs, JFS, XFS 等,可到以下目錄看出支援的格式/lib/modules/uname -r/kernel/fs 若需要將分割區於開機時自動掛載,則需修改/etc/fstab檔 案 檔案與目錄的名稱最多可以有255個字元,且其中不可有空白/etc/fstab 系統開機會自動掛載那些 file system或裝置,是紀錄在 /etc/fstab 這個檔案系統配置檔 。 自動掛載vfat的範例/dev/sda6/mnt/hddvfatiocharset=cp95000 /etc/fstab 每一列包含六個欄位,以空格(一個以上)、tab或兩者同時用來分隔。 o 第一個欄位設定 分割區 的 位置(裝置的路徑) *可利用fdisk -l 先觀察現有的分割情況o 第二個欄位設定分割區要在哪個 掛載點 被 掛載 *這個掛載點必須事先被建立喔 o 第三個欄位設定分割區的 檔案系統 o 第四個欄位設定 mount 要掛載時所使用的 掛 載參數 。 因為不同的檔案系統有不同的參數,可查詢 manpage ( man mount ) 來取得完整的參數列表。 若有兩個以上的選項,需以用逗號分開 defaults代表將自動mount該partition為可讀可寫 noauto表示開機時不要自動掛載 iocharset=cp950支援codepage 950功能,讓vfat partition可以看到中文長檔名 o 第五個欄位被 dump 用來決定這個分割區需不需要被傾 印。有0(不做),1(順位第一),2(順位第二)三種值,正常root file system (/)順位第一,其他ext3,ext2檔案系統順位第二,其他檔案系統填0 o 第六個欄位讓 fsck 決定當系統不正常的關機時,檔案系統要不要作系統 檢查 , 1表示要,0表示不要。 只有ext3,ext2等需要做file system check ext3(Third Extended File System)若選擇將硬碟格式化為ext3格式之後,硬碟會分為4個部分boot blockext3檔案系統中的第一個區塊(block) ,含有啟動程式,負責載入核心super block負責記錄檔案系統的配置方式,例如:i-node數量,可用區塊數量等data block 資料實際儲存的地方,大小為512bytes的倍數 ,預設為4096bytes i-node(index-node) i-node負責記錄一個檔案的資訊,但一個檔案可以有多個i-node來指向它,記錄的資訊有 檔案大小 使用者id:UID 群組id:GID 檔案存取模式:讀取、寫入、執行等 連結的數量:指向的檔案同時有多少個i-node也指向它 檔案最後修改時間 磁碟區塊位址:檔案實際存放的data block位址 間接區塊位址:檔案大小超過一個i-node時的儲存位址與分割相關的指令fdisk語法:fdisk /dev/hda-d範例:fdisk /dev/hdcfdisk 按鍵說明 p看現有partition l看partition system ID n新增分割區d刪除分割區t設定分割區的system id a設定分割區為可開機w儲存分割的結果並離開q不儲存分割的結果直接離開常用的Partition system ID FAT121FAT1632M6FAT32bFAT32(LBA)cFAT(LBA)eNTFS/HPFS7Extended5Linux swap82Linux native83mkfs語法:mkfs -t ext3 /dev/hda-d 1-* 範例:mkfs -t ext3 /dev/hda5 階層式目錄架構Linux檔案系統採用階層式(或稱樹狀式)的目錄架構存放與管理檔案,結構的最上層為root以/來表示,其下有子目錄如 /etc/boot/usr等,不同的儲存裝置都視為檔案,掛(mount)在同一個目錄樹下,與Windows中不同的儲存裝置都有一個獨 立的目錄樹相當的不同。Linux子目錄的名稱可以隨意建立,但有些目錄的存在是有特殊功能或某些目錄的存在是慣例了的緣故,因此不可隨意更改其名稱,但 除了那些為人所知的目錄之外,存放檔案是否有一套標準呢?為避免不同的套件發展後,在檔案系統的命名與習慣不統一,造成使用Linux的門檻,的確有一套 名為FHS的標準,目前最新的版本為2.3,網址為/fhs/Linux file system Hierarchy Standards /lib 系統最基本的動態鏈結函式庫 /home 使用者家目錄 /usr 安裝的程式,文件,原始碼,字型等較靜態的檔案 o /usr/bin、/usr/sbin 一般使用者常用的程式o /usr/lib 一般使用者常用的程式所需的動態鏈結函式庫、靜態檔案庫o /usr/X11R6:X-Window目錄o /usr/src:Linux原始碼o /usr/include:系統頭檔 /dev 裝置設備檔目錄(device) /etc 系統組態設定檔,包含應用程式設定,網路組態設定等 /boot 開機相關檔案與核心,包括了開機管理程式的設定檔,核心檔案:vmlinuz /bin 一般使用者執行程式(binary) /sbin 系統管理員執行程式(binary) /var 紀錄,spool佇列,mailbox,網頁,FTP /proc 為一虛擬目錄,是記憶體的映射,放置核心網路,行程資訊狀態 /mnt 固定裝置掛載點,一般是空的,用來臨時掛載別的檔系統 /media 移動裝置掛載點 /tmp 暫存目錄,可供所有使用者讀寫之用,系統將不定期清除之 /root 管理者家目錄路徑目錄.表示目前所在目錄.表示上一層目錄表示目前使用者家目錄cduser表示指定user的使用者家目錄/根目錄亦可表示絕對路徑:以 / 開始表示連續的階層目錄開機片製作 DOS:rawite file.img a: Linux :dd if=file.img of=/dev/fd0 開機管理程式LILOGRUB grub具有動態搜尋核心檔案的功能,它可以讓您在開機的時候,即時編輯開機設定檔案 grub利用BIOS來決定硬碟,但無法判斷是IDE還是SCSI,因此無法採用 Linux中通用的裝置表示法,而有自己的定義,如(hd0),(hd1,1)等,與實際硬碟的對應要參考 /boot/grub/device.map即可得知 grup的設定檔為/boot/grub/menu.lst GRUB預設將Windows系統設為Other 製作grub開機片#mke2fs /dev/fd0 #mkdir /mnt/floppy #mount -t ext2 /dev/fd0 /mnt/floppy -o loop #mkdir -p /mnt/floppy/boot/grub#cd /boot/grub#cp device.map stage1 stage2 /mnt/floop/boot/grub#cat menu.lst default=0 timeout=10 title Floppy Linux kernel (hd0,1)/boot/vmlinuz root=/dev/hda1initrd (hd0,1)/boot/initrd.gz quit EOF#grub -batch -device-map=/dev/null device (fd0) /dev/fd0root (fd0) setup (fd0) quit EOF若root密碼遺忘,可進入單人模式進行變更密碼: 在grub開機選單中最後一行加入 single,開機後直接輸入passwd root即可 ,詳細步驟請參考 /linux/student_samba/ChangeRootPassword/index.htm 檔案目錄操作命令意義常用參數範例ls列出目錄內容(list)-l, -a ,-luls -la pwd顯示目前工作目錄(print working directory)pwdcd切換目錄(change directory)., -, , /cd mkdir建立目錄(make directory)-pmkdir test rmdir刪除目錄(remove directory)rmdir test touch 檔案建立檔案touch aaa cp 來源檔1. * 目的檔複製檔案(copy)-a, -Rrm 檔案1. *刪除檔案(remove)-i, -r ,-frm -rf test mv 來源檔1. * 目的檔搬移/更改檔案或目錄(move)-bcat 檔案1. *連接/顯示檔案( catenate )-n 或 -number 由 1 開始對所有輸出的行數編號tac 檔案1. *將檔案內容由最後一行往前顯示less 檔案分頁顯示檔案more 檔案分頁顯示檔案(頁尾自動跳離)file 檢查檔案的格式-z:檢查壓縮檔內的檔案的格式file /etc/passwd連結檔Linux/Unix檔案系統中,為了節省硬碟空間資源或便於系統規劃考量,出現了所謂的連結(link)的想法,我們可以將其視為檔 案的別名,而連結又可分為兩種:硬連結(hard link)與符號連結(symbolic link)或稱軟連結(soft link)ln 選項 原始來源檔 目的連結檔硬連結(hard link)這種連結必須在同一個檔案系統下進行,允許對檔案做連結,但目錄則不適用。檔案只佔用一個 inode,因此實際資料只有一份。任何有權限設定連結的人,允許對這個檔案另外取新的檔名;但所有可以讀寫的人,存取的都是相同的一份檔案。這種連結的刪除跟一般檔案相同,由於多人多工的作業系統檔案有使用權限的觀念。所以一個使用者如果胡亂開放檔案的使用權限,就有可能會發生下面的狀況:原檔的擁有者 在刪除檔案後,其實檔案還存在於系統的另一角落。這種連結檔案要真正消失,必須得等到 inode 真的被刪除才算數。也因此,有時系統管理者在刪除使用者帳戶後,檔案系統裡仍舊遺留有該使用者 id 的孤兒檔案。Redhat系列的eth0設定檔位置在 /etc/sysconfig/network-scripts/ifcfg-eth0,這個檔案就是很典型的Hard Link #ls -i /etc/sysconfig/network-scripts/ifcfg-eth08257547 ifcfg-eth0 #find /etc -inum 8257547/etc/sysconfig/networking/devices/ifcfg-eth0/etc/sysconfig/networking/profiles/default/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth0符號連結(symbolic link)或軟連結(soft link)不能連結目錄與不同跨檔案系統的限制,稍後被克服了,這種連結被稱為符號連結(symbolic link)或軟連結(soft link) 。每個連結的檔案或目錄,有自己的 inode,但沒有資料。只有原檔案才是真正擁有資料的實體。也因此,當原檔案被原擁有者刪除後,其他僅只是連結的 inode,就無法正確地找到資料了。基本上,ln 指令以硬連結為預設值;要做符號連結必須使用 -s 選項。檔案比較命令意義常用參數範例diff 檔案1 檔案2進行二檔之比對:顯示差異處comm 檔案1 檔案2進行二檔之比對:相同與差異處皆顯示相同的行:顯示時會被加上有兩個Tab不同的行:沒有Tab的是左邊檔案,一個Tab的是右邊檔案的內容-1: 不顯示左邊檔案的內容 -2: 不顯示右邊檔案的內容-3:不顯示比對相符的內容 cmp 檔案1 檔案2進行二檔之字元比對sum 檔案1 檔案2對檔案的檢查碼作檢查顯示檔案搜尋命令意義常用參數範例find 起始目錄 依條件搜尋實際搜尋硬碟去查詢檔案名稱locate 檔案配合資料庫察看檔案位置updatedbwhich 檔案搜尋執行檔根據pathwhich bash whereis 檔案查看檔案的位置查詢檔案系統狀況命令意義常用參數範例df查看FileSystem的使用狀況-hdu查看指定目錄的使用狀況-h -sfuser察看檔案系統-afuser -a /dev/sda 使用者/檔案/目錄 權限ls -al drwx-8rootroot4096Oct 20 04:22./drwxr-xr-x20rootroot4096Oct 19 13:04./檔案屬性連結數擁有者所屬群組檔案容量修改時間檔案名稱 檔案屬性 o 第0欄:檔案類型d目錄(directory)-檔案(regular file ) l連結檔(symbolic link file ) b區塊裝置(block device file) c字元裝置(charcter device file) ssocket檔(socket file)p管線檔(pipe file) o 第13欄:檔案擁有者屬性( r: 可讀w:可寫x:可執行 ) o 第46欄:檔案所屬群組屬性( r: 可讀w:可寫x:可執行 )o 第79欄:其它人對此檔案之屬性( r: 可讀w:可寫x:可執行 )ps:對目錄而言,可執行的屬性代表著可進入此目錄 /因為不開放執行ls, cd等指令 連結數:佔用了多少個i-node 檔案擁有者:此檔案或目錄的擁有者 檔案所屬群組:此檔案或目錄所屬的群組 檔案容量:檔案的大小 檔案最後被修改的時間:顯示建檔日或最後修改日期(月日時) 檔名:檔案名稱 /以. 開頭的為隱藏檔改變檔案的權限命令意義常用參數範例數字型:chmod 755 檔案/目錄文字型:chmod u=rwx,g+wx,o-x 檔案/目錄 改變檔案的rwx權限-R:含子目錄chown 帳號名稱 檔案/目錄chown 帳號名稱:群組名稱 檔案/目錄改變檔案擁有者(change owner)/etc/passwd中需有定義的使用者-R:含子目錄chgrp 群組名稱 檔案/目錄改變檔案所屬群組(change group)/etc/group中需有定義群組名稱umask 002 可用touch與mkdir映證顯示或更改預設屬性建立檔案時:666-002建立目錄時:777-002一般user預設遮罩:002root預設遮罩:022chattr +-= ASacdistu 檔案/目錄有許多屬性需要root的權限才可設定改變檔案特殊屬性A:設定存取時間不可修改S:設定資料同步寫入磁碟a:設定只能增加,不可刪除c:設定自動壓縮/解壓縮d:設定備份屬性i:設定不可增刪修改,連結也不可j:記錄於日誌中s:設定完全抹除u:設定可用來反刪除lsattr -aR 顯示檔案特殊屬性a:全部檔案,含隱藏檔R:含子目錄ps:以root身份拷貝完檔案後,別忘了可能需要change owner喔 SUID , SGID ls -l /usr/bin/passwd /etc/shadow-r-s-x-x 1 root root 13476 Aug 7 2001 /usr/bin/passwd-rw- 1 root root 2423 Jun 25 14:29 /etc/shadowsuid:請看 /usr/bin/passwd 在使用者執行權限處出現了s ,表示執行此程式之人自動取得檔案擁有者的權限 sgid:若在群組執行權限處出現s ,代表執行此程式之人自動取得此檔案所屬群組的權限Sticky bit ls -l / drwxrwxrwt2rootroot4096Jul 18 13:08 tmp 在tmp目錄的其它使用者執行權限處出現了t,代表設定了sticky bit ,在此目錄中,只有檔案擁有者與root才有權力刪除檔案,可避免在開放權限的共享目錄中,不小心刪除了其它人的檔案。mount , umount mount -a / 依照/etc/fstab的內容,掛載所有的裝置mount /mnt/cdrom/依照/etc/fstab的內容,掛載 cdrom (簡易掛載)mount -t iso9660 /dev/cdrom /mnt/cdrom / 掛上光碟到/mnt/cdrom目錄mke2fs /dev/fd0/製作ext2的軟碟格式mount -t vfat /dev/fd0 /mnt/floppy/掛上 windows檔案系統的軟碟到/mnt/floppy 目錄mount -t ext2 /dev/fd0 /mnt/floppy/掛上 linux檔案系統的軟碟到/mnt/floppy目錄mount -t ext2 /dev/hdc6 /home/掛上linux 檔案系統的分割區到/home目錄mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/usb/掛載usb hd並支援中文與fat32 到/mnt/usb目錄dfumount /mnt/floppy/ 卸載軟碟umount /home /卸載dfshell 命令模式操作提示符號 BASH預設開機時的提示符號為使用者名稱主機名稱 目前所在目錄提示字元 o 例如 : #PS1=uh W$ rootmdk /root # 查詢有哪些提示符號的格式 man bash o 尋找PROMPTING一節 變更提示符號,將提示符號寫入 o 系統設定 : /etc/profile, /etc/bashrco 使用者家目錄 : .bash_profile, .bashrc命令的語法語法:指令選項參數1參數2參數.範例: rm -rf tmpfile abc 命令列的編修GNU readline 現有的許多命令列交談式應用程式 (例如 tcsh, rlab, gdb, psql, lftp, .。 等等) 都和 readline 程式庫連結。 使用者只要學會一套在命令列上操縱鍵盤的方法, 就可以在所有這些應用程式上大幅度提升工作效率。 以下列出常用的按鍵,其餘可參考 readline(3)Ctrl+U刪除游標左邊的部分Ctrl+K刪除游標右邊的部分Ctrl+A移動到命令列的開始處Ctrl+E移動到命令列的末尾處Ctrl+B向左移動一個字元 (backward)Ctrl+F向右移動一個字元 (forward)ESC +B向左移動一個單字ESC +F向右移動一個單字Ctrl+P同 history 向上鍵的使用 (previous) Ctrl+N同 history 向下鍵的使用 (next)Shift-PgUp在tty上,往上捲一頁Shift-PgDn在tty上,往下捲一頁Ctrl+L清除畫面 (clear)Tab命令補齊或檔名補齊Ctrl+C中斷程式執行Ctrl+D登出 / EOFCtrl+I補齊(同 Tab 鍵)Ctrl+J同 Enter 按鍵 Ctrl+M同 Enter 按鍵 Ctrl+O同 Enter 按鍵後再帶出最後一次輸入的指令Ctrl+Z暫停程式執行Ctrl+R命令歷程反向搜尋ESC + 移至命令歷程的最後一列ESC + D 刪除游標右方的一個單字ESC + Bk刪除游標左方的一個單字historyhistory過去的命令記錄history 20顯示20行!或向上的方向鍵叫出最後下的指令! command叫出過去曾用過的指定command! n叫出第n個指令export HISTCONTROL=ignoreboth避免history出現重複的指令檔名擴充字元(filename expansion characters) 萬用字元(asterisk) : /etc/*, /etc/p*, /etc/*conf* 單一字元(question mark) : /etc/us? 範圍(brackets) : /etc/pqr*, /etc/2-3 , 5-8 , /etc/!pqr , file.sh,jpg,png,gif 其它 自動補齊 o 利用TAB鍵作指令或檔案名稱的補齊o 遇有一個以上的補齊方法時, bash會beep一聲提示無法補齊,此時再按下TAB鍵,bash就會將所有可能的狀況列出 命令的說明command_name -help單一命令的求助畫面man command_name | col -b text_file將命令的說明手冊轉向輸出到文字檔Filter 串流過濾指令常用的過濾命令命令意義常用參數範例tee可將標準輸出同時作標準輸出顯示在螢幕與導向儲存為檔案這是管線工人的術語,代表 T 型的管線分叉器 last | tee /tmp/tee.list | cut -d -f1 cut以指定字元切割資料-d:分隔字元-c:第幾個字元-f:第幾個區塊 cut -d : -f 1 /etc/passwd cut -c 1-10 /etc/passwdsort排序資料-t:分隔字元-r:反向排序-f:忽略大小寫-n:以數字型態排序+:起始-:結束sort /etc/termcap sort -r /etc/passwd cat /etc/passwd | sort -t: +2n wc計算行,單字,字元-l:顯示行-w:顯示單字-c:顯示字元wc /etc/httpd/conf/httpd.confnl加行號-v:設定起始編號-i:設定增量編號nl /etc/passwd head顯示檔案開端的前幾行-n:指明顯示的行數head -n 15 /var/log/messagestail顯示檔案尾部的幾行-n:指明顯示的行數tail -n 15 /var/log/messagesgrep文字過濾搜尋:基本型Global Regular Expression Print -i:忽略大小寫-w:顯示完全符合完整字的行-v:顯示不符合的行-r:搜尋包含子目錄grep tty /var/log/messages grep -r broadcast /etc egrep 文字過濾搜尋:延伸型Extended grep fgrep文字過濾搜尋:只找固定的字串Fixed GREP grepuniq刪除鄰近重複的行last | cut -d -f1 | sort | uniq tr取代-d:刪除指定字串-s:取代重複的字元last | tr a-z A-Z cat /etc/passwd | tr -d :cat abc.txt | tr -d r def.txt split分割檔案-b:以檔案大小分割-l:以行數分割split -l 5 /etc/passwd test= testaa, testab, testac. 帳戶管理Linux對於使用者與群組的管理 ,採用類似DNS的助憶方式,即將使用者與群組帳號名稱改以ID來處理,使用者帳號轉換為UID,群組帳號轉換為GID,可觀察/etc/passwd的 第3,4個欄位得知。帳戶資訊查詢命令命令意

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论