Linux studying

2010-10-13
添加用戶dl:useradd dl
修改dl密碼:passwd dl
刪除用戶dl: userdel dl
切換用戶:su root
關機:shutdown -h +時間
重啓: shutdown -r +時間


Linux和XP共享一個網卡
1、啓動用戶管理器來圖形化地創建用戶帳號:
點擊桌面上的「從這裏開始」圖標。在它打開的新窗口中,點擊「系統設置」圖標,然後點擊「用戶和組羣」圖標。你還可以選擇面板上的「主菜單」 => 「系統設置」 => 「用戶和組羣」。
你也可以在 shell 提示下鍵入redhat-config-users 來啓動 用戶管理器。

2、互聯網配置嚮導
a、在 shell 提示下,鍵入 internet-druid 命令。
b、系統設置-》網絡 統一配置爲:
Name: eth0
IP: 192.168.1.3
Mask:255.255.255.0
Default Gateway:192.168.1.1
DNS:192.168.1.1
MAC:00:0c:29:a3:52:5f
主機名:localhost.localdomain
DNS搜尋路徑:localdomain
c、系統設置-》服務器設置-》服務
重啓:network
d、VMWare中Ethernet配置:Custom:VMnet0
e、XP端配置VMWare Network Adapter VMnet1共享,且設置網絡
IP: 192.168.1.1
Mask:255.255.255.0
Default Gateway:192.168.1.1
DNS:192.168.1.1

3、VMare中共享文件夾在Linux路徑爲:/mnt/hgfs/share


2010-9-11
1、在配置文件裏,以#打頭的行是註釋行。在修改配置文件的時候儘量不要刪除舊的設置――可以把原來的設置加上”#”變成註釋行
2、

2010-5-6
一、虛擬共享目錄地址爲:/mnt/hgfs
二、軟件安裝
1、軟件安裝卸載,分幾種情況:

A:RPM包,這種軟件包就像windows的EXE安裝文件一樣,各種文件已經編譯好,並打了包,哪個文件該放到哪個文件夾,都指定好了,安裝非常方便,在圖形界面裏你只需要雙擊就能自動安裝。
==如何卸載:
1、打開一個SHELL終端
2、因爲Linux下的軟件名都包括版本號,所以卸載前最好先確定這個軟件的完整名稱。
查找RPM包軟件:rpm -qa ×××*
注意:×××指軟件名稱開頭的幾個字母,不要求寫全,但別錯,*就是通配符號“*”,即星號,如你想查找機子裏安裝的REALPLAYER軟件,可以輸入:rpm -qa realplay*
3、找到軟件後,顯示出來的是軟件完整名稱,如firefox-1.0.1-1.3.2
執行卸載命令:rpm -e firefox-1.0.1-1.3.2

===安裝目錄,執行命令查找:rpm -ql firefox-1.0.1-1.3.2

===參考文章:http://blog.chinaunix.net/article.p...178&blogId=1438

B:tar.gz(bz或bz2等)結尾的源代碼包,這種軟件包裏面都是源程序,沒有編譯過,需要編譯後才能安裝,安裝方法爲:
1、打開一個SHELL,即終端
2、用CD 命令進入源代碼壓縮包所在的目錄
3、根據壓縮包類型解壓縮文件(*代表壓縮包名稱)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
4、用CD命令進入解壓縮後的目錄
5、輸入編譯文件命令:./configure(有的壓縮包已經編譯過,這一步可以省去)
6、然後是命令:make
7、再是安裝文件命令:make install
8、安裝完畢

===如何卸載:
1、打開一個SHELL,即終端
2、用CD 命令進入編譯後的軟件目錄,即安裝時的目錄
3、執行反安裝命令:make uninstall

