無論你是編程小白還是職場(chǎng)老手,都建議你收藏這份常用 Linux 命令手冊(cè)。
無論是后端程序員還是前端程序員,一定避免不了和Linux系統(tǒng)打交道??赡苁亲约涸趯W(xué)習(xí)的時(shí)候搭建虛擬機(jī)環(huán)境,也可能是在公司測(cè)試環(huán)境進(jìn)行服務(wù)的維護(hù),甚至可能去線上服務(wù)器進(jìn)行生產(chǎn)問題的排查。
這就要求我們要熟練使用Linux命令行,相關(guān)的常用命令很可能不經(jīng)常使用就忘了,這里我收集了一些常用命令以便需要時(shí)查看,歡迎作補(bǔ)充。(這里的提到操作都默認(rèn)以CentOS系統(tǒng)為基礎(chǔ))
如果你還沒有安裝 Linux 虛擬機(jī),可以參考這篇文章:
切換目錄 cd
查看目錄 ls
-l
列出文件詳細(xì)信息 或者直接ll
-a
列出當(dāng)前目錄下所有文件及目錄,包括隱藏的a(all)創(chuàng)建目錄 mkdir
輸出信息 echo
打印文件到命令行(查看文件) cat
改變文件所屬用戶 chown
改變文件所屬組 chgrp
下載文件 wget
在文本文件中查找某個(gè)字符串 grep
統(tǒng)計(jì)文本中行數(shù)、字?jǐn)?shù)、字符數(shù) wc
部分顯示 more/less
查找文件 find / -name 'auto.cnf'
創(chuàng)建空文件 touch
復(fù)制文件 cp
移動(dòng)或重命名 mv
刪除文件 rm
-r 遞歸刪除,可刪除子目錄及文件
-f 強(qiáng)制刪除
刪除空目錄 rmdir
樹形結(jié)構(gòu)顯示目錄,需要安裝tree包 tree
顯示當(dāng)前目錄 pwd
創(chuàng)建鏈接文件 ln
分頁顯示文本文件內(nèi)容 more、less
顯示文件頭、尾內(nèi)容 head、tail
進(jìn)入編輯器 vi/vim
,vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
i
esc
w
q
q!
set number
/xxxx
按n跳到下一個(gè),shift+n上一個(gè)yyp
打包壓縮 tar\gzip\bzip2
-c
歸檔文件-x
壓縮文件-z
gzip壓縮文件-j
bzip2壓縮文件-v
顯示壓縮或解壓縮過程 v(view)-f
使用檔名例:
只打包,不壓縮:tar -cvf /home/abc.tar /home/abc
打包,并用gzip壓縮:tar -zcvf /home/abc.tar.gz /home/abc
打包,并用bzip2壓縮:tar -jcvf /home/abc.tar.bz2 /home/abc
如果想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf
中的“c” 換成“x” 就可以了。
將一個(gè)命令的標(biāo)準(zhǔn)輸出作為另一個(gè)命令的標(biāo)準(zhǔn)輸入。也就是把幾個(gè)命令組合起來使用,后一個(gè)命令除以前一個(gè)命令的結(jié)果。
例:grep -r "close" /home/* | more 在home目錄下所有文件中查找,包括close的文件,并分頁輸出。
R:讀,數(shù)值表示為 4
W:寫,數(shù)值表示為 2
X:可執(zhí)行,數(shù)值表示為1
[root@VM-16-2-centos ~]# ll
total 597952
-rw------- 1 root root 12387614 Aug 29 2021 apache-zookeeper-3.7.0-bin.tar.gz
-rw-r--r-- 1 root root 113304268 May 3 12:22 jdk-8u281-linux-x64.rpm
如上所示,jdk-8u281-linux-x64.rpm
文件的權(quán)限為-rw-r--r--
,一共十個(gè)字符,分成四段。
第一個(gè)字符“-”表示普通文件;這個(gè)位置還可能會(huì)出現(xiàn)l
鏈接;d
表示目錄
第二三四個(gè)字符rw-
表示當(dāng)前所屬用戶的權(quán)限,所以用數(shù)值表示為 4+2=6
第五六七個(gè)字符r--
表示當(dāng)前所屬組的權(quán)限,所以用數(shù)值表示為 4
第八九十個(gè)字符r--
表示其他用戶權(quán)限,所以用數(shù)值表示為 4
所以操作此文件的權(quán)限用數(shù)值表示為 644
更改權(quán)限:sudo chmod
[u所屬用戶 g所屬組 o其他用戶 a所有用戶] [+增加權(quán)限 -減少權(quán)限] [r w x] 目錄名
例如:有一個(gè)文件 filename,權(quán)限為-rw-r----x
,將權(quán)限值改為-rwxrw-r-x
,用數(shù)值表示為765
sudo chmod u+x g+w o+r filename
也可以用數(shù)值表示 sudo chmod 765 filename
運(yùn)行./filename
退出ctrl+c
運(yùn)行 nohup command >out.file 2>&1 &
退出 ps -ef |grep 關(guān)鍵字 |awk '{print $2}'|xarg kill -9
設(shè)置開機(jī)啟動(dòng) systemctl enable
啟動(dòng)systemctl start
關(guān)閉systemctl stop
顯示指定文件的詳細(xì)信息,比ls更詳細(xì) stat
顯示在線登陸用戶 who
顯示當(dāng)前操作用戶whoami
顯示主機(jī)名hostname
顯示系統(tǒng)信息uname
動(dòng)態(tài)顯示當(dāng)前耗費(fèi)資源最多進(jìn)程信息top
顯示瞬間進(jìn)程狀態(tài) ps \ ps -aux
查看目錄大小 du -h /home
(帶有單位顯示目錄信息)
查看磁盤大小 df -h
(帶有單位顯示磁盤信息)
查看網(wǎng)絡(luò)情況 ifconfig
測(cè)試網(wǎng)絡(luò)連通 ping
顯示網(wǎng)絡(luò)狀態(tài)信息 netstat
命令不會(huì)用了,看文檔 如:man grep
[root@VM-16-2-centos ~]# man grep
GREP(1) General Commands Manual GREP(1)
NAME
grep, egrep, fgrep - print lines matching a pattern
SYNOPSIS
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
……
清屏 clear
對(duì)命令重命名 alias
,如:alias showmeit="ps -aux"
,解除使用unaliax showmeit
殺死進(jìn)程 kill
,可以先用ps
或 top
命令查看進(jìn)程的id,然后再用kill命令殺死進(jìn)程。kill -9
強(qiáng)制刪除
查看防火墻狀態(tài) firewall-cmd --state
停止防火墻 systemctl stop firewalld.service
禁止firewall開機(jī)啟動(dòng) systemctl disable firewalld.service
關(guān)機(jī) shutdown -h now
-r 關(guān)機(jī)重啟
-h 關(guān)機(jī)不重啟
now 立刻關(guān)機(jī)
重啟 reboot
關(guān)機(jī) halt
查看網(wǎng)卡信息 ifconfig
網(wǎng)絡(luò)配置 /etc/sysconfig/network-script/ifcfg-eth0
配置網(wǎng)卡 /etc/udev/rules.d/70-persistent-net.rules
創(chuàng)建用戶 useradd
設(shè)置密碼 passwd
存儲(chǔ)組賬號(hào) /etc/group
系統(tǒng)用戶配置文件 /etc/passwd
存儲(chǔ)用戶賬號(hào)的密碼 /etc/shadow
存儲(chǔ)用戶組賬號(hào)的密碼/etc/gshadow
用戶名useradd
用戶名userdel
用戶名adduser
組名groupadd
組名groupdel
給root設(shè)置密碼passwd root
su root
su - root
系統(tǒng)環(huán)境變量/etc/profile
用戶環(huán)境變量bash_profile
用戶環(huán)境變量.bashrc
su user
切換用戶,加載配置文件.bashrc
su - user
切換用戶,加載配置文件/etc/profile ,加載bash_profile
更改文件的用戶及用戶組
sudo chown [-R] owner[:group] {File|Directory}
-rw-r--r-- 1 root root 113304268 May 3 12:22 jdk-8u281-linux-x64.rpm
例如:還以 jdk-8u281-linux-x64.rpm
為例。屬于用戶root,組root
要想切換此文件所屬的用戶及組。可以使用命令。
sudo chown daley:java jdk-8u281-linux-x64.rpm
安裝 rpm -i jdk-XXX_linux-x64_bin.rpm
查找 rpm -qa | grep jdk
列表 rpm -qa | more
ubuntu dpkg 方式
查找dpkg -I | grep jdk
列表dpkg -I | more
安裝dpkg -i jdk-XXX_linux-x64_bin.deb
搜索 yum search jdk
安裝 yum install java-11-openjdk.x86_64
刪除 yum erase java-11 -openjdk.x86 64
配置文件 /etc/yum.repos.d/CentOS-Base.repo
ubuntu apt-get 方式
搜索 apt?cache search jdk
安裝apt-get install openjdk-9-jdk
刪除apt-get purge openjdk-9-jdk
配置文件/etc/apt/sources. Iist
編輯 .bashrc
環(huán)境變量配置
打開環(huán)境變量文件 vi /etc/profile
配置環(huán)境變量 export JAVA_HOME=/root/j d k-XXX_lin ux-x64
export PATH=$JAVA HOME/bin:$PATH
刷新配置 source /etc/profile
最后,歡迎大家提問和交流。
聯(lián)系客服