這篇文章主要介紹了開發(fā)過程中常用的Linux系統(tǒng)命令有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)公司一個(gè)展示的機(jī)會(huì)來證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。
常用命令 | 作用 |
---|---|
shutdown -h now | 即刻關(guān)機(jī) |
shutdown -h 10 | 10分鐘后關(guān)機(jī) |
shutdown -h 11:00 | 11:00關(guān)機(jī) |
shutdown -h +10 | 預(yù)定時(shí)間關(guān)機(jī)(10分鐘后) |
shutdown -c | 取消指定時(shí)間關(guān)機(jī) |
shutdown -r now | 重啟 |
shutdown -r 10 | 10分鐘之后重啟 |
shutdown -r 11:00 | 定時(shí)重啟 |
reboot | 重啟 |
init 6 | 重啟 |
init 0 | 立刻關(guān)機(jī) |
telinit 0 | 關(guān)機(jī) |
poweroff | 立刻關(guān)機(jī) |
halt | 關(guān)機(jī) |
sync | buff數(shù)據(jù)同步到磁盤 |
logout | 退出登錄Shell |
注意點(diǎn):比如同樣是關(guān)機(jī),shutdown、poweroff、halt、init 0有什么區(qū)別呢?這個(gè)有興趣可以自己了解一下,它們是有區(qū)別的。
這里命令其實(shí)平時(shí)用得是非常之多的,因?yàn)橐坏┫到y(tǒng)或者后臺(tái)服務(wù)除了問題,我們經(jīng)常要登上去查看,包括很多的系統(tǒng)信息,比如:系統(tǒng)版本、內(nèi)核版本、處理器架構(gòu)、計(jì)算機(jī)名、環(huán)境變量、用戶情況、負(fù)載情況、內(nèi)存用量、磁盤信息、進(jìn)程、網(wǎng)絡(luò)連接…
常用命令 | 作用 |
---|---|
uname -a | 查看內(nèi)核/OS/CPU信息 |
uname -r | 查看內(nèi)核版本 |
uname -m | 查看處理器架構(gòu) |
arch | 查看處理器架構(gòu) |
hostname | 查看計(jì)算機(jī)名 |
who | 顯示當(dāng)前登錄系統(tǒng)的用戶 |
who am i | 顯示登錄時(shí)的用戶名 |
whoami | 顯示當(dāng)前用戶名 |
cat /proc/version | 查看linux版本信息 |
cat /proc/cpuinfo | 查看CPU信息 |
cat /proc/interrupts | 查看中斷 |
cat /proc/loadavg | 查看系統(tǒng)負(fù)載 |
uptime | 查看系統(tǒng)運(yùn)行時(shí)間、用戶數(shù)、負(fù)載 |
env | 查看系統(tǒng)的環(huán)境變量 |
lsusb -tv | 查看系統(tǒng)USB設(shè)備信息 |
lspci -tv | 查看系統(tǒng)PCI設(shè)備信息 |
lsmod | 查看已加載的系統(tǒng)模塊 |
grep MemTotal /proc/meminfo | 查看內(nèi)存總量 |
grep MemFree /proc/meminfo | 查看空閑內(nèi)存量 |
free -m | 查看內(nèi)存用量和交換區(qū)用量 |
date | 顯示系統(tǒng)日期時(shí)間 |
cal 2021 | 顯示2021日歷表 |
top | 動(dòng)態(tài)顯示cpu/內(nèi)存/進(jìn)程等情況 |
vmstat 1 20 | 每1秒采一次系統(tǒng)狀態(tài),采20次 |
iostat | 查看io讀寫/cpu使用情況 |
sar -u 1 10 | 查詢cpu使用情況(1秒一次,共10次) |
sar -d 1 10 | 查詢磁盤性能 |
這是和日常使用息息相關(guān)的一些常用命令,在Windows系統(tǒng)里面我們點(diǎn)點(diǎn)鼠標(biāo),圖形化界面上就能查看,但是在Linux中我們應(yīng)該熟練掌握用命令的方式來查看,比如:各種分區(qū)信息查看、磁盤使用情況、文件和目錄大小、各種掛載和卸載…
常用命令 | 作用 |
---|---|
fdisk -l | 查看所有磁盤分區(qū) |
swapon -s | 查看所有交換分區(qū) |
df -h | 查看磁盤使用情況及掛載點(diǎn) |
df -hl | 查看磁盤剩余空間 |
du -sh /dir | 查看指定目錄大小 |
du -sk * | sort -rn | 從高到低依次顯示文件和目錄大小 |
mount /dev/hda2 /mnt/hda2 | 掛載hda2盤 |
mount -t ntfs /dev/sdc1 /mnt/usbhd1 | 指定文件系統(tǒng)類型掛載(如ntfs) |
mount -o loop xxx.iso /mnt/cdrom | 掛載iso文件 |
mount /dev/sda1 /mnt/usbdisk | 掛載usb盤/閃存設(shè)備 |
umount -v /dev/sda1 | 通過設(shè)備名卸載 |
umount -v /mnt/mymnt | 通過掛載點(diǎn)卸載 |
fuser -km /mnt/hda1 | 強(qiáng)制卸載(慎用) |
Linux系統(tǒng)里用戶組和用戶本身也是一個(gè)非常重要的概念,這部分命令主要就是關(guān)于:用戶的CRUD、用戶組的CURD、然后還包括查用戶、切換用戶、改密碼、查用戶登錄日志…
常用命令 | 作用 |
---|---|
useradd codesheep | 創(chuàng)建用戶 |
userdel -r codesheep | 刪除用戶 |
usermod -g group_name user_name | 修改用戶的組 |
usermod -aG group_name user_name | 將用戶添加到組 |
usermod -s /bin/ksh -d /home/codepig –g dev codesheep | 修改用戶codesheep的登錄Shell、主目錄以及用戶組 |
groups test | 查看test用戶所在的組 |
groupadd group_name | 創(chuàng)建用戶組 |
groupdel group_name | 刪除用戶組 |
groupmod -n new_name old_name | 重命名用戶組 |
su - user_name | 完整切換到一個(gè)用戶環(huán)境 |
passwd | 修改口令 |
passwd codesheep | 修改某用戶的口令 |
w | 查看活動(dòng)用戶 |
id codesheep | 查看指定用戶信息 |
last | 查看用戶登錄日志 |
crontab -l | 查看當(dāng)前用戶的計(jì)劃任務(wù) |
cut -d: -f1 /etc/passwd | 查看系統(tǒng)所有用戶 |
cut -d: -f1 /etc/group | 查看系統(tǒng)所有組 |
我們作為一個(gè)后端開發(fā),這些命令平時(shí)用到的概率很大,比如:查看網(wǎng)絡(luò)、查看連接、查看端口服務(wù)、配置網(wǎng)卡/防火墻/路由表/DNS,查看和過濾進(jìn)程,采集系統(tǒng)狀態(tài),還有一些系統(tǒng)性能的監(jiān)控和排查命令…等等。這些命令,在后端開發(fā)連到公司服務(wù)器上去排查問題時(shí)就很有用了,用得也很頻繁。
常用命令 | 作用 |
---|---|
ifconfig | 查看網(wǎng)絡(luò)接口屬性 |
ifconfig eth0 | 查看某網(wǎng)卡的配置 |
route -n | 查看路由表 |
netstat -lntp | 查看所有監(jiān)聽端口 |
netstat -antp | 查看所有已經(jīng)建立的連接 |
netstat -lutp | 查看TCP/UDP的狀態(tài)信息 |
ifup eth0 | 啟用eth0網(wǎng)絡(luò)設(shè)備 |
ifdown eth0 | 禁用eth0網(wǎng)絡(luò)設(shè)備 |
iptables -L | 查看iptables規(guī)則 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 配置ip地址 |
dhclient eth0 | 以dhcp模式啟用eth0 |
route add -net 0/0 gw Gateway_IP | 配置默認(rèn)網(wǎng)關(guān) |
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 | 配置靜態(tài)路由到達(dá)網(wǎng)絡(luò)’192.168.0.0/16’ |
route del 0/0 gw Gateway_IP | 刪除靜態(tài)路由 |
hostname | 查看主機(jī)名 |
host www.codesheep.cn | 解析主機(jī)名 |
nslookup www.codesheep.cn | 查詢DNS記錄,查看域名解析是否正常 |
ps -ef | 查看所有進(jìn)程 |
ps -ef | grep codesheep | 過濾出你需要的進(jìn)程 |
kill -s name | kill指定名稱的進(jìn)程 |
kill -s pid | kill指定pid的進(jìn)程 |
top | 實(shí)時(shí)顯示進(jìn)程狀態(tài) |
vmstat 1 20 | 每1秒采一次系統(tǒng)狀態(tài),采20次 |
iostat | 查看io讀寫/cpu使用情況 |
sar -u 1 10 | 查詢cpu使用情況(1秒一次,共10次) |
sar -d 1 10 | 查詢磁盤性能 |
這類命令平時(shí)接觸得也很多,比如我們自己在安裝和部署各種各樣的基礎(chǔ)編程環(huán)境和服務(wù)時(shí)就常用,比如裝JDK、MySQL數(shù)據(jù)庫、redis緩存、nginx服務(wù)器…
常用命令 | 作用 |
---|---|
chkconfig --list | 列出系統(tǒng)服務(wù) |
service <服務(wù)名> status | 查看某個(gè)服務(wù) |
service <服務(wù)名> start | 啟動(dòng)某個(gè)服務(wù) |
service <服務(wù)名> stop | 終止某個(gè)服務(wù) |
service <服務(wù)名> restart | 重啟某個(gè)服務(wù) |
systemctl status <服務(wù)名> | 查看某個(gè)服務(wù) |
systemctl start <服務(wù)名> | 啟動(dòng)某個(gè)服務(wù) |
systemctl stop <服務(wù)名> | 終止某個(gè)服務(wù) |
systemctl restart <服務(wù)名> | 重啟某個(gè)服務(wù) |
systemctl enable <服務(wù)名> | 開啟自啟動(dòng) |
systemctl disable <服務(wù)名> | 關(guān)閉自啟動(dòng) |
這類命令全部是Linux系統(tǒng)使用的基本操作,也是平時(shí)用到頻率最高的一些命令,關(guān)于文件操作的、關(guān)于目錄操作的、關(guān)于路徑的。比如:對(duì)文件和目錄的各種高頻操作,創(chuàng)建、查看、查找、刪除、重命名、復(fù)制、軟連接、快速定位和查找… 等等。都是些高頻的實(shí)用命令。
常用命令 | 作用 |
---|---|
cd <目錄名> | 進(jìn)入某個(gè)目錄 |
cd … | 回上級(jí)目錄 |
cd …/… | 回上兩級(jí)目錄 |
cd | 進(jìn)個(gè)人主目錄 |
cd - | 回上一步所在目錄 |
pwd | 顯示當(dāng)前路徑 |
ls | 查看文件目錄列表 |
ls -F | 查看目錄中內(nèi)容(顯示是文件還是目錄) |
ls -l | 查看文件和目錄的詳情列表 |
ls -a | 查看隱藏文件 |
ls -lh | 顯示權(quán)限 |
ls -lSr | more |
tree | 查看文件和目錄的樹形結(jié)構(gòu) |
mkdir <目錄名> | 創(chuàng)建目錄 |
mkdir dir1 dir2 | 同時(shí)創(chuàng)建兩個(gè)目錄 |
mkdir -p /tmp/dir1/dir2 | 創(chuàng)建目錄樹 |
rm -f file1 | 刪除’file1’文件 |
rmdir dir1 | 刪除’dir1’目錄 |
rm -rf dir1 | 刪除’dir1’目錄和其內(nèi)容 |
rm -rf dir1 dir2 | 同時(shí)刪除兩個(gè)目錄及其內(nèi)容 |
mv old_dir new_dir | 重命名/移動(dòng)目錄 |
cp file1 file2 | 復(fù)制文件 |
cp dir/* . | 復(fù)制某目錄下的所有文件至當(dāng)前目錄 |
cp -a dir1 dir2 | 復(fù)制目錄 |
cp -a /tmp/dir1 . | 復(fù)制一個(gè)目錄至當(dāng)前目錄 |
ln -s file1 link1 | 創(chuàng)建指向文件/目錄的軟鏈接 |
ln file1 lnk1 | 創(chuàng)建指向文件/目錄的物理鏈接 |
find / -name file1 | 從跟目錄開始搜索文件/目錄 |
find / -user user1 | 搜索用戶user1的文件/目錄 |
find /dir -name *.bin | 在目錄/dir中搜帶有.bin后綴的文件 |
locate 關(guān)鍵詞 | 快速定位文件 |
locate *.mp4 | 尋找.mp4結(jié)尾的文件 |
whereis halt | 顯示某二進(jìn)制文件/可執(zhí)行文件的路徑 |
which halt | 查找系統(tǒng)目錄下的二進(jìn)制文件 |
chmod ugo+rwx dir1 | 設(shè)置目錄所有者(u)、群組(g)及其他人(o)的讀(r)寫(w)執(zhí)行(x)權(quán)限 |
chmod go-rwx dir1 | 移除群組(g)與其他人(o)對(duì)目錄的讀寫執(zhí)行權(quán)限 |
chown user1 file1 | 改變文件的所有者屬性 |
chown -R user1 dir1 | 改變目錄的所有者屬性 |
chgrp group1 file1 | 改變文件群組 |
chown user1:group1 file1 | 改變文件的所有人和群組 |
這部分命令主要針對(duì)性地關(guān)于文件處理或者說文本處理,比如我們作為一個(gè)程序員,那操作最多的就是代碼源文件,各種花式查看、比較、增加、刪除、替換、合并… 等等一系列快速操作。
常用命令 | 作用 |
---|---|
cat file1 | 查看文件內(nèi)容 |
cat -n file1 | 查看內(nèi)容并標(biāo)示行數(shù) |
cat xxx.txt | awk ‘NR%2==1’ |
tac file1 | 從最后一行開始反看文件內(nèi)容 |
more file1 | 查看一個(gè)長文件的內(nèi)容 |
less file1 | 類似more命令,但允許反向操作 |
head -2 file1 | 查看文件前兩行 |
tail -2 file1 | 查看文件后兩行 |
tail -f /log/msg | 實(shí)時(shí)查看添加到文件中的內(nèi)容 |
grep codesheep hello.txt | 在文件hello.txt中查找關(guān)鍵詞codesheep |
grep ^sheep hello.txt | 在文件hello.txt中查找以sheep開頭的內(nèi)容 |
grep [0-9] hello.txt | 選擇hello.txt文件中所有包含數(shù)字的行 |
sed ‘s/s1/s2/g’ hello.txt | 將hello.txt文件中的s1替換成s2 |
sed ‘/^$/d’ hello.txt | 從hello.txt文件中刪除所有空白行 |
sed ‘/ *#/d; /^$/d’ hello.txt | 從hello.txt文件中刪除所有注釋和空白行 |
sed -e ‘1d’ hello.txt | 從文件hello.txt 中排除第一行 |
sed -n ‘/s1/p’ hello.txt | 查看只包含關(guān)鍵詞"s1"的行 |
sed -e ‘s/ *$//’ hello.txt | 刪除每一行最后的空白字符 |
sed -e ‘s/s1//g’ hello.txt | 從文檔中只刪除詞匯s1并保留剩余全部 |
sed -n ‘1,5p;5q’ hello.txt | 查看從第一行到第5行內(nèi)容 |
sed -n ‘5p;5q’ hello.txt | 查看第5行 |
paste file1 file2 | 合并兩個(gè)文件或兩欄的內(nèi)容 |
paste -d ‘+’ file1 file2 | 合并兩個(gè)文件或兩欄的內(nèi)容,中間用"+"區(qū)分 |
sort file1 file2 | 排序兩個(gè)文件的內(nèi)容 |
sort file1 file2 | uniq |
sort file1 file2 | uniq -u |
sort file1 file2 | uniq -d |
comm -1 file1 file2 | 比較兩個(gè)文件的內(nèi)容(去除’file1’所含內(nèi)容) |
comm -2 file1 file2 | 比較兩個(gè)文件的內(nèi)容(去除’file2’所含內(nèi)容) |
comm -3 file1 file2 | 比較兩個(gè)文件的內(nèi)容(去除兩文件共有部分) |
這部分內(nèi)容主要關(guān)于文件或者目錄的打包壓縮和解壓,涉及好幾種壓縮包格式和文件,這部分命令在平時(shí)用得也是非常非常頻繁的。
常用命令 | 作用 |
---|---|
zip xxx.zip file | 壓縮至zip包 |
zip -r xxx.zip file1 file2 dir1 | 將多個(gè)文件+目錄壓成zip包 |
unzip xxx.zip | 解壓zip包 |
tar -cvf xxx.tar file | 創(chuàng)建非壓縮tar包 |
tar -cvf xxx.tar file1 file2 dir1 | 將多個(gè)文件+目錄打tar包 |
tar -tf xxx.tar | 查看tar包的內(nèi)容 |
tar -xvf xxx.tar | 解壓tar包 |
tar -xvf xxx.tar -C /dir | 將tar包解壓至指定目錄 |
tar -cvfj xxx.tar.bz2 dir | 創(chuàng)建bz2壓縮包 |
tar -jxvf xxx.tar.bz2 | 解壓bz2壓縮包 |
tar -cvfz xxx.tar.gz dir | 創(chuàng)建gzip壓縮包 |
tar -zxvf xxx.tar.gz | 解壓gzip壓縮包 |
bunzip2 xxx.bz2 | 解壓bz2壓縮包 |
bzip2 filename | 壓縮文件 |
gunzip xxx.gz | 解壓gzip壓縮包 |
gzip filename | 壓縮文件 |
gzip -9 filename | 最大程度壓縮 |
然后接下來就是一些常見的包管理器命令。首先什么是包管理器,大家應(yīng)該都清楚。
這么說吧,如果沒有包管理器這個(gè)東西的存在,那估計(jì)僅僅是Linux系統(tǒng)上的軟件安裝,怕是就要?jiǎng)裢撕芏嘤脩袅耍驗(yàn)楹芏嗟能浖蕾囂幚頃?huì)讓人抓狂。因此簡單來說,我們可以將包管理器理解為,用來為Linux系統(tǒng)上的軟件安裝、卸載、升級(jí)、查詢提供支持的組件,所以對(duì)于用戶使用來說,一般就是一組工具命令集。
我們平常使用最廣的比如,紅帽子的包結(jié)構(gòu)RPM包管理器,像RedHat、CentOS等系統(tǒng)都在用,典型的命令就是rpm命令、yum命令;然后就是DPKG包管理器,像Debain、Ubuntu等系統(tǒng)都用,典型的命令比如dpkg命令、apt軟件工具。
常用命令 | 作用 |
---|---|
rpm -qa | 查看已安裝的rpm包 |
rpm -q pkg_name | 查詢某個(gè)rpm包 |
rpm -q --whatprovides xxx | 顯示xxx功能是由哪個(gè)包提供的 |
rpm -q --whatrequires xxx | 顯示xxx功能被哪個(gè)程序包依賴的 |
rpm -q --changelog xxx | 顯示xxx包的更改記錄 |
rpm -qi pkg_name | 查看一個(gè)包的詳細(xì)信息 |
rpm -qd pkg_name | 查詢一個(gè)包所提供的文檔 |
rpm -qc pkg_name | 查看已安裝rpm包提供的配置文件 |
rpm -ql pkg_name | 查看一個(gè)包安裝了哪些文件 |
rpm -qf filename | 查看某個(gè)文件屬于哪個(gè)包 |
rpm -qR pkg_name | 查詢包的依賴關(guān)系 |
rpm -ivh xxx.rpm | 安裝rpm包 |
rpm -ivh --test xxx.rpm | 測試安裝rpm包 |
rpm -ivh --nodeps xxx.rpm | 安裝rpm包時(shí)忽略依賴關(guān)系 |
rpm -e xxx | 卸載程序包 |
rpm -Fvh pkg_name | 升級(jí)確定已安裝的rpm包 |
rpm -Uvh pkg_name | 升級(jí)rpm包(若未安裝則會(huì)安裝) |
rpm -V pkg_name | RPM包詳細(xì)信息校驗(yàn) |
常用命令 | 作用 |
---|---|
yum repolist enabled | 顯示可用的源倉庫 |
yum search pkg_name | 搜索軟件包 |
yum install pkg_name | 下載并安裝軟件包 |
yum install --downloadonly pkg_name | 只下載不安裝 |
yum list | 顯示所有程序包 |
yum list installed | 查看當(dāng)前系統(tǒng)已安裝包 |
yum list updates | 查看可以更新的包列表 |
yum check-update | 查看可升級(jí)的軟件包 |
yum update | 更新所有軟件包 |
yum update pkg_name | 升級(jí)指定軟件包 |
yum deplist pkg_name | 列出軟件包依賴關(guān)系 |
yum remove pkg_name | 刪除軟件包 |
yum clean all | 清除緩存 |
yum clean packages | 清除緩存的軟件包 |
yum clean headers | 清除緩存的header |
常用命令 | 作用 |
---|---|
dpkg -c xxx.deb | 列出deb包的內(nèi)容 |
dpkg -i xxx.deb | 安裝/更新deb包 |
dpkg -r pkg_name | 移除deb包 |
dpkg -P pkg_name | 移除deb包(不保留配置) |
dpkg -l | 查看系統(tǒng)中已安裝deb包 |
dpkg -l pkg_name | 顯示包的大致信息 |
dpkg -L pkg_name | 查看deb包安裝的文件 |
dpkg -s pkg_name | 查看包的詳細(xì)信息 |
dpkg –unpack xxx.deb | 解開deb包的內(nèi)容 |
常用命令 | 作用 |
---|---|
apt-cache search pkg_name | 搜索程序包 |
apt-cache show pkg_name | 獲取包的概覽信息 |
apt-get install pkg_name | 安裝/升級(jí)軟件包 |
apt-get purge pkg_name | 卸載軟件(包括配置) |
apt-get remove pkg_name | 卸載軟件(不包括配置) |
apt-get update | 更新包索引信息 |
apt-get upgrade | 更新已安裝軟件包 |
apt-get clean | 清理緩存 |
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“開發(fā)過程中常用的Linux系統(tǒng)命令有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!