Linux安裝基本命令大全
Linux常用命令,你還能記得多少呢?下文是yjbys小編為大家準備的Linux常用命令,一起來看看吧!
安裝升級
檢視軟體xxx安裝內容
dpkg -L xxx
查詢軟體庫中的軟體
apt-cache search 正則表示式
或
aptitude search 軟體包
顯示系統安裝包的統計資訊
apt-cache stats
顯示系統全部可用包的名稱
apt-cache pkgnames
顯示包的資訊
apt-cache show k3b
查詢檔案屬於哪個包
dpkg -S filename
apt-file search filename
檢視已經安裝了哪些包
dpkg -l
也可用
dpkg -l | less
翻頁檢視
查詢軟體xxx依賴哪些包
apt-cache depends xxx
查詢軟體xxx被哪些包依賴
apt-cache rdepends xxx
增加一個光碟源
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 * 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
如果使用
sudo apt-get autoremove --purge
的話會把這些孤立軟體的殘留配置檔案也一併移除
檢視包在伺服器上面的地址
apt-get -qq --print-uris download 軟體包名稱 | cut -d' -f2
徹底刪除Gnome
sudo apt-get --purge remove liborbit2
徹底刪除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一鍵安裝 LAMP 服務
sudo tasksel install lamp-server
刪除舊核心
sudo aptitude purge ~ilinux-image-.*(!(`uname -r`|generic-.*))
匯入ppa源的key值
#W: GPG簽名驗證錯誤: http://p jaunty Release: 由於沒有公鑰,下列簽名無法進行驗證: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver 5126890CDCC7AFE0 #5126890CDCC7AFE0替換為你需要匯入的Key值
增加 add-apt-repository 命令
sudo apt-get install software-properties-common
增加一個ppa源
sudo add-apt-repository ppa:user/ppa-name
#使用 ppa 的地址替換 ppa:user/ppa-name
新增163映象源
sudo add-apt-repository "deb `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-security main restricted universe multiverse"
系統升級
1 這裡指的是版本間的升級,例如 9.04=>10.04。
2 使用該升級方式通常需要使用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系統
檢視核心
uname -a
檢視系統是32位還是64位
#檢視long的位數,返回32或64
getconf LONG_BIT
#檢視檔案資訊,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用
uname -m
檢視Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
檢視核心載入的模組
lsmod
檢視PCI裝置
lspci
檢視USB裝置
lsusb
#加引數 -v 可以顯示USB裝置的描述表(descriptors)
lsusb -v
檢視網絡卡狀態
sudo apt-get install ethtool
sudo ethtool eth0
啟用網絡卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
檢視CPU資訊
cat /proc/cpuinfo
顯示當前硬體資訊
sudo lshw
檢視記憶體型號
sudo dmidecode -t memory
獲取CPU序列號或者主機板序列號
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep Serial
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主機板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
顯示當前記憶體大小
free -m |grep "Mem" | awk '{print $2}'
檢視硬碟溫度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
顯示系統執行時間
uptime
檢視系統限制
ulimit -a
檢視核心限制
ipcs -l
檢視當前螢幕解析度
xrandr
硬碟
檢視塊裝置
lsblk
檢視硬碟的分割槽
sudo fdisk -l
硬碟分割槽
#危險!小心操作。
sudo fdisk /dev/sda
硬碟格式化
#危險!將第一個分割槽格式化為 ext3 分割槽, erfs
sudo 3 /dev/sda1
硬碟檢查
#危險!檢查第一個分割槽,請不要檢查已經掛載的分割槽,否則容易丟失和損壞資料
sudo fsck /dev/sda1
硬碟壞道檢測
sudo badblocks -s -v -c 32 /dev/sdb
#得到壞的塊後,使用分割槽工具隔離壞道。
分割槽掛載
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_8,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 // /mnt/share
掛載ISO檔案
sudo mount -t iso9660 -o loop,utf8 /mnt/iso
檢視IDE硬碟資訊
sudo hdparm -i /dev/sda
檢視軟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 --help 顯示幫助
檢視目錄佔用空間
du -hs 目錄名
閃盤沒法解除安裝
sync
fuser -km /media/閃盤卷標
使用檔案來增加交換空間
#建立一個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
測試硬碟的實際寫入速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
程序
檢視當前的記憶體使用情況
free
連續監視記憶體使用情況
watch -d free
# 使用 Ctrl + c 退出
動態顯示程序執行情況
top
top指令執行時輸入H或?開啟幫助視窗,輸入Q退出指令。
檢視當前有哪些程序
ps -AFL
檢視程序的啟動時間
ps -A -opid,stime,etime,args
檢視目前登入使用者執行的程式
w
檢視當前使用者程式實際記憶體佔用,並排序
ps -u $USER -o pid,rss,cmd --sort -rss
統計程式的記憶體耗用
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
列出前十個最耗記憶體的程序
ps aux | sort -nk +4 | tail
按cpu利用率從大到小排列程序
ps -eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
檢視當前程序樹
pstree
中止一個程序
kill 程序號(就是ps -A中的第一列的數字)
或者 killall 程序名
強制中止一個程序(在上面程序中止不成功的時候使用)
kill -9 程序號
或者 killall -9 程序名
圖形方式中止一個程式
xkill 出現骷髏標誌的滑鼠,點選需要中止的程式即可
檢視程序開啟的檔案
lsof -p 程序的pid
顯示開啟檔案的程序
lsof
顯示22埠現在執行什麼程式
lsof -i :22
顯示nsd程序現在開啟的檔案
lsof -c nsd
在後臺執行程式,退出登入後,並不結束程式
nohup 程式 &
#檢視中間執行情況 tail nohup
在後臺執行互動式程式,退出登入後,並不結束程式
sudo apt-get install screen
screen vim
#直接退出後使用
screen -ls # tu (Detached)
screen -r 1656 #恢復
#熱鍵,同時按下Ctrl和a鍵結束後,再按下功能鍵
C-a ? #顯示所有鍵繫結資訊
C-a w #顯示所有視窗列表
C-a C-a #切換到之前顯示的視窗
C-a c #建立一個新的執行shell的視窗並切換到該視窗
C-a n #切換到下一個視窗
C-a p #切換到前一個視窗(與C-a n相對)
C-a 0..9 #切換到視窗0..9
C-a a #傳送 C-a到當前視窗
C-a d #暫時斷開screen會話
C-a k #殺掉當前視窗
在後臺執行互動式程式,退出登入後,並不結束程式
tmux 進入後再執行其它命令
tmux attach #恢復
#熱鍵,同時按下Ctrl和b鍵結束後,再按下功能鍵
C-b c #建立一個新的執行shell的視窗並切換到該視窗
C-b n #切換到下一個視窗
C-b p #切換到前一個視窗(與C-a n相對)
C-b 0..9 #切換到視窗0..9
C-b d #暫時斷開會話
C-b & #殺掉當前視窗
詳細顯示程式的執行資訊
strace -f -F -o outfile
增加系統最大開啟檔案個數
#ulimit -SHn
sudo vim /etc/security/
檔案尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
將 pam_ 這一行註釋去掉
重起系統
清除殭屍程序
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
將大於120M記憶體的php-cgi都殺掉
ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3>=120000) print $1}' | xargs sudo kill -9
Linux系統中如何限制使用者程序CPU佔用率
renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'`
#或直接編輯/etc/security/檔案。