2023年1月7日《linux程式設計》筆記

2021-06-28 02:36:27 字數 2262 閱讀 6364

/bin:二進位制檔案目錄,用於存放啟動系統是用到的程式

/usr/bin:使用者二進位制檔案目錄,用於存放使用者使用的標準程式

/usr/local/bin:本地二進位制檔案目錄,用於存放軟體安裝的程式

path中的路徑使用:隔開而不是;

目錄使用/而不是\

gcc -o hello hello.c

./hello

將hello.c編譯成二進位制檔案,執行當前路徑的二進位制檔案。

gcc -c bill.c fred.c

表示將後面的兩個檔案進行二進位制編譯,生成.o檔案。

gcc -i/usr/openwin/include fred.c

-i表示後面要新增乙個標頭檔案的搜尋路徑。

grep exit_ *.h

在當前的所有.h檔案中查詢包含有exit_字串的檔案。grep是個很有用的命令。注意和find的區別。

.a表示靜態庫,.so表示共享函式庫。

gcc -o fred fred.c /usr/lib/libm.a

將fred.c編譯成可執行二進位制檔案,並且可應用libm.a庫中的內容。

gcc -o fred fred.c -lm

libm.a是標準庫,編譯器可以找到,那就可以使用-lm來引用libm.a庫。

gcc -o x11fred -l/usr/openwin/lib x11fred.c -lx11

-l表示可用在這個路徑下搜尋可能需要的庫檔案

靜態庫,也被稱作歸檔檔案(archive),可以使用ar命令將二進位制檔案進行歸檔。

gcc -c program.c 編譯.c 生成.a

gcc -o program program.o bill.o 由後面的兩個二進位制檔案生成前面的可執行檔案。

ar crv libfoo.a bill.o fred.o

將bill.o和fred.o歸檔為libfoo.a檔案。

上面的就可以改為,gcc -o program program.o libfoo.a

或者 gcc -o program program.o -l -lfoo

ldd program

使用ldd命令檢視program使用到的共享庫的內容。

man gcc 檢視gcc的幫助手冊

info gcc 可以檢視到gcc的更多資訊

關於shell命令:

|表示管道,就是將前乙個命令的輸出作為後乙個命令的輸入。

0表示輸入,1表示標準輸出,2表示錯誤輸出

ls -l > lsoutput.txt 將ls -l的輸出輸出到檔案中。

ls -l >> lsoutput.txt 將ls -l的輸出輸出到檔案的結尾。

kill -hup 1234 >killout.txt 2>killerr.txt

將錯誤輸出到killerr.txt檔案中。

kill -1 1234 >killouterr.txt 2>&1 標準輸出和錯誤輸出合併輸出到killouterr.txt中。

/dev/null表示不需要不存在的乙個東西。

kill -1 1234 >/dev/null 2>&1

表示輸出都放到/dev/null中,不要了。

輸入重定向

more < killout.txt

萬用字元:

*匹配乙個字串

?匹配當個字元

[set]允許匹配括號中任何乙個單個字元

[^set]與上相反

允許匹配大括號中的任何乙個串

first為乙個bash的腳步程式

chmod +x first可以使first有可執行的功能

可使用./first進行執行

cp拷貝

chown 改變擁有者

chgrp 改變使用者組

關於shell中的變數:

read salutation

此命令會將下行你輸入的內容放到salutation變數中。

myvar="hi there"

echo $myvar

$表示引用變數

echo "$myvar"

""對$沒有破壞作用

echo '$myvar'

''裡面的內容將不再是乙個變數

echo \$myvar

\破壞$

以上輸出為:

hi there

hi there

$myvar

$myvar

-----------------------------------------p42-----------------------

寫於2023年1月1日

2014年是結束學生生涯,步入職場的一年。讓我自己都感到意外的,我的第一次跳槽居然也發生在這一年。生活本不是隨波逐流,不論別人看來,我不放棄對自己命運的主動權,我為自己不足道的奮鬥所換得的有限自由與任 到驕傲。2014經歷不少,但遠遠不夠。可以確信無疑的一點是,過去的我浪費了太多的時間,即便忙碌,也...

閒談 2023年1月6日

2015年1月6日 22 41 13 畢竟雜談。要不然做個系列吧。哈哈。就叫畢竟雜談。總歸是用了3個小時把心理學的書掃了一遍。去年寒假 大概就是現在這個時候 借了心理學專業的乙個朋友的 基礎心理學 的書。本來以為還能看看。後來看了大概半周,書看了三分一。基本都是在介紹什麼神經衝動啊,激素分泌啊一類對...

2023年1月6日,我的LINUX筆記。

1 shell是接受命令的地方,包括命令列介面和圖形介面。當然你的命令要shell能夠理解,我感覺這就是為什麼要學shell,就是把你要shell做的用它能夠理解的語言寫下來 而圖形介面當然是要知道怎麼怎麼點哪個按鈕。2 shell呼叫應用程式。3 應用程式指揮核心。舉個栗子說的更明白 核心可以讓音...