您好,登錄后才能下訂單哦!
概述:
Linux是一種自由和開放源碼的類UNIX操作系統。它能運行主要的Unix工具軟件、應用程序和網絡協議,支持32位和64位硬件。該操作系統的內核由林納斯·托瓦茲于1991年10月5日首次發布。
Linux最初是作為支持英特爾x86架構的個人計算機的一個自由操作系統,現可運行在服務器和其他大型平臺之上,如大型計算機和超級計算機。Linux也廣泛應用在嵌入式系統上,如手機(Mobile Phone)、平板電腦(Tablet)、路由器(Router)、電視(TV)和電子游戲機等。
Linux中的基本指令:
1.rm指令:rm是刪除指令,但是在刪除文件夾的時候要加-r(遞歸刪除)選項,-f表示的是強制刪除,要慎用。
2.cp和mv指令:我個人喜歡把這兩個指令放在一起記憶,cp是拷貝,mv是移動,他們的使用規則都是在指令后+【選項】【源文件】【目標文件】,所以當然也支持文件夾的操作啦,只需要加-r選項就可以啦。
3.壓縮和解壓:
①tar:
tar有兩種方式,分別是gzip(常用)和bzip2
gzip:
壓縮: tar -zcvf /tmp/etc.tar.gz /etc-->將etc文件夾下的內容壓縮到/tmp/目錄下,并命名為etc.tar.gz
解壓縮:tar -zxvf etc.tar.gz
②zip和unzip
4.find指令:使用方法:find【路徑】 -name(要查找的名字) 注:這里的名字可以使用通配符(*)。
Linux權限:
linux下有兩種用戶分別是普通用戶和超級用戶(root)
有兩種從普通用戶切換到超級用戶的方式:su和su -,但是這兩個方式是有區別的,使用su指令進入root后的路徑依然是home/當前用戶,也就是說雖然擁有超級用戶的權利但實際上并不是真正的超級用戶,而使用su -指令進入超級用戶后的路徑是/root這個時候就是真正的超級用戶了。
1.文件訪問者的分類:文件所有者、文件所有者所在的用戶組、其他
2.文件類型和訪問權限:
d:文件夾
-:普通文件
l:軟鏈接(類似Windows的快捷方式)
b:塊設備文件(例如硬盤、光驅等)
p:管道文件
c:字符設備文件(例如屏幕等串口設備)
s:套接口文件
基本權限:
i.讀(4):Read對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽該目錄信息的權限
ii.寫(2):Write對文件而言,具有修改文件內容的權限;對目錄來說具有刪除移動目錄內文件的權限
iii.執行(1):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限
通過chmod命令可以修改文件的權限。
文本編輯器vim:
普通模式、插入模式、底行模式
在普通模式下的一些重要命令:(七種類型:移刪復替撤更跳)
1.$移動到行尾、^移動到行首、gg移動到文本的開頭、G移動到文本的末尾
2.x刪除光標位置的字符、dd刪除整行
3.yy和p
4.r替換光標所在位置的字符、R替換光標所到之處的字符(sec停止)
5.u撤銷、【ctrl+r】撤銷的恢復
6.cw更改光標所在處到字尾處(不常用)
7.【ctrl+g】顯示行號、【#G】跳到#行
Linux編譯器中gcc/g++
首先要知道的是代碼生成的四個階段以及每個階段所完成的任務:
1.預處理:宏替換和頭文件的展開以及去掉注釋
gcc -E test.c -o test.i
2.編譯:檢查語法并生成匯編代碼
gcc -S test.i -o test.s
3.匯編:生成機器可識別的代碼
gcc -c test.s -o test.o
4.鏈接:生成可執行文件(test)
gcc test.o -o test
當然,最常用的還是gcc test.c -o test直接將源代碼生成可執行文件
注意:系統將大部分庫函數的實現都放在libc.so.6的庫文件中,在沒有特別指明的情況下系統將在路徑“user/lib”下查找就會鏈接到相應的庫函數中,這也就是鏈接的作用,而庫函數又分為靜態庫和動態庫,這個我們后面再詳細說明。
關于靜態鏈接和動態鏈接
1.靜態鏈接是指將所依賴的動態庫鏈接到可執行程序中,所以會比較大,但是在不同的平臺可以正常執行。
2.動態鏈接是指將所依賴的動態庫中的函數加載到符號表中,在運行程序時動態鏈接動態庫去執行動態庫中的代碼,所以在不同電腦上使用時必須將所依賴的動態庫也給出否則找不到動態庫是沒法運行的。
3.編譯器默認的鏈接方式是動態鏈接,如果想使用靜態鏈接的話要在編譯選項中加-static選項
關于Makefile:
使用make一鍵式編譯,Makefile文件中的關鍵是根據依賴目標完成對生成目標的編譯,但是寫在最前面的依賴文件一旦被生成后面的就沒用了(永遠只為了生成第一個目標),一般想要通過一個makefile文件編譯生成多個文件時就要用偽目標來確定,偽目標后的依賴文件則是要生成的文件,這樣就解決了這個問題。
預定義變量:$^:所有的依賴對象
$@:所有的目標對象
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。