Linux基本命令行操作(一)

Linux 命令行基礎(chǔ)知識

  • 什么是命令行?
    要了解命令行,首先就需要知道命令行界面,命令行界面也稱為CLI,與之相對的是圖形用戶界面 即GUI 。GUI 以圖形可視化的方式顯示了計算機(jī)操作用戶界面,可以通過簡單的鼠標(biāo)操作 完成打開文件夾,創(chuàng)建文件,瀏覽網(wǎng)頁等功能 。但是,在windows 操作系統(tǒng)問世前,所有的讓計算機(jī)執(zhí)行的命令都需要通過CLI 來完成 ,也就是說,我們現(xiàn)在在windows 上 日常完成的操作功能 都可以通過命令行來完成,或者更準(zhǔn)確的說,命令行 和 圖形界面 是先來后到的關(guān)系,圖形界面 是為了 讓用戶更簡單地完成 原本需要使用命令行來完成的對電腦的操作。

  • 為什么要學(xué)習(xí)命令,甚至是Linux命令?
    通常,CLI 被認(rèn)為 沒有 GUI 那么方便用戶操作。因為,用戶需要去記憶一些簡單到復(fù)雜的命令。但是從性能上來考慮 命令行界面要較圖形用戶界面節(jié)約計算機(jī)系統(tǒng)的資源。在熟悉基本的命令后,使用命令行速度都要較圖形用戶界面操作速度要快一些。另外,圖形化操作方式 對單一的客戶端計算機(jī)操作友好,但是如果面對的是一群客戶端計算機(jī),圖形化操作方式 則力不從心,但是命令行界面提供的腳本語言以及宏可以提供自動化系統(tǒng)的管理能力,這一點也是命令行操作的優(yōu)勢。即便是windows 依然保留下了命令行的操作并且在windows系統(tǒng)不斷升級的過程中 也加強(qiáng)了操作命令的功能和數(shù)量 。那么為什么要去學(xué)習(xí)Linux 命令呢?
    我個人的理解有如下幾點:
    1:Linux 命令 要比 windows命令更優(yōu)秀,這一點毋庸置疑。
    2:學(xué)習(xí)好Linux 命令 為后續(xù)學(xué)習(xí)Linux 鋪墊了基石。只要從事軟件開發(fā)工作,Linux是一道繞不過去的坎。
    3:為了酷或者引用下Linus Torvalds 本人那句話"Just for fun"。

  • 準(zhǔn)備工作
    我本人使用windows已經(jīng)有20多年,從未接觸過Linux 。雖然可以直接安裝一個Linux操作系統(tǒng) 但是我個人采用了循序漸進(jìn)的方法,并推薦以下兩種方式:
    1:在windows 系統(tǒng)下安裝 gitbash
    2:安裝虛擬機(jī),下載一個Linux鏡像文件(推薦deepin)教程會后續(xù)提供。

  • 推薦書籍及相關(guān)文檔
    1:explainshell
    explainshell 是學(xué)習(xí)Linux 基本命令的網(wǎng)站,使用方法簡單在輸入框中 輸入Linux 命令 就可以進(jìn)行解析。
    如 輸入命令:cd

    1.jpg

通過expainshell 的解釋翻譯 可以知道 change the working directory 就是 cd 在Linux 命令行中的意義,即:改變工作區(qū)目錄

2:鳥哥的Linux私房菜基礎(chǔ)學(xué)習(xí)篇
這本書,暫且還沒有買,當(dāng)然也沒看過。但是寫在這里,也是提醒自己以后回顧自己的文章時, 可以不忘初心,堅持下去。

