Ubuntu常用命令大全

查看軟件xxx安裝內容
#dpkg -L xxx

查找軟件
#apt-cache search 正則表達式
查找文件屬於哪個包
#dpkg -S filename apt-file search filename

查詢軟件xxx依賴哪些包
#apt-cache depends xxx

查詢軟件xxx被哪些包依賴
#apt-cache rdepends xxx

增加一個光盤源
#sudo apt-cdrom add

系統升級
#sudo apt-get update
#sudo apt-get upgrade
#sudo apt-get dist-upgrade

清除所以刪除包的殘餘配置文件
#dpkg -l |grep ^rc|awk 『{print $2}』 |tr [」"n」] [」 「]|sudo xargs dpkg -P –

編譯時缺少h文件的自動處理
#sudo auto-apt run ./configure

查看安裝軟件時下載包的臨時存放目錄
#ls /var/cache/apt/archives

備份當前系統安裝的所有包的列表
#dpkg –get-selections | grep -v deinstall > ~/somefile

從上面備份的安裝包的列表文件恢復所有包
#dpkg –set-selections < ~/somefile sudo dselect

清理舊版本的軟件緩存
#sudo apt-get autoclean

清理所有軟件緩存
#sudo apt-get clean

刪除系統不再使用的孤立軟件
#sudo apt-get autoremove

查看包在服務器上面的地址
#apt-get -qq –print-uris install ssh | cut -d"』 -f2

系統

查看內核
#uname -a

查看Ubuntu版本
#cat /etc/issue

查看內核加載的模塊
#lsmod

查看PCI設備
#lspci

查看USB設備
#lsusb

查看網卡狀態
#sudo ethtool eth0

查看CPU信息
#cat /proc/cpuinfo

顯示當前硬件信息
#lshw

硬盤

查看硬盤的分區
#sudo fdisk -l

查看IDE硬盤信息
#sudo hdparm -i /dev/hda

查看STAT硬盤信息
#sudo hdparm -I /dev/sda

#sudo apt-get install blktool
#sudo blktool /dev/sda id

查看硬盤剩餘空間
#df -h
#df -H

查看目錄佔用空間
#du -hs 目錄名

優盤沒法卸載
#sync fuser -km /media/usbdisk

內存

查看當前的內存使用情況
#free -m

進程

查看當前有哪些進程
#ps -A

中止一個進程
#kill 進程號(就是ps -A中的第一列的數字) 或者 killall 進程名

強制中止一個進程(在上面進程中止不成功的時候使用)
#kill -9 進程號 或者 killall -9 進程名

圖形方式中止一個程序
#xkill 出現骷髏標誌的鼠標,點擊需要中止的程序即可

查看當前進程的實時狀況
#top

查看進程打開的文件
#lsof -p

ADSL 配置 ADSL
#sudo pppoeconf

ADSL手工撥號
#sudo pon dsl-provider

激活 ADSL
#sudo /etc/ppp/pppoe_on_boot

斷開 ADSL
#sudo poff

查看撥號日誌
#sudo plog

如何設置動態域名
#首先去http://www.3322.org申請一個動態域名
#然後修改 /etc/ppp/ip-up 增加撥號時更新域名指令 sudo vim /etc/ppp/ip-up
#在最後增加如下行 w3m -no-cookie -dump

網絡

根據IP查網卡地址
#arping IP地址

查看當前IP地址
#ifconfig eth0 |awk 『/inet/ {split($2,x,」:」);print x[2]}』

查看當前外網的IP地址
#w3m -no-cookie -dumpwww.edu.cn|grep-o『[0-9]"{1,3″}".[0-9]"{1,3″}".[0-9]"{1,3″}".[0-9]"{1,3″}』
#w3m -no-cookie
-dumpwww.xju.edu.cn|grep-o'[0-9]"{1,3″}".[0-9]"{1,3″}".[0-9]"{1,3″}".[0-9]"{1,3″}』
#w3m -no-cookie -dump ip.loveroot.com|grep -o'[0-9]"{1,3″}".[0-9]"{1,3″}".[0-9]"{1,3″}".[0-9]"{1,3″}』

查看當前監聽80端口的程序
#lsof -i :80

查看當前網卡的物理地址
#arp -a | awk 『{print $4}』 ifconfig eth0 | head -1 | awk 『{print $5}』

立即讓網絡支持nat
#sudo echo 1 > /proc/sys/net/ipv4/ip_forward
#sudo iptables -t nat -I POSTROUTING -j MASQUERADE

查看路由信息
#netstat -rn sudo route -n

手工增加刪除一條路由
#sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
#sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

修改網卡MAC地址的方法
#sudo ifconfig eth0 down 關閉網卡
#sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
然後改地址
#sudo ifconfig eth0 up 然後啟動網卡

