1、Linux的基本命令格式
1.1、常用命令
1.1.1、[root@M001 ~]#
root:當(dāng)前登錄的用戶
@:分隔符號
M001:計算機(jī)名稱
~:當(dāng)前用戶所在的路徑
#:代表超級管理員 $:代表普通用戶
1.1.2、ls / 查看根目錄下文件
1.1.3、cd
1、cd ~:進(jìn)入當(dāng)前用戶的家目錄
2、cd -進(jìn)入上次目錄
1.1.4、rmdir [目錄名] remove empty directory
沒有以/開頭的都是相對路徑
以/開頭的都是絕對路徑,從根目錄/開始查找
1.1.5、搜索命令
1、whereis命令 搜索命令所在的路徑及幫助文檔所在位置
-b只查找可執(zhí)行文件
-m只查找?guī)椭臋n
2、which搜索文件所在的路徑及別名
1.1.6、find [搜索范圍] [搜索條件](搜索文件)
1、find / -name install.log 搜索文件名稱 install.log
2、find /root -iname install.log 不區(qū)分大小寫
3、find /root -user root 按照所有者搜索 find /root -nouser root
4、find /etc -size +20k -a -size -50k查找/etc/目錄下,大于20KB并且小于50KB的文件
-a and 邏輯與,兩個條件都滿足
-o or 邏輯或,兩個條件滿足一個即可
5、find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找/etc/目錄下,大于20KB并且小于50KB的文件,并顯示詳細(xì)信息
-exec {} \;這是固定格式
6、find . -size 25k
查找文件大小是25KB的文件,注意k是小寫的.
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
7、find /var/log -mtime +10
查找10天前修改的文件
-10 10天內(nèi)修改文件
10 10天當(dāng)天修改的文件
+10 10天前修改的文件
atime 文件訪問時間
ctime 改變文件屬性時間
mtime 修改文件時間
1.1.7、grep [選項(xiàng)] 字符串 文件名(搜索字符串)
-i忽略大小寫
-v排除指定字符串
-n顯示行號
1.1.8、壓縮與解壓縮命令
1、zip
zip -r 壓縮文件名 原文件
unzip 壓縮文件名
2、gz
gzip 原文件 壓縮為.gz格式的壓縮文件,原文件會消失
gzip -c 原文件 > 壓縮文件
壓縮為.gz格式,原文件保留
-c的意思不是說需要保留文件,而是要把壓縮的結(jié)果輸出到控制臺.
>的意思是把結(jié)果輸出到什么地方去.
gzip -r 目錄
壓縮目錄下的所有子文件,但是不能壓縮目錄
gzip -d 壓縮文件,解壓縮文件
gunzip 壓縮文件
3、.bz2
bzip2 -k 源文件
參數(shù)-k壓縮之后保留源文件,否則不保留源文件
bzip2 -d -k 壓縮文件 或者 bunzip2 -k 壓縮文件
參數(shù)-k解壓縮后保留壓縮文件,否則不保留
4、打包命令:
tar -cvf 打包文件名 源文件
-c 打包
-v 顯示過程
-f 指定打包后的文件名
tar -xvf 打包文件名
-x 解打包
5、.tar.gz格式
tar -zcvf 壓縮包名.tar.gz 源文件
-z 壓縮為.tar.gz格式
tar -zxvf 壓縮包名.tar.gz
-x 解壓縮.tar.gz格式
加上-C表示解壓到指定的目錄
tar -zxvf 壓縮包名.tar.gz -C 指定目錄
6、.tar.bz2
tar -jcvf 壓縮包名.tar.bz2 源文件
-c 壓縮為.tar.bz2格式
tar -jxvf 壓縮包名.tar.bz2
-x 解壓縮為.tar.bz2格式
1.1.9、關(guān)機(jī)重啟命令
1、shutdown 關(guān)機(jī)或重啟命令
-c 取消前一個關(guān)機(jī)名,-h 關(guān)機(jī),-r 重啟
2、關(guān)機(jī):halt、poweroff、init 0
3、重啟:reboot、init 6
4、查看運(yùn)行級別:runlevel
5、系統(tǒng)默認(rèn)運(yùn)行級別:cat /etc/inittab
6、退出登錄:logout
1.2、其他命令
1.2.1、用戶登錄信息查看
1、w
命令輸出:
USER 登陸的用戶名
TTY 登陸終端
FROM 從哪個IP地址登陸
LOGIN@ 登陸時間
IDLE 用戶閑置時間
JCPU指的是和該終端連接的所有進(jìn)程占用時間.這個事件并不包括去后臺作業(yè)的時間,但卻包括當(dāng)前正在運(yùn)行的后臺作業(yè)所占用時間;
PCPU 是指當(dāng)前進(jìn)程所占用的時間
WHAT當(dāng)前正在運(yùn)行的命令
2、who
命令輸出:用戶名、登陸終端、登陸時間(登陸來源IP地址)
1.2.2、last查詢當(dāng)前登陸和過去登陸的用戶信息
last命令默認(rèn)時讀取/var/log/wtmp文件數(shù)據(jù)
命令輸出:用戶名、登陸終端、登陸IP、登陸時間、退出時間(在線時間)
1.2.3、查看最后一次登陸時間:lastlog
lastlog命令默認(rèn)時讀取/var/log/lastlog文件內(nèi)容
命令輸出:用戶名、登陸終端、登陸IP、最后一次登陸時間
1.2.4、磁盤使用情況:df
df:用于顯示磁盤的使用情況
df -h: 格式化顯示輸出磁盤使用情況
1.2.5、查看任務(wù)進(jìn)程:top
任務(wù)進(jìn)程
第一行:
10:01:23 — 當(dāng)前系統(tǒng)時間
126 days, 14:29 — 系統(tǒng)已經(jīng)運(yùn)行了126天14小時29分鐘(在這期間沒有重啟過)
2 users — 當(dāng)前有2個用戶登錄系統(tǒng)
load average: 1.15, 1.42, 1.44 — load average后面的三個數(shù)分別是1分鐘、5分鐘、15分鐘的負(fù)載情況。
第二行:
Tasks — 任務(wù)(進(jìn)程),系統(tǒng)現(xiàn)在共有183個進(jìn)程,其中處于運(yùn)行中的有1個,182個在休眠(sleep),stoped狀態(tài)的有0個,zombie狀態(tài)(僵尸)的有0個。
第三行:cpu狀態(tài)
6.7% us — 用戶空間占用CPU的百分比。
0.4% sy — 內(nèi)核空間占用CPU的百分比。
0.0% ni — 改變過優(yōu)先級的進(jìn)程占用CPU的百分比
92.9% id — 空閑CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中斷(Hardware IRQ)占用CPU的百分比
0.0% si — 軟中斷(Software Interrupts)占用CPU的百分比
第四行:內(nèi)存狀態(tài)
8306544k total — 物理內(nèi)存總量(8GB)
7775876k used — 使用中的內(nèi)存總量(7.7GB)
530668k free — 空閑內(nèi)存總量(530M)
79236k buffers — 緩存的內(nèi)存量 (79M)
第五行:swap交換分區(qū)
2031608k total — 交換區(qū)總量(2GB)
2556k used — 使用的交換區(qū)總量(2.5M)
2029052k free — 空閑交換區(qū)總量(2GB)
4231276k cached — 緩沖的交換區(qū)總量(4GB)
第五行以下:
PID — 進(jìn)程id
USER — 進(jìn)程所有者
PR — 進(jìn)程優(yōu)先級
NI — nice值。負(fù)值表示高優(yōu)先級,正值表示低優(yōu)先級
VIRT — 進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
RES — 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
SHR — 共享內(nèi)存大小,單位kb
S — 進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
%CPU — 上次更新到現(xiàn)在的CPU時間占用百分比
%MEM — 進(jìn)程使用的物理內(nèi)存百分比
TIME+ — 進(jìn)程使用的CPU時間總計,單位1/100秒
COMMAND — 進(jìn)程名稱(命令名/命令行)
1.2.6、查看內(nèi)存占用:free
內(nèi)存占用情況:
total:內(nèi)存總數(shù);
used:已經(jīng)使用的內(nèi)存數(shù);
free:空閑的內(nèi)存數(shù);
buffers Buffer:緩存內(nèi)存數(shù);
cached Page:緩存內(nèi)存數(shù)。
1.2.7、查看操作歷史:history
用于顯示執(zhí)行過的歷史命令記錄
1.2.8、在顯示器輸出內(nèi)容:echo
1.2.9、文件查看命令
1、cat
2、tail
默認(rèn)在屏幕上顯示指定文件的末尾10行
參數(shù):
-f 顯示文件最新追加的內(nèi)容。
-行數(shù) 在屏幕上顯示指定文件的末尾參數(shù)設(shè)置的行數(shù)
2、vi編輯器
2.1、編輯器的三種模式:
編輯模式(命令模式) :所有的機(jī)鍵動作都會理解為編輯整個文檔的操作,默認(rèn)為編輯模式
輸入模式:大部分機(jī)鍵動作都會理解為輸入的字符
末行模式:在末行模式,輸入很多文件管理命令
1、編輯-->輸入
i:在光標(biāo)所在字符前開始插入
a:在光標(biāo)所在字符后開始插入
o:在光標(biāo)所在行的下面另起一新行插入
s:刪除光標(biāo)所在的字符并開始插入
I:在光標(biāo)所在行的行首開始插入 如果行首有空格則在空格之后插入
A:在光標(biāo)所在你行的行尾開始插入
O:在光標(biāo)所在行的上面另起一行開始插入
S:刪除光標(biāo)所在行并開始插入
2、輸入模式-->編輯模式
ESC(鍵盤左上方的按鍵)
3、編輯模式--->末行模式:
末行模式:-->編輯模式
ESC(鍵盤左上方的按鍵)(一次或者多次)
2.2、打開文件
vi /path/to/file
wq: 保存退出、q!: 退出不保存
2.3、移動光標(biāo)
1、逐字符移動:
h:左移動、l:右移動、j:向下移動、k:向上移動
2、行內(nèi)跳轉(zhuǎn):
0:跳轉(zhuǎn)到行首、$: 跳轉(zhuǎn)到行尾
3、行間跳轉(zhuǎn);(末行模式)
num: 跳轉(zhuǎn)到某一行(末行模式)
G: 跳轉(zhuǎn)行最后一行(編輯模式)
gg: 跳轉(zhuǎn)到第一行(編輯模式)
2.4、翻屏操作
在編輯模式下:ctrl+f 向下翻一頁、ctrl+b 向上翻一頁
2.5、刪除操作
dd: 刪除光標(biāo)所在行 (編輯模式)
3dd:從光標(biāo)行開始刪除3行(編輯模式)
: 1,4d 刪除第一行到第四行(末行模式)
2.6、復(fù)制粘貼
yy 復(fù)制光標(biāo)所在行 (編輯模式)
2yy 從光標(biāo)行開始復(fù)制2行(編輯模式)
p: 粘貼命令
2.7、查找替換
文件的查找
/parttern 從前往后、?parttern 從后往前
n: 下一個匹配的字符串、N: 上一個匹配的字符串
文本的替換(末行模式)
startNum,endNums/partter/string/gi
g:全局替換
i:忽略大小寫
%s/f/F/gi
:.,$s/F/f/gi
3、權(quán)限管理
3.1、用戶管理
1、useradd
創(chuàng)建用戶 :useradd [用戶名]
創(chuàng)建用戶并分配一個組:useradd -G [組名] [用戶名]
查看系統(tǒng)用戶:cat /etc/passwd
2、groupadd
查看系統(tǒng)用戶組:cat /etc/group
3、usermod
修改用戶組屬性
usermod -G [組名] [用戶名]
4、userdel
刪除用戶:
-f:強(qiáng)制刪除用戶,即使用戶已登錄
-r:刪除與用戶相關(guān)的所有文件。
5、groupdel
6、passwd
/etc/shade
3.2、文件基本權(quán)限
3.2.1、基本權(quán)限的修改
1、文件權(quán)限解釋
-rw-r--r--
// 文件類型(- 文件 d 目錄 I 軟鏈接文件)
// rw- r-- r--
// u所有者 g所屬組 o其他人
// r:4讀 w:2寫 x:1執(zhí)行
2、chmod命令
chmod [選項(xiàng)] 模式 文件名
// -R 遞歸
// [guoa] [+-=] [rwx]
// [mode=421]
3、修改權(quán)限方式
chmod u+x 文件 給當(dāng)前用戶添加指定文件的x執(zhí)行權(quán)限
chmod g+w,o+w 文件 給該文件用戶組合其他人添加指定文件的w寫的權(quán)限
chmod a=rwx 文件 給該文件的當(dāng)前用戶,當(dāng)前組,其他人 添加rwx可讀可寫可執(zhí)行的權(quán)限
3.2.2、其他權(quán)限命令
1、修改文件的所有者
chown 用戶名 文件名
普通用戶沒有權(quán)限修改文件的所有者/所有的用戶組
想通過普通用戶修改, 需要添加sudo權(quán)限
chown :root hello.txt,將hello.txt所屬用戶組修改為root
chown root:itheima hello.txt,將hello.txt所屬用戶修改為root,用戶組修改為itheima
chown -R root test,將文件夾test的所屬用戶修改為root并對文件夾內(nèi)全部內(nèi)容應(yīng)用同樣規(guī)則
2、修改文件的所屬組
chgrp 組名 文件名
3.2.3、sudo權(quán)限
root把本來只能超級用戶執(zhí)行的命令賦予普通用戶執(zhí)行.
sudo的操作對象是系統(tǒng)命令
visudo
實(shí)際修改的是/etc/sudoers文件
4、系統(tǒng)服務(wù)管理
1、進(jìn)程查看:ps
ps -ef顯示結(jié)果
UID 用戶ID
PID 進(jìn)程ID
PPID 父進(jìn)程ID
C CPU占用率
STIME 開始時間
TTY 開始此進(jìn)程的TTY----終端設(shè)備
TIME 此進(jìn)程運(yùn)行的總時間
CMD 命令名
2、殺死進(jìn)程
kill -9 pid
5、網(wǎng)絡(luò)管理
1、ifcfg-eth解釋:
文件/etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在這個目錄下面,存放的是網(wǎng)絡(luò)接口(網(wǎng)卡)的腳本文件(控制文件),ifcfg-eth0是默認(rèn)的第一個網(wǎng)絡(luò)接口,如果機(jī)器中有多網(wǎng)絡(luò)接口,那么名字就將依此類推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(這里面的文件是相當(dāng)重要的,涉及到網(wǎng)絡(luò)能否正常工作)。
TYPE=Ethernet #網(wǎng)卡類型
DEVICE=eth0 #網(wǎng)卡接口名稱
ONBOOT=yes #系統(tǒng)啟動時是否自動加載
BOOTPROTO=static #啟用地址協(xié)議 --static:靜態(tài)協(xié)議 --bootp協(xié)議 --dhcp協(xié)議
IPADDR=192.168.1.11 #網(wǎng)卡IP地址
NETMASK=255.255.255.0 #網(wǎng)卡網(wǎng)絡(luò)地址
GATEWAY=192.168.1.1 #網(wǎng)卡網(wǎng)關(guān)地址
DNS1=8.8.8.8 #網(wǎng)卡DNS地址
BROADCAST=192.168.1.255 #網(wǎng)卡廣播地址
查看ip:
ip addr
2、防火墻
centos7的防火墻程序服務(wù)名為:firewalld
防火墻配置命令:firewall-cmd
防火墻幫助:
fireweall-cmd --help
查看防火墻狀態(tài):
firewall-cmd --state
查看所有打開的端口:
firewall-cmd --zone=public --list-ports
開啟端口:
firewall-cmd --zone=public --add-port=端口號/tcp --permanent(--permanent參數(shù)為永久生效,不加則重啟后失效)
更新防火墻規(guī)則:
firewall-cmd --reload
刪除端口:
firewall-cmd --zone=public --remove-port=端口號/tcp --permanent