linux基本命令詳解の第一季

linux常用命令一:

文件名命名規則


1)除了/之外,所有的字符都合法。
2)有些字符最好不用,如,空格、製表符、退格符和字符@#¥%()-等。
3)避免使用.作爲普通文件名的第一個字符,在linux系統中,以.開頭的文件都是隱藏文件。
4)大小寫敏感,文件名、選項等都是嚴格區分大小寫的,abc和ABC是完全不同的兩個名稱。
5)windows文件命名的八三規則,文件名最好控制在八位以內,後綴名最好在三位以內,不適合linux。

命令格式

命令格式:命令 -選項 參數   例:

#ls   -la     /etc

說明

1)當有多個選項時,可以寫在一起。
  2)兩個特殊的目錄.和..,分別代表當前目錄和當前目錄的父目錄。
  3)選項可以設定這個命令執行的時候,比如說不同的方式、不同的顯示結果、不同的操作的形式。
  4 )-後面連接的是選項,此例中l是第一個選項,a是第二個選項,也可以寫成ls -a -l 。各個選項之間使用空格來作爲分隔符;
  大多數情況下爲了省事,可以把多個選項連着寫在一起。也就是可以寫成ls -la
  5)所謂參數---就是命令操作的對象。一個命令可以對文件操作、可以對目錄操作、可以對用戶操作、可以對用戶組操作、可以對進程操作等等;
總之不管是對任何一個對象操作,這個命令所要操作的那個對象,我們稱之爲---->參數;
此例中,參數就是/etc這個目錄。
  6)選項是以什麼形式或方式來呈現,參數就是命令操作的對象,那麼命令自然就是它本身了。
  7)所以,綜上所述,我們在學習的時候應該也就自然的應該把把注意力集中在命令和選項上面了。

 8)思考:本例中/etc的父目錄是什麼?

解析---->作爲一個倒樹狀的結構,/etc的父目錄就是根目錄。------>也就是當前目錄的上一級目錄。

文件處理命令:ls

命令願意:ls

命令英文原意:list

命令所在路徑:/bin/ls

執行權限:所有用戶

功能描述:顯示目錄文件

語法:ls 選項[-ald]  [文件或目錄]

-a------->顯示所有文件,包括隱藏文件;-a=all

-l-------->顯示詳細信息;-l=long

-d------->查看目錄屬性



linux之潛規則之一:
root可以執行的命令存放在:
/sbin
/usr/sbin
all users可以執行的命令存放在:
/bin
/usr/bin

bin--->binary二進制---->在linux系統裏面,所有的東西都是文件,那麼,命令自然也是一個文件,是一個二進制文件。
sbin-->可以理解爲super binary,在linux系統裏面,root就是萬能的天神,類似於電影中的super man,無所不能。
小結:通過上面的學習可以知道,某個命令-----普通用戶到底能不能執行?只需要查找到此命令所在的目錄---->就能判斷這個命令哪些用戶可以執行,哪些用戶不可以執行。

ls -l獲得的信息如下

drwxr-xr-x

文件類型   1、d-目錄directory

2、-  二進制文件(可以理解爲只要不是特殊類型的文件、不是目錄它就是二進制文件,只要是以橫槓開頭就是二進制文件)


3、l 軟連接文件link

rwx (任我行,哈哈。開個玩笑,方便大家好記憶!) --r-x--r-x 三位一組,代表了三種權限。

r-read讀、w-write寫、x-execute執行;可讀、可寫、可執行分別用r、w、x小寫英文字母來表示。

權限分配是相對於用戶這個對象的,由此呢,用戶也分爲如下三種,和三種權限分別一一對應。


rwx--->所有者,用u來表示--->叫user或owner。這是第一類用戶,所有者,前三個字符代表了所有者的權限。那麼什麼是這個文件的所有者?


兩種可能:一、文件的創建者;二、所有者也是可以轉讓的--比如張×××司的linux系統管理員,在寫一個非常複雜的腳本,但是沒寫完,寫到一半

公司派他出差了,他就想把工作交給公司的另外一個技術員李四。這樣的話張三就需要把腳本的權限給李四。

其實最簡單的方法把所有者改爲李四就行了,由李四全權負責就可以了。

張三可以做一個動作---->把腳本的所有者改爲李四就可以了。此時的所有者就不是文件的創始人了。

