歡迎您光臨本站 註冊首頁

ubuntu使用技巧

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

1、基於ubuntu的NFS[Network File System, 網路文件系統的配置,用於實現文件共享]服務安裝和配置:

安裝軟體包: apt-get install nfs-kernel-server (用snaptic則相應的依賴包都會自己安裝,如portmap)

配置文件: /etc/exports

配置內容: /srv/homes hostname1(rw,sync) hostname2(ro,sync)

如:/home/winxp 192.168.1.121(rw,sync) *(ro,async) [前一個目錄表示允許掛載的目錄,後面的是相關許可權設置,對192.168.1.121的用戶具有讀寫許可權,而其它用戶具有隻讀許可權,還有其它參數的意義如下]

ro 只讀訪問

rw 讀寫訪問

sync 所有數據在請求時寫入共享

async NFS在寫入數據前可以相應請求

secure NFS通過1024以下的安全TCP/IP埠發送

insecure NFS通過1024以上的埠發送

wdelay 如果多個用戶要寫入NFS目錄,則歸組寫入(默認)

no_wdelay 如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。

hide 在NFS共享目錄中不共享其子目錄

no_hide 共享NFS目錄的子目錄

subtree_check 如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的許可權(默認)

no_subtree_check 和上面相對,不檢查父目錄許可權

all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。

no_all_squash 保留共享文件的UID和GID(默認)

root_squash root用戶的所有請求映射成如anonymous用戶一樣的許可權(默認)

no_root_squas root用戶具有根目錄的完全管理訪問許可權

anonuid=xxx 指定NFS伺服器/etc/passwd文件中匿名用戶的UID

anongid=xxx 指定NFS伺服器/etc/passwd文件中匿名用戶的GID

啟動nfs服務: /etc/init.d/nfs-kernel-server [ start | stop | restart | reload ]

start 啟動 NFS 服務

stop 停止 NFS 服務

restart 停止並重新啟動 NFS 服務

reload 重新載入 NFS 設定值

聯機掛載: mount -t nfs 192.168.1.XX:/home/winxp /mnt/nfs

2、解決MPlayer播放rmvb等格式的文件時有聲音沒圖像的問題:下載安裝win32 codecs后即可解決!可自動安裝包w32codecs,也可手動安裝:

a、下載

http://www.people.virginia.edu/~ ... al-20060501.tar.bz2

b、安裝到/usr/lib/win32, 代碼:

tar -jxvf essential-20060501.tar.bz2

sudo mkdir /usr/lib/win32

sudo cp essential-20060501/* /usr/lib/win32/

這樣應該就可以用mplayer播放wmv9、rm、rmvb等文件了。

附:Mplayer剛安裝,播放rmvb時沒聲音,可以選擇右鍵->Preference->Video->xv

3、Web伺服器apache2的安裝配置:

用snaptic安裝apache2軟體包,大部分設置用默認即可,我就對CGI支持部分作了一下配置,在/etc/apache2/sites-available/default文件中,修改如下(注意要找准對應的部分):

ScriptAlias /cgi-bin/ /var/www/cgi-bin/



AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

SetHandler cgi-script



然後就可以支持CGI的測試了!

有一點需要注意:就是當需要對伺服器目錄進行諸如文件上傳、文件寫入和文件創建等操作時,需將目錄許可權設置為apache2配置文件(/etc/apache2/apache2.conf)中定義的用戶和組才行,否則是不允許操作的!

4、如果ubuntu 默認沒裝編譯環境,則可以執行命令: sudo apt-get install build-essential 進行安裝。

5、samba伺服器的簡單安裝與配置:

用snaptic安裝samba及其相關的軟體包(如samba, samba-common, smbfs等),然後根據需求修改配置文件/etc/samba/smb.conf即可!

這裡給出一個最簡單的示例,其功能就是將一個目錄設置為public:

[global]

workgroup = SmartArm2200

server string = Samba TestServer

security = share

socket options = TCP_NODELAY

dns proxy = no

[public]

path = /var/www

public = yes

only guest = yes

writable = yes

create mask = 0755

directory mask = 0755

然後在windows上,可以通過在瀏覽器中輸入「\\192.168.1.133」進行訪問;

Linux上的使用方法:

列出網路資源: smbclient -L //192.168.1.133

使用網路資源: smbclient //192.168.1.133/media

通過mount訪問: sudo mount -t smbfs //192.168.1.133/media /mnt/tmp/ (或者用 sudo smbmount //192.168.1.133/media /mnt/tmp/)

至於samba的其它複雜用法,可以參考網上的samba使用大全!

6、顯示pkg列表:$pkg-config --list-all

7、查看系統已安裝軟體的庫版本:pkg-config --modversion --cflags --libs 'libname'

8、在安裝軟體包時,編譯完成後,輸入echo $? 如果返回結果為0,則表示正常結束,否則就出錯了。

9、設置Java環境變數:$sudo update-alternatives --config java

10、系統修復:

$sudo apt-get install ubuntu-desktop

$sudo apt-get install xserver-xorg

12、用alien實現rpm到deb包的轉換:

a、安裝alien: apt-get install alien

b、把rpm包轉成deb包: alien -d 『name.rpm』

c、直接安裝rpm包: alien -i 'name.rpm'

13、Gnome中的幾個程序名稱: gnome-app-install(添加/刪除), language-selector(語言支持), synaptic(新利德), gnome-terminal(終端),在使用中文環境時,如果列表中找不到這些項,通過該命令在終端執行即可。

14、如果在編譯時出錯提示找不到makeinfo,可以通過安裝texinfo解決,它是編譯svn資源所不可或缺的。

15、編譯GTK程序命令格式: gcc -Wall -g base.c -o base `pkg-config --cflags --libs gtk+-2.0`

該命令是編譯一個名為base.c的C程序,並生成一個名為base的二進位文件;-Wall -g表示在編譯過程中顯示所有的警告信息(warning all -> Wall);注意後面的不是單引號,而是"Esc"下面那個鍵,這些參數表明需要調用gtk+-2.0庫。

16、自動更新/etc/X11/xorg.conf文件命令: sudo dpkg-reconfigure -phigh xserver-xorg

17、安裝xserver內核命令: sudo apt-get install xserver-xorg-core=1:1.0.2-0ubuntu10

18、可以用dpkg-deb -I 'debfile'命令來查看該deb包的依賴性

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 ;查看文件大小: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等價,該句對亂碼問題沒什麼影響,也可不要!

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 co svn://192.168.1.x/var/www/svn/trunk (將工程目錄trunk導出到當前目錄下, co=checkout)

提交文件: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文件導出到當前目錄下)

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(直接光碟啟動)

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

[火星人 ] ubuntu使用技巧已經有674次圍觀

http://coctec.com/docs/linux/show-post-179816.html