18、幾個常用的dpkg命令:
dpkg -l [軟件包名稱]:列出系統中已安裝的軟件包的信息,不加參數表示列出所以已安裝的信息!
dpkg -L [軟件包名稱]:列出指定軟件包的詳細安裝列表
dpkg -s [軟件包名稱]:查看指定軟件包的詳細信息,如安裝狀態、版本信息、依賴關系、配置文件以及描述信息等!
dpkg -S [文件名]:查看指定文件的來源(就是屬于那個軟件包,可以直接使用絕對路徑進行查看)
說明:以上名稱參數均可以使用通配符!
dpkg -i [*.deb]:安裝指定的deb軟件包
dpkg -r [*.deb]:卸載指定的deb軟件包
dpkg -P [*.deb]:徹底的卸載指定的deb軟件包,包括配置文件等等
dpkg -c [*.deb]:列出指定deb軟件包所包含的文件列表 rpm -qlp
dpkg -I [*.deb]:列出指定eb軟件包的詳細信息,如版本、依賴、描述等等
19、啟動Xephyr命令: “Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac”(就相當于在X界面下再開一個X)
20、IP轉發: echo 1 》 /proc/sys/net/ipv4/ip_forward
IP偽裝: iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.121
IP設置: ifconfig eth0 192.168.7.2 up
指向網關: route add default gw 192.168.7.1
21、快速文件索引命令: locate filename (注意需要定期更新索引數據庫: sudo updatedb)
22、光驅彈出:eject -r 光驅彈入:eject -t
23、可以通過chkconfig來設置系統啟動配置,如chkconfig httpd on和chkconfig vsftpd on
24、察看目錄大小:du -sh 《dirname》;查看文件大小:ls -lh
25、在雙系統情況下,如果重裝windows就會破壞原有的grub引導程序,可以通過以下步驟簡單修復:通過Linux安裝光盤啟動系統,以root權限進入grub,
root@local:~#grub
grub》 find /grub/stage1 (該命令會顯示引導文件所在分區,如(hd0,1))
grub》 root (hd0,1) (注意中間有一空格,指定/boot分區所在位置)
grub》 setup (hd0) (將grub安裝到mbr)
grub》 quit (退出grub程序)
root@local:~#reboot
26、查看磁盤分區使用情況:df -lh (sudo fdisk -l列出所有磁盤分區)
27、磁盤分區管理命令:fdisk
root@local:~#fdisk /dev/hda (進入磁盤管理)
Command (m for help): p (查看所有分區)
Command (m for help): a (設置可引導分區,就是*標記)
Command (m for help): n (創建一個新分區,給新分區分配空間時,起始卷值默認即可,可避免空間浪費,然后給出空間大小,如+10000M就表明要分配1G的空間,然后自動計算結束卷值)
Command (m for help): t (給新分區設置分區類型,可以通過L顯示所有分區類型)
Command (m for help): w (保存退出,但也需重啟才能生效)
Command (m for help): q (不保存退出)
28、新分區還需被格式化成相應的文件系統類型才能使用,常用的有mkfs.ext3(格式化為ext3格式,也是Linux分區常用的)、mkfs.msdos(格式化為Fat16格式)和mkfs.vfat(格式化為Fat32格式);如mkfs.vfat /dev/hda1
29、磁盤分區類型一般有兩種,primary分區和extends分區,每個磁盤所包含的這兩種分區類型總和不得超過4個;如果還想增加更多分區,可以在extends分區中創建任意多個logic分區;所有在給一個新磁盤分區時,都應該給其劃分一個extends分區,以作擴展之用,否則就成為死分區了。典型劃分的一個示例:
fat32:用于雙系統(primary)
boot:啟動引導分區,1G空間足夠,ext3格式(primary)
swap:交換分區,1G空間足夠,swap格式;如果內存很大,也可以不要(primary)
extend:擴展分區,全部剩余空間,ext3格式;然后可以在其下創建多個logic分區(logic)
30、使用qemu運行一個winxp image:qemu -m 384 -no-acpi -hda 。/winxp.img
31、Find命令與cp命令的組合:find ‘dir1’ -iname “*.ko” -exec cp {} ‘dir2’ ;
表明將dir1目錄里的所有.ko文件拷貝到dir2目錄,注意,注意帶上命令后面的分號
32、解決掛載分區中文顯示亂碼問題: sudo mount /dev/hda2 /mnt/xp -t vfat -o iocharset=utf8,umask=000
-o iocharset=utf8指定編碼方式umask=000指定文件權限,與chmod 777等價,該句對亂碼問題沒什么影響,也可不要!
對于NTFS分區:mount -t ntfs-3g -o nls=utf8,umask=000 /dev/hda1 /mnt/c,這里需要用nls才能正常顯示中文(-t ntfs-3g有時并不工作,改用-t ntfs即可,當然掛載ntfs分區的前提當然得先安裝ntfs-3g了;還有一點就是掛載的ntfs分區無法寫入)!
34、以 root 用戶運行下列命令來添加新用戶:
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
命令行選項的含義:
-s /bin/bash --- 指定 bash 作為 lfs 用戶的默認 shell
-g lfs --- 將 lfs 用戶添加到 lfs 組
-m --- 為 lfs 用戶創建 home 目錄
-k /dev/null --- 這個參數通過修改輸入位置為特殊的空設備來防止從框架目錄(默認為 /etc/skel)拷貝文件
lfs --- 這是所創建的組和用戶的實際名字
為了可以使用 lfs 用戶登錄(與從 root 用戶切換到 lfs 用戶不同,這種切換不需要 lfs 用戶有一個密碼),必須先為 lfs 用戶設置一個密碼:
passwd lfs
35、openssh-client:ssh客戶端,就是gnome終端
openssh-server:ssh服務端,只有開啟后,別人才能登錄到該主機
36、Ubuntu英文環境下scim輸入法在firefox中輸入中文的問題:
首先安裝中文支持,確保scim可用,即在terminal和gedit中可以通過右鍵選擇scim輸入法進行中文輸入;
然后執行命令:
sudo apt-get update
sudo im-switch -s scim
sudo apt-get install scim-qtimm
最后重啟X即可
37、瀏覽chm文件(win下編譯好的html文件),可以安裝包chmsee或者xchm
38、一些常用命令:
lspci #查看系統設備
alsamixer #查看系統聲息設備
gzip ‘file’ #生成一個.gz文件
gzip -d ‘file.gz’ #解壓一個.gz文件
dmesg #查看kernel啟動信息
uname -r #查看kernel版本信息
rpm -i program.rpm #安裝rpm包
audacious #一款很好的music播放器,可直接從源安裝
39、升級Ubuntu一般步驟:
更新/etc/apt/sources.list的源到指定版本;
sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade
40、利用--reference參數可以使file2的權限與file1相同,其它更改命令如chgrp,chown等可相似使用:
chmod --reference ‘file1’ ‘file2’
41、svn使用入門:
啟動svn服務:svnserve -d
創建svn項目:稍微麻煩,創建完后需要進行用戶權限的點配置,可參考已有的svn項目,拷貝過來即可(不再贅述)。
導出文件:svn co svn://192.168.1.x/var/www/svn/trunk (將工程目錄trunk導出到當前目錄下, co=checkout)
svn co svn://192.168.1.x/var/www/svn/trunk dir (表示將trunk/*導入到指定目錄,如果沒有指定目標目錄,則包括trunk目錄在內被導入到當前目錄下)
提交文件:svn commit -m “[labServer] Fixed #bug_id bug_describ” (提交新的版本,引號內容是該版本的描述信息,commit=ci=checkin)
查看變更:svn diff ( | more)
版本同步:svn update (可在本地導出的工程目錄下執行)
版本信息:svn info
版本日志:svn log
增加文件:svn add file
刪減文件:svn del file
生成patch文件:svn diff 》 。/fix#bug_id.patch (將patch文件導出到當前目錄下)
先add/del之后,再執行commit !
42、qemu典型使用:
qemu-img create -f qcow harddisk.img 1024M(創建一個img文件,其格式為qcow,大小為1G,前提需安裝qemu)
qemu -boot d -hda 。/xp.img -cdrom 。/wixp-sp2-small.iso -m 512 -localtime(從本地iso鏡像安裝到img文件)
qemu -boot d -hda 。/xp.img -cdrom /dev/hda -m 512 -localtime(從光盤iso鏡像安裝到img文件,光盤的掛載分區可通過df查看)
qemu -boot d -cdrom 。/demo.iso(直接光盤啟動)
------------------------------------------------------------------------------------------------
建立磁盤文件:
qemu-img create winxp.img 10G (磁盤大小自定義,要裝Windows建議大一些,否則升級起來很麻煩)
安裝:
qemu-kvm -m 450 -hda winxp.img -cdrom Windows XP Pro CN with SP2.iso -no-acpi -boot d
(qemu-kvm即調用KVM模塊)
使用:
qemu-kvm -m 450 -hda /all/kvm/winxp.img -net nic -net user -localtime -no-acpi -boot c
這里采用NET的上網方式,也沒有加聲卡。。
------------------------------------------------------------------------------------------------
在Debian下驗證:
啟動img 文件:kvm -hda winxp.img -m 384 -soundhw es1370 -no-acpi
啟動磁盤分區:kvm -hda /dev/sda -m 512 -soundhw es1370 (然后通過grub選擇可以進入winxp)
43、用mbootpack整合內核: mbootpack -o xen -m vmlinux-stripped xen-3.0.4-1
其中-o xen指定要生成的目標文件
vmlinux-stripped是附加體內核
xen-3.0.4-1是本體內核
44、制作啟動盤相關:
install-mbr /dev/sdb(需安裝包mbr,其目標是整個磁盤)
syslinux /dev/sdb1(需安裝包syslinux,其目標是某一特定磁盤分區)
45、創建節點設備:
mknod sdb c 8 1 #create sdb device in current dir
46、apt-get使用小結:
用法:apt-get [選項] 命令
命令:
update - 下載更新軟件包列表信息
upgrade - 進行一次升級
install - 安裝新的軟件包(注:包名是 libc6 而非 libc6.deb)
remove - 卸載軟件包
source - 下載源碼包文件
build-dep - 為源碼包配置所需的構建依賴關系
dist-upgrade - 發布版升級,見 apt-get(8)
dselect-upgrade - 根據 dselect的選擇來進行升級
clean - 刪除所有已下載的包文件
autoclean - 刪除老版本的已下載的包文件
check - 核對以確認系統的依賴關系的完整性
示例:
apt-get remove pkgname #刪除一個軟件包。
apt-get --purge remove pkgname #跟上面的一樣,但保留配置文件
apt-get autoremove #刪除所有單獨不用的軟件包
apt-get autoclean #刪除所有老版本的軟件包
dpkg -P pkgname #徹底刪除一個軟件包以及配置文件。
dpkg -r pkgname #刪除但保留配置文件
附加aptitude的使用:
其基本使用方法于apt-get一樣,用aptitude替代apt-get字符串即可!
aptitude install pkgname #安裝
aptitude remove pkgname #刪除,但保留配置文件
aptitude purge pkgname #徹底刪除
47、vi使用技巧
Vi中光標的移動:
w: 向前移動一個單詞,將符號或標點當作單詞處理
b: 向后移動一個單詞,把符號或標點當作單詞處理
0: 到行首
$: 到行尾
gg: 到頁首
G: 到頁末
行號+G: 跳轉到指定行
Ctrl+g: 查詢當前行信息和當前文件信息
CTRL+U: 向上滾動半屏
CTRL+D: 向下滾動半屏
vi中查找和替換命令詳解:
對于字符替換,應該解決這樣幾個問題:
1、用誰替換誰的問題;
2、在那個范圍內進行查找和替換;
3、是替換查找到的第一個還是所有匹配的項全部替換;
vi命令的各種選項就提供了這樣的選擇:
按住esc鍵,進入命令狀態;然后按:進入命令模式;開始輸入查找和替換命令!
一般形式為:range+“s”/source/target/g
其意義如下:
range表示要搜索的范圍;
“s”這個字母表示搜索的意思,這個是不能缺少的;
source表示要搜索的字串;
target表示要被替換的字串;
g表示對于符合條件的字串全部進行替換(否則僅替換指定范圍內的每一行的第一個);
其中ranges的去值如下:
1) %表示全部的行;
2) 。表示當前行;
3) $表示最后一行;
4) 可以用具體的數字表示具體的行,如10,20等;
5) 上述的標志可以進行組合,如。,$s/source/target/g 表示從當前行到最后一行的搜索替換;又如10,20s/和10,$s/等等組合;
常用替換命令: %s/str1/str2/g #用str2替換掉當前文本中所有的str1
語法高亮: 編輯/etc/vim/vimrc,添加一行syntax on
搜索高亮: 編輯/etc/vim/vimrc,添加一行set hlsearch
48、在本地交叉編譯目標主機用的程序:arm-elf-gcc -elf2flt mycgi.c -o mycgi
49、轉換字符編碼的命令iconv:
iconv -f gb2312 -t utf8 abc.txt -o abc-utf8.txt
iconv -l #列出系統中已知的字符集
iconv -t utf-8 abc.txt #簡單用法
50、卸載時報告設備繁忙解決方法:
fuser -v /mnt/xx, 看看是那個進程在用
fuser -k /mnt/xx, 把所有使用xx的進程全部殺掉,然后再umount
評論
查看更多