r-x---->所屬組g-group,對組授權就相當於對組中的用戶授權,因爲用戶組就是同一類型用戶的集合——

所以可以定義這一組用戶對這個文件有什麼樣的操作權限——這是第二類用戶所屬組。

r-x---->這三個字符定義的是--其他人-others


linux系統中只有三類用戶:

1)是文件的所有者,你擁有這個文件;

2)是你是這個文件所屬組中的一員,對這個文件有某種操作權限;

3)是,你既不是所有者,也不是所屬組中的一個成員,那麼,你自然而然就屬於其他人--others。

所以不管你的linux系統中有多少用戶,有100個,10000個,你只可能是這三種用戶中的一個——

要麼是所有者、要麼是所屬組中的一員,如果這兩個都不是,那你自然就是其他人嘍!


linux之潛規則之一:
root可以執行的命令存放在:
/sbin
/usr/sbin
all users可以執行的命令存放在:
/bin
/usr/bin

通過以上知識點的學習,可以很容易的判斷出來,系統裏面任何一個用戶對這個文件或目錄具有什麼樣的操作權限。

因爲他必然屬於三種用戶中的某一種。

前十個字符linux系統告訴了我們兩件事情

1)文件類型
2)文件權限

ls-l linux基本權限管理的繼續探討

第二部分

2--硬連接數;定義了某個文件或某個目錄或某個目錄裏面的文件的硬連接數

第三部分、第四部分root、root分別告訴我們---文件的所有者是誰?所屬組又是誰?

第五部分:文件大小--在大多數linux裏面或者說是不同的linux裏面只是標記linux目錄和子目錄的大小———

所以這不是一個準確的數值,在linux裏面很少用ls命令來查看文件後目錄本身的大小——

再者,單位看起來也不方便,在不同的linux裏面稍有不同,基本上這個文件大小的單位是以KB來表示的。

(1G=1024MB,1MB=1024KB),在linux裏面都是以數據塊-block來表示的

block的存儲單位一般是512字節,在某些linux換算裏面有些不是以字節爲單位是以KB爲單位,注意即可。

那麼什麼是數據塊呢?

知識補充之數據塊:
1)、每一個操作系統都要有一種組織管理數據的方式;
2)、此組織管理數據的方式最明顯的體現爲:在安裝系統時,要進行-->分區、要進行-->格式化;要對存儲空間進行切塊
3)、數據塊切好以後怎樣存取?要有一個規則和方式
4)、此規則和方式我們稱之爲文件系統,如NTFS、ext3等
5)、此文件系統結構裏面還包括了很多的細節,其中有一個叫block數據塊
6)、可以通俗的理解爲:--->存儲數據的最小單位,可以把它叫做數據塊


舉例:  某高校自習教室有100平,可以存放100個椅子,假如說一個人只能坐一個椅子,可以暫且把椅子理解爲數據塊

校方爲了大家坐的舒服一點,把椅子換成了大沙發,真皮沙發,特別大,可能只能坐20個人,因爲每個沙發上還是坐一個人

後來招生量很大,學生很多換成了摺疊凳,也許可以坐80人,每個凳子上還是坐一個人

小結:
數據塊就像例子中的:沙發、椅子、摺疊凳一樣
     劃分一個文件系統可以定義數據塊的大小
  可以大到像一個沙發,小到一個折凳,但也許默認的像椅子那麼大,就是512字節
  那麼是什麼概念呢?該怎樣來理解呢?
  就是文件在往這個文件系統裏面存儲的時候至少要佔用一個數據塊。如果你有一個文件是1個字節,怎麼辦?
  類似於例子中的,不管你這個人瘦或者是胖,你都要佔用一個座位,椅子也好沙發也罷。
  也就是說12字節的文件也要佔用一個數據塊,那麼剩下的511個字節怎麼辦?--->浪費掉了唄!
  就像例子中的瘦子,你再瘦你還是要坐一個椅子,或者沙發。再胖也同樣是一個椅子或者一個沙發
  1個字節的文件過來要佔用一個數據塊,500個字節的文件過來也是要佔用一個數據塊,若是1000字節的文件呢?
  肯定是分開了,打成兩塊,佔用兩個數據塊
  數據塊是linux裏面最小的存儲單位
  我們在實際的應用裏面,數據塊理論上是可以調整大小的,不一定採用默認的512字節
  案例一、:氣象局裏面的數據塊


