記錄整理一下學習shell的過程,把一些重點記下來,友善以後查閱。本人小白,從最基礎開始學習。
學習的書:《Linux指令行大全》【美】William E.Shotts,Jr著
Linux版本:Ubuntu16.04 (我是在VM虛拟機裡跑的)
目錄
- 一、Shell是什麼
-
- 1、嘗試幾個簡單的指令
- 2、Tips
- 二、導航檔案系統
-
- 1、絕對路徑名與相對路徑名
- 2、Tips
一、Shell是什麼
我們通常所說的指令行,實際上是指的shell。shell是linux系統中的一個程式——接收來自鍵盤的指令,并将其傳遞給作業系統執行。
幾乎所有的Linux發行版都提供shell程式,該程式來自稱之為bash的GNU項目。bash是Bonrue Again Shell的縮寫。Bonrue Again Shell基于這樣一個事實,即bash是sh的增強版本,而sh是最初的UNIX shell程式,由Steve Bourne編寫。
1、嘗試幾個簡單的指令
首先,打開終端
ctrl+alt+T
這是打開終端的快捷鍵,好像還有一個快捷鍵更友善,不過我忘了…想起來再加。
終端運作後如下所示
[email protected]-virtual-machine:~$
其中“:”以前是使用者名資訊,以後為shell提示符,分别表示目前工作目錄和登入權限。
初始登入時,目前工作目錄為使用者主目錄,由符号“~”表示;
“ $ ”表示以普通使用者身份登入,若為“#”,則表示以root權限登入,享有超級使用者特權。
下面列出幾個基礎的shell指令:
#以下代碼省略了按enter後實際顯示的内容
[email protected]-virtual-machine:~$ date #顯示目前的時間和日期
[email protected]-virtual-machine:~$ cal #顯示當月月曆
[email protected]-virtual-machine:~$ df #檢視磁盤驅動器可用空間
[email protected]-virtual-machine:~$ free #檢視可用記憶體
[email protected]-virtual-machine:~$ exit #結束終端會話
2、Tips
- 快速翻看最近輸入的指令。 大部分Linux版本能夠存儲最近輸入的500個指令,是以,隻需要按上下訓示鍵即可快速找到最近輸入的指令
- 快速複制粘貼。 滑鼠選中需要的文本,按下滑鼠中鍵,該文本便可粘貼到光标所處位置。(比我之前用滑鼠右鍵複制粘貼快好多!強推!我是不是太孤陋寡聞了…)
二、導航檔案系統
Linux系統的檔案是在樹形結構的目錄中進行組織的。
檔案系統的第一個目錄叫根目錄,根目錄包含檔案和子目錄,子目錄包含其他的檔案和子目錄,即為樹形結構。
在Windows系統中,每個儲存設備都有一個獨立的檔案系統樹。而在類UNIX系統中,如Linux,無論多少驅動器或儲存設備與計算機相連,通常隻有一個檔案系統樹。
根據系統管理者的設定,儲存設備将會連接配接(更準确地說是“挂載”)到檔案系統樹的不同位置。
其實我現在沒有很懂以上這段話,再學學看,懂了就回來解釋
1、絕對路徑名與相對路徑名
上面提到,檔案系統的第一個目錄為“根目錄”(用前導斜杠“/”表示),絕對路徑名是從根目錄開始,通過檔案樹分支,到達目标檔案或目錄。
[email protected]-virtual-machine:~$ pwd #顯示目前工作目錄絕對路徑
/home/yh #目前工作目錄,即使用者主目錄,并不是根目錄。作為普通使用者操作時,這是唯一一個允許使用者寫檔案的地方
[email protected]-virtual-machine:~$ ls #列出目前工作目錄的檔案和子目錄
Desktop Downloads Music Public Videos
Documents examples.desktop Pictures Templates
[email protected]-virtual-machine:~$ cd /usr/bin # cd指令可改變工作目錄;/usr/bin為一個絕對路徑名,大多數系統程式安裝到這個目錄
[email protected]-virtual-machine:bin$ pwd #可觀察到shell提示符變為了“bin$”
/usr/bin #Line5~7為通過絕對路徑名更改工作目錄的一個例子
相對路徑名則是從工作目錄開始通到目标檔案或目錄。
通常使用特殊符号表示檔案系統樹中的相對位置,“.”(一個點)表示工作目錄,“…”(兩個點)表示工作目錄的父目錄,下面有個例子:
[email protected]-virtual-machine:~$ pwd #顯示目前工作目錄絕對路徑
/home/yh
[email protected]-virtual-machine:~$ cd .. #回到父目錄
[email protected]-virtual-machine:home$ pwd
/home
[email protected]-virtual-machine:home$ cd ./yh #進入目前目錄子目錄
[email protected]-virtual-machine:~$ pwd
/home/yh
實際操作一下會更有感覺~
2、Tips
- 幾個cd指令的快捷方式
cd #将目前目錄改為主目錄
cd - #将目前目錄改為先前工作目錄
cd ~username #将目前目錄改為username的主目錄
- 以“.”開頭的檔案名時隐藏的,ls指令不會列出它們,ls -a可以。一些程式的配置檔案或設定檔案會以隐藏檔案的形式放在主目錄下。
- 檔案名與指令區分大小寫
- Linux沒有檔案拓展名的概念,可以随意命名
- 建立檔案名時,僅句号、連字元、下劃線這些特殊符号可以用,且最好不要出現空格,否則一些程式運作可能會出bug。