所有的東西已經(jīng)準(zhǔn)備就緒的話,就從簡單的Linux 命令開始吧!

  • 簡單的 Linux 命令行操作
  1. ./ ../ 和 ~
    / :Linux 中 / 代表的含義時目錄級別分隔符
    . :Linux中 . 代表的含義是當(dāng)前目錄
    ./a.txt:Linux中 ./a 代表的含義是當(dāng)前目錄下 文件名為a.txt的文件
    ..:Linux中 .. 代表的含義是上級/父級 目錄
    ~:Linux中 ~代表的含義是家目錄 windows 家目錄為:/c/Users/用戶名

  2. cd
    進(jìn)入目錄。
    explainshell 解釋:
    change the working directory
    舉例cd ~/Desktop
    命令解釋:進(jìn)入到桌面

  3. pwd
    顯示當(dāng)前目錄。
    explainshell解釋:
    print name of current/working directory
    舉例pwd

  4. mkdir 目錄名 和 mkdir -p 目錄名
    mkdir :創(chuàng)建目錄
    explainshell 解釋:
    make directories
    mkdir 可以同時創(chuàng)建多個文件夾 文件夾和文件夾之間使用空格連接
    舉例mkdir test1 test2 test3
    命令解釋:在當(dāng)前目錄下 創(chuàng)建了三個目錄(文件夾)分別是 test1,test2和test3
    mkdir -p:創(chuàng)建目錄(包含子目錄)
    explainshell 解釋:
    make directories
    -p, --parents
    no error if existing, make parent directories as needed

    舉例mkdir -p "test/test1/test2"
    命令解釋:在當(dāng)前目錄下創(chuàng)建test目錄 test目錄下創(chuàng)建 test1 目錄 test1 目錄下創(chuàng)建test2目錄 這里面的 "" 書寫是非必須的 但是建議添加 因為,如果在路徑中出現(xiàn)一些非法字符 如 空格 則會出現(xiàn)和預(yù)想不一樣的情況
    例如mkdir -p test/ test1/test2
    注意,我在test/后面添加了一個空格,這時會出現(xiàn)一個情況 在當(dāng)前目錄下 創(chuàng)建了兩個目錄 test 和 test1 而在test1 目錄下創(chuàng)建了子目錄 test2
    如果使用 雙引號 :mkdir -p "test/ test1/test2" 即便在test/后面加上空格 也會成功創(chuàng)建test目錄下包含test1,test1目錄下包含test2的這種形式。

  5. ls 路徑 ,ls -a 路徑 ,ls -al 路徑
    查看路徑下的文件
    explainshell 解釋:
    ls:
    list directory contents
    -a, --all
    do not ignore entries starting with .

    -l use a long listing format
    舉例: ls
    命令解釋:查看當(dāng)前路徑下除了以. 開頭的所有文件和文件夾
    舉例:ls /d/test
    命令解釋:查看d盤test目錄下 所有的非.開頭的所有文件和文件夾
    舉例: ls -a
    命令解釋:查看當(dāng)前路徑下 所有的文件和文件夾 (包括.開頭的所有文件及文件夾)
    舉例: ls -l
    命令解釋:查看當(dāng)前路徑下 所有的非.開頭的文件和文件夾詳細(xì)信息
    詳細(xì)信息的兩種格式分別為:

drwxr-xr-x 1 user 197609  0 10月 28 00:05 test/

或者為

-rw-r--r-- 1 user 197609 19 10月 28 18:21 test.txt

我對上述的信息了解程度僅僅在以下幾個方面:
1:d開頭的表示這是一個文件夾 -開頭的則表示這是一個文件
2:d 和 - 后面表示的是當(dāng)前用戶的權(quán)限 為 r(讀) w(寫) x(可執(zhí)行)
在后面的逐漸學(xué)習(xí)中,我會對此部分知識點有所補(bǔ)充

  1. echo 和 touch
    echo 的具體解釋:有道echo解釋(實在不知道怎么解釋,例子寫的比較清楚)
    explainshell 解釋 :
    display a line of text
    舉例:echo "我愛中國" 返回結(jié)果 我愛中國
    舉例:echo "我愛中國" > test.txt
    命令解釋:創(chuàng)建文件 test.txt 并且將 "我愛中國" 寫入到 test.txt中
    舉例:echo "我是一個中國人" >> test.txt
    命令解釋:將"我是一個中國人" 追加到 test.txt 文件中
    touch
    創(chuàng)建文件并改變文件的更新時間
    explainshell 解釋:
    change file timestamps
    舉例:touch test.txt
    命令解釋:創(chuàng)建test.txt文件如果 test.txt文件已存在 則改變其最后一次修改的時間
    查看最后一次修改的時間可以通過命令 ls -l 來進(jìn)行查看

  2. cp 源路徑 目標(biāo)路徑 ,cp -r 源路徑 目標(biāo)路徑
    cp
    復(fù)制文件或目錄
    explainshell 解釋:
    copy files and directories
    舉例:
    依次執(zhí)行下列命令

    mkdir test1 test2
    cd test1
    echo "1" > test1.txt
    cd ../
    cp test1/test1.txt test2/test2.txt

執(zhí)行下列命令后,會在test2 目錄下 看到創(chuàng)建的test2.txt文件 并且 文件內(nèi)容與test1相同為 "1"
舉例:
依次執(zhí)行下列命令

    mkdir test1 
    cd test1
    echo "1" > test1.txt
    cd ../
    cp -r test1 test2

示例中的 -r命令的含義為:
explainshell: cp -r
-R, -r, --recursive
copy directories recursively

