前言
下面的指令大都需要在 控制台 / 終端 / shell 下輸入。
控制台, 終端, 和 shell 意味着同樣一件事 - 一個指令行界面, 他可以用來控制系統。
打開一個控制台:
應用程式 --> 附件 --> 終端
任何一個使用 'sudo' 作為字首的指令都需要擁有管理者 (或 root) 通路權限。 是以你會被提示輸入你自己的密碼。
安裝更新
檢視軟體xxx安裝内容
dpkg -L xxx
查找軟體庫中的軟體
apt-cache search 正規表達式
或
aptitude search 軟體包
顯示系統安裝包的統計資訊
apt-cache stats
顯示系統全部可用包的名稱
apt-cache pkgnames
顯示包的資訊
apt-cache show k3b
查找檔案屬于哪個包
apt-file search filename
檢視已經安裝了哪些包
dpkg -l
查詢軟體xxx依賴哪些包
apt-cache depends xxx
查詢軟體xxx被哪些包依賴
apt-cache rdepends xxx
增加一個CD光牒源
sudo apt-cdrom add
系統更新
sudo apt-get update (這一步更新包清單)
sudo apt-get dist-upgrade (這一步安裝所有可用更新)
或者
sudo apt-get upgrade (這一步安裝應用程式更新,不安裝新核心等)
清除所有已删除包的殘馀配置檔案
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果報如下錯誤,證明你的系統中沒有殘留配置檔案了,無須擔心。
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages ;
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) .
Options marked produce a lot of output - pipe it through `less' or `more' !
編譯時缺少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
徹底删除Gnome
apt-get --purge remove liborbit2
徹底删除KDE
apt-get --purge remove libqt3-mt libqtcore4
系統
檢視核心
uname -a
檢視Ubuntu版本
cat /etc/issue
或 cat /etc/lsb-release
或 lsb_release –d –s –c
檢視核心加載的子產品
lsmod
檢視PCI裝置
lspci
檢視USB裝置
lsusb
#加參數 -v 可以顯示USB裝置的描述表(descriptors)
lsusb -v
檢視網卡狀态
sudo ethtool eth0
檢視CPU資訊
cat /proc/cpuinfo
顯示目前硬體資訊
sudo lshw
顯示目前記憶體大小
free -m |grep "Mem" | awk '{print $2}'
檢視硬碟溫度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
顯示系統運作時間
$ uptime
11:47:04 up 85 days, 2:10, 1 user, load average: 2.40, 2.18, 2.34
硬碟
檢視硬碟的分區
sudo fdisk -l
硬碟分區
#危險!小心操作。
sudo fdisk /dev/sda
硬碟格式化
#危險!将第一個分區格式化為 ext3 分區, mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬碟檢查
#危險!檢查第一個分區,請不要檢查已經挂載的分區,否則容易丢失和損壞資料
sudo fsck /dev/sda1
分區挂載
sudo mount -t 檔案系統類型 裝置路經 通路路經
#常用檔案類型如下: iso9660 光驅檔案系統, vfat fat/fat32分區, ntfs ntfs分區, smbfs windows網絡共享目錄, reiserfs、ext3、xfs Linux分區
#如果中文名無法顯示嘗試在最後增加 -o nls=utf8 或 -o iocharset=utf8
#如果需要挂載後,普通使用者也可以使用,在 -o 的參數後面增加 ,umask=022 如:-o nls=utf8,umask=022
分區解除安裝
sudo umount 目錄名或裝置名
隻讀挂載ntfs分區
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可寫挂載ntfs分區
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
挂載fat32分區
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
挂載共享檔案
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
挂載ISO檔案
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
檢視IDE硬碟資訊
sudo hdparm -i /dev/hda
檢視軟raid陣列資訊
cat /proc/mdstat
參看硬raid陣列資訊
dmesg |grep -i raid
cat /proc/scsi/scsi
檢視SATA硬碟資訊
sudo hdparm -I /dev/sda
sudo apt-get install blktool
sudo blktool /dev/sda id
檢視硬碟剩餘空間
df
用法:df [選項]... [檔案]...顯示每個<檔案>所在的檔案系統的資訊,預設是顯示所有檔案系統。
長選項必須用的參數在使用短選項時也是必需的。
-a, --all 包括大小為 0 個塊的檔案系統
-B, --block-size=大小 塊以指定<大小>的位元組為機關
-h, --human-readable 以容易了解的格式印出檔案系統大小 (例如 1K 234M 2G)
-H, --si 類似 -h,但取 1000 的次方而不是 1024
-i, --inodes 顯示 inode 資訊而非塊使用量
-k 即 --block-size=1K
-l, --local 隻顯示本機的檔案系統
--no-sync 取得使用量資料前不進行同步動作 (預設)
-P, --portability 使用 POSIX 相容的輸出格式
--sync 取得使用量資料前先進行同步動作
-t, --type=類型 隻印出指定檔案系統為指定<類型>的資訊
-T, --print-type 印出檔案系統類型
-x, --exclude-type=類型 隻印出檔案系統不是指定<類型>資訊
-v (忽略)
--help 顯示此幫助資訊并離開
--version 顯示版本資訊并離開
檢視目錄占用空間
du -hs 目錄名
優盤沒法解除安裝
sync
fuser -km /media/usbdisk
使用檔案來增加交換空間
#建立一個512M的交換檔案 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab檔案中讓系統引導時自動啟動
/swapfile swap swap defaults 0 0
檢視硬碟目前讀寫情況
# 首先安裝 sysstat 包
sudo apt-get install sysstat
#每2秒重新整理一次
sudo iostat -x 2
程序
檢視目前的記憶體使用情況
free
usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]
-b,-k,-m,-g show output in bytes, KB, MB, or GB
-l show detailed low and high memory statistics
-o use old format (no -/+buffers/cache line)
-t display total for RAM + swap
-s update every [delay] seconds
-c update [count] times
-V display version information and exit
連續監視記憶體使用情況
watch -d free
# 使用 Ctrl + c 退出
動态顯示程序執行情況
top
top指令運作時輸入H或?打開幫助視窗,輸入Q退出指令。
檢視目前有哪些程序
ps -AFL
統計程式的記憶體耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按記憶體從大到小排列程序
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
按cpu使用率從大到小排列程序
ps -eo "%C : %p : %z : %a"|sort -nr
檢視目前程序樹
pstree
中止一個程序
kill 程序号(就是ps -A中的第一列的數字)
或者 killall 程序名
強制中止一個程序(在上面程序中止不成功的時候使用)
kill -9 程序号
或者 killall -9 程序名
圖形方式中止一個程式
xkill 出現骷髅标志的滑鼠,點選需要中止的程式即可
檢視程序打開的檔案
lsof -p 程序的pid
顯示開啟檔案abc.txt的程序
lsof abc.txt
顯示22端口現在運作什麼程式
lsof -i :22
顯示nsd程序現在打開的檔案
lsof -c nsd
在背景運作程式,登出後,并不結束程式
nohup 程式 &
#檢視中間運作情況 tail nohup
詳細顯示程式的運作資訊
strace -f -F -o outfile <cmd>
增加系統最大打開檔案個數
echo 4096 > /proc/sys/fs/file-max
#或者
ulimit -n 4096
清除僵死程序
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9