Linux必須掌握的入門知識

linux環境中的一些常用命令

ll --> 顯示當前路徑下目錄的詳細信息

ls --> 顯示當前路徑下的目錄信息

    -a --> 列出目錄下所有文件

    -l --> 列出文件詳細信息

cd --> (+目錄名)進入指定目錄

    cd .. --> 進入當前目錄的上級目錄

    cd . --> 進入當前目錄

    cd /home/tyy --> 絕對路徑訪問方式

    cd ../tyy --> 相對路徑訪問方式

pwd --> 顯示當前目錄的路徑

    / --> 顯示該路徑時表示進入Linux的根目錄

clear --> 清屏操作

    ctrl+l --> 也可以達到清屏的效果

mkdir -->(+目錄名)創建目錄

touch --> (+文件名)創建文件

rm --> (+文件名)刪除文件

    rm -r --> 爲rm帶上選項 --> (+目錄名)刪除目錄

    rm -rf --> (+目錄名)強制刪除目錄

    sudo rm -rf --> (+目錄名)進行權限上的升級後強制刪除目錄 --> 實際應用中沒必要這麼較真的刪目錄哈

whoami --> 查看當前我是誰

man --> 向man進行諮詢

       man 3 printf --> man會告訴你printf這個函數的用法以及頭文件等等

mv --> 有三種常見用法

      mv 目錄名1 目錄名2 --> 將目錄名1改爲目錄名2

      mv 目錄名 路徑 --> 將該目錄剪切到該路徑中

      mv 目錄名1 路徑/目錄名2 --> 更改路徑並且更改目錄名

            例:mv a.text /home/tyy/b.text --> 將目錄a.text放到路徑爲/home/tyy中,並將目錄名改爲b.text

cp --> 複製源文件(或目錄)到目標文件(或目錄)

cat --> 查看文件內容

more --> 類似cat,還能進行分屏顯示

    b --> 向上翻屏

    空格鍵 --> 向下翻屏

less --> 類似more,除了分屏還能上下走一行,還能進行查找

    k --> 向上走一行

    j --> 向下走一行

    / --> 後直接加需要查找的內容,系統會用高光進行標識

head --> 顯示文件的前幾行(默認打印前10行)

    -n --> 後接行數m,顯示前m行

tail --> 顯示指定文件末尾內容

    -n --> 後接行數m,顯示後m行

history --> 查看歷史命令

    後直接數字m --> 查看剛敲過的m條命令(包括剛敲的histroy m命令)

cal --> 顯示當月的日曆信息

find --> 在目錄下查找文件

    -name --> 後接文件名,以該文件名去尋找當前目錄以及子目錄下所有的該文件

    -exec --> 後接命令,將找到的文件均執行該命令

    -ok --> 和exec一樣的功能,區別在於每次執行命令都會進行詢問

grep --> 在文件中搜索字符串,將找到的對應行均打印出來

tar --> 將文件進行打包/解包

    tar -czvf 目錄名.tar.gz 目錄名 --> 將該文件進行打包

    tar -xzvf 壓縮包 --> 將打包的文件進行解包

bc --> 浮點數計算器

chmod --> 修改文件的訪問權限

    +、-、= --> 分別指加、減、賦予後面跟的權限

    r、w、x --> 分別指查看、修改、執行權限

Linux的編譯器(gcc)

gedit file.c --> Linux下的記事本,擁有編輯功能,編輯完成後會出現一個file.c~文件,其實是將file.c進行了備份不用考慮 --> 可在該文件中編寫代碼

gcc file.c --> 生成可執行程序 --> 默認生成的可執行程序寫入到文件a.out

    gcc -E file.c -o file.i --> 將文件執行完預處理後(c語言)結束,並將結果寫入file.i中

    gcc -S file.c -o file.s --> 將文件執行完編譯後(彙編語言)結束,並將結果寫入file.s中

    gcc -c file.c -o file.o --> 將文件執行完彙編後(機器語言)結束,並將結果寫入file.o中

    gcc file.c -o mytext --> 將文件執行完預處理、編譯、彙編、鏈接(及生成可執行程序),並將結果寫入mytext中 --> 完成整個翻譯過程

./a.out --> 執行當前工作目錄下的a.out

   當執行的程序陷入死循環時,ctrl+c可以終止循環

注意:Linux默認的發佈版本爲Release,轉換爲Debug發佈 --> gcc file.c -o mytext_d -g

          Linux默認的鏈接方式爲動態鏈接,轉換爲靜態鏈接 --> gcc file.c -o mytext_s -static

          當然了,不適用默認的就會佔用更大的空間

Linux的編輯器(vim-系統自帶的文本編輯器)

    vim 文件名 --> 新建文件/修改文件 --> 當該文件名存在時爲修改,不存在時爲新建並且下方會進行提醒

編輯

i --> 光標所在位置前插入

a --> 光標所在位置後插入

o --> 在當前行下面插入一行

O --> 在當前行的上面插入一行

I --> 在當前行的行首插入

A --> 在當前行的行尾插入

保存

:wq(:x)--> 保存並退出

:wq! --> 強制保存退出

:q! -->強制退出

查找

/ --> 後接查找內容,定位到第一個找到的

    n --> 查找下一個

    N --> 查找上一個

? --> 後接查找內容,定位最後一個找到的

    n --> 查找上一個

    N --> 查找下一個

替換

r --> 替換光標中的字符

:開始行,結束行s/舊的內容/新的內容 --> 替換每一行的第一個

:開始行,結束行s/舊的內容/新的內容/g --> 替換所有

:開始行,結束行s/\<舊的內容\>/新的內容/g --> 將舊的內容作爲單詞替換,若舊的內容作爲其他單詞的一部分則不進行替換

:%s/舊的內容/新的內容 --> 全文替換

刪除

s --> 刪除光標的一個字符並直接進入插入模式

x --> 刪除光標中的位置

dw --> 刪除光標所在位置到當前單詞詞尾

db --> 刪除光標所在位置到當前單詞詞首

dd --> 刪除當前行

m(數字)dd --> 刪除當前行及以下m行

dG --> 刪除光標所在行到文件結尾

d0 --> 刪除光標到當前行行首

d$ --> 刪除光標到當前行行尾

預處理

預處理包含宏替換、去註釋、頭文件展開、條件編譯

預定義符號

__FILE__ //進行編譯的源文件

__LINE__ //文件當前的行號

__DATE__ //文件被編譯的日期

__TIME__ //文件被編譯的時間

__STDC__ //如果編譯器遵循ANSI C其值爲1,否則報錯提示未定義

宏定義

宏定義分爲:#define定義標識符、#define定義宏

注意:#define機制允許把參數替換到文本中,這種實現稱爲宏(或定義宏)

         #define ADD( x ) x*x --> 參數列表的左括號必須與ADD緊鄰,如果兩者之間有任何空白存在,參數列表就會被解釋爲後面x*x的一部分

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章