====安裝目錄:注意make install命令過程中的安裝目錄,或者閱讀安裝目錄裏面的readme文件,當然最好的辦法是在安裝的過程中指定安裝目錄,即在./configure命令後面加參數--prefix=/**,
如:./configure --prefix=/usr/local/aaaa,即把軟件裝在/usr/local/路徑的aaaa這個目錄裏。一般的軟件的默認安裝目錄在/usr/local或者/opt裏,可以到那裏去找找

C:以bin結尾的安裝包,這種包類似於RPM包,安裝也比較簡單
1、打開一個SHELL,即終端
2、用CD 命令進入源代碼壓縮包所在的目錄
3、給文件加上可執行屬性:chmod +x ******.bin(中間是字母x,小寫)
3、執行命令:./******.bin(realplayer for Linux就是這樣的安裝包)
===如何卸載:把安裝時中選擇的安裝目錄刪除就OK
===執行安裝過程中可以指定,類似於windows下安裝。

2、安裝完軟件後如何執行。 安裝完軟件後可以有好多種方法執行軟件:
A、有些軟件安裝後會自動在應用程序列表里加上快捷鍵,和windows一樣,到那裏找就行了。
B、如果在應用程序列表裏找不到的話,可以直接在/開始/運行命令裏輸入命令:啓動命令一般就是軟件名,如firefox,realplay,xmms等
C、也可以打開一個shell終端,輸入軟件名,和在“運行命令”裏一樣。如果不知道命令全程的話,可以輸入開頭的字母,然後按tab鍵查找,系統會自動顯示以輸入字母開頭的所有命令/
D、你也可以直接到安裝目錄下運行啓動文件,Linux下的可執行圖標和shell終端圖標很像
E、到/usr/bin目錄裏找安裝的軟件啓動文件執行命令。Linux系統把所有可執行的文件命令在/usr/bin目錄裏都作了啓動連接,你可以去那個目錄尋找你安裝的文件的啓動命令,雙擊啓動
三、關機:
halt

2010-3-8
一、gcc調試:
如果編譯時,使用下面的指令(增加了參數-g),就會生成帶源代碼調試符號的可執行文件。編譯形成的可執行文件有7KB。之所以增加了2KB,就是因爲增加的調試符號。

gcc -o calc calcutlator.c -g
進一步地,就可以執行下面的指令啓動調試工具進入調試環境對程序進行調試了。
gdb calc
在調試環境下,可以輸入下列指令來控制調試。
l 28 第一個字母是小寫的L,列出第28行附近的源程序。
b sum 在sum函數處設斷點
b 25 在第25行處設斷點
r 運行程序
n 單步執行,不進入函數
s 單步執行,進入函數
c 繼續連續執行
p choice 顯示變量choice 的值
q 退出調試環境
k 殺死程序

二、g++編譯調試
假設用vi編寫好了一個C++程序,源程序文件名爲hello.cxx。如何編譯?編譯,指定生成的可執行文件名爲hw。
g++ -o hw hello.cxx
帶源代碼調試符號進行編譯。g++ -o hw hello.cxx -g


2010-3-3
1、pwd:顯示當前路徑
ps:顯示當前的進程
startx:進入xwindow圖形界面
man:顯示幫助手冊內容

2、進程:
a、複製,拷貝:fork,clone函數
b、等待:wait3,wait4
c、消亡:exit


2010-3-2
一、安裝vmware-tools 學習來源http://os.51cto.com/art/200901/104983_3.htm

點擊VMware菜單的——虛擬機——安裝VMware Tools,在彈出的對話框中選擇“安裝”。這時,在Ubuntu下會自動加載Linux版的VMware Tools的安裝光盤鏡像。你會看到虛擬機的桌面上出現了一個名爲VMware Tools的光盤圖標,並且被自動打開。其中包括VMwareTools-5.3.3-34685-i386.rpm和VMwareTools- 5.3.3-34685.tar.gz(版本號可能不一致)兩個文件。

在終端界面中運行:
$ tar zxf /media/cdrom/VMwareTools-5.3.3-34685.tar.gz(回車後系統會把那個.tar.gz文件解壓縮)
$ cd vmware-tools-distrib(回車後目錄將轉換到解壓縮後的那個文件夾)
$ sudo ./vmware-install.pl(回車後會提示輸入你的密碼,表明你將以更高級權限執行一個動作——安裝軟件;再次回車後安裝開始)

經過一番確認回車後(相當於在Windows裏安裝軟件時所填答的諸多對話框,我們這裏均採用缺省設置),直到最後出現“Enjoy——the VMware team”的字樣後,VMwareTools終於安裝完成了。

在終端中繼續運行:
$ /usr/bin/vmware-toolbox
重啓就可以看到效果了

二、bash
輸入:
path=/home/denglei/senses
echo $path
echo dirs:
dir

輸出:
/home/denglei/senses
dirs:
ex1.c  sense


輸入:
A=(this is an example of shell script)
echo ${A[0]} ${A[2]} ${A[4]} ${A[6]}
echo ${A[6]}
echo ${A[*]}

輸出:
this an example script
script
this is an example of shell script

 

2010-2-25
1、生成靜態庫libprint.a
利用GCC生成對應目標文件:gcc -c Print.c -->Print.o
用ar創建庫文件: arc -rc libprint.a Print.o --->libprint.a

編譯使用 gcc -o test test.c libprint.a
注意:編譯時-o test 和 test.c libprint.a順序不可更改,否則失敗

編譯方法二:(操作路徑爲/root/compiler/sense)
gcc -c -I/root/compiler/sense/ test.c
gcc -o test -L/root/compiler/sense test.o libprint.a
編譯時-o test 和 test.o libprint.a順序不可更改,否則失敗

其中-I/home/hcj/xxxxxxxx和-L/home/hcj/xxxxxxxx是通過-I和-L指定對應的頭文件和庫文件的路徑。

2、生成動態鏈接庫:
創建庫文件:
gcc -fpic -shared -o libprint.so Print.c
-fpic 使輸出的對象模塊是按照可重定位地址方式生成的。
-shared指定把對應的源文件生成對應的動態鏈接庫文件。

編譯:
方法一:
gcc -o test2 test.c /root/compiler/sense/libprint.so
./test2
注意:順序不可顛倒;且*.so路徑必須要全名稱

方法二:
如果想從系統的庫文件路徑(通常系統函數庫的位於/usr/lib下)鏈接動態庫的話,可以先將生成的庫文件拷貝至/usr/lib/下,然後再鏈接:
cp libprint.so /usr/lib/
gcc -o test2 test.c -lprint
./test2

3、使用nm -s 命令來查看.a文件的內容

2010-2-23
添加用戶: useradd tangyang
修改密碼:passwd tangyang
刪除用戶:userdel tangyang


歸檔文件:tar -cf code.tar code.c code.dll
查看歸檔文件:tar -tvf code.tar
解壓歸檔文件:tar -xf code.tar

du:統計當前目錄下子目錄的磁盤使用情況,主要是統計其子目錄和所有子目錄下文件的大小
df:統計文件系統中空閒的磁盤空間,缺省情況下顯示所有安裝文件系統的磁盤使用信息
in:用來在目錄或文件間建立鏈接
find:用於查找Linux系統上的文件或目錄
tar:是一個文件管理工具,用於將文件歸檔,或者從歸檔中恢復文件
gzip:GNU文件壓縮工具,用於壓縮Linux文件,通常與tar一起使用

2010-2-22
修改文件權限:
chmod u+rw readme.txt
g+w:爲組羣添加寫入權;
o-rwx:刪除其他人的所有權限;
u+x:允許文件所有者執行這個文件;
a+rw:允許每個人讀取並寫入文件;
ug+r:允許所有者和組羣讀取文件;
g=rx:只允許組羣讀取和執行(不能寫入)。

最後,介紹一下恢復組羣的權限的方法。命令如下:、
chmod ug+x tigger

2010-2-6
登錄:su root,密碼denglei
創建文件夾:mkdir ***
刪除文件夾:rm -r ***
創建文件:


2009-12-16

進入vi的命令
vi filename :打開或新建文件,並將光標置於第一行首
vi +n filename :打開文件,並將光標置於第n行首
vi + filename :打開文件,並將光標置於最後一行首
vi +/pattern filename:打開文件,並將光標置於第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename
vi filename....filename :打開多個文件,依次進行編輯


插入文本類命令
i :在光標前
I :在當前行首
a:光標後
A:在當前行尾
o:在當前行之下新開一行
O:在當前行之上新開一行
r:替換當前字符
R:替換當前字符及其後的字符,直至按ESC鍵
s:從當前光標位置處開始,以輸入的文本替代指定數目的字符
S:刪除指定數目的行,並以所輸入文本代替之
ncw或nCW:修改指定數目的字
nCC:修改指定數目的行


最後行方式命令
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內容刪除
:w :保存當前文件
:e filename:打開文件filename進行編輯
:x:保存當前文件並退出
:q:退出vi
:q!:不保存文件並退出vi
:!command:執行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內容作爲command的輸入並執行之,若不指定n1,n2,則表示將整個文件內容作爲command的輸入
:r!command:將命令command的輸出結果放到當前行


操作:
用Esc返回命令狀態,i:進入編輯狀態

編輯:
gcc -o haha haha.c
./haha
或者:
gcc -c haha.o haha.c
gcc -o haha.exe haha.o

刪除文件haha或文件夾haha:
rm haha (rm -f haha)


2009-12-17
mv :移動文件夾或者修改文件名 mv Programa Program
cd: 打開文件

 You can use header files in subdirectories or nonstandard places by specifying the -Iflag (for include) to the C compiler. For example,
         $ gcc -I/usr/openwin/include fred.c
    will direct the compiler to look in the directory /usr/openwin/include

$ grep EXIT_ *.h 搜索EXIT_在*.h中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章