1)氣象局工作站,從衛星實時接收數據,每個數據只有幾個字節,很小,那麼這時候存儲的話,如果你數據塊設置的過大

2)對於存儲的硬盤空間的浪費就會非常之多

3)解決方法之一就是可以把數據塊調整的小一些,節省數據存儲空間

案例二、視頻網站裏面的數據塊

1)視頻網站,存儲的視頻都是幾十兆、甚至上百兆、GB存儲的

2)做了一個流媒體服務器,此時存取過來的數據塊都是百兆、千兆的。

3)數據塊越小---存取數據的速度就越慢

4)數據塊越大---浪費的空間越大,但是存取速度會提高很多

5)所以數據塊的大小還是要看具體的企業應用需求,可以調整數據塊的大小

6)若是沒有特殊需求,一般按照默認就足夠用了

7)每種組織管理數據結構的文件系統管理方式和類型不同、再加上文件系統本身會佔用一部分磁盤存儲空間,具體還要看實際應用。

思考:剛買的1TB的移動硬盤,格式化以後爲什麼沒有1TB了呢?

第六部分:標記了某個時間值

1)文件的創建或最後修改的時間

第七部分:文件或目錄的名稱

ls -l /------>

1)列出的是根目錄下每一個子目錄和文件的詳細信息,並不是根目錄自己的

2)那麼,我只想查看根目錄這個目錄的詳細信息該怎麼做?ls -ld /即可

文件處理命令:cd

命令名稱:cd

命令英文原意:change directory

命令所在路徑:shell內置命令

執行權限:所有用戶 all users

語法:cd [目錄]

功能描述:切換目錄


範例:#cd / ---->切換到根目錄
  #cd ..---->切換到上一級目錄

文件處理命令:pwd

命令名稱:pwd

命令英文原意:print working directory

命令所在路徑:/bin/ls

執行權限:所有用戶 all users

語法:pwd

功能描述:顯示當前所在的工作目錄

範例:# pwd

文件處理命令:touch

命令名稱:touch

命令所在路徑:/bin/ls

執行權限:所有用戶 all users

語法:touch [文件名]

功能描述:創建空文件

範例:# touch 1.test

文件處理命令:mkdir

命令名稱:mkdir

命令英文原意:make directories

命令所在路徑:/bin/mkdir

執行權限:所有用戶 all users

語法:mkdir [目錄名]

功能描述:創建新目錄

範例:mkdir test

文件處理命令:cp

命令名稱:cp

命令英文原意:copy

命令所在路徑:/bin/cp

執行權限:所有用戶 all users

語法:cp -R [源文件或目錄] [目的目錄]

-R複製目錄

功能描述:複製文件或目錄

範例:#cp /etc/inittab /etc/services /test/  ------->複製文件時可寫多個,按次序寫上即可
          #cp  -R /etc/ /test----------------->把/etc/目錄複製到/test目錄下面

#目標文件若已存在會提示覆蓋

可能會需要一點時間來複制,任何時候只要按下鍵盤上的CTRL+C可以終止正在進行的命令操作

拷貝或者查找的用時相對會久一些,如果你決定放棄此操作,按CTRL+C中斷即可

文件處理命令:mv

命令名稱:mv

命令英文原意:move

執行權限:所有用戶

語法:mv [源文件或目錄]  [目標目錄]

功能描述:移動文件、更名--->類似於wdindows裏面的剪切功能

案例:1)#mv services service
  2)#mv /test/inittab /tmp/inittab2----->移動並更名


文件處理命令:rm

命令名稱:rm

命令英文原意:remove

命令所在路徑:/bin/ls

執行權限:所有用戶 all users

語法:rm -r [文件或目錄]

 -r刪除目錄

功能描述:刪除文件


rmdir  刪除空目錄幾乎沒有實用性知道即可

文件處理命令:cat

命令名稱:cat

命令英文原意:conncatenate  and display files

命令所在路徑:/bin/ls

語法:cat [文件名]

功能描述:顯示文件內容

範例:#cat  /etc/issue
  #cat /etc/services

#適合查看文件內容不是太多的文件

文件處理命令:more

命令名稱:more

命令所在路徑:/bin/more

執行權限:所有用戶

語法:more  [文件名]

可使用more內置的命令來進行瀏覽

(空格)或f顯示下一頁

 (enter)顯示下一行

 q或Q退出

功能描述:分頁顯示文件內容