統計當前IP連接的個數
#netstat -na|grep ESTABLISHED|awk 『{print $5}』|awk -F: 『{print $1}』|sort|uniq -c|sort -r -n
#netstat -na|grep SYN|awk 『{print $5}』|awk -F: 『{print $1}』|sort|uniq -c|sort -r -n

統計當前20000個IP包中大於100個IP包的IP地址
#tcpdump -tnn -c 20000 -i eth0 | awk -F 「.」 『{print $1〞.」$2〞.」$3〞.」$4}』 | sort | uniq -c | sort -nr | awk 『 $1 > 100 『

屏蔽IPV6
#echo 「blacklist ipv6〞 | sudo tee /etc/modprobe.d/blacklist-ipv6

服務

添加一個服務
#sudo update-rc.d 服務名 defaults 99

刪除一個服務
#sudo update-rc.d 服務名 remove

臨時重啟一個服務
#/etc/init.d/服務名 restart

臨時關閉一個服務
#/etc/init.d/服務名 stop

臨時啟動一個服務
#/etc/init.d/服務名 start

設置

配置默認Java使用哪個
#sudo update-alternatives –config java

修改用戶資料
#sudo chfn userid

給apt設置代理
#export http_proxy=http://xx.xx.xx.xx:xxx

修改系統登錄信息
#sudo vim /etc/motd

中文

轉換文件名由GBK為UTF8
#sudo apt-get install convmv convmv -r -f cp936 -t utf8 –notest –nosmart *

批量轉換src目錄下的所有文件內容由GBK到UTF8
#find src -type d -exec mkdir -p utf8/{} “; find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} “; mv utf8/* src rm -fr utf8

轉換文件內容由GBK到UTF8
#iconv -f gbk -t utf8 $i > newfile

轉換 mp3 標籤編碼
#sudo apt-get install python-mutagen find . -iname 「*.mp3」 -execdir mid3iconv -e GBK {} “;

控制台下顯示中文
#sudo apt-get install zhcon 使用時,輸入zhcon即可

文件

快速查找某個文件
#whereis filename
#find 目錄 -name 文件名

查看文件類型
#file filename

顯示xxx文件倒數6行的內容
#tail -n 6 xxx

讓tail不停地讀地最新的內容
#tail -n 10 -f /var/log/apache2/access.log

查看文件中間的第五行(含)到第10行(含)的內容
#sed -n 『5,10p’ /var/log/apache2/access.log

查找包含xxx字符串的文件
#grep -l -r xxx .

全盤搜索文件(桌面可視化)
gnome-search-tool

查找關於xxx的命令
#apropos xxx man -k xxx

通過ssh傳輸文件
#scp -rp /path/filenameusername@remoteIP:/path
#將本地文件拷貝到服務器上
#scp -rpusername@remoteIP:/path/filename/path
#將遠程文件從服務器下載到本地

查看某個文件被哪些應用程序讀寫
#lsof 文件名

把所有文件的後輟由rm改為rmvb
#rename 』s/.rm$/.rmvb/』 *

把所有文件名中的大寫改為小寫
#rename 『tr/A-Z/a-z/』 *

刪除特殊文件名的文件,如文件名:–help.txt
#rm — –help.txt 或者 rm ./–help.txt

查看當前目錄的子目錄
#ls -d */. 或 echo */.

將當前目錄下最近30天訪問過的文件移動到上級back目錄
#find . -type f -atime -30 -exec mv {} ../back “;

將當前目錄下最近2小時到8小時之內的文件顯示出來
#find . -mmin +120 -mmin -480 -exec more {} “;

刪除修改時間在30天之前的所有文件
#find . -type f -mtime +30 -mtime -3600 -exec rm {} “;

查找guest用戶的以avi或者rm結尾的文件並刪除掉
#find . -name 『*.avi’ -o -name 『*.rm’ -user 『guest’ -exec rm {} “;

查找的不以java和xml結尾,並7天沒有使用的文件刪除掉
#find . ! -name *.java ! -name 『*.xml’ -atime +7 -exec rm {} “;

統計當前文件個數
#ls /usr/bin|wc -w

統計當前目錄個數
#ls -l /usr/bin|grep ^d|wc -l

顯示當前目錄下2006-01-01的文件名
#ls -l |grep 2006-01-01 |awk 『{print $8}』

FTP

上傳下載文件工具-filezilla
#sudo apt-get install filezilla

filezilla無法列出中文目錄?
站點->字符集->自定義->輸入:GBK

