linux系統的命令 C的介紹

2021-09-22 07:58:37 字數 4817 閱讀 2164

linux系統命令

檔案相關

touch 建立檔案

cat 檢視檔案內容

cp src dest 複製檔案

mv src dest 移動檔案

重新命名可以借助mv命令實現

rm 刪除檔案,檔案刪除後很難恢復,刪除時要慎重。

目錄相關

mkdir dir 建立目錄

-p 可以建立多級目錄

cd dir 進入目錄

pwd 檢視當所在的目錄

ls 顯示當前目錄下的檔案

-l 顯示檔案的詳細資訊,縮寫ll

-a 顯示隱藏檔案,在linux、unix、macos系統下以.開頭檔案預設隱藏。

ctrl+h 可以在顯示隱藏檔案。

rmdir 只能刪除非目錄

注意:目錄就是特殊的檔案,檔案可以使用的命令,目錄基本都使用。

cp -frp 複製目錄

rm -rf 刪除非空目錄

mv 對目錄的操作不用任何引數

特殊目錄:

/ 代表最頂級目錄,也叫根目錄。

~ 使用者主目錄 在/home目錄下有乙個以使用者名稱命名的目錄,該使用者對它用絕對許可權。

… 當前目錄的上一級

. 當前目錄

網路相關

ifconfig/ipconfig 檢視/設定網路引數

ping ip 測試網路是否連通

ping 127.0.0.1 測試網上是否在正常工作。

ping 47.101.186.215

在linux下會一直執行,ctrl+c可以結束

windows下預設只執行4次,/t 可以持續執行。

telnet 47.101.186.215 遠端登入

採用明碼傳輸資料,安全性低。

ssh 使用者名稱@47.101.186.215

ftp 47.101.186.215

other

chmod 修改檔案許可權

d[檔案型別]rwx[檔案主人的許可權]rwx[同組]r-x[其它]

chmod +/-r/w/x 三種使用者時間加減許可權

ln 建立鏈結檔案(快捷方式)

ln 源檔名 鏈結檔名 建立出的是硬鏈結檔案(鏈結目標被刪除,不影響鏈結檔案的訪問)。

ln -s 源檔名 鏈結檔名 建立出軟體鏈結檔案(鏈結目標被刪除,鏈結檔案不能再繼續使用)。

目錄檔案只能建立軟鏈結。

man 檢視命令、函式的使用方法。

如果函式名與命令命名重複,可以使用 2或3來指定檢視是函式。

q鍵退出

終端的使用技巧:

ctrl+alt+t 快速開啟終端

ctrl+shift+t 新建終端標籤頁

tal 可以自動被全命令、檔名、路徑

如果備選有多個,按兩下可以下出所有備選方案。

如果列出的太多,enter下乙個,空格下屏。

up/down 呼叫出命令記錄

vim文字程式設計器

可以在終端下通過鍵盤方式進行編寫**的一種文字編輯器。

基本用法:

1、vim file.c 開啟或建立.c檔案

2、輸入i進入編輯模式,可以編寫或修改**

3、ctrl+x編譯執行**

4、ctrl+z儲存退出

命令列編譯:

gcc code.c -> a.out 編譯**生成可執行程式

./a.out 執行程式

gcc code.c && ./a.out

vim的三大主要模式:

正常模式(選單模式):進入vim後的預設模式,可以閱讀、修改**,有很多快捷鍵

插入模式(編輯模式):主要用來編寫**。

命令模式(行底模式):對vim進行設定、執行命令。

三種模式的切換:

正常模式 輸入i、a -》插入模式

插入模式 esc或ctrl+c -》正常模式

正常模式 輸入: -》行底模式

行底模式 esc或ctrl+c -》正常模式、

注意:插入模式與行底模式不能直接轉換必須經過正常模式中轉。

正常模式的操作:

進入插入模式:

i 在當前游標前面進入插入模式,輸入的內存在游標之前。

a 在當前游標後面進入插入模式,輸入的內存在游標之後。

i 游標跳轉到行首進入插入模式。

a 游標跳轉到行尾進入插入模式。

o 在當前游標下一行插入乙個空白行,然後進入插入模式。

o 在當前游標上一行插入乙個空白行,然後進入插入模式。

刪除**:

x 刪除乙個字元

dw 刪除乙個單詞

dd 刪除整行

ndd 刪除n行

複製**:

yy 複製一行

nyy 複製多行

p 貼上到游標下一行

移動**:

刪除的**還存在於緩衝區中,配合p鍵可以達到移動效果。

xp 可以快速顛倒兩個字元的位置。

撤消:u 撤消一次操作

ctrl+r 撤消撤消操作,反撤消。

插入模式的操作:

tab/ctrl+i 自動縮排4個字元(字元數可配置)。

ctrl+p/n 自動補齊

ctrl+c 返回正常模式

ctrl+z 儲存退出

行底模式的操作:

:%s/old/new 替換

:/key 查詢關鍵字,n向下查詢,n向下查詢

:>n 從游標當前行開始,n行**向右縮排

:第乙個c程式:

