《LINUX學習:Linux基礎之常用命令集錦圖文詳解》要點:
本文介紹了LINUX學習:Linux基礎之常用命令集錦圖文詳解,希望對您有用。如果有疑問,可以聯系我們。
Linux根基之常用命令練習-init,who,date,cal,man,clear,passwd,su,whoami,mkdir,touch,rm,cp,mv,head,tail,more,less,echo
開啟Linux操作體系,要求以root用戶登錄GNOME圖形界面,語言支持選擇為漢語
使用快捷鍵切換到虛擬終端2,使用通俗用戶身份登錄,查看系統提示符
使用敕令退出虛擬終端2上登錄的用戶
使用快捷鍵切換到虛擬終端5,使用治理員身份登錄,查看系統提示符
使用敕令退出虛擬終端5上登錄的用戶
切回圖形界面,右單擊桌面打開終端,輸入封閉系統的命令
查看哪些用戶在系統上事情
改動當前時間為2018年8月26號11:28
查看2015年10月份日歷
使用兩種辦法查看ls命令的使用說明
肅清屏幕
使用“useradd tom”命令新建tom用戶,為tom用戶設置暗碼“123”
切換當前用戶為tom
查看當前登岸Linux系統所使用的用戶名
使用“useradd tom”命令新建tom用戶,為tom用戶設置暗碼“123”
切換當前用戶為tom
查看當前登岸Linux系統所使用的用戶名
開啟Linux操作體系,要求以root用戶登錄GNOME圖形界面
右擊桌面打開終端,使用“useradd lucy”命令創立lucy用戶
使用鼠標點擊的辦法進入根目錄
點擊進入root用戶的家目次
點擊進入lucy用戶的家目次
點擊進入用來寄存常用的可執行文件的目錄
點擊進入用來寄存系統的可執行文件的目錄
點擊進入設備文件目次
點擊進入配置文件目次
?
創立目錄wg
使用絕對路徑的辦法在wg目錄下新建文件a.txt
進入wg目次
使用相對路徑的辦法在當前目錄下新建wg01目錄和b.txt文件
以長列表格局列出當前目錄下的內容
刪除空目次wg01
進入上一級工作目次
強制刪除非空目次wg
復制/etc/passwd到當前目次,名為file1
PS.更新,復制/etc/passwd到當前目次,名為file2
?
不絕的以只讀的方式查看file1文件的內容
查看file1文件的前3行內容
查看file1文件的后2行內容
以百分比的方式分頁查看file1文件的內容
以上下翻頁的辦法分頁查看file1文件的內容
?
創建如下目錄布局
sh-3.2# tree /FtpServer/
/FtpServer/
├── bin
│? ├── register.py
│? └── start.py
├── conf
│? └── settings.py
├── core
│? └── server.py
├── db
│? └── user.db
├── lib
│? └── common.py
└── log
? ? └── access.log
?
1:切換到路徑/tmp下,以追加的方式往start.py內寫入內容
2:查看當前地點的路徑
3:切換到log目次下,新建目次access,然后把access.log移動到該目次下.
4:切換到core目次下,然后在該路徑下新建auth.py文件
5. 開啟兩個終端,一個終端往access.log文件中追加內容,然后在另外一個終端動態查看access.log新增的內容.
6. 封閉上述的終端,然后以覆蓋的方式往access.log中寫入內容
7: 刪除/FtpServer目次
更多詳情見請繼續閱讀下一頁的出色內容:
_baidu_page_break_tag_Linux根基之常用命令練習-useradd(mod,del),groupadd(mod,del),chmod,chown
作業一:
1) 新建用戶natasha,uid為1000,gid為555,備注信息為“master”
2) 改動natasha用戶的家目錄為/Natasha
3) 查看用戶信息配置文件的末了一行
4) 為natasha用戶設置暗碼“123”
5) 查看用戶暗碼配置文件的最后一行
6) 將natasha用戶賬戶鎖定
7) 將natasha用戶賬戶解鎖
8) 新建組police,gid為999
9) 查看組配置文件的末了一行
10) 將natasha用戶參加police組
11) 改動police組的組名為jingcha
12) 刪除natasha用戶,連家目次和郵箱一起刪除
13) 刪除jingcha組
?
作業二:
1) 在用戶的主目錄下創立目錄test,進入test創立空文件file1
2) 以長格局形式顯示文件信息,注意文件的權限和所屬用戶和組
3) 為文件file1設置權限,使其他用戶可以對此文件進行寫操作.
4) 查看設置成果,
5) 撤消同組用戶對文件file1的讀取權限,并查看設置結果.
6) 用數字表現法為文件file設置權限,所有者可讀、可寫、可執行,所屬組用戶和其他用戶只具有讀和執行的權限.設置完成后查看設置結果.
7) 用數字形式變動文件file1的權限,使所有者只能讀取此文件.其他任何用戶都沒有權限.查看設置結果.
8) 回到上層目次,查看test的權限
9) 為其他用戶添加對此目次的寫權限
作業三:
以操作文件的方式,新建一個用戶alex
?
作業四:
1) 新建目次/test/dir,屬主為tom,數組為group1,/test目次的權限為777
2) 新建用戶jack,切換到jack用戶下,驗證jack用戶對dir目錄的rwx權限(開啟另外一個終端,依次改動dir目錄的others權限)
3)將jack參加group1組,驗證jack用戶對dir目錄的rwx權限(開啟另外一個終端,依次修改dir目錄的group權限)
4)切換到tom用戶,驗證tom用戶對dir目錄的rwx權限(開啟另外一個終端,依次改動dir目錄的user權限)
?
5)在dir目次內新建文件tom.txt,屬主為tom,屬組為group1,/test目次的權限為777
?
6)新建用戶rose,切換到rose用戶下,驗證rose用戶對tom.txt的rwx權限(開啟另外一個終端,依次改動tom.txt的others權限來配合驗證過程)
?
7)將rose參加group1組,在rose用戶下,驗證rose用戶對tom.txt的rwx權限(開啟另外一個終端,依次修改tom.txt的group1權限來配合驗證過程)
?
參考材料
_baidu_page_break_tag_
Linux根基之常用命令練習-文件管理:cat,tar,gzip,vim,ln
一. 文件歸并
cat命令的用途是連接文件或尺度輸入并打印.這個命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從尺度輸入讀取內容并顯示,它常與重定向符號配合使用.
1.命令格局:
cat?[選項]?[文件]...
2.命令功效:
cat主要有三年夜功能:
1.一次顯示整個文件:cat?filename
2.從鍵盤創建一個文件:cat?>?filename?只能創建新文件,不能編纂已有文件.
3.將幾個文件歸并為一個文件:cat?file1?file2?>?file
3.敕令參數:
-A,?--show-all? ? ? ? ? ?等價于?-vET
-b,?--number-nonblank? ? 對非空輸出行編號
-e? ? ? ? ? ? ? ? ? ? ? ?等價于?-vE
-E,?--show-ends? ? ? ? ? 在每行停止處顯示?$
-n,?--number? ? ?對輸出的所有行編號,由1開端對所有輸出的行數編號
-s,?--squeeze-blank? 有持續兩行以上的空白行,就代換為一行的空白行?
-t? ? ? ? ? ? ? ? ? ? ? ?與?-vT?等價
-T,?--show-tabs? ? ? ? ? 將跳格字符顯示為?^I
-u? ? ? ? ? ? ? ? ? ? ? ?(被疏忽)
-v,?--show-nonprinting? ?使用?^?和?M-?引用,除了?LFD?和?TAB?之外
二. 文件打包
tar命令可以為linux的文件和目錄創建檔案.利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中參加新的文件.tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案.利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或將幾個文件組合成為一個文件以便于網絡傳輸是非常有用的.
首先要弄清兩個概念:打包和壓縮.打包是指將一大堆文件或目錄釀成一個總的文件;壓縮則是將一個大的文件通過一些壓縮算法釀成一個小文件.
為什么要區分這兩個概念呢?這源于Linux中很多壓縮法式只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然后再用壓縮法式進行壓縮(gzip?bzip2命令).
linux下最常用的打包程序便是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通常都是以.tar結尾的.生成tar包后,就可以用其它的程序來進行壓縮.
1.命令格局:
tar[需要參數][選擇參數][文件]?
2.命令功效:
用來壓縮和解壓文件.tar自己不具有壓縮功能.他是調用壓縮功能實現的?
3.敕令參數:
需要參數有如下:
-A?新增緊縮文件到已存在的緊縮
-B?設置區塊年夜小
-c?樹立新的壓縮文件
-d?記錄文件的差異
-r?添加文件到已經緊縮的文件
-u?添加轉變了和現有的文件到已經存在的壓縮文件
-x?從緊縮的文件中提取文件
-t?顯示緊縮文件的內容
-z?支持gzip解壓文件
-j?支持bzip2解壓文件
-Z?支持compress解壓文件
-v?顯示操作進程
-l?文件系統界限設置
-k?保存原有文件不覆蓋
-m?保存文件不被覆蓋
-W?確認緊縮文件的正確性
?
可選參數如下:
-b?設置區塊數量
-C?切換到指定目次
-f?指定緊縮文件
--help?顯示贊助信息
--version?顯示版本信息
三. 文件緊縮
gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用.gzip不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比擬流行的壓縮文件格式.據統計,gzip命令對文本文件有60%~70%的壓縮率.
1.命令格局:
gzip[參數][文件或者目次]
2.命令功效:
gzip是個使用廣泛的壓縮法式,文件經它壓縮過后,其名稱后面會多出".gz"的擴展名.
3.敕令參數:
-a或--ascii? 使用ASCII筆墨模式.?
-c或--stdout或--to-stdout? 把壓縮后的文件輸出到尺度輸出設備,不去更動原始文件.?
-d或--decompress或----uncompress? 解開緊縮文件.?
-f或--force? 強行壓縮文件.不睬會文件名稱或硬連接是否存在以及該文件是否為符號連接.?
-h或--help? 在線贊助.?
-l或--list? 列出緊縮文件的相關信息.?
-L或--license? 顯示版本與版權信息.?
-n或--no-name? 壓縮文件時,不保留原來的文件名稱及時間戳記.?
-N或--name? 壓縮文件時,保留原來的文件名稱及時間戳記.?
-q或--quiet? 不顯示警告信息.?
-r或--recursive? 遞歸處置,將指定目錄下的所有文件及子目錄一并處置.?
-S<壓縮字尾字符串>或----suffix<壓縮字尾字符串>? 變動壓縮字尾字符串.?
-t或--test? 測試緊縮文件是否正確無誤.?
-v或--verbose? 顯示指令執行進程.?
-V或--version? 顯示版本信息.?
-num?用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮辦法(低壓縮比),-9或--best表示最慢壓縮辦法(高壓縮比).系統缺省值為6.?
四. Vim是從 vi 發展出來的一個文本編輯器.代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用.簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方. vim 則可以說是程序開發者的一項很好用的工具. 連 vim 的官方網站 (http://www.vim.org) 本身也說 vim 是一個程序開發工具而不是文字處理軟件.
基本上 vi/vim 共分為三種模式,分別是一般模式、編纂模式與指令列命令模式. 這三種模式的作用分別是:
簡單的說,我們可以將這三個模式想成底下的圖標來表示:
?vim 鍵盤圖:
vim命令合集 不保證精確性,僅供參考,驗證.
五. i節點,軟/硬鏈接
1. i節點實際上是一個數據布局,它存放了有關一個普通文件、目錄或其他文件系統對象的基本信息;
2. Linux ln命令是一個非常重要命令,它的功能是為某一個文件在另外一個地位建立一個同步的鏈接.
?
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必需相同的文件,我們只要在某個固定的目錄,放上該文件,然后在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間.
ln [參數][源文件或目錄][目標文件或目錄]
此中參數的格式為
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
命令功能 :
Linux文件系統中,有所謂的鏈接(link),我們可以將其視為檔案的別號,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置.硬鏈接是存在同一個文件系統中,而軟鏈接卻可以跨越不同的文件系統.
豈論是硬鏈接或軟鏈接都不會將原本的檔案復制一份,只會占用非常少量的磁碟空間.
軟鏈接:
?
硬鏈接:
需要參數:
選擇參數:
?
給文件創立軟鏈接,為log2013.log文件創立軟鏈接link2013,如果log2013.log丟失,link2013將失效:
ln -s log2013.log link2013
輸出:
[root@localhost test]# ll
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[root@localhost test]# ln -s log2013.log link2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
給文件創立硬鏈接,為log2013.log創立硬鏈接ln2013,log2013.log與ln2013的各項屬性相同
ln log2013.log ln2013
輸出:
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log
_baidu_page_break_tag_
Linux根基之常用命令練習-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make
1. 在Linux系統中,一切皆文件.每個設備都被看成一個文件來對待.
常見的存儲裝備在Linux系統中的文件名如下表所示:
2. 對硬盤進行分區有以下長處:
a. 更容易管理和控制系統,因為相關的文件和目錄都放在一個分區中;
b. 系統效率更高;
c. 可以限制用戶使用硬盤的份額(磁盤空間的年夜小);
d. 更容易備份和恢復.
3. Linux體系中硬盤的分區:
a. 硬盤的分區有主分區,擴大分區和邏輯分區三種;
b. 一塊硬盤最多可以分4個主分區;
c. Linux操作系統的內核支持每個硬盤上的分區數量還是有必定限制的,視硬盤類型而不同.
4. 使用fdisk和partprobe命令來治理硬盤分區:
a. fdisk
fdisk [需要參數][選擇參數]
需要參數:
選擇參數:
菜單操作闡明
b. partprobe,重新初始化內存中內核的分區表.
5. 創建文件系統:
a. 所謂的格式化便是將分區中的硬盤空間劃分成大小相等的一些數據塊(Blocks),以及設定這個分區中有多少個i節點可以使用等;
b. 文件系統是操作系統用于明確磁盤或分區上的文件的辦法和數據結構;即在磁盤上組織文件的辦法;
c. 常用的文件系統類型:ext2:Linux系統中尺度的文件系統;ext3:一種日志式文件系統;ext4:一種針對ext3系統的擴展日志式文件系統;lvm:邏輯盤卷管理 ;iso9660:目前唯一通用的光盤文件系統;
d. mkfs命令用于在特定的分區上樹立 linux 文件系統:
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
Linux mkfs命令用于在特定的分區上樹立 linux 文件系統
參數 :
例子:將sda6分區格式化為ext3格式:a. mfks -t ext3 /dev/sda6;b. mfks.ext3 /dev/sda6
e. mlabel,設定或查看一個設備的label名稱.如果磁盤上設定過標簽,mlabel 會將他顯示給使用者.如果沒有指定新標簽而且沒有指定 c 或 s 選項,mlabel 會提示使用者輸入新的標簽.如果直接按下 Enter ,就會將原本的標簽刪除.
mlabel [-vcs] drive:[new_label]
參數闡明:
將 A 盤的標簽變動為 newlabel.
mlabel a:newlabel
6. 文件體系的掛載與卸載(mount,umount):
掛載指將一個設備(通常是存儲設備)掛接到一個已存在的目次上
?
?
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
?
參數闡明:
?
?
?
將 /dev/hda1 掛在 /mnt 之下.
?
#mount /dev/hda1 /mnt
?
將 /dev/hda1 用唯讀模式掛在 /mnt 之下.
?
#mount -o ro /dev/hda1 /mnt
?
將 /tmp/image.iso 這個光碟的 image 檔使用 loop 模式掛在 /mnt/cdrom之下.用這種辦法可以將一般網絡上可以找到的 Linux 光 碟 ISO 檔在不燒錄成光碟的情況下檢視其內容.
?
#mount -o loop /tmp/image.iso /mnt/cdrom
?
?
?
umount [-ahnrvV][-t <文件體系類型>][文件體系]
?
參數???
?
?
?
下面兩條命令分離通過設備名和掛載點卸載文件系統,同時輸出詳細信息:
?
# umount -v /dev/sda1 通過裝備名卸載
/dev/sda1 umounted
# umount -v /mnt/mymount/ 通過掛載點卸載
/tmp/diskboot.img umounted
?
如果設備正忙,卸載即告失敗.卸載失敗的常見原因是,某個打開的shell當前目次為掛載點里的某個目次:
?
# umount -v /mnt/mymount/
umount: /mnt/mymount: device is busy
umount: /mnt/mymount: device is busy
?
7. 虛擬內存的觀點以及設置與管理:
a. 所謂虛擬內存便是一塊硬盤空間被當做內存使用,也被稱為交換分區(swap);
b. Linux互換分區的類型為:0x82;
c. mkswap,將磁盤分區或文件設為Linux的互換區
mkswap [-cf][-v0][-v1][設備名稱或文件][交換區年夜小]
參數:
d. swapon,激活Linux系統中交換空間,Linux系統的內存管理必需使用交換區來建立虛擬內存
?
?
/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile ...
/sbin/swapon [-s]
?
參數闡明:
?
?
swapon 是開啟swap.
?
相對的,便有一個封閉swap的指令,swapoff.
?
?
演習項目:
?
1.?開啟Linux系統前添加一塊年夜小為20G的SCSI硬盤
2.?開啟系統,右擊桌面,打開終端
3.?為新加的硬盤分區,一個主分區年夜小為10G,剩余空間給擴展分區,在擴展分區上劃分1個邏輯分區,年夜小為5G
4.?格式化主分區為ext3系統
5.?將邏輯分區設置為交換分區
6.?啟用上一步的交換分區
7.?查看交換分區的狀態
?
8. 使用”dd“敕令來測試硬盤讀寫速度
dd命令用于讀取、轉換并輸出數據.dd可從尺度輸入或文件中讀取數據,根據指定的格式來轉換數據,再輸出到文件、設備或尺度輸出.
參數闡明:
1. top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器.
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
參數闡明:
2. free指令會顯示內存的使用情況,包括實體內存,虛擬的交換文件內存,共享內存區段,以及系統核心使用的緩沖區等.
free [-bkmotV][-s <間隔秒數>]
參數闡明:
3. 系統中進程的監控與治理—ps,pstree,kill,pkill,pgrep
a. 進程是法式的一次動態執行;
b. 守護過程是在后臺運行并提供系統服務的一些過程;
c. 當一個進程創立另一個進程時,第1個進程被稱為新進程的父進程,而新進程被稱為子進程;
d. ps命令用于顯示當前過程 (process) 的狀態
ps [options] [--help]
參數:
e. pstree命令將所有行程以樹狀圖顯示,樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程為根 (root),如果有指定使用者 id,則樹狀圖會只顯示該使用者所擁有的行程
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
或
pstree -V
參數闡明:
f. kill命令用于刪除執行中的程序或工作,kill可將指定的信息送至程序.預設的信息為SIGTERM(15),可將指定程序終止.若仍無法終止該程序,可使用SIGKILL(9)信息測驗考試強制刪除程序.程序或工作的編號可利用ps指令或jobs指令查看
kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]
參數闡明:
g. ?pkill,通過名稱或其他屬性發信號給進程,例如:殺死名為firefox的進程的命令為:pkill firefox;
h. pgrep,通過名稱或其他屬性查找過程,例如:查找名為firefox的過程的命令為:pgrep firefox.
1. 使用rpm安裝及移除軟件
a. RPM就是Red Hat Package Manger(紅帽軟件擔保理工具)的縮寫;
b. rpm的文件名分為5部分;name(軟件包名稱)-version(版本編號)-release(發布次數,修正號碼)-architectures(適用平臺)-rpm(文件格式,有時會暗藏掉)
rpm [-acdhilqRsv][-b<完成階段><套間檔>+][-e<套件擋>][-f<文件>+][-i<套件檔>][-p<套件檔>+][-U<套件檔>][-vv][--addsign<套件檔>+][--allfiles][--allmatches][--badreloc][--buildroot<根目錄>][--changelog][--checksig<套件檔>+][--clean][--dbpath<數據庫目錄>][--dump][--excludedocs][--excludepath<排除目錄>][--force][--ftpproxy<主機名稱或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主機名稱或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<執行指令>][--prefix<目的目錄>][--provides][--queryformat<檔頭格式>][--querytags][--rcfile<配置檔>][--rebulid<套件檔>][--rebuliddb][--recompile<套件檔>][--relocate<原目錄>=<新目錄>][--replacefiles][--replacepkgs][--requires][--resign<套件檔>+][--rmsource][--rmsource<文件>][--root<根目錄>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安裝平臺>+][--test][--timecheck<檢查秒數>][--triggeredby<套件檔>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]
參數闡明:
安裝軟件
# rpm -hvi dejagnu-1.4.2-10.noarch.rpm
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 署名:NOKEY, key ID db42a60e
準備...
########################################### [100%]
顯示軟件安裝信息
# rpm -qi dejagnu-1.4.2-10.noarch.rpm
演習項目:
1. 掛載光盤文件到/media目錄
2. 進去/media目錄下的Packages目錄
3. 查看系統已安裝的所有rpm包
4. 查看系統是否安裝dhcp軟件包
5. 安裝dhcp軟件包
6. 查看dhcp軟件包的信息
7. 查看dhcp軟件包中所包括的所有文件
8. 查看/bin/ls文件是由哪個軟件包產生
9. 卸載dhcp軟件包
?
2. yun治理rpm軟件包
a. yum是Yellow dog Updater, Modified的縮寫,目的就是為了辦理RPM的依賴關系的問題,方便使用者進行軟件的安裝、升級等等工作;
b. yum的配置一般有兩種方式,一種是直接配置/etc目次下的yum.conf文件,另外一種是在/etc/yum.repos.d目次下增加.repo文件;
c. 當地倉庫配置
[root@localhost ~]# mount /dev/cdrom /mnt #掛載光盤到/mnt目錄
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-source.repo rhel.repo #拷貝一份配置文件
[root@localhost yum.repos.d]# vi rhel.repo #編纂配置文件如下[rhel-local] #模塊名稱,須修改不能與其他.repo文件中的重名name=Red Hat Enterprise Linux 6 local repo #名稱隨便起baseurl=file:///mnt #指定rpm倉庫的位置
enabled=1 #1開啟該配置,0為關閉
gpgcheck=1 #1為校對軟件
[root@localhost ~]# yum install vsftpd httpd #安裝vsftpd及httpd服務
d. yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件擔保理器.基於RPM擔保理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝.yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記.
yum [options] [command] [package ...]
練習項目:
1. 自界說yum倉庫:createrepo
2. 自界說repo文件
3. 使用yum命令安裝httpd軟件包
4. 卸載httpd軟件包:yum –y remove 軟件名
5. 使用yum安裝組件'KDE 桌面':yum –y groupinstall 組件名
6. 掌握使用yum刪除組件‘KDE 桌面’:yum –y groupremove 組件名
7. 掌握清除yum緩存:yum clean all
8. 使用yum查找軟件包:yum search 軟件包名
?
3. 源碼安裝軟件包
a. 計算機里面運行的所有東西都是用程序編出來的(包含操作系統,如Windows,還有Word等,網絡游戲也一樣),而編寫程序要用到計算機語言,用計算機語言直接編出來的程序就叫源碼,比如用VisualBasic編寫的源碼文件一般為.bas文件,而用C++編寫的一般為.cpp文件,源代碼不能直接運行,必須編譯后才能運行.源碼經過編譯處理后就可以直接在操作系統下運行了;
b. 源碼軟件未經編譯,便利人們修改;
c. 本實例為安裝“Python3.6”源碼軟件包,必要Linux安裝開發工具;
_baidu_page_break_tag_Linux根基之常用命令練習-nginx,nfs
一. Nginx
Nginx("engine x") 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器.Nginx是由Igor Sysoev為俄羅斯拜訪量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發布于2004年10月4日.其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗及并發能力強而聞名.
1. nginx的安裝(yum安裝)
首先需要安裝epel軟件源,因為它里面包括了許多基本源里沒有的軟件,方便nginx的安裝;yum install epel-release -y
安裝完epel后接著就可以安裝nginx了;yum install nginx -y
nginx配置文件默認應該在"/etc/nginx/nginx.conf",可以使用vim編纂修改配置
# Info? : The conf for nginx
# Author : dingtm
# CTime? : 2010.07.01
user? ? www www;? ? ? ? ? #運行NGINX所使用的用戶和組
worker_processes? ? 4;? ? #nginx進程數,建議按照cpu數目來指定,一般為它的倍數,每個進程消耗約10M內存
error_log? ? ? /data/logs/nginx/error.log? crit;
pid? ? ? ? ? ? /elain/apps/nginx/nginx.pid;
worker_rlimit_nofile? 65535;? #nginx能打開文件的最大句柄數,最好與ulimit -n的值保持一致,使用ulimit -SHn 65535 設置
events {
use epoll;? ? ? ? ? #使用epoll的I/O模型
connections 20000;? #每個進程允許的最多連接數
worker_connections 65535;? #該值受系統進程最大打開文件數限制,需要使用命令ulimit -n 查看當前設置
maxclients=65535*2
}
http {
include mime.types;? ? ? ? ? #mine.types內定義各文件類型映像
types {
text/html? html;
image/gif? gif;
image/jpeg jpg;
image/png? png;
}
default_type application/octet-stream;? #設置默認類型是二進制流,若未設置時,比如未加載PHP時,是不予解析,用瀏覽器訪問則出現下載窗口
server_names_hash_bucket_size 128;? ? #不能帶單位!配置個主機時必須設置該值,否則無法運行Nginx或測試時不通過,該設置與server_names_hash_max_size 共同控制保存服務器名的HASH表,hash bucket size總是等于hash表的大小,并且是一路處理器緩存大小的倍數.若hash bucket size等于一路處理器緩存的大小,那么在查找鍵的時候,最壞的情況下在內存中查找的次數為2.第一次是確定存儲單元的地址,第二次是在存儲單元中查找鍵 值.若報出hash max size 或 hash bucket size的提示,則我們需要增加server_names_hash_max_size的值.
client_header_buffer_size 128k;? ? #客戶端哀求頭部的緩沖區大小,根據系統分頁大小設置,分頁大小可用命令getconf PAGESIZE取得
large_client_header_buffers 4 128k;? #4為個數,128k為大小,默認是4k.申請4個128k.當http 的URI太長或者request header過大時會報414 Request URI too large或400 bad request,這是很有可能是cookie中寫入的值太大造成的,因為header中的其他參數的size一般比較固定,只有cookie可能被寫入較 大的數據,這時可以調大上述兩個值,相應的瀏覽器中cookie的字節數上限會增大.
client_max_body_size 8m;? #HTTP哀求的BODY最大限制值,若超出此值,報413 Request Entity Too Large
open_file_cache max=65535 inactive=20s;? #max指定緩存數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被哀求后刪除緩存.
open_file_cache_valid 30s;? #指多長時間檢查一次緩存的有效信息
open_file_cache_min_uses 1; #open_file_cache指令中的inactive參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一直是在緩存中打開的,如上例, 如果有一個文件在inactive時間內一次沒被使用,它將被移除.
server_tokens off;? ? ? ? ? #關閉錯誤時Nginx版本顯示
#提高文件傳輸性能
sendfile on;? ? ? ? ? ? ? ? #打開系統函數sendfile()支持
tcp_nopush on;? ? ? ? ? ? ? #打開linux下TCP_CORK,sendfile打開時才有效,作減少報文段的數量之用
keepalive_timeout 60;? ? ? #keepalive超時時間
tcp_nodelay on;? ? ? ? ? ? #打開TCP_NODELAY在包含了keepalive才有效
fastcgi_connect_timeout 300; #指定連接到后端FastCGI的超時時間
fastcgi_send_timeout 300;? ? #向FastCGI傳送哀求的超時時間,這個值是指已經完成兩次握手后向FastCGI傳送哀求的超時時間.
fastcgi_read_timeout 300;? ? #接收FastCGI應答的超時時間,這個值是指已經完成兩次握手后接收FastCGI應答的超時時間.
fastcgi_buffer_size 64k;? ? #這里可以設置為fastcgi_buffers指令指定的緩沖區大小
fastcgi_buffers 16 16k;? ? ? #指定本地需要用多少和多大的緩沖區來緩沖FastCGI的應答
fastcgi_busy_buffers_size 128k;? #建議為fastcgi_buffers的兩倍
fastcgi_temp_file_write_size 128k;? #在寫入fastcgi_temp_path時將用多大的數據塊,默認值是fastcgi_buffers的兩倍,設置上述數值設置太小時若負載上來時可能報 502 Bad Gateway
fastcgi_cache dingtm? ? #開啟FastCGI緩存并且為其制定一個名稱,有效降低CPU負載,并且防止502錯誤
fastcgi_cache_valid 200 302 1h;? #指定應答代碼緩存時間為1小時
fastcgi_cache_valid 301 1d;? ? ? #1天
fastcgi_cache_valid any 1m;? ? ? #其它為1分鐘
fastcgi_cache_min_uses 1;? ? ? ? #緩存在fastcgi_cache_path指令inactive參數值時間內的最少使用次數? ? ? ? ? ? ? ? f
gzip on;? ? ? ? ? ? ? ? ? ? #打開GZIP壓縮,實時壓縮輸出數據流
gzip_min_length? 1k;? ? ? ? #從Content-Length中數值獲取驗證,小于1K會越壓越大
gzip_buffers? 4 16k;? ? ? ? #以16K為單位4倍的申請內存做壓縮結果流緩存
gzip_http_version 1.1;
gzip_comp_level 3;? ? ? ? ? #壓縮比率1-9,1壓縮比最小處理速度最快,9壓縮比最大但處理最慢且耗CPU
gzip_types? ? ? text/plain application/x-javascript text/css application/xml;? #壓縮類型
include? vhosts/*.conf;? ? ? #虛擬主機
}
#虛擬主機
server {
listen 80;
server_name? www.elain.org;? ? #多域名用空格隔開
index index.php index.html index.shtml;
root? /elain/data/htdocs/elain;
#limit_conn connlimit 20;? ? #限制一個IP只能最多只能發起20個連接,超過報 503 Service unavailable,可防止惡意連接
access_log /elain/logs/nginx/access_www.elain.org.log access;
error_log? /elain/logs/nginx/error_www.elain.org.log;
location / {
ssi on;? ? ? ? ? ? ? ? #WEB文檔根目錄打開SSI支持
ssi_types text/html;
ssi_silent_errors off;? #處理SSI出錯時不提示
}
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
access_log? ? off;
expires? ? ? 30d;
}
location ~ .*.(js|css)?$ {
expires? ? ? 1h;
add_header Cache_Control private;
}
location ~ /.ht {
deny all;
}
location /NginxStatus {? ? ? ? ? #設定查看Nginx狀態的地址
stub_status on;
access_log off;
auth_basic “NginxStatus”;? ? #標識
auth_basic_user_file conf/.htpasswd;? #網頁加密,提示登錄框,輸入用戶名和密碼可查看
}
location ~ .*.(php|php5)?$ {? ? ? ? ? ? ? ? ? ? ? ? ? #匹配文件后綴php, php5
#fastcgi_pass? unix:/tmp/php-cgi.sock;? #SOCKET方式轉交fastcgi處理
fastcgi_pass? 127.0.0.1:9000;? ? ? ? ? #9000端口方式fastcgi
fastcgi_index index.php;
include fastcgi_params;? ? ? ? ? ? ? ? #包含fastcgi配置
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
設置完nginx.conf后應該先將linux系統的防火墻關掉,因為其會阻止遠程對nginx默認端口80的拜訪;命令:systemctl stop firewalld(關掉防火墻),systemctl disable firewalld(開機不啟動防火墻)selinux 阻止了html文件下幾個html文件的遠程被拜訪,需要修改selinux配置文件;命令:vim /etc/selinux/config,將第二個SELINUX=disabled,保存退出,重啟系統;
此時,就可以啟動nginx服務了,敕令:systemctl start nginx(啟動nginx),systemctl enable nginx(設為開機啟動).
2. nginx的安裝(源碼安裝)-這位年夜神已經寫得很詳細了.
3. nginx的設置裝備擺設使用
?
4. nginx平衡負載(LB)
負載均衡技術是構建大型網站必不可少的架構策略之一.它的目的是,把用戶的哀求分發到多臺后端的設備上,用以均衡服務器的負載.
Nginx負載均衡器的特點是:
1). 工作在網絡的7層之上,可以針對http應用做一些分流的策略,比如針對域名、目錄結構;
2). Nginx安裝和配置比較簡單,測試起來比較方便;
3). 也可以承擔高的負載壓力且穩定,一般能支撐超過上萬次的并發;
4). Nginx可以通過端口檢測到服務器內部的故障,比如根據服務器處理網頁返回的狀態碼、超時等等,并且會把返回錯誤的哀求重新提交到另一個節點,不過其中缺點就是不支持url來檢測;
5). Nginx對哀求的異步處理可以幫助節點服務器減輕負載;
6). Nginx能支持http和Email,這樣就在適用范圍上面小很多;
7). 默認有三種調度算法: 輪詢、weight以及ip_hash(可以解決會話保持的問題),還可以支持第三方的fair和url_hash等調度算法;
?
二. nfs
NFS 是Network File System的縮寫,即網絡文件系統.一種使用于分散式文件系統的協定,由Sun公司開發,于1984年向外公布.功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡拜訪位于服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法.
NFS 的基來源根基則是“容許不同的客戶端及服務端通過一組RPC分享相同的文件系統”,它是獨立于操作系統,容許不同硬件及操作系統的系統共同進行文件的分享.
?
NFS在文件傳送或信息傳送過程中依賴于RPC協議.RPC,遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其他系統中程序的一種機制.NFS自己是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議.而這些傳輸協議用到這個RPC功能的.可以說NFS自己就是使用RPC的一個程序.或者說NFS也是一個RPC SERVER.所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT.這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應.可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸.
1. nfs安裝,yum install rpcbind nfs-utils -y
2. nfs設置裝備擺設,vim /etc/exports
配置文件格式:<輸出目錄> [客戶端1 選項(拜訪權限,用戶映射,其他)] [客戶端2 選項(拜訪權限,用戶映射,其他)]
a. 輸出目次:
輸出目錄是指NFS系統中必要共享給客戶機使用的目錄;
b. 客戶端:
客戶端是指網絡中可以拜訪這個NFS輸出目錄的計算機
客戶端常用的指定方式
c. 選項:
選項用來設置輸出目錄的拜訪權限、用戶映射等.
NFS主要有3類選項:
拜訪權限選項
用戶映射選項
其它選項
?
3. nfs啟動
1). 假如我們設置了 /share 為共享目錄,因為其它用戶需要權限進行拜訪,所以需要修改該目錄及其子目錄文件的讀寫權限;命令:chmod -R o=rw- /share
2). 啟動服務
首先必要先啟動相關服務rpcbind,命令:systemctl start rpcbind.service(啟動),systemctl enable rpcbind.service(設為開機啟動)
然后再啟動nfs,敕令:systemctl start nfs-server.service(啟動),systemctl enable nfs-server.service(設為開機啟動)
確認nfs啟動勝利,命令:rpcinfo,exportfs(有輸出,例如:/share 192.168.31.0/24)
查看服務信息,命令:showmount -e #默認查看本身共享的服務,前提是要DNS能解析本身,不然容易報錯;showmount -a #顯示已經與客戶端連接上的目錄信息
3). 客戶端設置裝備擺設
客戶端依照同樣的方法安裝好nfs服務并啟動,無需修改exports配置文件,但需要將主機的共享目錄掛載在自己的默認訪問的html里
命令:mount 192.168.47.133:/share /usr/nginx/html(綠色字體依本身機器的設置而定)
4). 接下來就可以在瀏覽器中驗證成果了
5). nginx+nfs共享集群設置裝備擺設
本文永遠更新鏈接地址:
學習更多LINUX教程,請查看站內專欄,如果有LINUX疑問,可以加QQ交流《LINUX學習:Linux基礎之常用命令集錦圖文詳解》。