【Linux】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 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

查看安裝軟件時下載包的臨時存放目錄

    ls /var/cache/apt/archives

備份當前系統安裝的所有包的列表

    dpkg --get-selections | grep -v deinstall > ~/somefile

從上面備份的安裝包的列表文件恢復所有包

    dpkg --set-selections < ~/somefile
    sudo dselect

查看包在服務器上面的地址

    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

查看硬盤剩餘空間

  • df -h
    df -H

查看目錄佔用空間

  • du -hs 目錄名

優盤沒法卸載

  • sync
    fuser -km /media/usbdisk

內存

 

查看當前的內存使用情況

  • free -l

進程

 

查看當前有哪些進程

  • ps -A

中止一個進程

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

強制中止一個進程(在上面進程中止不成功的時候使用)

  • kill -9 進程號
    或者  killall -9 進程名

查看當前進程的實時狀況

  • 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 'http://username:[email protected]/dyndns/update?system=dyndns&hostname=yourdns.3322.org' 

網絡

 

根據IP查網卡地址

  • arping IP地址

查看當前IP地址

  • sudo ifconfig eth0 |awk '/inet addr/ {split($2,x,":");print x[2]}'

查看當前外網的IP地址

  • w3m -no-cookie -dump www.ip138.com|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

查看當前網卡的物理地址

  • sudo arp -a | awk '{print $4}'
    sudo 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

使用eclipse等其他自帶java編譯器的軟件,換回sun的編譯器方法

    sudo update-java-alternatives -s java-1.5.0-sun (jdk1.5)
    sudo update-java-alternatives -s java-6-sun (jdk6)

中文

 

轉換文件名由GBK爲UTF8

  • sudo apt-get install convmv
    convmv -r -f cp936 -t utf8 --notest --nosmart *

轉換文件內容由GBK爲UTF8

  • iconv -f gbk -t utf8 $i > newfile

批量轉換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

轉換 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

查找包含xxx字符串的文件

  • grep -l -r xxx .

查找關於xxx的命令

  • apropos xxx
    man -k xxx

通過ssh傳輸文件

  • scp -rp /path/filename username@remoteIP:/path  #將本地文件拷貝到服務器上
    scp -rp username@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}'

壓縮

 

解壓縮 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

Nautilus

 

顯示隱藏文件

  • Ctrl+h

顯示地址欄

  • Ctrl+l

特殊 URI 地址

  • * computer:/// - 全部掛載的設備和網絡
    * network:/// - 瀏覽可用的網絡
    * burn:/// - 一個刻錄 CDs/DVDs 的數據虛擬目錄
    * smb:/// - 可用的 windows/samba 網絡資源
    * x-nautilus-desktop:/// - 桌面項目和圖標
    * file:/// - 本地文件
    * trash:/// - 本地回收站目錄
    * ftp:// - FTP 文件夾
    * ssh:// - SSH 文件夾
    

查看已安裝字體

  • 在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 -k http://www.21cn.com
    · -r:在本機建立服務器端目錄結構;
    · -p: 下載顯示HTML文件的所有圖片;
    · -np:只下載目標站點指定目錄及其子目錄的內容;
    · -k: 轉換非相對鏈接爲相對鏈接。

如何刪除Totem電影播放機的播放歷史記錄

  • rm ~/.recently-used
  • 調節系統音量大小命令:alsamixer


如何更換gnome程序的快捷鍵

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

vim 如何顯示彩色字符

    sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim  /usr/share/vim/vimrc

解決vim中文編碼問題,在~/.vimrc中加入

    let &termencoding=&encoding
    set fileencodings=utf-8,gbk,ucs-bom,cp936

vim 如何顯示行號,在~/.vimrc中加入

    set number

如何在命令行刪除在會話設置的啓動程序

    cd ~/.config/autostart
rm 需要刪除啓動程序

如何提高wine的反應速度

    sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

直接將源加入source.list

    echo "deb http://www.getautomatix.com/apt edgy main" | sudo tee -a /etc/apt/sources.list


不用開啓GIMP可簡單修改圖片大小
  1. convert -resize 分辨率! 圖片源 輸出圖片

   比如,我要把1.jpg的大小改爲1024X768,輸出爲2.jpg,就用以下命令

  1. convert -resize 1024X768! 1.jpg 2.jpg
製作CD/DVD 光盤或目錄iso文件,並設置MD5校驗碼

sudo umount /dev/cdrom
dd if=/dev/cdrom ōf=file.iso bs=1024

爲目錄作.iso
mkisofs -r -o file.iso /location_of_folder/
加MD5校驗碼
md5sum file.iso > file.iso.md5

發佈了31 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章