1. 程式人生 > >Linux基礎之常見命令用法(一)

Linux基礎之常見命令用法(一)

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基礎之常見命令用法(一)