1. 程式人生 > >Linux入門第二天——基本命令入門(上)

Linux入門第二天——基本命令入門(上)

use 直接 第一個 重要 應該 文件 show inux 私房菜

一、常用命令介紹

  常見命令可參考:http://man.linuxde.net/

  常用的快捷鍵:http://blog.csdn.net/avilifans/article/details/11847371

Tab: 單擊補全,雙擊列出所有
↑↓:歷史命令翻閱
Ctrl+C:強制終止
Ctrl+D:相當於輸入exit,退出 Ctrl
+L:清屏 Ctrl+A/E:移動光標到行首/尾 ...

  常用幫助指令(學習Linux哪些復雜的選項都可以通過幫助進行查找:)

  http://blog.csdn.net/chenghuikai/article/details/45219017

  常見命令的完整英文全稱:

  https://www.cnblogs.com/DreamDrive/p/6945523.html

  技術分享圖片

二、命令格式

  在介紹命令之前,先介紹一下$PATH這個東西,這個就是我們之前在win平臺介紹過的“系統路徑變量”,輸入的命令在PATH變量所指定的目錄中,所以我們可以在任意位置使用ls這樣的路徑了

  就像我們配置了Java的PATH環境變量後可以在任意cmd窗口任意目錄下使用java這個命令,Linux的PATH類似,裏面也是一堆目錄,我們可以使用echo $PATH進行查看:

  技術分享圖片

  PATH中多個路徑使用冒號:進行分割,並且是有先後之分的(不同用戶PATH不同),若有相同的命令在不同的目錄下,則優先匹配使用先找到的那個。

  若要增加自定義的目錄,可以使用:PATH="${PATH}:/root"

  看格式之前先了解一下天天見的登陸提示字符的含義:

  技術分享圖片

  其中:

     root 代表用戶名,Linux中的管理員是root

    localhost 表主機名

    ~ 代表當前所在位置(家目錄,其中root用戶所在的家目錄是 /root,為一級目錄,其它為 /home/user1 等二級目錄)

    # 超級用戶提示符

      $ 普通用戶提示符

  命令格式

    命令 [選項] [參數]

      個別命令不遵循此格式

      有多個選項時可以寫在一起

      簡化選項與完整選項:-a 與--all

  我們通過學習第一個命令來了解命令的格式:

    查詢目錄中內容ls

    技術分享圖片

    實例:

  技術分享圖片

  其中,前面的 -rw-------代表的是權限,權限分為10位,具體的如下:

技術分享圖片

  第一位為文件類型(主要7種)

