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