一、網絡配置
方法一. 帶有界面的系統,可以直接在網絡連接里配置。 
方法二:使用shell命令配置(此方法重啟后失效)。 使用lspci | grep Ethernet命令檢查計算機上的以太網卡設備是否被內核檢測到。 然后使用“ifconfig”命令查看系統已經識別并已激活的網絡接口。如果沒有找到可以用“ifconfig -a”命令找到所有已識別包括未激活的網絡接口,然后使用”ifconfig 網卡名 up“激活。 在命令行輸入“ifconfig 網卡名 ip地址 netmask 子網掩碼”就可以臨時指定網卡的IP地址。 例如:配置eth0
ifconfig eth0 210.34.6.89 netmask 255.255.255.128為一個網絡接口指定多個IP地址:
ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0添加路由條目
route add default gw 192.168.1.1route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0方法三:直接修改配置文件 (系統為Redhat)用“vi /etc/sysconfig/network-scripts/ifcfg-eth0”編輯網卡eth0的配置文件。
DDEVICE=eth0 // 這是網卡的名稱TYPE=Ethernet // 網卡類型ONBOOT=yes // 是否隨著開機自啟動BOOTPROTO=static // static表示固定ip地址,dhcp表示隨機獲取ipIPADDR=192.168.10.150 // 手動設置的固定ip地址NETMASK=255.255.255.0 // mask地址,就是掩碼GATEWAY=192.168.10.1 // 網關地址HWADDR=00:0C:2x:6x:0x:xx // mac 地址使用“service network restart”命令重新啟動network服務,使配置文件生效。再次使用“ifconfig”命令查看網卡參數,可以看出IP地址修改成功,并且會一直保留。
(系統為Ubuntu)使用“vi /etc/network/interfaces”輯網絡配置文件
# The primary network interfaceauto eth0iface eth0 inet static //指定為staticaddress 192.168.3.90 //IP地址gateway 192.168.3.1 //網關netmask 255.255.255.0 //子網掩碼broadcast 192.168.3.255 //廣播 有沒有勻可編輯好以后使用 /etc/init.d/networking restar命令重新啟動network服務,使配置文件生效。再次使用“ifconfig”命令查看網卡參數,可以看出IP地址修改成功,并且會一直保留。
二、環境變量配置 方法一:在shell的命令行下直接使用[export 變量名=變量值]定義變量,該方法只對當前shell(BASH)有效(臨時的) 在shell的命令行下直接使用[export 變量名=變量值]定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。
例如
[root@lx_web_s1 ~]# export PATH=/usr/local/webserver/MySQL/bin:$PATH [root@lx_web_s1 ~]# echo $PATH /usr/local/webserver/mysql/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin說明添加PATH成功。
方法二:在/etc/profile文件中添加變量,該方法對所有用戶生效(永久的)。
例如:編輯/etc/profile文件,添加CLASSPATH變量
# vi /etc/profile export PATH="/usr/local/webserver/mysql/bin:$PATH"保存,退出,然后運行 #source /etc/profile,使立即生效。
方法三:在用戶目錄下的.bash_profile文件中增加變量,該方法對單一用戶生效(永久的)。 這種方法更為安全,它可以把使用這些環境變量的權限控制到用戶級別
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile,添加CLASSPATH變量。
#vi /home/guok/.bash.profile export CLASSPATH=./java_HOME/lib;$JAVA_HOME/jre/lib保存,退出,然后運行 #source /home/guok/.bash_profile,使立即生效。
三、開機自啟動設置 方法一:使用編輯器打開/etc/rc.local,在尾部添加需要執行的命令
例如:每次開機前要執行一個hello.sh,這個腳本放在/opt下面。 使用命令 vi /etc/rc.local 打開文件,在文件的尾部添加 /opt/hello.sh ,保存退出即可。
方法二:把已安裝服務添加為系統服務。 chkconfig命令主要用來更新(啟動或停止)和查詢系統服務的運行級信息。其常用指令如下:
chkconfig --add 服務名稱 (將服務添加為系統服務)chkconfig --level 啟動級別 服務名 on (設置自啟動)chkconfig --level 啟動級別 服務名 off (關閉自啟動)chkconfig --list (查看哪些服務被添加為自啟動)例如:chkconfig – level 3 mysql on 表示讓mysql服務在命令行模式隨系統啟動
方法三:新建服務腳本隨系統啟動。 系統服務的啟動是通過執行/etc/rc.d/init.d 中的腳本實現的,腳本按照一定格式編寫。我們可以將自己需要啟動的服務寫成腳本,放在該文件夾內。
例如:我們希望開機啟動一個hello服務。 新建一個腳本hello,把它放到/etc/rc.d/init.d 中 運行chmod +x /etc/rc.d/init.d/hello 修改權限為可執行 運行chkconfig –add hello把該服務添加到配置中 運行chkconfig hello on 設置服務開機啟動 運行chkconfig –list hello可以查看該服務進程的狀態。
四、linux動態鏈接庫的生成與使用 Linux下動態鏈接庫格式為*.so,靜態庫的格式為.a;
在使用gcc編譯時,-shared 指定生成動態鏈接庫,-fPIC 表示編譯為位置獨立的代碼,-L表示要連接的庫的目錄,-lname 表示要連接的庫。-lname編譯器查找動態鏈接庫時隱含的命名規則,即在給出的名字前面加上lib,后面加上.so或.a來確定庫的路徑。
例如,使用test.h、test.c生成動態鏈接庫libtest.so 命令為
gcc test.c –fPIC –shared –o libtest.so例如:程序hello調用了libtest.so庫里的函數(程序源文件為hello.c),我們生成可執行文件hello的命令為
gcc hello.c –L./ -ltest -o hello使用ldd hello可以查看hello程序調用了哪些動態庫。
Eclipse下使用動態庫: 右鍵工程Properites->C/C++ Build->Settings進行設置,如下圖。例如在工程libr中加入動態鏈接庫liba.so: 
程序在調用動態庫時,經常因為庫查找路徑設置問題,而出現找不到動態鏈接庫.so文件的問題(運行時報錯error while loading shared libraries: libShared.so: cannot open shared object file: No such file or directory )。解決這個問題有兩種方法: 方法一:修改LD_LIBRARY_PATH(使用export命令); 方法二:修改/etc/ld.so.conf文件(確定該動態鏈接庫的路徑后,然后打開/etc/ld.so.conf,在文件尾部把路徑添加進去,然后執行ldconfig使修改生效)。
例如,我們需要將/usr/local/lib/libtest.so添加進搜索路徑。 使用方法一,執行 export LD_LIBRARY_PATH= $LD_LIBRARY_PATH :/usr/local/lib/ (該設置登出后即失效,若希望永久生效,可把這行添加進/etc/profile里,參照前面環境變量配置) 使用方法二,執行vi /etc/ld.so.conf,在文件尾部加入一行:/usr/local/lib/,保存退出,然后執行ldconfig使修改生效。
Eclipse下修改環境變量,在工程處右鍵,Run As->Run Configurations,選擇Environment,如下圖 
QT下使用動態鏈接庫: Qt Creator工程中,工程通過.pro文件管理。一個典型的pro文件:
在Qt工程中添加動態鏈接庫: LIBS += -L 庫路徑 –lyourlib 在Qt工程中添加靜態庫: LIBS += -L 庫路徑 –lyourlib (同動態一樣)
QT是跨平臺的,所以我們在不同的平臺上用同一個pro文件,這要加入有關平臺的信息。windows是win32,Linux平臺是unix。 例如:
win32:LIBS+= ./mitab/mitab.libunix:LiBS+= ./mitab/libmitab.so新聞熱點
疑難解答