本地中文界面
1)下載filezilla中文包到本地目錄,如~/
2)#unrar x Filezilla3_zhCN.rar
3) 如果你沒有unrar的話,請先安裝rar和unrar
#sudo apt-get install rar unrar
#sudo ln -f /usr/bin/rar /usr/bin/unrar
4)備份原來的語言包,再安裝;實際就是拷貝一個語言包。
#sudo cp /usr/share/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo.bak
#sudo cp ~/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo
5)重啟filezilla,即可!

解壓縮

解壓縮 xxx.tar.gz
#tar -zxvf xxx.tar.gz

解壓縮 xxx.tar.bz2
#tar -jxvf xxx.tar.bz2

壓縮aaa bbb目錄為xxx.tar.gz
#tar -zcvf xxx.tar.gz aaa bbb

壓縮aaa bbb目錄為xxx.tar.bz2
#tar -jcvf xxx.tar.bz2 aaa bbb

解壓縮 RAR 文件
1) 先安裝
#sudo apt-get install rar unrar
#sudo ln -f /usr/bin/rar /usr/bin/unrar
2)
解壓
#unrar x aaaa.rar

解壓縮 ZIP 文件
1) 先安裝
#sudo apt-get install zip unzip
#sudo ln -f /usr/bin/zip /usr/bin/unzip
2)
解壓
#unzip x aaaa.zip

Nautilus

顯示隱藏文件
Ctrl+h

顯示地址欄
Ctrl+l

特殊 URI 地址
* computer:/// – 全部掛載的設備和網絡
* network:/// – 瀏覽可用的網絡
* burn:/// – 一個刻錄 CDs/DVDs 的數據虛擬目錄
* smb:/// – 可用的 windows/samba 網絡資源
* x-nautilus-desktop:/// – 桌面項目和圖標
*file:///– 本地文件
* trash:/// – 本地回收站目錄
* ftp:// – FTP 文件夾
* ssh:// – SSH 文件夾
* fonts:/// – 字體文件夾,可將字體文件拖到此處以完成安裝
* themes:/// – 系統主題文件夾

查看已安裝字體
在nautilus的地址欄裡輸入」fonts:///「,就可以查看本機所有的fonts

程序

詳細顯示程序的運行信息
#strace -f -F -o outfile

日期和時間

設置日期
#date -s mm/dd/yy

設置時間
#date -s HH:MM

將時間寫入CMOS
#hwclock –systohc

讀取CMOS時間
#hwclock –hctosys

從服務器上同步時間
#sudo ntpdate time.nist.gov
#sudo ntpdate time.windows.com

控制台

不同控制台間切換
Ctrl + ALT + ← Ctrl + ALT + →

指定控制台切換
Ctrl + ALT + Fn(n:1~7)

控制台下滾屏
SHIFT + pageUp/pageDown

控制台抓圖
#setterm -dump n(n:1~7)

數據庫

mysql的數據庫存放在地方
#/var/lib/mysql

從mysql中導出和導入數據
#mysqldump 數據庫名 > 文件名
#導出數據庫
#mysqladmin create 數據庫名 #建立數據庫
#mysql 數據庫名 < 文件名 #導入數據庫

忘了mysql的root口令怎麼辦
#sudo /etc/init.d/mysql stop
#sudo mysqld_safe –skip-grant-tables
#sudo mysqladmin -u user password 『newpassword」
#sudo mysqladmin flush-privileges

修改mysql的root口令
#sudo mysqladmin -uroot -p password 『你的新密碼』

其它

下載網站文檔
#wget -r -p -np -khttp://www.21cn.com
· r:在本機建立服務器端目錄結構;
· -p: 下載顯示HTML文件的所有圖片;
· -np:只下載目標站點指定目錄及其子目錄的內容;
· -k: 轉換非相對鏈接為相對鏈接。

如何刪除Totem電影播放機的播放歷史記錄
#rm ~/.recently-used

如何更換gnome程序的快捷鍵
點擊菜單,鼠標停留在某條菜單上,鍵盤輸入任意你所需要的鍵,可以是組合鍵,會立即生效; 如果要清除該快捷鍵,請使用backspace

vim 如何顯示彩色字符
#sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc

如何在命令行刪除在會話設置的啟動程序
#cd ~/.config/autostart rm 需要刪除啟動程序

如何提高wine的反應速度
#sudo sed -ie 『/GBK/,/^}/d’ /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

#chgrp
[語法]: chgrp [-R] 文件組 文件…
[說明]: 文件的GID表示文件的文件組,文件組可用數字表示, 也可用一個有效的組名表示,此命令改變一個文件的GID,可參看chown。
-R 遞歸地改變所有子目錄下所有文件的存取模式
[例子]:
#chgrp group file 將文件 file 的文件組改為 group

