tab鍵:補全命令
linux系統一般將檔案可存/取存取的身份分爲3個級別:owner,group,others,且三種身份各有read,write,execute等許可權。
ls -l 路徑
:檢視詳細資訊(-a 顯示隱藏檔案)
ll 路徑
:等價於ls -l,檢視詳細資訊
首字母d是資料夾,-是檔案
rwx順序不變,-表示沒有對應許可權
- 許可權操作者:root使用者 或者 owner使用者
- 不指定誰,預設all
- linux中,如果要刪除一個檔案,不是看檔案有沒有對應的許可權,而是看檔案所在的目錄是否有寫許可權,如果有才能 纔能刪除
chmod -R 許可權模式 檔案/資料夾路徑
:許可權設定,-R表示遞回設定許可權(用於資料夾許可權)
① chmod u+x,g+rx,o+r 1.cfg
:給1.cfg檔案(-rw------)設定許可權,所有者擁有所有許可權,同組使用者擁有讀和執行許可權,其他使用者只讀許可權
② chmod u=rwx,g=rx,o=r 1.cfg
:①的同等功能
rwx 二進制形式 ,011=3可寫可執行
① chmod 754 1.cfg
:給1.cfg檔案(-rw------)設定許可權,所有者擁有所有許可權,同組使用者擁有讀和執行許可權,其他使用者只讀許可權
屬主:所屬的使用者(檔案的主人)
屬組:所屬的使用者組
chown -R 使用者名稱 資料夾路徑
:遞回更改檔案所屬使用者
chown 使用者名稱 檔案路徑:
更改檔案所有者
chgrp -R 使用者組名 資料夾路徑
:遞回更改檔案所屬組
chgrp 使用者組名 檔案路徑:
更改檔案所屬組
chown -R 使用者名稱:使用者組名 文件路徑
: 同時該使用者和組名
sudo(switch user do),讓root使用者事先定義某些特殊命令誰可以執行
sudo組態檔:/etc/sudoers
visudo
開啓,之後使用方法和vim一致在寫sudo規則的時候不建議寫直接形式的命令,而是寫命令的完整路徑,路徑可以使用
which 指令名稱
檢視
輸入visudo新增命令:
爲使用者新增完命令之後,執行的時候要加 sudo useradd 使用者名稱
,sudo passwd 使用者名稱
passwd root命令不可執行 !/usr/bin/passwd root
ping 主機地址
(ip,主機名,域名等):檢測當前主機與目標主機之間的連通性
與windows的區別:linux數據包預設一直髮送(類似windows中的 ping 地址 -t
),windows預設發送4個數據
netstat -tnlp
:檢視網路的連線資訊(-t:tcp協定,-n:將字母轉化爲數位,-l:監聽,-p:進程相關資訊)
netstat -an
:-a表示全部
traceroute 目標主機
:檢視當前主機與目標主機之間所有的閘道器(路由資訊),會給沿途各個路由器發送icmp數據包【類似windows的tracert 目標主機
】
地址解析協定,arp(address resolution protocol):根據IP地址獲取MAC地址的協定
arp -a
:檢視本地mac表
arp -d ip地址
:刪除mac表中某條記錄
作用:抓取數據包
tcp 協定
tcpdump port 埠
tcpdump host 地址
tcpdump -i 網絡卡裝置名
shell是一種C語言編寫的程式,是命令語言,也是一種程式設計語言。
#!/bin/bash
:【註釋】指定告知系統當前這個指令碼要使用的shell直譯器
檔案命名規範:檔名.sh
.sh 是linux下bash shell的預設後綴
① 建立.sh檔案:touch
或者vim
② 編寫shell程式碼
③ 執行shell指令碼:指令碼必須得有執行許可權
#!/bin/bash
useradd shelltest
touch /home/shelltest/try.html
./test2.sh
/bin/bash test2.sh
雙引號能夠識別變數,雙引號可以實現跳脫
單引號不能識別變數只能直接字串式輸出,單引號不能跳脫
反引號(esc鍵下方的那個鍵):當指令碼中需要執行一些指令並且將執行的結果賦給變數的時候需要使用反引號
`
readonly 變數名
:宣告變數爲只讀變數
unset 變數名
:刪除變數
read -p 提示資訊 變數名
:接收輸入,將輸入作爲參數賦給變數
if condition
then
command1
command2
...
fi
單行寫法:if[condition];then command;fi
if condition
then
command1
command2
...
else
command
fi
if condition1
then
command1
elif condition2
then
command2
...
else
commandN
fi
expr
表達式計算工具:用反引號括起來,表達式和運算子之間要有空格,例如:var=`expr`空1空+空2
注意空格,運算子前後要有空格
關係運算符只支援數位,不支援字串,除非字串的值是數位
-eq:equal
-ne:not equal
-gt:great than
-lt:less than
-ge:great than or equal
-le:less than or equal
接收命令參數:
例如:./test.sh a b c
通過指令碼 $1 獲取a值,$2 獲取b值, $3 獲取c值
user -add 新增使用者
user -del 刪除使用者及其家目錄
設定操作:指定軟體的安裝目錄、需要的依賴在什麼地方、指定不需要可選依賴、組態檔的路徑、通用數據儲存位置等等
- 指定安裝的路徑:
--prefix=路徑
- 需要依賴的路徑:
--with-PACKAGE 名=包所在位置
- 不需要依賴:
--without-PACHAGE 名
例如:
rpm相關指令:
案例:使用二進制包安裝lynx(一款純命令列的瀏覽器)
yum list
:列出當前以及裝的和可以安裝的全部軟體yum search 名
:搜尋指定關鍵詞的包yum -y install 包名
:安裝指定的包 -y表示預設允許yum -y update 包名
:更新指定的包,不指定包則更新全部軟體yum -y remove 包名
:解除安裝最好不要寫-y,可以再次確認是否刪除yum install mysql-server
service mysqld start
:啓動mysql服務(加d表示守護行程)
mysql_secure_installation
:啓動mysql,可修改root密碼
mysql -u 使用者名稱 -p
:進入mysql
exit
:退出mysql
數據庫儲存目錄:/var/lib/mysql
組態檔:/etc/my.cnf
show databases;
顯示mysql所有的數據庫
create database;
庫名; 建立新的數據庫
drop database;
庫名; 刪除已有數據庫
use 庫名;
使用指定的數據庫
delete from 表名;
數據表內容數據清掉,自增id會保留
truncate table 表名;
自增id也一同會被清掉
mysqldump -u [數據庫使用者名稱] -p -A>[備份檔案的儲存路徑];
導出所有數據庫
mysqldump -u [數據庫使用者名稱] -p [要備份的數據庫名稱]>[備份檔案的儲存路徑];
導出數據和數據結構
mysqldump -u [數據庫w使用者名稱] -p -t [要備份的數據庫名稱]>[備份檔案的儲存路徑];
只導出數據不導出數據結構
mysqldump -u [數據庫使用者名稱] -p -E [數據庫使用者名稱]>[備份檔案的儲存路徑];
導出數據庫中的Events
mysqldump -u [數據庫使用者名稱] -p -R [數據庫使用者名稱]>[備份檔案的儲存路徑];
導出數據庫中的儲存過程和函數
mysql>source [備份檔案的儲存路徑];
從外部檔案匯入數據庫中
mysql -u root –p < [備份檔案的儲存路徑];
從外部檔案匯入數據庫中
mysqldump -u使用者名稱 -p數據庫名 > 導出的檔名;
備份數據庫
flush privileges
:重新整理許可權表
Nginx:是一款比較流行的web伺服器軟體,類似於Apache
① 下載nginx:nginx下載官網,選定版本,右鍵複製地址,
在/usr/local/src下安裝:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
② 解壓安裝包tar -zxvf nginx-1.18.0.tar.gz
③ 安裝pcre:
cd /usr/local/src/
:切換目錄
wget https://sourceforge.net/projects/pcre/files/pcre/8.35/pcre-8.35.tar.gz --no-check-certificate
:獲取安裝包
tar zxvf pcre-8.35.tar.gz
:解壓安裝包
cd pcre-8.35
:切換到解壓後pcre目錄
./configure
:設定pcre
make && make install
:編譯安裝pcre
pcre-config --version
:檢視pcre版本
④ 安裝zlib : yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
安裝ssl:yum -y install openssl openssl-devel
⑤ 設定nginx
cd nginx-1.18.0
:進入nginx解壓目錄
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35/
–prefix指定在安裝目錄:/usr/local/nginx
⑥ 編譯安裝nginx
make && make install
:編譯安裝
/usr/local/nginx -v
:檢視nginx版本
/usr/local/nginx/sbin/nginx
:啓動nginx
/usr/local/nginx/sbin/nginx -s reload
:過載,組態檔修改後執行
/usr/local/nginx/conf/nginx.conf
:組態檔
如果80埠被佔用,關閉apache:service httpd stop