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的一部分
入門 必須掌握的20個Linux命令
必須掌握的20個linux命令 1 查詢程序id號,殺掉程序 ps ef grep tomcat kill 9 pid pid為程序號 2 啟動http服務 3 實時檢視a.log日誌檔案的資訊 tail f a.log 4 檢視8888埠是否被占用 netstat an grep 8888 5 動...
程式設計師必須掌握的linux知識
4 重定向 管道 5 標準輸出 標準錯誤 6 使用 遮蔽乙個特殊字元的含義 7 正規表示式 二 熟練掌握vim編輯器。三 liunx環境下shell指令碼 perl指令碼的編寫 為了對網上伺服器應用進行管理,通常需要編寫一些指令碼。指令碼的編寫重點掌握下面幾點 1 理解雙引號 單引號 反引號的含義。...
必須掌握的Linux使用者組知識
在 linux 系統中使用者組起著重要作用。使用者組提供了一種簡單方法供一組使用者互相共享檔案。使用者組也允許系統管理員更加有效地管理使用者許可權,因為管理員可以將許可權分配給使用者組而不是逐一分配給單個使用者。儘管通常只要在系統中新增使用者賬戶就會建立使用者組,關於使用者組如何工作以及如何運用使用...