範例:#more /etc/services

文件處理命令:head

指令名稱:head

指令所在路徑:/bin/ls

執行權限:所有用戶 all users

語法:head -num [文件名]

-num顯示文件的前num行

功能描述:查看文件的前幾行

#head -20 /etc/services

文件處理命令:tail

指令名稱:tail

指令所在路徑:/bin/tail

執行權限:所有用戶 all users

語法:tail -num [文件名]

-num 顯示文件的後num行

-f動態顯示文件末尾的內容,實時顯示最新的10條信息

功能描述:查看文件的後幾行

範例:

tail -30 /etc/services

linux常用命令二


文件處理命令:ln

命令名稱:ln

命令英文原意:link

命令所在路徑:/bin/ln

執行權限:所有用戶 all users

語法:ln -s [源文件]  [目標文件]

-s創建軟連接

功能描述:產生鏈接文件

案例:

#ln -s /etc/issue /test/issue.soft
  #ln -s /etc/issue  /test/issue.bak
  #ln -s /etc/inittab /test/inittab.soft
  # ls -l /etc/issue /etc/inittab /test/issue.soft /test/inittab.soft

小結:

軟連接文件:

1)權限:lrwxrwxrwx  ------>箭頭表示指向源文件 10--->大小,非常小,也就是說它只是一個符號鏈接
2)當你點擊一個鏈接文件的時候它會自動指向到源文件
3)對這個軟連接有什麼樣的權限不重要,所有的人都有權限也是沒問題的,因爲最後訪問的還是源文件
4)到底你能不能訪問?如何訪問?取決於你對源文件有什麼樣的權限
5)軟連接文件類型是l
6)權限是所有人都可以訪問
7)箭頭指向到源文件
8)時間值實際上是創建軟連接文件的時間,與源文件無關
9)軟連接類似於windows裏面的快捷方式


硬鏈接文件:

#ln /etc/issue /test/issue.hard
#ls /etc/issue   /test/issue.hard

---->除了兩個文件所存放的位置不同以外,其他所有的屬性都是完全相同的。

1)、類似於cp,與cp有所不同的是硬鏈接是同步更新的=cp+同步更新,實際上和cp不完全相同

2)、時間值不同---->把一個文件拷貝到另外位置,就相當於創建了一個新文件,創建一個新文件時間值肯定是會改變的。


#cp  /etc/issue /test/issue
#ls /etc/issue /test/issue
#cp   -p /etc/issue /test/issue2----->加上-p參數更新時間值
#ls /etc/issue /test/issue2 -l
#echo "This is  a test" >> /etc/issue
#cat /etc/issue /test/issue.hard /test/issue.soft

小結:1)、首先,軟連接只是一個符號鏈接,源文件如果沒了,軟連接沒有任何價值,就像windows快捷方式,原來的安裝文件都刪除了,快捷方式沒有任何意義

         2)、硬鏈接相當於是源文件的一個拷貝,其屬性和內容完全相同,還可以同步更新,源文件如果被幹掉了,硬鏈接依然是存在的

 3)、硬鏈接類似於複製+同步更新,爲什麼能夠同步更新呢?

 見截圖部分

#touch a
#ln a a.hard
#ln -s a a.soft
#ls - i

1)i----->inode i節點

2)其實就是一個數字標識

3)在linux裏面,任何需要處理的對象,都必須有一個數字標識。對於文件來說當然也有一個數字標識了,文件的數字標識叫做I節點

4)每個文件必須有一個I節點

5)硬鏈接與源文件有相同的I節點,可以同步更新,實際上是相當於I節點同時映射到了兩個文件

6)刪掉了一個文件只是減掉了一個映射

7)爲什麼可以同步更新呢?因爲內核一看I節點相同,都是相同的數字,就傻乎乎的都往兩個文件裏面進行同步寫入進行更新了唄!

8)內核不管哪個是a哪個是a.hard;它只知道i-node是一樣的

9)每個文件都必須要有一個I節點,是內核調用的一個數字標識

1)軟連接是可以跨文件系統來生成的

2)硬鏈接不能跨文件系統(分區)

權限管理命令:

命令名稱:chmod

命令英文原意:change the premissions mode of a file

命令所在路徑:/bin/chmod

執行權限:chmod [  {ugo}     {+ - =}   {rwx} ]   [文件或目錄]

[mode=421]   [文件或目錄]