遞歸 涉及到目錄(文件夾)的操作都需要進(jìn)行遞歸
執(zhí)行示例中的操作完畢后,返回到 test1的同級目錄 會看到 test2目錄
test2目錄下 有和test1 目錄下相同的文件 tes1.txt

  1. mv 源路徑 目標(biāo)路徑
    重命名(移動節(jié)點)
    explainshell 解釋:
    move (rename) files
    依次執(zhí)行下列命令
    mkdir test1 test2
    cd test1
    echo "1" > test1.txt
    cd ../
    mv test1/test1.txt test2/test2.txt

執(zhí)行示例中的操作完畢后,相當(dāng)于 將test1目錄下的test1.txt 剪切到 test2文件夾 并重命名為 test2.txt

  1. rm
    rm 為 刪除操作(remove)
    explainshell 解釋:
    remove files or directories
    具體操作有:
    1:rm 文件路徑 (刪除文件)
    2:rm -f 文件路徑(強(qiáng)制刪除文件)
    3:rm -r 目錄路徑(刪除目錄)
    4:rm -rf 目錄路徑(強(qiáng)制刪除目錄)
    舉例:rm test.txt
    命令解釋:刪除當(dāng)前目錄下的test.txt文件
    舉例:rm -f test.txt
    命令解釋:
    explainshell:rm -f
    -f, --force
    ignore nonexistent files, never prompt

    f 代表 force 強(qiáng)制的含義 即強(qiáng)制刪除 test.txt文件
    舉例:rm -r test
    命令解釋:-r 上文已經(jīng)有所解釋 為 遞歸 該命令的含義為:刪除test目錄及目錄下所有文件
    如果 被刪除的目錄下有其他文件 執(zhí)行rm -r會出現(xiàn)提示 ,但是 我在執(zhí)行此條語句時 則沒有出現(xiàn) 任何提示。
    舉例:rm -rf test
    命令解釋:強(qiáng)制刪除test目錄及目錄下所有的文件

  2. tree 查看目錄結(jié)構(gòu)
    windows 下 不支持tree操作, 如果需要windows支持tree操作則需要下載 一個插件
    tree插件 建議安裝在 C:\GnuWin32 下 然后將C:\GnuWin32\bin 添加到 windows系統(tǒng)環(huán)境變量的path 下
    如果 安裝了gitbash 可以直接依次運行命令:
    touch ~/.bashrc
    echo 'export PATH="$PATH:/c/GnuWin32/bin/"' > ~/.bashrc
    tree 命令
    舉例:
    依次執(zhí)行下列命令

    mkdir test
    cd test
    mkdir -p "test1/test2"
    mkdir -p "test3/test4"
    cd test1/test2 
    echo "1" > test2.txt
    cd ../../
    tree 

執(zhí)行 tree命令后 可以觀察到所在當(dāng)前的目錄 test 目錄下的 目錄結(jié)構(gòu)為:

.
|-- test1
|   `-- test2
|       `-- test2.txt
`-- test3
    `-- test4
  1. cat
    查看文件內(nèi)容
    explainshell 解釋:
    concatenate files and print on the standard output
    舉例: cat Hello.java
    該命令會將文件中的內(nèi)容打印并顯示
$ cat Hello.java
public class Hello{
    public static void main(String[]args){
        System.out.println("Hello World");
    }
}
  1. df -kh , du -sh ,du -h
  • df -kh
    查看磁盤的占用情況
    explainshell 解釋:
    report file system disk space usage
    -k like --block-size=1K
    -h, --human-readable
    print sizes in human readable format (e.g., 1K 234M 2G)

  • du -sh, du-h
    du -sh :
    查看當(dāng)前目錄大小
    du -h
    查看各文件大小
    explainshell 解釋:
    estimate file space usage
    -s, --summarize
    display only a total for each argument
    -h, --human-readable
    print sizes in human readable format (e.g., 1K 234M 2G)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,359評論 0 10
  • 第一章 1.Linux是一套免費使用和自由傳播的類UNIX操作系統(tǒng),它可以基于Intel x86系列處理器以及Cy...
    yansicing閱讀 5,600評論 0 9
  • 1. 創(chuàng)建目錄 mkdir 在當(dāng)前路徑創(chuàng)建一級目錄 mkdir test 在當(dāng)前路徑創(chuàng)建多級目錄 mkdir -p...
    pengmm閱讀 554評論 0 3
  • 生命只是一趟旅程。 —— 彼尚·安裘密 1 每一個人來到這個生命,都是為了體驗這一世的。 來到生命之前查閱過前世無...
    登泓聽香閱讀 423評論 0 0
  • 如何聲明一個枚舉類型? 如何合法使用枚舉類型? 不合法的例子? enum的值 ? enum的sizeof? 上代碼...
    Quasars閱讀 1,211評論 0 0

友情鏈接更多精彩內(nèi)容