來不及解釋!Linux常用命令大全,先收藏再說
摘要:Linux常用命令,很適合你的。
一提到作業系統,我們首先想到的就是windows和Linux。Windows以直觀的視覺化的方式操作,特別適合在桌面端PC上操作執行相應的軟體。相比較Windows來說,Linux的很多管控都需要用命令來操作。
Linux命令列方式的操作,特別是在伺服器端程式設計、管理、運維方面,都非常的簡單、短小、精悍。短短一行組合命令,即可完成在Windows需要各種加工、整合的複雜高效的功能操作。 不信,下面全都是。
啟動網路命令
ip addr 檢視網絡卡資訊
service network start 啟動網絡卡 service network stop 關閉網絡卡 service network restart 重啟網路
pwd命令
pwd命令,檢視當前目錄的路徑
linux下所有的絕對路徑都是從根目錄"/"開始
/root:是linux下root使用者的根目錄
/home:是linux下其他使用者的預設根目錄 (例如:在linux上建立了一個bow使用者,那麼就會在/home下面生成一個bow目錄作為bow使用者的根目錄)
/etc:是linux下系統配置檔案目錄
/tmp:臨時檔案目錄,所有使用者都可以用
ls命令
ls [引數] 目錄路徑
ls 表示檢視目錄下的檔案
ls #表示檢視當前目錄下的檔案 ls -l #表示檢視當前目錄下的詳細資訊 ls -a #表示檢視當前目錄下的所有檔案(包含隱藏檔案) ls -la #表示檢視當前目錄下的所有檔案(包含隱藏檔案)的詳細資訊 ls -lh #h是以適當的單位來顯示檔案的大小 ls -lh表示檢視當前目錄下的檔案的詳細資訊,並以合適單位顯示檔案大小 ls -l / #表示檢視根目錄"/"下檔案的詳細資訊 ls /etc #表示檢視目錄/etc下的檔案 ls --help #檢視命令的幫助文件 --help引數:所有linux上的命令都有,但寫法上有如下幾種: (1)--help (2)--h (3)-help (4)-h ll命令:它和ls -l命令功能相同,但是不是所有的linux上都預設安裝
cd命令
cd 目錄路徑 #進入一個目錄,目錄路徑可以是絕對路徑(以/開始的路徑都是絕對路徑),也可以是相對路徑
相對路徑:以非/開始的路徑,
注意: "."表示當前目錄
"…"表示當前目錄的上一級目錄,它可以多個一起使用
"~"表示當前使用者的根目錄 例如:root使用者時,~表示/root目錄 bow使用者時,~表示/home/bow目錄
cd / #表示進入系統根目錄 cd usr/ #表示進入當前目錄下的usr目錄 cd local/ #表示進入當前目錄下的local目錄 cd ./bin #表示進入當前目錄下的bin目錄 cd .. #表示進入當前目錄的上一級目錄 cd ../.. #表示進入當前目錄的上級目錄的上一級目錄 cd /usr/local/bin #進入/usr/local/bin目錄 cd ../etc #表示進入和當前目錄同級的etc目錄 #..表示當前目錄的上一級目錄 ../etc表示當前目錄上級目錄下的etc目錄(和當前目錄同級) cd ~ #表示進入當前使用者的根目錄(cd ~ 和直接執行cd後不加目錄的效果相同) #例如:root使用者進入/root目錄,bow使用者進入/home/bow目錄 cd ~/data #表示進入當前使用者根目錄下的data目錄 例如:root使用者則進入了/root/data目錄
mkdir命令
mkdir 目錄路徑 #建立一個目錄,目錄路徑可以是絕對路徑也可以是相對路徑
mkdir data #在當前目錄下建立一個data目錄
mkdir ./dir #在當前目錄下建立一個dir目錄
mkdir /root/tmp #在/root目錄下建立一個tmp目錄
mkdir建立目錄時,只有在目錄的上級目錄存在時,才會建立
mkdir -p 目錄#建立目錄時,如果沒有父目錄,會建立父目錄,遞迴地建立目錄
mkdir -p a/b/c #在當前目錄下建立3級目錄
rmdir命令
rmdir [引數] 目錄路徑 #刪除目錄命令,rmdir預設只能刪除空目錄
rmdir ./dir #刪除當前目錄下的dir目錄
rmdir -p 目錄路徑 #表示刪除目錄和它的父目錄(目錄要是一個空目錄)
rmdir -p a/b/c #刪除當前目錄下的a/b/c目錄
touch命令
touch 命令 #建立檔案命令
touch 檔案路徑
touch 1.txt #在當前目錄下建立一個1.txt檔案
touch /root/2.txt #在/root目錄下建立一個2.txt檔案
rm命令
rm [引數] 路徑 #刪除命令
rm 1.txt #刪除當前目錄下的1.txt檔案,刪除時會提示,是否刪除如果輸入y表示刪除,輸入n表示不刪除
rm -f /root/2.txt #-f表示強制刪除,不會提示,強制刪除/root目錄下的2.txt
rm -r a/ #遞迴的刪除當前目錄下a目錄下的所有內容
[root@bow ~]# rm -r a/
rm:是否進入目錄"a/"? y
rm:是否進入目錄"a/b"? y
rm:是否進入目錄"a/b/c"? y
rm:是否刪除普通空檔案 "a/b/c/3.txt"?y
rm:是否刪除目錄 "a/b/c"?y
rm:是否刪除普通空檔案 "a/b/2.txt"?y
rm:是否刪除目錄 "a/b"?y
rm:是否刪除普通空檔案 "a/1.txt"?y
rm:是否刪除目錄 "a/"?y
rm -rf a/ #強制刪除當前目錄下a目錄及a目錄下的所有內容
rm -rf * #刪除當前目錄下的所有內容
rm -rf a/* #刪除當前目錄下a目錄下的所有內容
rm -rf *.txt #刪除當前目錄下的所有txt檔案
rm -rf *s* #刪除當前目錄下所有名字中包含s的檔案或資料夾
echo命令
echo #輸出命令,可以輸入變數,字串的值
echo Hello World #列印Hello World
echo $PATH #列印環境變數PATH的值,其中$是取變數值的符號,用法:$變數名 或者 ${變數名}
echo -n #列印內容但不換行
echo -n Hello World
>和>>命令
和>>:輸出符號,將內容輸出到檔案中,>表示覆蓋(會刪除原檔案內容) >>表示追加
echo Hello World > 1.txt #將Hello World輸出到當前目錄下的1.txt檔案
#如果當前目錄下沒有1.txt檔案會建立一個新檔案,
#如果當前目錄下有1.txt,則會刪除原檔案內容,寫入Hello World
echo 1234 >> 1.txt #將1234追加到當前目錄下的1.txt中,如果檔案不存在會建立新檔案
通過>和>>都可以建立檔案
檔案檢視命令
cat 檔案路徑 #檢視檔案的所有內容
cat 1.txt #檢視當前目錄下1.txt的內容
cat /root/1.txt #檢視/root目錄下的1.txt檔案內容
more 檔案路徑 #分頁檢視檔案內容
more linux常用命令.txt #分頁檢視當前目錄下linux常用命令.txt檔案的內容
#按空格或回車,會繼續載入檔案內容,按q退出檢視
#當載入到檔案末尾時,會自動退出檢視
less 檔案路徑 #分頁檢視檔案內容
less linux常用命令.txt #分頁檢視檔案內容,按空格繼續載入檔案,按q退出檢視,不會自動退出檢視
head [引數] 檔案路徑 #從檔案開始檢視檔案
head linux常用命令.txt #檢視檔案的前10行內容
head -n 檔案路徑 # n是一個正整數,表示檢視檔案的前n行資料
head -20 linux常用命令.txt #檢視檔案的前20行內容
tail [引數] 檔案路徑 #從檔案的末尾檢視檔案內容
tail linux常用命令.txt #檢視檔案的後10行內容
tail -n 檔案路徑 # n是一個正整數,表示檢視檔案的後n行資料
tail -15 linux常用命令.txt #檢視檔案後15行內容
tail -f 檔案路徑 #動態的檢視檔案的最後幾行內容(檢視檔案時,等待檔案更新,如果檔案更新了,會顯示出新的內容)
tail -f 1.txt #檢視檔案1.txt的最新內容,tail -f 一般用來檢視日誌檔案 按CTRL+C或才CTRL+Z退出檢視
CTRL+C:表示暫停程序
CTRL+Z: 表示停止程序
檔案編輯命令
vi/vim命令:這兩個命令在使用上幾乎完全一樣(個人喜歡vim命令)
安裝vim命令:(安裝是需要網路的)
yum -y install vim
yum命令是centos和red hat系統上使用官方資源包去安裝軟體的命令
yum -y install 軟體名
yum -y remove 軟體名
檢視虛擬機器能不能上外網:
ping www.baidu.com
CTRL+C或者CTRL+Z退出
vim命令總體分為兩類
vim 檔案路徑 --進入非編輯模式
非編輯模式命令:
yy:複製游標當前行
p:貼上
dd:刪除游標當前行
$:游標跳到當前行的行尾
^:游標跳到當前行的行首
:s/原字串/新字串/:替換游標當前行內容
:%s/原字串/新字串/g:全文替換 #g表示global i表示ignore忽略大小寫
/要查詢的內容:從游標當前行向後查詢內容
/d #在檔案中查詢d字母
?要查詢的內容:從游標當前位置向前查詢內容
?d #查詢檔案中的d字母
CTRL+F:向下翻1頁
CTRL+B:向上翻1頁
:set nu:顯示檔案的行號
:set nonu: 去掉行號顯示
u:撤消
**:set ff :顯示檔案的格式 #unix表示在unix上的檔案 dos表示檔案是windows上的檔案**
:w :表示儲存檔案
:q :表示退出vim命令
:wq:儲存並退出
:w!:強制儲存
:q!:強制退出但不儲存
:wq!:強制儲存並退出
i:表示進入編輯模式,並且游標在當前行
o:表示進入編輯模式,並且光標出現的當前行的下一行(新行)
編輯模式命令:
編輯模式下可以能過方向鍵控制游標的位置,並且可以輸入檔案到游標當前位置
ESC:退出編輯模式
cp命令
cp 拷貝命令
cp [引數] 原檔案路徑 目標檔案路徑
cp 1.txt a/ #將1.txt檔案拷貝到a目錄下
cp 1.txt 2.txt #將1.txt拷貝到2.txt
cp -r a data #-r引數表示將目錄和目錄下的檔案一起拷貝,將a目錄拷貝到data目錄
scp命令
scp 遠端拷貝命令,它可以將本地檔案拷貝到遠端伺服器,也可以將遠端伺服器的檔案拷貝到本地,也可以將一臺伺服器檔案拷貝到另一臺
scp -r 本地檔案路徑 使用者名稱@ip[:port]:遠端路徑 #將本地檔案拷貝到遠端伺服器
scp -r 2.txt [email protected]:/root/data/ #將本地的2.txt拷貝到192.168.5.105的/root/data目錄下
scp -r 使用者名稱@ip[:port]:遠端檔案路徑 本地路徑 #將遠端檔案拷貝到本地
scp -r [email protected]:/root/3.bak /root/data #將遠端的/root/3.bak檔案拷貝到本地的/root/data目錄
scp -r 使用者名稱@ip[:port]:遠端檔案路徑 使用者名稱@ip[:port]:遠端檔案路徑 #將檔案從一臺伺服器拷貝到另一臺伺服器
scp -r [email protected]:/root/tmp [email protected]:/root/data/ #將/root/tmp拷貝到遠端的/root/data目錄下
mv命令
mv 移動命令,它可以移動檔案,也可以給檔案改名
mv 原檔案路徑 目標檔案路徑 #將檔案從一個地方拷貝到另一個地方
mv 1.txt 12.txt #將檔案1.txt改名為12.txt
mv tmp tmp #將tmp目錄改名為tm
mv 12.txt tm #將檔案12.txt移動到tm目錄下
man命令
man 命令,檢視命令的命令,檢視命令幫助文件(顯示的資訊最詳細)
man mv #檢視mv命令的檔案
man命令和命令的 --help引數結果相似(man命令只適用於linux本身的命令)
free命令
free命令,它是用來檢視系統記憶體的命令
free #檢視系統記憶體使用情況
free -h #檢視記憶體使用情況,並且以合適的單位顯示大小
df命令
df命令,它是檢視系統硬碟的命令
df #檢視系統硬碟使用情況
df -h #檢視硬碟使用,並以合適單位顯示大小
wc命令
wc 命令,word count的縮寫,它是檢視檔案的單詞個數
wc [引數] 檔案
wc -l linux常用命令.txt #-l表示line行數 計算檔案的行數
wc -w linux常用命令.txt #-w表示word單詞個數 計算檔案的單詞個數
ps命令
ps命令,它是檢視系統程序的命令
ps -aux
ps -ef
jps 檢視java程序
kill命令
kill 程序id #結束程序
root 21752 1.6 0.5 158800 5532 ? Ss 08:34 0:00 sshd: root@pts/0
kill 21752 #結束ssh登陸的程序
kill -9 程序id #強制結束程序
使用者和許可權命令
建立使用者組:
groupadd 使用者組名稱 #建立一個使用者組
groupadd bows #建立一個叫bows的使用者組
刪除使用者組:
groupdel 使用者組名稱 #刪除一個使用者組(刪除時必須是使用者組下沒有使用者時)
groupdel bows #刪除使用者組
建立使用者:
useradd 使用者名稱 [-g 使用者組名 -G 使用者組名] #建立一個使用者,-g指定使用者的主使用者組,-G指定使用者的其他使用者組
useradd bow -g bows #建立bow使用者,並指定它的主使用者組是bows
id 使用者名稱 #檢視使用者的id
id bow #檢視使用者bow的id
刪除使用者:
userdel 使用者名稱 #刪除使用者
userdel bow #刪除使用者bow
切換使用者:
su 使用者名稱 #切換使用者,但不載入使用者的環境變數
su - 使用者名稱 #切換使用者,並載入使用者的環境變數(建議使用這種方式切換使用者)
su bow #切換到bow使用者(root使用者切換到其他使用者是不需要輸入密碼的,其他使用者切換到root使用者是要輸入root使用者密碼的,其他使用者之間的切換也是需要密碼)
exit #退出當前使用者的登陸
修改使用者密碼:
passwd 使用者名稱 #修改使用者密碼
passwd bow #修改bow使用者的密碼
許可權:
檔案型別 使用者許可權 使用者組許可權 其他使用者許可權
- rw- r-- r-- . 1 root
root 5890 3月 23 14:11 linux常用命令.txt
d rwx r-x r-x . 4 root
root 81 3月 24 08:06 data
d表示資料夾 u表示使用者許可權 g表示使用者組許可權 o表示其他使用者許可權
r:表示讀許可權 數字表示為4
w:表示寫許可權 數字表示為2
x:表示執行許可權 數字表示為1
-:表示沒有許可權
chmod 賦許可權命令
chmod 許可權 檔案路徑
-rw-r--r--. 1 root root 31 3月 24 07:46 2.txt
chmod u+x 2.txt #給使用者加上執行許可權
-rwxr--r--. 1 root root 31 3月 24 07:46 2.txt
chmod g+w 2.txt #給使用者組加寫許可權
-rwxrw-r--. 1 root root 31 3月 24 07:46 2.txt
chmod o+x 2.txt #給其他使用者加執行許可權
-rwxrw-r-x. 1 root root 31 3月 24 07:46 2.txt
chmod g-w 2.txt #去掉使用者的寫許可權
-rwxr--r-x. 1 root root 31 3月 24 07:46 2.txt
用3個數字來設定檔案或目錄的許可權,第1個數字表示使用者許可權,第2數字表示使用者組許可權,第3個數字表示其他使用者許可權
chmod 755 2.txt #設定使用者的許可權為rwx,使用者組的許可權r-x,其他使用者的許可權r-x
-rwxr-xr-x. 1 root root 31 3月 24 07:46 2.txt
chmod 766 2.txt #設定使用者許可權為rwx,使用者組許可權rw-,其他使用者的許可權rw-
-rwxrw-rw-. 1 root root 31 3月 24 07:46 2.txt
設定目錄許可權時,要使用-R引數,保證目錄下的所有檔案和目錄的許可權相同
drwxr-xr-x. 4 root root 81 3月 24 08:06 data
chmod -R 777 data #將data目錄以及它下面的所有檔案的許可權設定為rwxrwxrwx
drwxrwxrwx. 4 root root 81 3月 24 08:06 data
chown 命令,它是更改檔案所屬使用者
chown -R 使用者[:使用者組] 目錄或檔案
-rwxrw-rw-. 1 root root 31 3月 24 07:46 2.txt
chown bow 2.txt #將2.txt的所屬使用者改為bow
-rwxrw-rw-. 1 bow root 31 3月 24 07:46 2.txt
chown bow:bows 2.txt #將2.txt所屬的使用者改為bow,使用者組改為bows
-rwxrw-rw-. 1 bow bows 31 3月 24 07:46 2.txt
drwxr--r--. 4 root root 81 3月 24 08:06 data
chown -R bow:bows data #將data目錄及它子目錄檔案的所屬使用者改為bow,使用者組改為bows
drwxr--r--. 4 bow bows 81 3月 24 08:06 data
查詢命令
find命令,可以根據檔案的時間,名稱等查詢檔案
find *.txt #查詢txt檔案
grep 命令,查詢內容
grep cat linux常用命令.txt #在linux常用命令.txt檔案中查詢包含cat的行,查詢檔案內容
| 通道符號,連線兩個命令的,將前一個命令的查詢結果傳給後一個命令
ps -ef | grep sshd #檢視系統中sshd的程序
ps -ef | grep java #檢視所有java程序
grep -v #-v引數表示查詢不包含查詢條件的行
grep -v cat linux常用命令.txt #查詢linux常用命令.txt中不包含cat的行
ps -ef | grep sshd | grep -v grep #查詢sshd的程序,不包括grep的行
–瞭解性查詢命令
who命令 #查詢系統中的使用者(登陸的使用者)
whoami命令 #檢視系統當前使用者名稱
whereis命令 #檢視系統安裝的某個軟體的路徑
whereis python #檢視python的安裝路徑
which 命令 #查詢軟體的可執行檔案路徑
which python #檢視python可執行檔案路徑
壓縮命令
安裝zip和unzip命令:
yum -y install zip unzip
zip壓縮命令
zip 壓縮檔名 要壓縮的檔案路徑
zip 2.zip 2.txt #將2.txt壓縮到2.zip中
zip data.zip data #只會壓縮資料夾,不會壓縮資料夾下的內容
zip da.zip da/* #壓縮資料夾和資料夾內的檔案(壓縮資料夾和它的下一級檔案)
zip -r data.zip date #-r表示遞迴地將資料夾及它的子目錄檔案全部壓縮
unzip解壓命令
unzip 壓縮檔案路徑
unzip 2.zip #將2.zip壓縮包解壓到當前目錄下
unzip -l 壓縮檔名 #不解壓檔案,檢視壓縮包內的檔案
unzip -l da.zip #檢視da.zip壓縮檔案中包含的檔案
unzip da.zip -d 目標目錄 #將壓縮檔案解壓到指定目錄
unzip da.zip -d tm/ #將壓縮檔案da.zip解壓到tm目錄下
tar命令,用來壓縮和解壓縮.tar和.tar.gz包
壓縮.tar包:
tar cvf 壓縮檔名 要壓縮的檔案或目錄
tar cvf 2.tar 2.txt #將2.txt壓縮為2.tar包
tar cvf data.tar data #將data目錄誇張到data.tar包中
解壓.tar包:
tar xvf 壓縮檔名 [-C 指定解壓目錄]
tar xvf 2.tar #將2.tar解壓到當前目錄
tar xvf 2.tar -C a/ #將2.tar解壓到a目錄
tar xvf data.tar #解壓data.tar到當前目錄
壓縮.tar.gz包:
tar zcvf 壓縮檔名 要壓縮的檔案
tar zcvf tm.tar.gz tm #將當前目錄下的tm目錄壓縮為tm.tar.gz
解壓.tar.gz包:
tar zxvf 壓縮檔名
tar zxvf tm.tar.gz #將tm.tar.gz解壓到當前目錄
gzip命令,將檔案壓縮為.gz包(可以用來壓縮.tar檔案)
gzip 要壓縮的檔案
gzip 2.txt #將2.txt壓縮為2.txt.gz
gzip data.tar #將data.tar壓縮為data.tar.gz
source命令
source 檔案路徑 #讓配置檔案修改結果立即生效,(還可以在shell指令碼中引用其他的shell指令碼)
/etc/profile #linux上的系統環境變數配置檔案
source /etc/profile #將系統環境變數生效
export命令
export 匯入全域性變數(環境變數)
export 變數名=變數值
export 變數名
變數的賦值:
變數名=變數值
<<EOF
<<EOF … EOF:將<<EOF和EOF之間的多行內容傳給前面的命令,
其中EOF可以是任意字串,但約定都使用EOF
[root@bow ~]# cat <<EOF
> HELLO
> WORD
> JOB
> SMITH
> EOF
HELLO
WORD
JOB
SMITH
<<EOF是shell指令碼中使用sqlplus的基礎
[root@bow ~]# cat <<A
> 11234
> 1234
> 1234
> 1253
> 1253
> A
11234
1234
1234
1253
1253
注意:EOF必須頂行寫
[root@bow ~]# cat <<EOF
> ASDF
> EOF
> ASDFASDF
> EOF
ASDF
EOF
ASDFASDF
cut命令
cut 擷取命令
-f 引數,指定列
-d 引數指定列和列之間的分隔符,預設的分隔符是\t(行向製表符)
cut -f 1 1.txt #取1.txt檔案中的第1列內容(列分隔符預設為\t)
cut -f 2 1.txt #取1.txt檔案中的第2列內容
cut -f 1 -d ',' 3.txt #取3.txt檔案中的第1列(列分隔符為,)
cut -f 2 -d ',' 3.txt #取3.txt第2列
wc -l linux常用命令.txt | cut -f 1 -d ’ ’ #取檔案linux常用命令.txt的行數(分隔符是空格)
[root@bow ~]# cut -f 1 -d ',' <<EOF
> A,B,C
> D,E,F
> EOF
A
D
printf命令
%ns 輸出字串,n是數字,指代輸出幾個字元
%ni 輸出整數。n是數字,指代輸出幾個數字
%m.nf 位數和小數位數。例如:%8.2f 代表輸出8位數,其中2位是小數,6位是整數
printf 格式字串 內容
[root@bow ~]# printf '%s,%s,%s\n' abc def ghj klj klo qer #一行單詞第三個列印成一行,單詞和單詞之間用逗號隔開
abc,def,ghj
klj,klo,qer
[root@bow ~]# printf '%s %s\n' $(cat 4.txt) #將檔案4.txt中的一行內容中的單詞劃分為兩個一組列印 cat 合作檢視檔案內容 $(cat 4.txt)表示取cat命令的執行結果
empno ename
job sal
comm depno
5.txt內容
A B C D E
F G H
[root@bow ~]# printf '%s,%s\n' $(cat 5.txt)
A,B
C,D
E,F
G,H
[root@bow ~]# printf '%5.2f\n' 12.1 #%5.2f表示輸出一個小數,數的長度是5,其中有兩個小數
12.10
[root@bow ~]# printf '%5.2f\n' 121234.116134 #如果輸出的值最大長度超出5,那麼整數部分不變數,小數部分會按照四捨五入的方法儲存兩位
121234.12
[root@bow ~]# printf '%i\n' 1234.5678 #%i只取數字的整數部分
-bash: printf: 1234.5678: 無效數字
1234
awk命令
awk 命令字串 要處理的內容
[root@bow ~]# awk '{printf $1 "\n"}' 1.txt #printf 列印 $n 表示取第幾列 $1表示取第1列
Hello
smith
tomcat
awk ‘{print $2}’ 1.txt #取1.txt的第2列,print和printf功能相同是列印,比printf多一個換行功能
[root@bow ~]# awk '{printf $1 ","}' 1.txt
Hello,smith,tomcat,[root@bow ~]#
[root@bow ~]# awk '{printf $1}' 1.txt
Hellosmithtomcat
[root@bow ~]# awk '{printf $1 "\v"}' 1.txt
Hello
smith
tomcat
[root@bow ~]# awk '{printf $1 ","}' 1.txt
Hello,smith,tomcat,
sed命令
sed 引數 命令 要處理的內容
-n 一般sed命令會把所有資料都輸出到螢幕。如果加入此選擇,則只會把經過sed命令處理的行輸出到螢幕。
-e 允許對輸入資料應用多條sed命令編輯
-i 用sed的修改結果直接修改讀取的資料的檔案,而不是修改螢幕輸出
[root@bow ~]# sed '2p' 1.txt #查詢第2行
Hello world
smith 18
smith 18
tomcat etl
[root@bow ~]# sed -n '2p' 1.txt
smith 18
[root@bow ~]# sed -i 's/18/20/g' 1.txt 使用sed命令修改1.txt內容,將1.txt中18替換為20
[root@bow ~]# cat 1.txt
Hello world
smith 20
tomcat etl
a\ 追加,在當前行後新增一行或多行。新增多行時除最後一行外,每行末尾需要用"\"代表資料未完結。
d 刪除,刪除指定的
p 列印,輸出指定的行
[root@bow ~]# sed -i '2a !' 1.txt #在第2行後面追加一行 !
[root@bow ~]# cat 1.txt
Hello world
smith 20
!
tomcat etl
[root@bow ~]# sed -i '3d' 1.txt #刪除檔案的第3行內容
[root@bow ~]# cat 1.txt
Hello world
smith 20
tomcat etl
[root@bow ~]# vim 6.txt
[root@bow ~]# cat 6.txt
abcd/home/bow
if ad
-e /home/bow
abcd/home/bow
if ad
-e /home/bow
abcd/home/bow
if ad
-e /home/bow
#將6.txt檔案中的/home/bow修改為/user/bw
#注意:替換時,的符號是根據/來判斷 s/原字串/目標字串/g 如果原字串或新的字串中有/時,需要使用\來轉義
# 錯誤寫法:s//home/bow//user/bw/g 正確寫法 s/\/home\/bow/\/user\/bw/g
[root@bow ~]# sed -i 's/\/home\/bow/\/user\/bw/g' 6.txt
[root@bow ~]# cat 6.txt
abcd/user/bw
if ad
-e /user/bw
abcd/user/bw
if ad
-e /user/bw
abcd/user/bw
if ad
-e /user/bw
注意:linux中字串的下標是從0開始的
service命令
service服務命令
ervice 服務名 [命令]
命令:enable|disable|start|stop|restart|status
start:啟動服務
stop:關閉服務
restart:重啟服務
status:檢視服務狀態
service network start #遍歷網路
service network stop #關閉網路
service network restart #重啟網路
service network status #檢視網路狀態
service iptables start #centos6及6以下版本,啟動防火牆的命令
service iptables stop #centos6及6以下版本,關閉防火牆(注意,關閉防火牆,只是臨時關閉,下次重啟之後防火牆依然會啟動)
service iptables restart #重啟防火牆
service mysqld start #啟動mysql資料庫
service mysqld restart #啟動mysql資料庫
service mysqld stop #關閉mysql資料庫
chkconfig命令
chkconfig命令檢查,設定系統的各種服務
chkconfig 服務名 on|off #on表示開啟服務 off表示關閉服務 通過chkconfig設定的服務是永久生效
centos6及以下版本永久關閉或開啟防火牆
chkconfig iptables on #開啟防火牆
chkconfig iptables off #永久地關閉防火牆
防火牆:
centos7以上:
systemctl start firewalld #啟動防火牆
systemctl stop firewalld #關閉防火牆(臨時關閉)
systemctl status firewalld #檢視防火牆狀態
systemctl disable firewalld #永久關閉防火牆
systemctl enable firewalld #開啟防火牆(不是啟動防火牆)
通過firewall-cmd來配置防火牆
centos6及以下:
防火牆配置檔案:/etc/iptables,這個檔案可以詳細的配置防火牆,如果沒有/etc/iptables檔案可以使用iptables save可以生成該檔案
iptables 命令配置防火牆
service iptables start #centos6及6以下版本,啟動防火牆的命令
service iptables stop #centos6及6以下版本,關閉防火牆(注意,關閉防火牆,只是臨時關閉,下次重啟之後防火牆依然會啟動)
service iptables restart #重啟防火牆
環境變數配置檔案
/etc/profile是linux系統上配置系統環境變數的一個檔案(針對所有使用者的配置)
使用者根目錄下的.bash_profile:是使用者環境變數的配置(針對當前使用者有效)
su - 使用者名稱 #切換使用者時,會載入使用者根目錄下的.bash_profile環境變數配置檔案
su 使用者名稱 #不會載入.bash_profile
網路配置檔案
網絡卡配置檔案目錄:/etc/sysconfig/network-scripts
網絡卡配置檔名都是以ifcfg-開頭,其中ifcfg-lo是本地網絡卡,是不需要配置的
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
#網絡卡型別
TYPE="Ethernet"
#協議 dhcp表示:ip地址是自動分配的,static表示靜態ip(手動配置ip地址),none表示沒有協議(也是需要手動配置ip地址)
BOOTPROTO="dhcp"
DEFROUTE="yes"
#網絡卡名稱
NAME="enp0s3"
UUID="deed3fd2-bd67-459b-8a49-ef0dd6e575a2"
DEVICE="enp0s3"
#配置網絡卡是否隨機啟動,yes:表示隨機啟動,no:表示需要手動啟動
ONBOOT="yes"
#配置靜態ip,BOOTPROTO必須是static或none
#ip地址配置
IPADDR=192.168.1.106
#配置子網掩碼
NETMASTER=255.255.255.0
#配置閘道器
GATEWAY=192.168.1.1
#配置dns:域名解析伺服器可以配置多個
DNS1=192.168.1.1
DNS2=192.168.5.1
修改完網絡卡檔案之後,重啟網路即可
sudo命令
sudo命令,它在非root使用者下,去呼叫一些root使用者的命令,或者修改一些檔案
sudo命令是需要配置的,sudo的配置檔案是/etc/sudoers
#給bow使用者配置sudo許可權
[root@bow ~]# vim /etc/sudoers
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
#給bow使用者設定sudo命令許可權
bow ALL=(ALL) ALL
sudo命令的使用:
sudo 命令
[root@bow ~]# su - bow
上一次登入:四 3月 26 07:30:53 CST 2020pts/0 上
[bow@bow ~]$ sudo vim /etc/profile
ping命令
ping命令檢視網路連通性的命令和windows上的功能一樣
ping ip(0.0.0.100)
ifconfig命令
ifconfig命令屬於net-tools軟體包,使用前需要安裝net-tools
net-tools的安裝:
yum -y install net-tools
ifconfig檢視ip地址
netstat命令
netstat命令也屬於net-tools軟體包
netstat -tulp | grep 1521 #檢視oracle監聽器程式是否正常啟動
rpm命令
rpm是linux上的安裝命令,用來安裝.rpm格式的安裝包
rpm -ivh .rpm檔案的路徑 #表示安裝軟體包
rpm -qa #檢視已安裝的軟體
rpm -qa | grep mysql #檢視已經安裝的mysql軟體包
rpm -e --nodeps 安裝包名 #解除安裝軟體包 -e表示解除安裝 --nodeps表示不理會的依賴關係
本文分享自華為雲社群《linux常用命令大全》,原文作者:HW-QGS 。
點選關注,第一時間瞭解華為雲新鮮技