功能描述:改變文件或目錄權限

chmod 用戶類型    

U+---->增加權限   r

G- ——>減少權限   w

O= ——>不管以前權限怎樣,直接賦權   x

U-所有者

G-所屬組

O-其他人

    rwx可讀可寫可執行

#chmod u+wx  --->給所有者增加wx的權限
#chmod o-wx   --->減去其他人wx的我權限
#chmod o-rx
#chmod g=rwx

r----4

    w----2

x-----1

任何時候給你一個權限你要能把它寫成數字

rw-r--xr-------->u=4+2+0   g=4+0=0  o=4+0+0  644

rwxrwxr-x------>775

467=r--rw-rwx

能熟練在數字和字母之間來回換算。給你一個數字你能寫出相對應的字母,給你一個字母能寫出相對應的數字

752=rwx r-x  -x------->每三個位置代表了一類用戶

關於權限的一個實驗:

#mkdir /test---在根目錄下新建一個test目錄
#touch /test/testfile
#chmod 777 /test/testfile

question:以普通用戶的身份登錄,能否刪除testfile這個文件呢?

linux常用命令2第三講 41分鐘

su -加上用戶名可以切換用戶


#useradd han
#passwd han
#su - han
$rm /test/testfile
#chmod  777 /test
#chmod 644 /test/file
#su - han
$rm /test/file
$ls -ld /test/
$ls -l /test/testfile

問題:普通用戶是否可以刪除/test/testfile這個文件?

$rm /test/file
$ls /test

文件目錄權限總結

代表字符    權限對文件的含義對目錄的含義

 r讀權限 可以查看文件內容可以列出目錄中的內容

 w寫權限 可以修改文件內容    可以在目錄中創建、刪除文件

 x執行權限           可以執行文件可以進入目錄


文件
r-cat、more、head、tail
w-echo、vi
x-命令、腳本
目錄
r-ls
w-touch、mkdir、rm
x-cd

權限管理命令:chown

命令名稱:chown

命令英文原意:change file ownership

命令所在路徑:/bin/chown

執行權限:所有用戶

語法:chown [用戶]  [文件或目錄]

功能描述:改變文件或目錄的所有者

範例:chown han test1

改變文件test1的所有者爲han

做練習時可以使用linux系統自帶的類似於windows下的guest賬號的nobody賬號

chown han test1

命令名稱:chgrp

命令英文原意:change file group ownership

命令所在路徑:/bin/chgrp

執行權限:所有用戶

語法:chgrp  [用戶組]     [文件或目錄]

功能描述:改變文件或目錄的所屬組

範例:$chgrp adm test

改變文件test的所屬組爲adm

命令名稱:umask

命令所在路徑:/bin/umask

執行權限:所有用戶

語法:umask [-S]

-S以rwx形式顯示新建文件或目錄缺省權限

功能描述:顯示、設置文件的缺省權限

範例:

$umask
   $umask -S
   0022

  0--特殊權限位

  022-用戶權限位,其實就是權限掩碼值,022不是最終的權限,最終的權限是用所謂的掩碼值。

是需要用777減去022,所以最後得到的值應該是755分別代表三類用戶user group  others

linux權限規則:

缺省創建的文件不能授予可執行X權限

umask 027   ---->更改權限掩碼值  umask+權限掩碼值 777-027=750

umask -S查看掩碼值

文件搜索命令:爲which

命令名稱:which

命令所在路徑:/usr/bin/which

執行權限:所有用戶

語法:which [命令名稱]

功能描述:顯示系統命令所在目錄    別名信息

  whereis 幫助文件

範例:which ls

文件搜索命令:find

命令名稱:find

命令所在路徑:/usr/bin/find

執行權限:所有用戶

語法:find [搜索路徑] [搜尋關鍵字]

功能描述:查找文件或目錄


查找基本原則:
注:儘量不要在根目錄下查找,因爲在根目錄下查找就相當於在整個硬盤上查找,系統會枚舉整塊硬盤,
一是查找速度會很慢,
    二是非常佔用系統資源,應儘量避免此種方式的查找,
三應儘量縮小查找範圍


-name根據文件名來查找:


find +首先指定搜索路徑;最常見的就是根據文件名來查找-name    #fine /etc -name init

*匹配任意字符包括零個字符

#find /etc -name init*
#find /etc -name *init*

