檔案管理指令
- cat指令
-n:帶行号cat :檢視檔案内容
- ls指令
ls :檢視檔案
-l 以清單形式檢視
-h 以一種人性化的方式檢視,也是檔案的大小以合适的機關顯示
-a 檢視所有檔案,包括隐藏檔案
-i 顯示出檔案的i節點号
- touch指令
touch :建立檔案 可以一次建立多個檔案,以空格隔開
- more指令
more:分頁檢視檔案内容
進入浏覽模式後:
f或者空格:下一頁
按 b 鍵就會往回翻頁
enter:一行一行往下翻
q:退出
- less指令
less:檢視檔案内容
空格翻頁
回車換行
pageup:上一頁
pagedown:下一頁
上箭頭:向上翻
下箭頭:向下翻
/搜尋詞 n向下找
- head指令
-n 檔案名 :檢視檔案前n行。預設-n顯示前10行
- tail指令
-n 檔案名 :檢視檔案的末尾幾行
- ln:連結指令
-s建立軟連接配接
硬連結和cp -p的差別是硬連結會同步更新
源檔案如果丢失,硬連結依然存在。
硬連結和源檔案的i節點相同。
硬連結不能誇分區,軟連接配接可以跨分區。
硬連結不可以連結目錄,連結可以
軟連接配接檔案具有的權限是ugo都是rwx
目錄指令
- mkdir指令
mkdir: 建立目錄
-p : 遞歸的建立目錄 也就是可以建立多層目錄
一次建立多個目錄: mkdir {a,b,c,d,e,f}
一次建立 a b c d e f多個目錄。
- rmdir
rmdir:删除一個空檔案夾
- cp
cp:複制檔案或者檔案夾
-a:此選項通常在複制目錄時使用,它保留連結、檔案屬性,并複制目錄下的所有内容。其作用等于dpR參數組合。
-d:複制時保留連結。這裡所說的連結相當于Windows系統中的快捷方式。
-f:覆寫已經存在的目标檔案而不給出提示。
-i:與-f選項相反,在覆寫目标檔案之前給出提示,要求使用者确認是否覆寫,回答"y"時目标檔案将被覆寫。
-p:除複制檔案的内容外,還把修改時間和通路權限也複制到新檔案中。
-r:若給出的源檔案是一個目錄檔案,此時将複制該目錄下所有的子目錄和檔案。
-l:不複制檔案,隻是生成連結檔案。
- mv 指令
mv: 指令用來為檔案或目錄改名、或将檔案或目錄移入其它位置
- rm指令
rm:指令用于删除一個檔案或者目錄。
-i 删除前逐一詢問确認。
-f 即使原檔案屬性設為唯讀,亦直接删除,無需逐一确認。
-r 将目錄及以下之檔案亦逐一删除。
删除目前目錄下的所有檔案及目錄,并且是直接删除,無需逐一确認指令行為:
rm -rf 要删除的檔案名或目錄
權限管理指令
- chmod指令
chmod:修改檔案或目錄的權限,隻有root和所有者可以更改其他參數說明:u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。 + 表示增權重限、- 表示取消權限、= 表示唯一設定權限。 r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示隻有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
-c : 若該檔案權限确實已經更改,才顯示其更改動作 -f : 若該檔案權限無法被更改也不要顯示錯誤訊息 -v : 顯示權限變更的詳細資料 -R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更) --help : 顯示輔助說明 --version : 顯示版本
執行個體
将檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
chmod a+r file1.txt
将檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 設定為隻有該檔案擁有者可以執行 :
chmod u+x ex1.py
将目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
此外chmod也可以用數字來表示權限如 :
chmod 777 file
文法為:
chmod abc file
其中a,b,c各為一個數字,分别表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7; 若要rw-屬性則4+2=6; 若要r-x屬性則4+1=5。
chmod a=rwx file
和
效果相同
chmod ug=rwx,o=x file
chmod 771 file
若用chmod 4755 filename可使此程式具有root的權限
- chown指令
chown:更改檔案所有者,隻有root可以更改
chown root a.txt//把a.txt更改為root所有
- chgrp指令
chgrp:更改所屬組
chgrp lambrother fengjie //把fengjie的所屬組更改為lambrother
檔案搜尋指令
- find指令
檢視這個連結https://blog.51cto.com/8043410/2053767
- which指令
which :查找指令的目錄以及别名
which 指令
使用者管理指令
- useradd指令
useradd: 添加使用者
useradd 使用者名
- passwd指令
passwd: 修改使用者密碼
passwd 使用者名
- who指令
who:檢視目前的賬戶 顯示的格式為: 登入使用者名 登入終端(tty:本地登入 pts:遠端終端) 登入時間 ip位址
- w指令
w:檢視更詳細的使用者登入資訊。
壓縮解壓縮指令
- .gz格式
壓縮:gzip 檔案名 隻能壓縮檔案不能壓縮目錄,壓縮完源檔案也不見了
解壓縮:gunzip/gzip -d 壓縮包名稱
- tar格式
壓縮檔案 非打包
#touch a.c 建立a.c檔案
#tar -czvf test.tar.gz a.c //壓縮 a.c檔案為test.tar.gz
a.c
列出壓縮檔案内容
#tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
解壓檔案
#tar -xzvf test.tar.gz
- zip格式
zip 指令用于壓縮檔案。
zip 是個使用廣泛的壓縮程式,壓縮後的檔案字尾名為 .zip
網絡指令
- write指令
write:給線上使用者發送資訊,使用者不線上不行。以Ctrl+D儲存
write 使用者名
- wall指令
wall:給所有使用者名發送資訊
wall 要發送的資訊
- ping指令
ping:測試網絡連通性
ping ip位址
-c 要ping的次數
- ifconfig指令
ifconfig:直接回車檢視目前網卡資訊
ifconfig 網卡名 ip位址 臨時修改網絡ip
ifconfig th0:0 192.168.1.100 netmask 255.255.255.0給th0這個網卡新添加一個ip
- ifdown指令
ifdown th0
禁用th0這塊網卡
- ifup指令
ifup th0
開啟th0這塊網卡
- last指令
last:統計計算機所有使用者登入的時間資訊,以及重新開機資訊
- lastlog指令
lastlog:所有使用者最後一次登入的時間
-u 使用者的uid 檢視指定使用者的登入資訊。
- traceroute指令
traceroute:顯示資料包到主機間的路徑
traceroute 要探測的位址.
-n 使用ip而不使用域名
- nslookup指令
yum -y install bind-utils #安裝該bind-utils軟體包
nslookup www.baidu.com 檢視百度的ip位址
- netstat指令
netstat:顯示網絡相關資訊
-t :tcp協定
-u :udp協定
-l:監聽
-r:路由
-n:顯示ip位址和端口号
-i :顯示網卡清單
netstat -tlun:檢視本機監聽的端口
netstat -an:檢視所有的監聽資訊
netstat -rn :檢視路由表,即網管
- wget指令
wget 檔案位址
下載下傳檔案
- telnet指令
telnet 域名或ip
遠端管理與端口探測
如: telnet 192.168.2.3:80
探測192.168.2.3是否開啟了80端口
關機重新開機指令
- shutdown指令
shutdown:這個關機指令更安全一些,不推薦使用其他關機指令。#shutdown -h now 立即關機
#shutdown -h 10 指定 10 分鐘後關機
#shutdown -r now 重新啟動計算機
#shutdown-c:取消上次的關機指令
- 重新開機指令
rebootinit 6
- 關機指令
init 0 poweroff
- 系統運作級别:
0 關機
1 單使用者 類似windows安全模式
2 不完全多使用者,不含nfs服務
3 完全多使用者
4 未配置設定
5 圖形界面
6 重新開機
可以通過檢視/etc/inittab來檢視系統啟動的運作級别
runlevel:檢視目前的運作級别
yum常用指令
- yum 文法
yum [options] [command] [package ...] options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。 command:要進行的操作。 package操作的對象。
1.列出所有可更新的軟體清單指令:yum check-update
2.更新所有軟體指令:yum update
3.僅安裝指定的軟體指令:yum install <package_name>
4.僅更新指定的軟體指令:yum update <package_name>
5.列出所有可安裝的軟體清單指令:yum list
6.删除軟體包指令:yum remove <package_name>
7.查找軟體包 指令:yum search <keyword>
8.清除緩存指令:
yum clean packages: 清除緩存目錄下的軟體包
yum clean headers: 清除緩存目錄下的 headers
yum clean oldheaders: 清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟體包及舊的headers
- 執行個體 1
**安裝 pam-devel**
[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies <==先檢查軟體的屬性相依問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz 100% |=========================| 1.6 MB 00:05
filelists.xml.gz 100% |=========================| 138 kB 00:00
-> Finished Dependency Resolution
……(省略)
- 執行個體 2
**移除 pam-devel**
[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies <==同樣的,先解決屬性相依的問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Removing:
pam-devel i386 0.99.6.2-4.el5 installed 495 k
Transaction Summary
=============================================================================
Install 0 Package(s)
Update 0 Package(s)
Remove 1 Package(s) <==還好,并沒有屬性相依的問題,單純移除一個軟體
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : pam-devel ######################### [1/1]
Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!
- 執行個體 3
利用 yum 的功能,找出以 pam 為開頭的軟體名稱有哪些?
[root@www ~]# yum list pam*
Installed Packages
pam.i386 0.99.6.2-3.27.el5 installed
pam_ccreds.i386 3-5 installed
pam_krb5.i386 2.2.14-1 installed
pam_passwdqc.i386 1.0.2-1.2.2 installed
pam_pkcs11.i386 0.5.3-23 installed
pam_smb.i386 1.1.7-7.2.1 installed
Available Packages <==底下則是『可更新』的或『未安裝』的
pam.i386 0.99.6.2-4.el5 base
pam-devel.i386 0.99.6.2-4.el5 base
pam_krb5.i386 2.2.14-10 base
- du指令
du指令:用于顯示目錄或檔案的大小。du會顯示指定的目錄或檔案所占用的磁盤空間。 du -sh 檔案名 -s或--summarize 僅顯示總計。-h或--human-readable 以K,M,G為機關,提高資訊的可讀性。
- ps指令
ps指令用于顯示目前程序 (process) 的狀态。
ps -u root //顯示root程序使用者資訊
ps -A 顯示程序資訊
ps -ef //顯示所有指令,連帶指令行
- top指令
top指令用于實時顯示 process 的動态。
- lsof -Pti :8000
通過端口号獲得程序pid
- kill -9 pid
殺死指定pid的程序,強行殺死。
- history
檢視曆史指令
- 執行曆史指令
!! 執行上一條指令
!n 執行曆史指令的中第n條
!-n 執行導數第n條
!string 執行以string開頭的曆史指令行
!?string? 執行包含string的曆史指令行
- alias
給指令起别名
alias 指令='别名'
alias -p 檢視已存在的别名
- unlias
取消别名
unlias name
- cal
- ssh
ssh [email protected] "ifconfig"