Linux下C開發
編輯器:VI
編譯器:選擇GNU C/C++編譯器gcc
調試器:應用廣泛的gdb
函數庫:glibc
系統標頭檔:glibc_header
若想開發圖形介面,還需選上GNOME(c)/KDE(c++)軟體開發
IDE:(大多數人還是直接使用gcc)
Kylix:號稱Linux下的Dephi
Kdevelop
RHIDE:類似Turbo C++ (很少人使用)
要構架一個完整的C開發環境,Glibc是必不可少的,它是linux下C的主要函數庫
Glibc2含幾個附加元件封裝:LinuxThreads,locale和crypt
Glibc是提供系統調用和基本函數的C庫,比如open,malloc,printf等,所有動態連結的程式都要用到它
缺少了系統標頭檔(glibc_header)的話,很多用到系統功能的C程式將無法編譯
由於gcc包需依賴binutils和cpp包,另外make包也是常用的,所以一共需要8個包來完成安裝:
cpp.rpm
binutils.rpm
glibc.rpm
glibc-kernheaders.rpm
glibc-common
glibc-devel.rpm
gcc.rpm
make.rpm
基本命令
查看glibc的版本:
ls /lib/libc-*
查看gcc版本好
gcc --version
控制啟動模式/etc/inittab
關機shutdown -h now
重啟shutdown -r now
停止系統 init 0 halt poweroff shutdown
重啟系統 init 6 reboot
文字介面啟動 init 3
圖形介面啟動 init 5
單一使用者模式 init 1
使用者的預設主目錄 /home/username
useradd username 建立新使用者
passwd username 添加密碼
光碟機的裝載
mount -t iso9660(可省略) /dev/cdrom /mnt/cdrom
卸載(養成習慣)
umount /mnt/cdrom
軟碟機的使用
mount -t fstype /dev/fd0 /mnt/floppy
fdisk -l [/dev/had] 硬碟分區狀況
df -h 硬碟分區的使用方式
du -sh 目錄佔用空間
uname -a所用linux版本號碼
mkdir 建立目錄
rm -r -f 遞迴刪除目錄,並且不提示
rmdir 刪除空目錄
pwd 查看目前的目錄
cd 切換目錄
ls 查看檔案 -a(所有,包括隱藏檔案) -l(詳細) -r(遞迴顯示) -d(不遞迴)
more less 檔案名稱 查看檔案內容
cat 顯示檔案內容
mv (src)(dst)
cp -f(直接覆蓋) -I(提示) -R(遞迴) (src)(dst)
man 命令 查看命令的手冊頁
info 命令 查看命令的協助
命令 -help
當系統非順利關機,可能無法進入系統,這是可以執行fsck修複磁碟
如:fsck -p -t ext2 /dev/hda2
檔案
檔案類型
普通檔案(-): 文字檔和二進位檔案
目錄檔案(d):目錄也是檔案
特殊檔案:塊裝置檔案(b),字元裝置檔案(c)。軟連結(捷徑)和永久連結(檔案拷貝),和管道檔案
find 路徑,不指明路徑表示從根目錄開始尋找 -name -size -tpye
locate 尋找
grep [選項] 尋找模式 檔案名稱 //匹配尋找
-n 顯示匹配行號
-I 忽略大小寫
-r 遞迴尋找
檔案目錄的許可權
rwx (讀,寫,執行)
chmod改變檔案存取權限
chmod (ugoa)(+-=)(rwx) filename (u擁有者,g組,o其他使用者,a所有使用者)
-rw-r--r--
第一個表示檔案類型(-表示普通檔案)
檔案接下來9個,表示檔案擁有者,擁有者所在在組,其他使用者的許可權。各三位表示
diff找出兩個文字檔的差異
cmp比較任意兩個檔案
網路、打包、壓縮、進程、管道等命令
ifconfig:相當於windows下的ipconfig
ping:
netstat > a.txt 把網路狀況重新導向到檔案a.txt
rpm -qi a.rpm 查詢a.rpm是否已安裝
rpm -ivh a.rpm 安裝a.rpm
tar 用於打包和壓縮
tar -cvf a.tar /home 打包home目錄下為a.tar
tar -xvf 解包
tar -tvf 查看包內容
tar -czvf a.tar.gz /home 打包並壓縮home目錄下為a.tar.gz
tar -xzvf a.tar.gz 解開
查看當前進程ps
刪除進程 kill PID號
ctrl+c 強制退出
find /etc -name passwd (加上一個&,則它會在後台運行)
time find /etc -name passwd 用了多少時間
ls -l /etc | more分頁(空格/斷行符號下一頁,|是管道)