?匹配單個字符 ,如很確定這個文件就是以init開頭但是後三位不記得是什麼了,那麼這個由七個字母組成的單詞或者文件就可以使用?來標記查找

init???

#find /etc -name init???一個問號匹配一個字符



-size 文件大小--->數據塊--->block---->512字節
100MB=?block 1MB=1024KB 100MB多加上兩個0不就OK了??102400kb 512字節=0.5kb
102400*2=204800block 數據塊

大於  +

小於   -

等於   =很少用此選項。若是直接記得剛好是那麼大。就不用直接查找了,呵呵,你懂的。


#  find / -size +204800
-user文件所有者
#find /home -user root

根據時間值查找

1、天ctime、atime、mtime

2、分鐘cmin、amin、mmin

c--->change改變,表示文件的屬性被修改過,所有者、所屬組、權限

a--->access訪問,

m--->modify修改,表示文件內容(文件正文裏面的內容)被修改過,

-橫槓表示多長時間以內

+加號表示超過多長時間

=同樣用的很少,理解即可


案例:查找在/etc目錄下兩個小時以內被修改過的文件

# find /etc -mmin -120

1、連接符

-a and 邏輯與,必須同時滿足兩個文件,匹配兩個條件,兩個條件必須同時都滿足,取一個∩

-o or 邏輯或滿足其中一個條件就可以了

#find /etc -name init* -a  -type f ----->只想看文件
# find /etc -name init* -a type l----->只想看軟鏈接文件

-type 文件類型

f---->二進制文件

l----->軟連接文件

d---->目錄

#find /etc -name inittab -o -size +204800

2、find ..... -exec 命令 {} \;

固定格式:

{}花括號表示find查詢的結果;

\轉義符,符號或者命令使用本身的含義

;分號表示語句的結束

#rm test1
#\rm test2
#find   /etc -name inittab -exec ls -l {} \;
#find /test  -name test1 -exec rm   {} \;
#find /home -user han -exec rm -rf {} \;

OK 會詢問確認


#find /etc -name inittab -ok ls -l {} \;
#find /etc -name inittab -OK rm -rf {} \;
#find /etc -name init* -a -type f -exec ls -l {} \;

根據I節點來查找

i-nuim  i-node  i節點

#find . -inum 15 -exec rm {} \;

文件搜索命令:locate

指令名稱:locate

指令英文原意:list files in databases

指令所在路徑:/usr/bin/lcoate

執行權限:所有用戶 all users

語法:locate [搜索關鍵字]

功能描述:尋找文件或目錄

注:此命令只在linux系統裏面有,UNIX沒此命令

範例:

$locate file

 列出所有跟file有關的文件

文件搜索指令:updatedb

指令名稱:update the slocate database

指令所在路徑:/usr/bin/updatedb

執行權限:root

語法:updatedb

功能描述:建立整個系統目錄文件的數據庫

範例:updatedb


文件搜索命令:grep

命令名稱:grep

命令所在路徑:/bin/grep

執行權限:所有用戶

語法:grep [指定字符串]   [源文件]

功能描述:在文件中搜尋字符串匹配的行並輸出

範例:

# grep  ftp /etc/srvices
  #grep tftp /etc/services

幫助命令:man

命令名稱:man

    命令英文原意:manual

命令所在路徑:/usr/bin/man

執行權限:所有用戶

語法:man [命令或配置文件]

功能描述:獲得幫助信息

# man ls ---->查看ls命令的幫助信息
#man services--->查看配置文件services的幫助信息

幫助命令:whatis

   指令名稱:whatis apropos makewhatis

   指令英文原意:search the whatis databases for strings

指令所在路徑:/usr/bin/whatis apropos

/usr/sbin/makewhatis

執行權限:All users 所有用戶

    語法:whatis apropos [任何關鍵字]

範例:#whatis ls
#apropos fstab 相當於man -k

#makewhatis

建立whatis和apropos搜索使用的數據庫,當使用這兩個命令發生錯誤時,就是whatis database沒有建立

   help------->查看shell內置命令的幫助

#man cd ------>當前shell有哪些內置命令

壓縮解壓命令:gzip

命令名稱:gzip

命令英文原意:GNU zip

命令所在路徑:/bin/gzip

語法:gzip 選項 [文件]

執行權限:所有用戶

功能描述:壓縮文件

壓縮後文件格式:.gz

注:1)只能壓縮文件

2)不保留源文件

