1.1 Linux系統的檔案結構
1 /bin 二進位制檔案,系統常規命令 2 /boot 系統啟動分割槽,系統啟動時讀取的檔案 3 /dev 裝置檔案 4 /etc 大多數配置檔案 5 /home 普通使用者的家目錄 6 /lib 32位函式庫 7 /lib64 64位庫 8 /media 手動臨時掛載點 9 /mnt 手動臨時掛載點 10 /opt 第三方軟體安裝位置 11 /proc 程序資訊及硬體資訊 12 /root 臨時裝置的預設掛載點 13 /sbin 系統管理命令 14 /srv 資料 15 /var 資料 16 /sys 核心相關資訊 17 /tmp 臨時檔案 18 /usr 使用者相關設定
1.2 Linux系統命令列的含義
1 示例:root@app00:~# 2 root //使用者名稱,root為超級使用者 3 @ //分隔符 4 app00 //主機名稱 5 ~ //當前所在目錄,預設使用者目錄為~,會隨著目錄切換而變化,例如:(root@app00:/bin# ,當前位置在bin目錄下) 6 # //表示當前使用者是超級使用者,普通使用者為$,例如:("yao@app00:/root$" ,表示使用使用者"yao"訪問/root資料夾)
1.3 命令的組成
示例:命令 引數名 引數值
二、基礎操作
2.1 關閉系統
1 (1)立刻關機 2 shutdown -h now 或者 poweroff 3 (2)兩分鐘後關機 4 shutdown -h 2
2.2 關閉重啟
1 (1)立刻重啟 2 shutdown -r now 或者 reboot 3 (2)兩分鐘後重啟 4 shutdown -r 2
2.3 幫助命令(help)
1 ifconfig --help //檢視 ifconfig 命令的用法
2.4 命令說明書(man)
1 man shutdown //開啟命令說明後,可按"q"鍵退出
2.5 切換使用者(su)
1 su yao //切換為使用者"yao",輸入後回車需要輸入該使用者的密碼 2 exit //退出當前使用者
三、目錄操作
3.1 切換目錄(cd)
1 cd / //切換到根目錄 2 cd /bin //切換到根目錄下的bin目錄 3 cd ../ //切換到上一級目錄 或者使用命令:cd .. 4 cd ~ //切換到home目錄 5 cd - //切換到上次訪問的目錄 6 cd xx(資料夾名) //切換到本目錄下的名為xx的檔案目錄,如果目錄不存在報錯 7 cd /xxx/xx/x //可以輸入完整的路徑,直接切換到目標目錄,輸入過程中可以使用tab鍵快速補全
3.2 檢視目錄(ls)
1 ls //檢視當前目錄下的所有目錄和檔案 2 ls -a //檢視當前目錄下的所有目錄和檔案(包括隱藏的檔案) 3 ls -l //列表檢視當前目錄下的所有目錄和檔案(列表檢視,顯示更多資訊),與命令"ll"效果一樣 4 ls /bin //檢視指定目錄下的所有目錄和檔案
3.3 建立目錄(mkdir)
1 mkdir tools //在當前目錄下建立一個名為tools的目錄 2 mkdir /bin/tools //在指定目錄下建立一個名為tools的目錄
3.3 刪除目錄與檔案(rm)
1 rm 檔名 //刪除當前目錄下的檔案 2 rm -f 檔名 //刪除當前目錄的的檔案(不詢問) 3 rm -r 資料夾名 //遞迴刪除當前目錄下此名的目錄 4 rm -rf 資料夾名 //遞迴刪除當前目錄下此名的目錄(不詢問) 5 rm -rf * //將當前目錄下的所有目錄和檔案全部刪除 6 rm -rf /* //將根目錄下的所有檔案全部刪除【慎用!相當於格式化系統】
3.4 修改目錄(mv)
1 mv 當前目錄名 新目錄名 //修改目錄名,同樣適用與檔案操作 2 mv /usr/tmp/tool /opt //將/usr/tmp目錄下的tool目錄剪下到 /opt目錄下面 3 mv -r /usr/tmp/tool /opt //遞迴剪下目錄中所有檔案和資料夾
3.5 複製目錄(cp)
1 cp /usr/tmp/tool /opt //將/usr/tmp目錄下的tool目錄複製到 /opt目錄下面 2 cp -r /usr/tmp/tool /opt //遞迴剪複製目錄中所有檔案和資料夾
3.6 搜尋目錄(find)
1 find /bin -name 'a*' //查詢/bin目錄下的所有以a開頭的檔案或者目錄
3.7 檢視當前目錄(pwd)
1 pwd //顯示當前位置路徑
四、檔案操作
4.1 新增檔案(touch)
1 touch a.txt //在當前目錄下建立名為a的txt檔案(檔案不存在),如果檔案存在,將檔案時間屬性修改為當前系統時間
4.2 刪除檔案(rm)
1 rm 檔名 //刪除當前目錄下的檔案 2 rm -f 檔名 //刪除當前目錄的的檔案(不詢問)
4.3 編輯檔案(vi、vim)
1 vi 檔名 //開啟需要編輯的檔案 2 --進入後,操作介面有三種模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode) 3 命令模式 4 -剛進入檔案就是命令模式,透過方向鍵控制游標位置, 5 -使用命令"dd"刪除當前整行 6 -使用命令"/欄位"進行查詢 7 -按"i"在游標所在字元前開始插入 8 -按"a"在游標所在字元後開始插入 9 -按"o"在游標所在行的下面另起一新行插入 10 -按":"進入底行模式 11 插入模式 12 -此時可以對檔案內容進行編輯,左下角會顯示 "-- 插入 --"" 13 -按"ESC"進入底行模式 14 底行模式 15 -退出編輯: :q 16 -強制退出: :q! 17 -儲存並退出: :wq 18 ## 操作步驟示例 ## 19 1.儲存檔案:按"ESC" -> 輸入":" -> 輸入"wq",回車 //儲存並退出編輯 20 2.取消操作:按"ESC" -> 輸入":" -> 輸入"q!",回車 //撤銷本次修改並退出編輯 21 ## 補充 ## 22 vim +10 filename.txt //開啟檔案並跳到第10行 23 vim -R /etc/passwd //以只讀模式開啟檔案
4.4 檢視檔案
1 cat a.txt //檢視檔案最後一屏內容 2 less a.txt //PgUp向上翻頁,PgDn向下翻頁,"q"退出檢視 3 more a.txt //顯示百分比,回車檢視下一行,空格檢視下一頁,"q"退出檢視 4 tail -100 a.txt //檢視檔案的後100行,"Ctrl+C"退出檢視
五、檔案許可權
5.1 許可權說明
1 檔案許可權簡介:'r' 代表可讀(4),'w' 代表可寫(2),'x' 代表執行許可權(1),括號內代表"8421法" 2 ##檔案許可權資訊示例:-rwxrw-r-- 3 -第一位:'-'就代表是檔案,'d'代表是資料夾 4 -第一組三位:擁有者的許可權 5 -第二組三位:擁有者所在的組,組員的許可權 6 -第三組三位:代表的是其他使用者的許可權
5.2 檔案許可權
1 普通授權 chmod +x a.txt 2 8421法 chmod 777 a.txt //1+2+4=7,"7"說明授予所有許可權
六、打包與解壓
6.1 說明
1 .zip、.rar //windows系統中壓縮檔案的副檔名 2 .tar //Linux中打包檔案的副檔名 3 .gz //Linux中壓縮檔案的副檔名 4 .tar.gz //Linux中打包並壓縮檔案的副檔名
6.2 打包檔案
1 tar -zcvf 打包壓縮後的檔名 要打包的檔案 2 引數說明:z:呼叫gzip壓縮命令進行壓縮; c:打包檔案; v:顯示執行過程; f:指定檔名; 3 示例: 4 tar -zcvf a.tar file1 file2,... //多個檔案壓縮打包
6.3 解壓檔案
1 tar -zxvf a.tar //解包至當前目錄 2 tar -zxvf a.tar -C /usr------ //指定解壓的位置 3 unzip test.zip //解壓*.zip檔案 4 unzip -l test.zip //檢視*.zip檔案的內容
七、其他常用命令
1 1.find 2 find . -name "*.c" //將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來 3 find . -type f //將目前目錄其其下子目錄中所有一般檔案列出 4 find . -ctime -20 //將目前目錄及其子目錄下所有最近 20 天內更新過的檔案列出 5 find /var/log -type f -mtime +7 -ok rm {} \; //查詢/var/log目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們 6 find . -type f -perm 644 -exec ls -l {} \; //查詢前目錄中檔案屬主具有讀、寫許可權,並且檔案所屬組的使用者和其他使用者具有讀許可權的檔案 7 find / -type f -size 0 -exec ls -l {} \; //為了查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑 8 9 2. 10 whereis ls //將和ls檔案相關的檔案都查詢出來 11 12 3. 說明:which指令會在環境變數$PATH設定的目錄裡查詢符合條件的檔案。 13 which bash //檢視指令"bash"的絕對路徑 14 15 4. 說明:sudo命令以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。需要輸入自己賬戶密碼。 16 使用許可權:在 /etc/sudoers 中有出現的使用者 17 sudo -l //列出目前的許可權 18 $ sudo -u yao vi ~www/index.html //以 yao 使用者身份編輯 home 目錄下www目錄中的 index.html 檔案 19 20 5. grep -i "the" demo_file //在檔案中查詢字串(不區分大小寫) 21 grep -A 3 -i "example" demo_text //輸出成功匹配的行,以及該行之後的三行 22 grep -r "ramesh" * //在一個資料夾中遞迴查詢包含指定字串的檔案 23 24 6. 說明:service命令用於執行System V init指令碼,這些指令碼一般位於/etc/init.d檔案下,這個命令可以直接執行這個資料夾裡面的指令碼,而不用加上路徑 25 service ssh status //檢視服務狀態 26 service --status-all //檢視所有服務狀態 27 service ssh restart //重啟服務 28 29 7. 說明:這個命令用於顯示系統當前記憶體的使用情況,包括已用記憶體、可用記憶體和交換記憶體的情況 30 free -g //以G為單位輸出記憶體的使用量,-g為GB,-m為MB,-k為KB,-b為位元組 31 free -t //檢視所有記憶體的彙總 32 33 8. top //顯示當前系統中佔用資源最多的一些程序, shift+m 按照記憶體大小檢視 34 35 9. mount /dev/sdb1 /u01 //掛載一個檔案系統,需要先建立一個目錄,然後將這個檔案系統掛載到這個目錄上 36 dev/sdb1 /u01 ext2 defaults 0 2 //新增到fstab中進行自動掛載,這樣任何時候系統重啟的時候,檔案系統都會被載入 37 38 10. yum說明:安裝外掛命令 39 yum install httpd //使用yum安裝apache 40 yum update httpd //更新apache 41 yum remove httpd //解除安裝/刪除apache 42 43 11. rpm說明:外掛安裝命令 44 rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm //使用rpm檔案安裝apache 45 rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm //使用rpm更新apache 46 rpm -ev httpd //解除安裝/刪除apache 47 48 12. 說明:使用wget從網上下載軟體、音樂、影片 49 示例:wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz 50 //下載檔案並以指定的檔名儲存檔案 51 wget -O nagios.tar.gz http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz 52 53 13. ftp IP/hostname //訪問ftp伺服器 54 mls *.html - //顯示遠端主機上檔案列表 55 56 14. scp----scp /opt/data.txt 192.168.1.101:/opt/ //將本地opt目錄下的data檔案傳送到192.168.1.101伺服器的opt目錄下
八、系統管理
8.1 防火牆操作
1 service iptables status //檢視iptables服務的狀態 2 service iptables start //開啟iptables服務 3 service iptables stop //停止iptables服務 4 service iptables restart //重啟iptables服務 5 chkconfig iptables off //關閉iptables服務的開機自啟動 6 chkconfig iptables on //開啟iptables服務的開機自啟動 7 ##centos7 防火牆操作 8 systemctl status firewalld.service //檢視防火牆狀態 9 systemctl stop firewalld.service //關閉執行的防火牆 10 systemctl disable firewalld.service //永久禁止防火牆服務
8.2 修改主機名(CentOS 7)
1 hostnamectl set-hostname 主機名
8.3 檢視網路
1 ifconfig
8.4 修改IP
1 修改網路配置檔案,檔案地址:/etc/sysconfig/network-scripts/ifcfg-eth0 2 ------------------------------------------------ 3 主要修改以下配置: 4 TYPE=Ethernet //網路型別 5 BOOTPROTO=static //靜態IP 6 DEVICE=ens00 //網路卡名 7 IPADDR=192.168.1.100 //設定的IP 8 NETMASK=255.255.255.0 //子網掩碼 9 GATEWAY=192.168.1.1 //閘道器 10 DNS1=192.168.1.1 //DNS 11 DNS2=8.8.8.8 //備用DNS 12 ONBOOT=yes //系統啟動時啟動此設定 13 ------------------------------------------------- 14 修改儲存以後使用命令重啟網路卡:service network restart
8.5 配置對映
1 修改檔案: vi /etc/hosts 2 在檔案最後新增對映地址,示例如下: 3 192.168.1.101 node1 4 192.168.1.102 node2 5 192.168.1.103 node3 6 配置好以後儲存退出,輸入命令:ping node1 ,可見實際 ping 的是 192.168.1.101。
8.6 檢視程序
1 ps -ef //檢視所有正在執行的程序
8.7 結束程序
1 kill pid //殺死該pid的程序 2 kill -9 pid //強制殺死該程序
8.8 檢視連結
1 ping IP //檢視與此IP地址的連線情況 2 netstat -an //檢視當前系統埠 3 netstat -an | grep 8080 //檢視指定埠
8.9 快速清屏
1 ctrl+l //清屏,往上翻可以檢視歷史操作
8.10 遠端主機
ssh IP //遠端主機,需要輸入使用者名稱和密碼