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 ...