/*程式設計師所編寫的c**不是標準的c**,需要一段程式翻譯成標準的c**,負責翻譯的程式叫預處理器,翻譯的過程叫預處理,被翻譯的**叫預處理指令,以#開頭的**都是預處理指令。

#include的功能就是匯入乙個輔助檔案(標頭檔案)。

.h結尾的檔案記錄的是輔助**,大多數都是函式的開頭(函式宣告),所以叫標頭檔案。

stdio.h 是標準庫中的標頭檔案,stdandard in out 縮寫

#include <> 從系統指定目錄載入標頭檔案。

#include 「」 先從當前目錄載入,如果沒有再從系統指定的目錄載入標頭檔案。

作業系統通過設定環境變數來指定標頭檔案的載入目錄。

*/#include

/*c語言以函式為單位管理**,乙個函式就一段具有某項功能的**。

main是程式預設的入口函式,有且只能有乙個。

int是一種資料型別,函式執行結束後可以有乙個執行結束返回給呼叫者,int就表示main函式的執行結果是int。

main函式的呼叫者就是作業系統,main的執行結束會被作業系統獲取到記錄日誌檔案中。

echo $?

正數:程式出現異常

負數:程式出現錯誤

0:一切正常

*/int main()

num<10 && num++;

賦值運算子及擴充套件:= += -= *= /= %=

num += 10

num = num + 10;

num *= 10;

num = num * 10;

三目運算子:[1]?[2]:[3];

判斷1的值為真計算2,為假則計算3,相當於簡單的if/else語句。

在三目運算子中不能有流程控制語句,因為它始終是乙個運算子,必須要有乙個運算結果。

位元組數運算子:sizeof

不是函式,是c語言的32個關鍵字之一,可以計算出資料型別所佔的位元組數。

sizeof不會計算表達,但會推算表示式的結果是什麼型別,然後再計算型別的位元組數。

位運算子:講完進製轉換、原反補之後再說。

型別轉換:

由於各資料型別的儲存格式不同,那麼運算規則也就不同,只有相同型別的資料才能在一起進行運算。

自動型別:不同型別的資料必須要先轉換成同一型別然後再運算(由計算機自動完成),轉換規則(以不丟失資料為基礎):

1、位元組少向位元組多的轉。

2、整型向浮點型轉。

3、有符號向無符號轉。

強制型別轉換:(型別)資料。

有資料丟失的風險,慎重使用。

流程控制

預設情況下,**從上到下順序執行,流程控制語句則可以改變這種執行順序。

分支:if(條件表示式)

if(條件表示式)

else

if(條件表示式1)

else if(條件表示式2)

else

迴圈 通過反覆執行一段來達到解決問題的目的。

for([1]; [2]; [3])

1、先執行,只執行一次

2、判斷條件,為真時執行4,為假則退出

4、迴圈體,被反覆執行的**

3、改變迴圈條件,防止出現死迴圈

for是一種非常靈活的迴圈,但也容易出錯,因此建議使用乙個變數來引導for的執行過程,這樣可以精確控制迴圈的次數,index->i,j

1、初始化迴圈變數,只在c99標準中才能定義迴圈變數,此處定義的變數只能在大括號內使用。

gcc -std=gnu99 code.c

2、判斷迴圈變數是否到達邊界

3、迴圈變數自增或自減1。

迴圈巢狀:

迴圈語句中包含迴圈語句。

外層迴圈執行一次,內層迴圈從頭到尾執行一遍。

**編譯時的常見錯誤:

1、undefined reference to `main』,main函式拼寫錯誤。

2、程式中有游離的『\357』,使用了中文字元。

3、expected declaration or statement at end of input,大括號不匹配。

4、出現異常資料,變數未初始化、資料溢位、佔位符錯誤。

5、死迴圈使用ctrl+c結束。

linux命令 linux系統介紹 shell介紹

檔案操作 1.mkdir 建立乙個新的目錄 2.cd 切換目錄 3.cp 複製檔案或目錄 4.ls 列出檔案 5.cat 檢視檔案 6.pwd 顯示當前路徑 7.rm 移除檔案或目錄 8.rmdir 刪除乙個空的目錄 9.mv移除檔案與目錄,或修改檔案與目錄的名稱 檔案許可權屬性介紹 檔案型別 d目...

Linux系統的介紹

一 linux的特點 linux 是乙個開源 源 公開 免費的作業系統,其穩定性,安全性 也會有病毒,但因為 linux 是開源的,所以一旦有病毒就會有人去搞定它 處理多併發 多執行緒,多使用者 已經得到業界的認可,目前很多中型,大型甚至是巨型專案都在使用 linux 對記憶體和檔案管理優越 最小配...

Linux系統之lspci命令介紹

lspci,顧名思義,就是顯示所有的pci裝置資訊。pci是一種匯流排,而通過pci匯流排連線的裝置就是pci裝置了。如今,我們常用的裝置很多都是採用pci匯流排了,如 網絡卡 儲存等。下面就簡單介紹下該命令。lspci 顯示所有的pci裝置資訊。包括裝置的bdf,裝置型別,廠商資訊等。lspci ...