天天看點

Linux 指令大全檔案管理指令目錄指令權限管理指令檔案搜尋指令使用者管理指令壓縮解壓縮指令網絡指令關機重新開機指令yum常用指令

檔案管理指令

  • cat指令
cat :檢視檔案内容            
-n:帶行号
  • 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:取消上次的關機指令

  • 重新開機指令
init 6           
   reboot
  • 關機指令
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"