#chmod
[語法]: chmod [-R] 模式 文件…
或 chmod [ugoa] {+|-|=} [rwxst] 文件…
[說明]: 改變文件的存取模式,存取模式可表示為數字或符號串,例如:
#chmod nnnn file , n為0-7的數字,意義如下:
4000 運行時可改變UID
2000 運行時可改變GID
1000 置粘著位
0400 文件主可讀
0200 文件主可寫
0100 文件主可執行
0040 同組用戶可讀
0020 同組用戶可寫
0010 同組用戶可執行
0004 其他用戶可讀
0002 其他用戶可寫
0001 其他用戶可執行
nnnn 就是上列數字相加得到的,例如 chmod 0777 file 是指將文件 file 存取權限置為所有用戶可讀可寫可執行。
-R 遞歸地改變所有子目錄下所有文件的存取模式
u 文件主
g 同組用戶
o 其他用戶
a 所有用戶
+ 增加後列權限
– 取消後列權限
= 置成後列權限
r 可讀
w 可寫
x 可執行
s 運行時可置UID
t 運行時可置GID
[例子]:
#chmod 0666 file1 file2 將文件 file1 及 file2 置為所有用戶可讀可寫
#chmod u+x file 對文件 file 增加文件主可執行權限
#chmod o-rwx 對文件file 取消其他用戶的所有權限

#chown
[語法]: chown [-R] 文件主 文件…
[說明]: 文件的UID表示文件的文件主,文件主可用數字表示, 也可用一個有效的用戶名表示,此命令改變一個文件的UID,僅當此文件的文件主或超級用戶可使用。
-R 遞歸地改變所有子目錄下所有文件的存取模式
[例子]:
#chown mary file 將文件 file 的文件主改為 mary
#chown 150 file 將文件 file 的UID改為150

Ubuntu命令行下修改網絡配置

以eth0為例
1. 以DHCP方式配置網卡
編輯文件/etc/network/interfaces:
#sudo vi /etc/network/interfaces
並用下面的行來替換有關eth0的行:
# The primary network interface – use DHCP to find our address
auto eth0
iface eth0 inet dhcp
用下面的命令使網絡設置生效:
#sudo /etc/init.d/networking restart
當然,也可以在命令行下直接輸入下面的命令來獲取地址
#sudo dhclient eth0

2. 為網卡配置靜態IP地址
編輯文件/etc/network/interfaces:
#sudo vi /etc/network/interfaces
並用下面的行來替換有關eth0的行:
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
將上面的ip地址等信息換成你自己就可以了.

用下面的命令使網絡設置生效:
#sudo /etc/init.d/networking restart

3. 設定第二個IP地址(虛擬IP地址)
編輯文件/etc/network/interfaces:
#sudo vi /etc/network/interfaces
在該文件中添加如下的行:
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
根據你的情況填上所有諸如address,netmask,network,broadcast和gateways等信息.
用下面的命令使網絡設置生效:
#sudo /etc/init.d/networking restart

4. 設置主機名稱(hostname)
使用下面的命令來查看當前主機的主機名稱:
#sudo /bin/hostname
使用下面的命令來設置當前主機的主機名稱:
#sudo /bin/hostname newname
系統啟動時,它會從/etc/hostname來讀取主機的名稱.

5. 配置DNS
首先,你可以在/etc/hosts中加入一些主機名稱和這些主機名稱對應的IP地址,這是簡單使用本機的靜態查詢.
要訪問DNS 服務器來進行查詢,需要設置/etc/resolv.conf文件.
假設DNS服務器的IP地址是192.168.3.2, 那麼/etc/resolv.conf文件的內容應為:
search test.com
nameserver 192.168.3.2

安裝AMP服務

如果採用Ubuntu Server CD開始安裝時,可以選擇安裝,這系統會自動裝上apache2,php5和mysql5。下面主要說明一下如果不是安裝的Ubuntu server時的安裝方法。
用命令在Ubuntu下架設Lamp其實很簡單,用一條命令就完成。在終端輸入以下命令:
#sudo apt-get install apache2 mysql-server php5 php5-mysql php5-gd #phpmyadmin
裝好後,mysql管理員是root,無密碼,通過http://localhost/phpmyadmin就可以訪問mysql了

修改 MySql 密碼
終端下輸入:
#mysql -u root
#mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 「123456〞;
』123456『是root的密碼,可以自由設置,但最好是設個安全點的。
#mysql> quit; 退出mysql

apache2的操作命令
啟動:#sudo /etc/init.d/apache2 start
重啟:#sudo /etc/init.d/apache2 restart
關閉:#sudo /etc/init.d/apache2 stop
apache2的默認主目錄:/var/www/

文章轉自: http://www.blogjava.net/bukebushuo/archive/2009/08/27/283427.html