解壓縮:gunzip 或者gzip -d

壓縮解壓縮命令:tar  ----->說白了就是可以把一個或多個目錄打包成一個文件

命令所在路徑:/bin/tar

執行權限:所有用戶

語法:tar [cvf]  [目錄]

-c  產生.tar打包文件

-v 顯示詳細信息

-f指定壓縮後的文件名

-z打包同時壓縮

功能描述:打包目錄

   壓縮後文件格式:.tar.gz

壓縮解壓文件命令:tar

tar命令解壓縮語法:

-x:解包.tar文件

-v:顯示詳細信息

-f:指定解壓文件

-z解壓縮

壓縮解壓命令:zip

命令名稱:zip

命令所在路徑:/usr/bin/zip

執行權限:所有用戶

語法:

zip -r [選項] [壓縮後文件名稱] [文件或目錄]

-r壓縮目錄

功能描述:壓縮文件或目錄

壓縮後文件格式:.zip

.zip是windows和linux通過格式

zip 壓縮後的文件名 源文件 =一個壓縮文件=會保留源文件

#zip test.zip /test

解壓縮命令:unzip

命令所在路徑:/usr/bin/unzip

執行權限:所有用戶 all users

語法:unzip [壓縮文件]

功能描述:解壓.zip的壓縮文件

範例:$unzip test.zip

bz2  -k壓縮後保留源文件

網絡通信指令:write

指令名稱:write

指令所在路徑:/usr/bin/write

執行權限:所有用戶

語法:write <用戶名>

功能描述:向另外一個用戶發信息嗎,以CTRL+D作爲結束

範例#write han

注:write是一個實時通信命令,用戶必須在線纔可以通信成功

網絡通信指令:wall

指令名稱:/usr/bin/wall

執行權限:all users 所有用戶

語法:wall [message]  [文件名]

功能描述:向所有用戶廣播信息

範例:$wall Happy New Year!

網絡通信命令:ping

命令名稱:ping

命令所在路徑:/usr/sbin/ping

執行權限:root

語法:ping 選項 ip地址

功能描述:測試網絡連通性

範例:

#ping 192.168.1.1

思考:

     若是沒有ping通?就能說明網絡不通嗎?

 -c count 次數

 -l 定義數據包的大小,可以通過發送數據包的大小觀察對方網絡的網絡連通質量

#ping  -c 50  -l 999 baidu.com

網絡通信命令:ifconfig

命令名稱:ifconfig

命令所在路徑:/usr/sbin/ifconfig

執行權限:root

語法:

ifconfig 選項  [-a] [網卡設備標識]

功能描述:查看網絡設置信息

範例:

#ifconfig -a


系統關機命令:shutdown

命令名稱:shutdown

命令所在路徑:/usr/sbin/shutdown

執行權限:root

語法:shutdown

功能描述:關機

範例:

# shutdown -h now

系統關機命令:reboot

命令名稱:reboot

命令所在路徑:/usr/sbin/reboot

執行權限:root

語法:reboot

功能描述:重啓系統

範例:

#reboot

shell應用技巧

1)命令別名

2)輸入/輸出重定向

3)管道

4)命令連接符

5)命令替換符

bash應用技巧

1)命令補齊

TAB

2)命令歷史

history  鍵盤右下角上下箭頭

#cat /etc/shells

輸入輸出重定向

同標準IO一樣,shell對於每一個進程預先定義了3個文件描述字(0、1、2)

分別對應於--------->(計算機裏面的標準設備)

0(STDIN)------>標準輸入;

1(STDOUT)----->標準輸出;

2(STDERR)----->標準錯誤輸出

>>追加

管道

   管道:將一個命令的輸出傳送給另外一個命令,作爲另外一個命令的輸入

使用方法:

命令1 | 命令2 | 命令3。。。。|命令n

範例:

#ls -l  /etc |mor
#ls -l /etc | grep init
#ls -l /etc grep init | wc -l

命令連接符:

用;間隔的各命令按順序依次執行

&&前後命令的執行存在邏輯與關係,只有&&前面的命令執行成功後,它後面的命令才被執行

||

前後命令的執行存在邏輯或關係,只有||前面的命令執行失敗後,它後面的命令才被執行

命令替換符

命令替換:將一個命令的輸出作爲另一個命令的參數

格式爲:命令1 ` 命令2`

範例:ls -l  `whicl cd`



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章