Linux基礎之常見命令用法(一)
一、Linux文件目錄結構
在講述之前,先簡短的說說Windows文件結構,打開‘計算機’,看到的一個個的驅動器(盤符,例C盤、D盤等),點開其中任意盤符,看到的是一個個文件或文件夾,繼續打開...,每個盤都有自己的根目錄。若是把其打開過程畫下來,便可得到如下多棵倒樹並列的圖形:
而在Linux下,看到的是文件夾(目錄),Ubuntu沒有盤符一說,只有一個根目錄(/表示),同樣畫下來:
那有讀者可能會疑惑:Linux是多用戶操作系統,比較安全,而這裏只有一個根文件,也就是所有用戶都在根目錄下面,那用戶A可以隨意修改其中某一文件,對於用戶B來說可能會受到影響,怎麽還會是安全的呢?原因:Linux在創建不同的用戶時,會默認生成同名的組(group),每個組以及組內的每個用戶都有相應的操作權限,一般來說普通用戶是沒有權限修改其他組用戶或系統系統信息的(如密碼驗證,管理員權限,文件目錄權限等),所以多個用戶在同一個根目錄下一般是無權誇組跨權限更改系統、它組的信息。例如:以地球為根目錄,每個家庭為組,家庭成員為組內用戶;小王、小吳是好鄰居,一天,小王想去小王家借鹽,前提是要進入小吳家中,就要有小吳的許可,進入之後,還要得到借鹽許可,小王方可借到鹽。Linux也一樣,所以Linux還是安全的。
二、常用文件和目錄命令
1).終端命令格式: 命令 [-選項][參數]
命令:相應功能英文單詞或者縮寫
-選項:對命令進行選擇控制[註意:前面有一橫杠]
參數:給命令加上範圍
中括號表示可省略,例如:
$ls
$ls -ll
$ls -l test.py
2).幫助命令
命令 --help 或者是 man 命令 (註意:這裏是雙橫杠,man是manual的簡寫,包含了Linux絕大部分的命令即使用說明)
如:
3).增刪查改操作命令
touch/mkdir/rm/ls/pwd/cat/find/grep/more/重定向等等
touch:新建文件,若文件存在,則把上一次操作的時間改成本次時間,內容不變 mkdir:新建文件夾(目錄),註意不能出現重名現象
$touch 某路徑下xxx1 xxxx2....
$mkdir 某路徑下yyy1 yyy2....
註意:兩者支持批量創建,並且可指定路徑
rm:remove的縮寫,用於刪除文件,加上選項 -r強行刪除文件夾,包括其子內容
改命令不可恢復(無法撤銷)
ls:list的縮寫,查看目錄下的內容 (例子在上面寫過)
有-a、 -l、 -h常見選項,
-a:顯示指定目錄下所有子目錄和文件,包括隱藏的;
-l:以列表的方式顯示詳細信息;
-h:配合-l以列表的方式顯示文件的大小
tree:顯示當前目錄下的層級關系,選項-d只顯示目錄層級關系;也可指定目錄
$tree
$tree -d
$tree -d 指定路徑下的某一目錄
pwd : 顯示當前目錄的絕對路徑,print working directory
echo:向屏幕顯示內容,作用像鏡子一樣
$echo 你好
cat:查看文件內容、 創建文件、 文件合並、 追加文件內容等功能(不存在先創建,再合並追加,存在直接操作),常與管道(接下來有講述)配合使用。選項有-n和-b等,分別輸出行號和非空行的行號,例如
history:查看此次在終端中輸入的歷史命令。
cd:change directory的簡寫,用戶切換目錄;
cd ~ 和cd 切換到當前用戶的主目錄(/home/用戶目錄,即根目錄/家目錄)位置
cd .. 上一級目錄
cd . 當前目錄
cd - 在當前與上一次目錄之間來回切換
find:強大的搜索命令,用來在特定目錄下搜索符合條件的文件或目錄。
find [路徑] -name "正則表達式"
如在當前目錄下查找以py結尾的文件:$find -name "*.py"
grep:強大的文本搜索工具,常和管道配合使用。
常有-n、-i等選項,顯示符合條件[正則表達式]行的行號,-i忽略大小寫,
管道:用 | 表示,將一個命令的輸出通過管道作為另一個命令的輸入。
例:$cat 1.txt 2.py | 4.txt :將1.txt和2.py的內容輸入到4.txt
$cat 4.txt : 打印結果和3.txt一樣
$cat 1.txt 2.py | grep ‘ghd‘:管道右側沒有指定文件名,則系統會將左邊結果臨時放到緩沖區中,再去緩沖區查找符合條件‘ghd‘字符串的行
重定向:將執行結果重定向到一個文件。有>和>>兩種方式,前者表示輸出,會覆蓋文件原有的內容,後者表示追加,將內容追加到已有文件的末尾。如
$1.txt 2.py > 4.txt :左邊的結果會覆蓋右邊文件已有的內容
$1.txt 2.py >> 4.py :左邊的結果追加到右邊內容的末尾,不會覆蓋
more:功能類似於cat,但在文件內容多的情況下,more能夠分屏控制顯示,cat相對視覺體驗不夠好。選項:空格鍵、-b、-f、enter鍵、p:作用分別是顯示下一屏、回滾一屏、前滾一屏、滾動下一行、退出。
$more xxx.log : 分屏顯示日誌內容
$more ifconfig | grep inet :將ifconfig網卡信息臨時放入緩沖區,並使用grep查找inet信息(即ip地址),註意在Windows中使用ipconfig查看網卡信息。
小結:a)Linux命令若是忽略路徑,則默認使用當前路徑;
b)有些命令是具備多種功能,如cat,不存在則先創建文件,在再執行響應操作
c)重定向、more、grep,沒有指定文件,則默認操作緩沖區
d)說一千道一萬,重要的事情說三遍:動手實踐、動手實踐、動手實踐,只有反復去實踐,才能印象深刻,記住:實踐出真知!
註意:本文默認是在Ubuntu虛擬機中進行編碼,日後若無特殊註明,均是在Ubuntu中進行。
(若尚未安裝Linux虛擬機的朋友可以參考:在VMware虛擬機中安裝Ubuntu系統)
---在下一篇:將繼續講解Linux常用命令(二) -----
文章中若有不足或錯誤之處,真心希望您提出意見、建議,我會盡快完善的,謝謝O(∩_∩)O謝謝
本文出自 “Python新手入門” 博客,請務必保留此出處http://1710161254.blog.51cto.com/10607212/1968256
Linux基礎之常見命令用法(一)