/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 應用程式指揮核心。舉個栗子說的更明白 核心可以讓音...