【語法格式】
成都創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊(duì)10余年來致力于為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、品牌網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
man 參數(shù)選擇 命令/文件
【命令操作】
【語法格式】
命令 --help
【命令操作】
如果想顯示中文的幫助解釋,需要調(diào)整中文字符集的結(jié)果,其實(shí)就是調(diào)整系統(tǒng)字符集為“zh_CN.UTF-8”(不建議使用中文)
在Linux系統(tǒng)里有一些特殊的命令,它們就是bash程序的內(nèi)置命令,例如cd、history、read等,這些命令在系統(tǒng)目錄里不存在真實(shí)的程序文件(存在于bash程序里),對(duì)于這部分命令,查看幫助的方法就是使用help命令。
【命令操作】
Linux系統(tǒng)中的info命令是一個(gè)查看程序?qū)?yīng)文檔信息的命令,可以作為man及help命令的幫助補(bǔ)充
【命令操作】
搜索引擎使用順序google - bing - baidu(不要問為什么?。?/p>
像火柴盒、utools等工具也有各類系統(tǒng)的命令幫助插件
不同版本的Linux命令數(shù)量不一樣,這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們?cè)谙到y(tǒng)中的作用分成幾個(gè)部分介紹給,通過這些基礎(chǔ)命令的學(xué)習(xí)可以進(jìn)一步理解Linux系統(tǒng):
安裝和登錄命令:login、shutdown、halt、reboot、mount、umount、chsh。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last。
網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup。
學(xué)習(xí)linux注意事項(xiàng)
1、Linux嚴(yán)格區(qū)分大小寫。
2、Linux所有的存儲(chǔ)設(shè)備都必須掛載之后用戶才能使用,包括硬盤、U盤和光盤。
3、Windows下的程序不能直接在Linux中安裝和運(yùn)行。
Linux安裝基本命令大全
Linux常用命令,你還能記得多少呢?下文是我為大家準(zhǔn)備的Linux常用命令,一起來看看吧!
安裝升級(jí)
查看軟件xxx安裝內(nèi)容
dpkg -L xxx
查找軟件庫中的軟件
apt-cache search 正則表達(dá)式
或
aptitude search 軟件包
顯示系統(tǒng)安裝包的統(tǒng)計(jì)信息
apt-cache stats
顯示系統(tǒng)全部可用包的名稱
apt-cache pkgnames
顯示包的信息
apt-cache show k3b
查找文件屬于哪個(gè)包
dpkg -S filename
apt-file search filename
查看已經(jīng)安裝了哪些包
dpkg -l
也可用
dpkg -l | less
翻頁查看
查詢軟件xxx依賴哪些包
apt-cache depends xxx
查詢軟件xxx被哪些包依賴
apt-cache rdepends xxx
增加一個(gè)光盤源
sudo apt-cdrom add
系統(tǒng)更新
sudo apt-get update (這一步更新包列表)
sudo apt-get dist-upgrade (這一步安裝所有可用更新)
或者
sudo apt-get upgrade (這一步安裝應(yīng)用程序更新,不安裝新內(nèi)核等)
清除所有已刪除包的殘馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果報(bào)如下錯(cuò)誤,證明你的系統(tǒng)中沒有殘留配置文件了,無須擔(dān)心。
----------------------------------------------------------
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' !
----------------------------------------------------------
編譯時(shí)缺少h文件的自動(dòng)處理
sudo auto-apt run ./configure
查看安裝軟件時(shí)下載包的臨時(shí)存放目錄
ls /var/cache/apt/archives
備份當(dāng)前系統(tǒng)安裝的所有包的列表
dpkg --get-selections | grep -v deinstall ~/somefile
從上面?zhèn)浞莸陌惭b包的列表文件恢復(fù)所有包
dpkg --set-selections ~/somefile
sudo dselect
清理舊版本的軟件緩存
sudo apt-get autoclean
清理所有軟件緩存
sudo apt-get clean
刪除系統(tǒng)不再使用的孤立軟件
sudo apt-get autoremove
如果使用
sudo apt-get autoremove --purge
的話會(huì)把這些孤立軟件的殘留配置文件也一并移除
查看包在服務(wù)器上面的地址
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 服務(wù)
sudo tasksel install lamp-server
刪除舊內(nèi)核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
導(dǎo)入ppa源的'key值
#W: GPG簽名驗(yàn)證錯(cuò)誤: jaunty Release: 由于沒有公鑰,下列簽名無法進(jìn)行驗(yàn)證: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替換為你需要導(dǎo)入的Key值
增加 add-apt-repository 命令
sudo apt-get install software-properties-common
增加一個(gè)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"
系統(tǒng)升級(jí)
1 這里指的是版本間的升級(jí),例如 9.04=10.04。
2 使用該升級(jí)方式通常需要使用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系統(tǒng)
查看內(nèi)核
uname -a
查看系統(tǒng)是32位還是64位
#查看long的位數(shù),返回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用
uname -m
查看Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
查看內(nèi)核加載的模塊
lsmod
查看PCI設(shè)備
lspci
查看USB設(shè)備
lsusb
#加參數(shù) -v 可以顯示USB設(shè)備的描述表(descriptors)
lsusb -v
查看網(wǎng)卡狀態(tài)
sudo apt-get install ethtool
sudo ethtool eth0
激活網(wǎng)卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
顯示當(dāng)前硬件信息
sudo lshw
查看內(nèi)存型號(hào)
sudo dmidecode -t memory
獲取CPU序列號(hào)或者主板序列號(hào)
#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
顯示當(dāng)前內(nèi)存大小
free -m |grep "Mem" | awk '{print $2}'
查看硬盤溫度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
顯示系統(tǒng)運(yùn)行時(shí)間
uptime
查看系統(tǒng)限制
ulimit -a
查看內(nèi)核限制
ipcs -l
查看當(dāng)前屏幕分辨率
xrandr
硬盤
查看塊設(shè)備
lsblk
查看硬盤的分區(qū)
sudo fdisk -l
硬盤分區(qū)
#危險(xiǎn)!小心操作。
sudo fdisk /dev/sda
硬盤格式化
#危險(xiǎn)!將第一個(gè)分區(qū)格式化為 ext3 分區(qū), mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬盤檢查
#危險(xiǎn)!檢查第一個(gè)分區(qū),請(qǐng)不要檢查已經(jīng)掛載的分區(qū),否則容易丟失和損壞數(shù)據(jù)
sudo fsck /dev/sda1
硬盤壞道檢測(cè)
sudo badblocks -s -v -c 32 /dev/sdb
#得到壞的塊后,使用分區(qū)工具隔離壞道。
分區(qū)掛載
sudo mount -t 文件系統(tǒng)類型 設(shè)備路經(jīng) 訪問路經(jīng)
#常用文件類型如下: iso9660 光驅(qū)文件系統(tǒng), vfat fat/fat32分區(qū), ntfs ntfs分區(qū), smbfs windows網(wǎng)絡(luò)共享目錄, reiserfs、ext3、xfs Linux分區(qū)
#如果中文名無法顯示嘗試在最後增加 -o nls=utf8 或 -o iocharset=utf8
#如果需要掛載後,普通用戶也可以使用,在 -o 的參數(shù)後面增加 ,umask=022 如:-o nls=utf8,umask=022
分區(qū)卸載
sudo umount 目錄名或設(shè)備名
只讀掛載ntfs分區(qū)
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可寫掛載ntfs分區(qū)
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
掛載fat32分區(qū)
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/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/閃盤卷標(biāo)
使用文件來增加交換空間
#創(chuàng)建一個(gè)512M的交換文件 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中讓系統(tǒng)引導(dǎo)時(shí)自動(dòng)啟動(dòng)
/swapfile swap swap defaults 0 0
查看硬盤當(dāng)前讀寫情況
# 首先安裝 sysstat 包
sudo apt-get install sysstat
#每2秒刷新一次
sudo iostat -x 2
測(cè)試硬盤的實(shí)際寫入速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
進(jìn)程
查看當(dāng)前的內(nèi)存使用情況
free
連續(xù)監(jiān)視內(nèi)存使用情況
watch -d free
# 使用 Ctrl + c 退出
動(dòng)態(tài)顯示進(jìn)程執(zhí)行情況
top
top指令運(yùn)行時(shí)輸入H或?打開幫助窗口,輸入Q退出指令。
查看當(dāng)前有哪些進(jìn)程
ps -AFL
查看進(jìn)程的啟動(dòng)時(shí)間
ps -A -opid,stime,etime,args
查看目前登入用戶運(yùn)行的程序
w
查看當(dāng)前用戶程序?qū)嶋H內(nèi)存占用,并排序
ps -u $USER -o pid,rss,cmd --sort -rss
統(tǒng)計(jì)程序的內(nèi)存耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按內(nèi)存從大到小排列進(jìn)程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
列出前十個(gè)最耗內(nèi)存的進(jìn)程
ps aux | sort -nk +4 | tail
按cpu利用率從大到小排列進(jìn)程
ps -eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
查看當(dāng)前進(jìn)程樹
pstree
中止一個(gè)進(jìn)程
kill 進(jìn)程號(hào)(就是ps -A中的第一列的數(shù)字)
或者 killall 進(jìn)程名
強(qiáng)制中止一個(gè)進(jìn)程(在上面進(jìn)程中止不成功的時(shí)候使用)
kill -9 進(jìn)程號(hào)
或者 killall -9 進(jìn)程名
圖形方式中止一個(gè)程序
xkill 出現(xiàn)骷髏標(biāo)志的鼠標(biāo),點(diǎn)擊需要中止的程序即可
查看進(jìn)程打開的文件
lsof -p 進(jìn)程的pid
顯示開啟文件abc.txt的進(jìn)程
lsof abc.txt
顯示22端口現(xiàn)在運(yùn)行什么程序
lsof -i :22
顯示nsd進(jìn)程現(xiàn)在打開的文件
lsof -c nsd
在後臺(tái)運(yùn)行程序,退出登錄後,并不結(jié)束程序
nohup 程序
#查看中間運(yùn)行情況 tail nohup
在后臺(tái)運(yùn)行交互式程序,退出登錄后,并不結(jié)束程序
sudo apt-get install screen
screen vim a.txt
#直接退出后使用
screen -ls # 2208pxs-0.ubuntu (Detached)
screen -r 1656 #恢復(fù)
#熱鍵,同時(shí)按下Ctrl和a鍵結(jié)束后,再按下功能鍵
C-a ? #顯示所有鍵綁定信息
C-a w #顯示所有窗口列表
C-a C-a #切換到之前顯示的窗口
C-a c #創(chuàng)建一個(gè)新的運(yùn)行shell的窗口并切換到該窗口
C-a n #切換到下一個(gè)窗口
C-a p #切換到前一個(gè)窗口(與C-a n相對(duì))
C-a 0..9 #切換到窗口0..9
C-a a #發(fā)送 C-a到當(dāng)前窗口
C-a d #暫時(shí)斷開screen會(huì)話
C-a k #殺掉當(dāng)前窗口
在后臺(tái)運(yùn)行交互式程序,退出登錄后,并不結(jié)束程序
tmux 進(jìn)入后再運(yùn)行其它命令
tmux attach #恢復(fù)
#熱鍵,同時(shí)按下Ctrl和b鍵結(jié)束后,再按下功能鍵
C-b c #創(chuàng)建一個(gè)新的運(yùn)行shell的窗口并切換到該窗口
C-b n #切換到下一個(gè)窗口
C-b p #切換到前一個(gè)窗口(與C-a n相對(duì))
C-b 0..9 #切換到窗口0..9
C-b d #暫時(shí)斷開會(huì)話
C-b #殺掉當(dāng)前窗口
詳細(xì)顯示程序的運(yùn)行信息
strace -f -F -o outfile
增加系統(tǒng)最大打開文件個(gè)數(shù)
#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
將 pam_limits.so 這一行注釋去掉
重起系統(tǒng)
清除僵尸進(jìn)程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
將大于120M內(nèi)存的php-cgi都?xì)⒌?/p>
ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3=120000) print $1}' | xargs sudo kill -9
Linux系統(tǒng)中如何限制用戶進(jìn)程CPU占用率
renice +10 `ps aux | awk '{ if ($3 0.8 id -u $1 500) print $2}'`
#或直接編輯/etc/security/limits.conf文件。 ;