d:文件夾
-:普通文件
l:鏈接(類似Windows的快捷方式)
b:塊設備文件(例如硬盤、光驅等)
p:管道文件
c:字符設備文件(例如貓等串口設備)
s:套接口文件/數據接口文件(例如啟動一個MySql服務器時會產生一個mysql.sock文件)

 後9位分為三組,三個一組,分別表示:所有者,所屬組,其他人(指代的都是用戶和文件之間的關系),例如這裏按照u g o 匹配

  要註意的是,這三個權限的位置不會改變,如果沒有權限,就會出現減號[ - ]而已。

  所有者是 root (具有讀寫權限),所屬組是 root所在的組 (具有讀權限),其它人(具有讀權限

  1 表示連接數,後面root root分別表示所有者 所屬組,再往後就是數字表示的文件大小

  這裏後面的大小是一串數字,我們使用上面提到的人性化顯示大小(human)的命令選項 -h,使用顯示詳細信息與人性化大小的組合選項 -lh:

  技術分享圖片

後面的依次為最後修改時間和文件名

註意如果文件名之前多一個“ . ”,則代表這個文件為“隱藏文件

  參數信息如查看指定目錄(如etc目錄): ls -lh /etc/

對一般文件來說,rwx 主要是針對“文件的內容”來設計權限,
  對目錄來說,rwx則是針對“目錄內的文件名列表”來設計權限。稍微抽象的目錄的權限解讀如下:

技術分享圖片
r (read contents in directory):
表示具有讀取目錄結構清單的權限,所以當你具有讀取(r)一個目錄的權限時,表示你
可以查詢該目錄下的文件名數據。 所以你就可以利用 ls 這個指令將該目錄的內容列表顯
示出來!
w (modify contents of directory):
這個可寫入的權限對目錄來說,是很了不起的! 因為他表示你具有異動該目錄結構清單
的權限,也就是下面這些權限:
創建新的文件與目錄;
刪除已經存在的文件與目錄(不論該文件的權限為何!)
將已存在的文件或目錄進行更名;
搬移該目錄內的文件、目錄位置。 總之,目錄的w權限就與該目錄下面的文件名異
動有關就對了啦!
x (access directory):
咦!目錄的執行權限有啥用途啊?目錄只是記錄文件名而已,總不能拿來執行吧?沒
錯!目錄不可以被執行,目錄的x代表的是使用者能否進入該目錄成為工作目錄的用途!
所謂的工作目錄(work directory)就是你目前所在的目錄啦!舉例來說,當你登陸Linux
鳥哥的 Linux 私房菜:基礎學習篇 第四版
272 5.2 Linux 文件權限概念
時, 你所在的主文件夾就是你當下的工作目錄。而變換目錄的指令是“cd”(change
directory)啰!
View Code

  【更新】:改變文件權限:

    知道如何查看權限後,我們來看如何修改權限(權限在Linux十分重要)

chgrp :改變文件所屬群組
chown :改變文件擁有者
chmod :改變文件的權限, SUID, SGID, SBIT等等的特性

    實例:改變所有者:chown root:root -R /home/java/jdk1.8.0_131/

  如果要改變權限,可以采用以下兩種方式:

  1.數字式

  rwx分別對應421,這樣我們的rwx權限就是分別的相加結果,例如rwx為7,rw-為6,這樣就可以得出形如下列形式的權限命令:

[root@study ~]# chmod [-R] xyz 文件或目錄
選項與參數:
xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
-R : 進行遞回(recursive)的持續變更,亦即連同次目錄下的所有文件都會變更

  實例:chmod 777 .bashrc

  2.符號式  

  形式如下:

chmod | u g o a | +(加入) -(除去) =(設置) | r w x | 文件或目錄
###
    其中,u g o 分別代表前面的user group others,而a則表示all
    可用的操作有直接賦值(使用=),或者不知道原來的權限,但是只想給每個人增加一個權限,則使用+

  實例:設置權限為如下:-rwxr-xr-x(註意rwx的順序是不會變的,也就是說rx其實就是r-x)

     chmod u=rwx,go=rx .bashrc

     chmod a+w .bashrc

  參見:http://www.cnblogs.com/peida/archive/2012/12/04/2800684.html

  關於文件的默認權限umask,其中umask的後三位表示的是“拿掉的權限,這裏註意文件默認只有rw,目錄有rwx可以拿”

  所以對於文件Umask最大值為666,而目錄則為777(這部分建議參見鳥哥的私房菜介紹)

  如要修改umask,直接輸入數字即可,如umask 002——通常情況下,root會拿掉比較多的權限,一般為022,而普通用戶為002

  當然,除了常規屬性外,還可以設置一些文件的隱藏屬性(例如讓文件只能增加不能減少--如日誌文件),這裏暫時不拓展文件的隱藏屬性的操作。

  特殊權限s&t將在後續進行補充!

三、文件處理命令

  1.目錄處理命令

    類似於windows中的文件夾的概念

  常見特殊目錄:

. 代表此層目錄
.. 代表上一層目錄
- 代表前一個工作目錄
~ 代表“目前使用者身份”所在的主文件夾
~account 代表 account 這個使用者的主文件夾(account是個帳號名稱)

    建立目錄mkdir

  技術分享圖片

  //遞歸創建就是類似創建一個目錄後再創建一個子目錄

  實例:

  技術分享圖片

  //可以看到,若不適用-p直接創建兩級目錄將會報錯

  默認創建的目錄是使用的默認權限,需要限定權限請使用-m參數:

mkdir -m 777 testdir1

    切換目錄cd

技術分享圖片

  (ctrl + L 清屏)

  實例:

  技術分享圖片

  //其中 ../user等為相對路徑  /etc/為絕對路徑

  【Tab鍵】:在linux中,按一下tab會有提示(若只有一個,將會自動補全,若有多個,按兩次tab將會列出所有可選項)

        並且,除了目錄補全,命令也是可以自動補全的!

技術分享圖片

    查詢所在目錄位置pwd

技術分享圖片

  實例:

  技術分享圖片

    刪除空目錄rmdir
技術分享圖片

  //由於其智能刪除空目錄,實際使用時頻率是非常之少,我們使用的是下面的 rm 命令

    刪除文件或目錄:rm

技術分享圖片

  實例:

  技術分享圖片

  //如果不想讓他一直提示,可以使用上面說的,rm -rf jiangxi/,可以強制刪除不提示(命令行將無法恢復)

  註意:Linux中的root是真正的root,它可以執行 : rm -rf / (刪除根目錄),這樣也就是讓 Linux "自殺",它是會執行的。

  所以我們應該推薦的刪除命令是:rm -r jiangxi/這種形式(即使是刪文件,也帶上 -r)

    2.文件處理命令

    復制命令cp

技術分享圖片

  實例:

技術分享圖片

  //註意這裏,復制單個文件直接使用基本命令即可,若後面直接跟 /tmp/,則原名復制,若自定義名字,則按自定義復制

    若要復制目錄,請跟上 -r ,否則將報圖中錯誤!

  復制的文件這裏值得註意的是修改時間會有問題(不像真實機一樣,斷電還有主板的點繼續計時,這裏不深入展開,待補充)

    顯示系統時間:

      技術分享圖片 

  復制文件時添加了 -a選項,將會使得副本與源文件一模一樣,通常,當我們需要將權限一起復制時使用-a選項,而普通復制時文件權限默認是指令操作者的(包括時間屬性以及其它隱藏屬性)

  另外,當需要創建鏈接時,可以分別使用-l -s創建硬軟鏈接,關於hard link 與 symbolic link,請參見:http://blog.csdn.net/niluchen/article/details/8049304

  最後,必須謹慎思考以下問題,在你準備使用cp的時候:

技術分享圖片
是否需要完整的保留來源文件的信息?
來源文件是否為鏈接文件 (symbolic link file)?
來源文件是否為特殊的文件,例如 FIFO, socket 等?
來源文件是否為目錄?
View Code

 註:ls -l 的別名是 ll

    剪切或改名mv

技術分享圖片

  實例:

  技術分享圖片

  //特別註意這裏 mv 剪切不管是否是目錄或者文件都不需要加 -r (多人開發導致的不一致原因)

  如果源文件和目標文件在同一目錄,則是改名: mv ana ana001 ;則是修改文件名稱

  常見一級目錄作用

  技術分享圖片

    //亮色的請謹慎修改!

  技術分享圖片

  參考:http://blog.csdn.net/u013239236/article/details/48845251

  技術分享圖片

//一般可以使用 mnt 掛載

  技術分享圖片

//空白的均為同上

  一般Linux是嚴謹的操作系統,一般推薦操作 家目錄 /root 或 /home (對應管理員和普通用戶)

  【更新】:2.5.文件內容查看

技術分享圖片

  可以使用常用的More來進行相關分頁的文件內容查看,相關選項請參閱手冊

  【touch指令】:“摸一下文件”,更新文件的時間或者創建新文件

  關於文件的時間,參考:

技術分享圖片
modification time (mtime): 當該文件的“內容數據”變更時,就會更新這個時間!內
容數據指的是文件的內容,而不是文件的屬性或權限喔!
status time (ctime): 當該文件的“狀態 (status)”改變時,就會更新這個時間,舉
例來說,像是權限與屬性被更改了,都會更新這個時間啊。
access time (atime): 當“該文件的內容被取用”時,就會更新這個讀取時間
(access)。舉例來說,我們使用 cat 去讀取 /etc/man_db.conf , 就會更新該文件的
atime 了。
View Code

  【file指令】除了可以查看文件外,還可以查看文件屬性,具體用法請man file

   3.鏈接命令

  鏈接命令ln

技術分享圖片

  既然有軟硬之分,那我們來看看具體軟硬的區分

技術分享圖片

  //前後門都進同一個教室,關了一扇門,還可以從另一扇門打開,教室依舊正常打開。不建議使用

  實例:

技術分享圖片

//創建硬鏈接無需選項

  技術分享圖片

  實例:

技術分享圖片

  //特別註意軟鏈接顏色不一樣,並且,標記出了源文件位置

  如果做軟鏈接,請使用絕對路徑!

Linux入門第二天——基本命令入門(上)