查詢Linux ip :ip addr
命令篇
文件處理
1.查詢目錄的內容
<#--查看所有-->
ls -alh
<#--展示列表-->
ls [選項] [文件或目錄]
選項:
-a 顯示所有文件,包括隱藏文件
-l 顯示詳細信息
-h 人性化顯示文件大小
2.切換目錄
cd [目錄]
命令英文原意: change directory
簡化操作:
cd ~ :切換到用戶目錄(家目錄)
cd :切換到用戶目錄
cd - :切換到上一個訪問目錄
cd .. :切換到上一級目錄
cd . :切換到當前目錄
3.當前所在的工作空間
pwd
命令英文原意:print working directory
4.創(chuàng)建文件
touch 文件名 :創(chuàng)建文件
5.創(chuàng)建目錄
mkdir -p [目錄名]
-p 遞歸創(chuàng)建
命令英文原意: make directories
mkdir 目錄名 :創(chuàng)建目錄
mkdir -p xx/yyy/zz :創(chuàng)建多級目錄
6.刪除<font color=red>空目錄</font>
rmdir [目錄名]
命令英文原意:remove empty directory
rmdir 目錄 :刪除目錄(目錄為空時執(zhí)行)
7.刪除文件或者目錄
rm -rf [文件或目錄]
命令英文原意:remove
選項:
-r 遞歸刪除目錄
-f 強制
rm -r 目錄 :遞歸文件夾 帶提示
rm -f 文件 :刪除文件
rm -rf 文件/文件夾 :遞歸刪除躲庄,無提示
禁止: rm -rf / 刪除所有文件
8.復制文件或文件夾
cp [選項] [原文件或目錄] [目標目錄]
命令英文原意:copy
選項:
-r 復制目錄
cp 源文件 備份文件 :備份文件[復制文件]
cp -r 源目錄 目標目錄 [復制目錄]
9.剪切和改名命令
mv [原文件或目錄] [目標目錄]
命令英文原意:move
mv 文源文件件 目標文件目錄 :剪切
mv 源文件 不存在的文件 :重命名
mv 源文件 文件夾/不存在的文件 :剪切重命名
剪切并重命名
mv a.txt /root/test_bak/bb.txt
文件搜索
1.環(huán)境變量
PATH環(huán)境變量:定義的是系統(tǒng)搜索命令的路徑
相當于window下的path
//之間有空格
echo $PATH : 查看環(huán)境變量
2.文件搜索
find [搜索范圍] [搜索條件]
示例:
find / -name install.log
#避免大范圍搜索,會非常耗費系統(tǒng)資源
#find是在系統(tǒng)當中搜索符合條件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
find /root -name install.log #按名字查詢: 不區(qū)分大小寫
find /root -user root #按照所有者搜索
find /root -nouser #查找沒有所有者的文件
https://www.xuebuyuan.com/683276.html
假如匹配到多個就會報錯柑土,錯誤提示如下:
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exe
find /root -name 'test*'
加了單引號之后解決
3.按文件的大小查詢
find / -size 25k
#查找文件大小是25KB的文件,注意k是小寫的.
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find / -size 25M
#查找文件大小是25MB的文件,注意M是大寫的.
4.復合條件查詢
find /etc -size +20k -a -size -50k
#查找/etc/目錄下,大于20KB并且小于50KB的文件
-a and 邏輯與,兩個條件都滿足
-o or 邏輯或,兩個條件滿足一個即可
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
#查找/etc/目錄下,大于20KB并且小于50KB的文件,并顯示詳細信息
#-exec {} \;這是固定格式
5.字符串的搜索命令
grep [選項] 字符串 文件名
#在文件當中匹配符合條件的字符串
選項:
-i 忽略大小寫
-v 排除指定字符串
cat anaconda-ks.cfg 查看內容
grep timezone anaconda-ks.cfg
經(jīng)典使用:
ps -ef |grep java
ps
ps -ef 顯示出的結果:
1.UID 用戶ID
2.PID 進程ID
3.PPID 父進程ID
4.C CPU占用率
5.STIME 開始時間
6.TTY 開始此進程的TTY----終端設備
7.TIME 此進程運行的總時間
8.CMD 命令名
[圖片上傳失敗...(image-f69f87-1571065750332)]
TIP
find命令:在系統(tǒng)中搜索符合條件的文件名.
grep命令:在文件中搜索符合條件的字符串.
幫助命令
1.man命令[manual n.手冊]
man ls
#查看ls的幫助
man 命令名 :
查看幫助命令f b鍵翻頁 q退出
2. 命令 --help[簡潔版]
命令 --help
#獲取命令選項的幫助
實例:
ls --help
命令 --help :簡潔版幫助
但是不適用內部命令,如cd:
help cd
命令特殊時倦零,使用
help 命令 比如: help cd
壓縮命令
1.zip壓縮
zip 壓縮文件名 原文件
#壓縮文件
zip -r 壓縮文件名 原文件
先安裝zip 軟件
yum install zip
yum install -y zip : 不帶確認的安裝
yum install -y unzip
卸載: yum remove
zip 壓縮文件名 原文件 :壓縮文件
zip a.zip a.txt
zip -r 壓縮文件名 原文件夾 :遞歸要是文件夾
zip -r a.zip a.txt
2.zip解壓
unzip 壓縮文件
#解壓縮.zip文件
unzip 壓縮文件名 ;解壓
3.gz壓縮
gzip 原文件
#壓縮為.gz格式的壓縮文件,原文件會消失
gzip -c 原文件 > 壓縮文件
#壓縮為.gz格式,原文件保留
#-c的意思不是說需要保留文件,而是要把壓縮的結果輸出到控制臺.
#>的意思是把結果輸出到什么地方去.
gzip -r 目錄
#壓縮目錄下的所有子文件,但是不能壓縮目錄
gzip 原文件: 壓縮文件, 源文件會消失
gzip a.txt
gzip -r 原文件夾:遍歷文件夾床牧,壓縮文件夾中文件策肝,目錄不壓縮
gzip -r learn
4.gz解壓
gzip -d 壓縮文件
#解壓縮文件
gunzip 壓縮文件
#解壓縮文件
gunzip -r 壓縮文件目錄;解壓
5.打包命令
打包命令:
tar -cvf 打包文件名 源文件
選項:
-c 打包
-v 顯示過程
-f 指定打包后的文件名
tar -cvf learn.tar learn
解打包命令:
tar -xvf 打包文件名
選項:
-x 解打包
6..tar.gz格式壓縮
tar -zcvf 壓縮包名.tar.gz 源文件
選項:
-z 壓縮為.tar.gz格式
tar -zcvf learn.tar.gz learn
7.tar.gz格式解壓
tar -zxvf 壓縮包名.tar.gz
選項:
-x 解壓縮.tar.gz格式
#加上-C表示解壓到指定的目錄
tar -zxvf 壓縮包名.tar.gz -C 指定目錄
tar -zxvf learn.tar.gz -C ./
重啟命令
重啟命令
init 0 :關機
init 6 :重啟
init 3 :切換字符界面
inti 5 :切換可視化界面
reboot :重啟
其他命令
[圖片上傳失敗...(image-afacfc-1571065750332)]
cat:顯示全部
tail默認在屏幕上顯示指定文件的末尾10行
參數(shù):
-f 顯示文件最新追加的內容共虑。
-行數(shù) 在屏幕上顯示指定文件的末尾參數(shù)設置的行數(shù)
Vi編輯器
1.編輯器的三種模式
模式之間的相互轉換:
編輯-->輸入
i:在光標所在字符前開始插入
a:在光標所在字符后開始插入
o:在光標所在行的下面另起一新行插入
s:刪除光標所在的字符并開始插入
---------------------------------------
I:在光標所在行的行首開始插入 如果行首有空格則在空格之后插入
A:在光標所在你行的行尾開始插入
O:在光標所在行的上面另起一行開始插入
S:刪除光標所在行并開始插入
輸入模式-->編輯模式
ESC(鍵盤左上方的按鍵)
編輯模式--->末行模式
:
末行模式:-->編輯模式
ESC(鍵盤左上方的按鍵)(一次或者多次)
2.保存文件
打開文件
vi /path/to/file
關閉文件
在末行模式下
wq: 保存退出
q!: 退出不保存
3.編輯時移動光標
逐字符移動:
h:左移動
l:右移動
j:向下移動
k:向上移動
行內跳轉:
0:跳轉到行首
$: 跳轉到行尾
行間跳轉;(末行模式)
num: 跳轉到某一行(末行模式)
G: 跳轉行最后一行(編輯模式)
gg: 跳轉到第一行(編輯模式)
4.翻屏操作
在編輯模式下:
ctrl+f 向下翻一頁
ctrl+b 向上翻一頁
5.刪除操作
dd:刪除光標所在行 (編輯模式)
3dd:從光標行開始刪除3行(編輯模式)
: 1,4d 刪除第一行到第四行(末行模式)
[圖片上傳失敗...(image-d2d0a1-1571065750332)]
6.復制行操作
yy 復制光標所在行 (編輯模式)
2yy 從光標行開始復制2行(編輯模式)
p: 粘貼命令[paste]
7.查找和替換
文件的查找
/parttern 從前往后查找
?parttern 從后往前查找
n: 下一個匹配的字符串
N: 上一個匹配的字符串
文本的替換(末行模式)
startNum,endNums/partter/string/gi
g:全局替換
i:忽略大小寫
%s/f/F/gi
:.,$s/F/f/gi
/關鍵字 按n找下一個
set number 設置行號
或者
set nu
取消行號
set nu!
用戶管理
1.添加用戶
創(chuàng)建用戶 :useradd [用戶名]
創(chuàng)建用戶并分配一個組:useradd -G [組名] [用戶名]
查看系統(tǒng)用戶:cat /etc/passwd
1 用戶名
2 用戶的密碼,用x替代
3 用戶的uid,一般情況下root為0呀页,1-499默認為系統(tǒng)賬號妈拌,有的更大些到1000,500-65535為用戶的可登錄賬號蓬蝶,有的系統(tǒng)從1000開始尘分。
4 用戶的gid,linux的用戶都會有兩個ID,一個是用戶uid,一個是用戶組id丸氛,在我們登錄的時候培愁,輸入用戶名和密碼,其實會先到/etc/passwd查看是否有你輸入的賬號或者用戶名缓窜,有的話將該賬號與對應的UID和GID(在/etc/group中)讀出來定续。然后讀出主文件夾與shell的設置谍咆,然后再去檢驗密碼是否正確,正確的話正常登錄私股。
5 用戶的賬號說明解釋
6 用戶的家目錄文件夾
7 用戶使用的shell摹察,如果換成/sbin/nologin/就是默認沒有登錄環(huán)境的。
2.查看系統(tǒng)用戶組
查看系統(tǒng)用戶組:cat /etc/group
3.usermod
修改用戶組屬性
usermod -G [組名] [用戶名]
4.刪除用戶
userdel刪除用戶:
-f:強制刪除用戶倡鲸,即使用戶已登錄
-r:刪除與用戶相關的所有文件港粱。
5.修改用戶的密碼
設置用戶密碼: passwd 用戶名
查看密碼:
cat /etc/shadow
WolfCode_2017
注銷: logout
重新登錄:
文件權限
1.chmod命令
chmod [選項] 模式 文件名
選項
-R 遞歸
模式
[guoa] [+-=] [rwx]
[mode=421]
2.修改用戶的權限
修改權限的方式:
chmod u+x 文件
#給當前用戶添加指定文件的x執(zhí)行權限
chmod g+w,o+w 文件
#給該文件用戶組合其他人添加指定文件的w寫的權限
chmod a=rwx 文件
#給該文件的當前用戶,當前組,其他人 添加rwx可讀可寫可執(zhí)行的權限
3.權限的數(shù)字表達式
權限的數(shù)字表示
r 4
w 2
x 1
111--->7 rwx
110--->6 rw-
100--->4 r--
示例:
rwxr-xr-x
7 5 5
chmod 755 文件
4.sudo權限
root把本來只能超級用戶執(zhí)行的命令賦予普通用戶執(zhí)行.(可以理解為權限代理)
sudo的操作對象是系統(tǒng)命令
visudo
#實際修改的是/etc/sudoers文件
需求: 想讓root 用戶將 shutdown -h 10 定時關機命令賦予 dafei用戶
#用戶名 被管理主機的地址=(可使用的身份) 授權命令(絕對路徑)
root ALL = (ALL) ALL
#%組名 被管理注解的地址=(可使用身份) 授權命令(絕對路徑)
%wheel ALL=(ALL) ALL
sudo shutdown -h 10
系統(tǒng)服務管理
1.進程查看
用于報告當前系統(tǒng)的進程狀態(tài)〉┣可以搭配kill指令隨時中斷查坪、刪除不必要的程序。
ps -ef 顯示出的結果:
1.UID 用戶ID
2.PID 進程ID
3.PPID 父進程ID
4.C CPU占用率
5.STIME 開始時間
6.TTY 開始此進程的TTY----終端設備
7.TIME 此進程運行的總時間
8.CMD 命令名
2.殺死進程
kill 進程UID
防火墻的配置
關閉防火墻
systemctl disable firewalld
systemctl stop firewalld
centos7的防火墻程序服務名為:firewalld
防火墻配置命令:firewall-cmd
防火墻幫助:
firewall-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
快速查找命令
netstat -ano| grep 80
靜態(tài)IP的修改
文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在這個目錄下面偿曙,存放的是網(wǎng)絡接口(網(wǎng)卡)的腳本文件(控制文件),ifcfg-eth0是默認的第一個網(wǎng)絡接口羔巢,如果機器中有多網(wǎng)絡接口望忆,那么名字就將依此類推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(這里面的文件是相當重要的,涉及到網(wǎng)絡能否正常工作)竿秆。
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)絡地址
GATEWAY=192.168.1.1 #網(wǎng)卡網(wǎng)關地址
DNS1=8.8.8.8 #網(wǎng)卡DNS地址
BROADCAST=192.168.1.255 #網(wǎng)卡廣播地址
查看ip:
ip addr
重啟網(wǎng)絡
[圖片上傳失敗...(image-8d0521-1571065750332)]
JDK 安裝
1:將jdk拉入linux路徑: /usr/local/software
2:將jdk解壓到指定的路徑
cd /usr/local/software
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local
3:給解壓后的文件目錄改過好操作的名字启摄, 可以不改
mv jdk1.8.0_161 jdk1.8
4:備份配置環(huán)境變量文件
注意,設置前先備份幽钢,養(yǎng)成習慣
cp /etc/profile /etc/profile_bak
5:修改配置環(huán)境變量文件
vi /etc/profile
在隨便空白地方輸入:
export JAVA_HOME=/usr/local/jdk1.8 #設置java_home
export PATH=$JAVA_HOME/bin:$PATH #設置環(huán)境變量歉备, 跟window區(qū)別,是 : 分隔的
看清楚匪燕,大小寫必須一致
6:重寫加載環(huán)境變量
source /etc/profile
7:測試
java -version
看到這個結果表示安裝成功
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
部署項目篇
1.rpm
rpm 常用命令
安裝一個包
# rpm -ivh <包名>
rpm -ivh --nodeps <包名> : 如果該RPM包的安裝依賴其它包蕾羊,即使其它包沒裝,也強迫安裝帽驯。
--force 即使覆蓋屬于其它包的文件也強迫安裝
查詢一個包是否被安裝
# rpm -q <軟件名>
得到被安裝的包的信息
# rpm -qi < 軟件名>
列出該包中有哪些文件
# rpm -ql < 軟件名>
列出服務器上的一個文件或目錄屬于哪一個RPM包
#rpm -qf <文件或目錄名>
列出所有被安裝的rpm package
# rpm -qa
卸載一個包
# rpm -e <軟件名>
有安裝包龟再,知道依賴關系使用rpm
2.yum
1 配置一個自定義的倉庫地址
/etc/yum.repos.d
local.repo
2 安裝命令
yum install
3 查看軟件包
yum list |grep mysql
yum list installed
4 卸載軟件包
yum remove
沒安裝包, 不知道依賴關系尼变,使用yum
3.修改yum源
從國內鏡像下載
yum install wget -y
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
#更新系統(tǒng)軟件利凑,不執(zhí)行
yum -y update
修改為靜態(tài)IP,安裝MQ
vi /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="ca125296-65cb-4308-8b83-8a56794fbf34"
DEVICE="ens32"
ONBOOT="yes"
ZONE=public
IPADDR=192.168.91.129
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=8.8.8.8
BROADCAST=192.168.91.255
4.加文件執(zhí)行權限
chmod +x 文件名
5.重啟nginx
./nginx -s reload
6.查看端口
netstat -ano| grep 80