---------經常使用命令--------------node
echo 打印linux
————日期
[root@zsf ~]# date 顯示日期
2019年 07月 08日 星期一 18:03:48 CST
[root@zsf ~]# date "+%Y-%m-%d %H:%M:%S %j" 格式化顯示
2019-07-08 18:05:15 189(一年中多少天)
[root@zsf ~]# date -s "20190708 10:10:00" 修改日期
2019年 07月 08日 星期一 10:10:00 CST算法
reboot 重啓shell
poweroff 關閉系統vim
wget
-b 後臺下載模式
-p 下載到指定目錄 (下載頁面全部資源)
-t 最大嘗試次數
-c 短點續傳
-r 遞歸下載centos
ps 查看系統進程狀態
-a 顯示全部進程(包括其餘用戶進程)
-u 用戶及其餘詳細信息
-x 顯示沒有控制終端的進程安全
top 顯示系統負載信息bash
pidof 查詢進程pid號值
[root@zsf ~]# pidof sshd
7230 6408架構
kill 終止某個pid進程app
killall 終止某個指定名稱的服務所對應的所有進程
ifconfig 網卡配置 ifcfg-eth0 文件在/etc/sysconfig/network-scripts/下
uname 查看系統內核與系統版本
系統內核 uname-a
系統版本 [root@zsf network-scripts]# cat /etc/centos-release
CentOS release 6.8 (Final)
uptime 查看系統負載
[root@zsf network-scripts]# uptime
10:48:27 up 1:43, 2 users, load average: 0.00, 0.01, 0.05
free -h
系統內存的使用量信息 以gb顯示
who 當前登入主機的終端信息
last 查看全部系統登錄記錄
history 查看歷史命令
sosreport 收集系統配置和架構信息 輸出診斷文檔
---------------目錄切換-------------
pwd 顯示當前用戶所出的工做目錄
cd
ls
ll
---------------文本編輯-----------------
cat 查看純文本文件(內容較少的)
more 查看純文本文件(內容較多的)
head -n 20 查看文本的前20行
tail -n 20 查看文件的後20行
實時查看後多少行 tail -f
tr 【原始字符】【目標字符】 替換
cat 文件 | tr ‘[a-z]’‘[A-Z]’ 將文件中的小寫替換爲大寫
-c 用前字符串的補集替換此字符串字符集,要求字符集爲ASCII
-d 刪除前字符串的全部字符
-s 刪除全部重複出現的字符序列,保留一個
wc 統計指定文本行數
-l 只顯示行數
-w 只顯示單詞數
-c 只顯示字節數
/etc/passwd 系統用戶
stat 文件名 查看文件的存儲信息和時間信息
cut 按列提取文本字符
cut -
diff 比較多個文本之間文件的差別
---------------文件管理-----------------
touch 建立空白文件或設置文件的時間
-a 讀取時間 atime
-m 修改時間 mtime
-d 同時修改 atime與mtime
mkdir 建立文件夾 -p 建立多層文件夾
cp 複製文件或目錄
-p 保留原始文件的屬性
-d 若對象爲‘鏈接文件’,則保留該‘鏈接文件’屬性
-r 遞歸持續複製(用於目錄)
-i 若目標文件存在則詢問是否覆蓋
-a 至關於-pdr
mv 剪切文件或文件重命名
mv 源文件 【目標路徑 目標文件名】
rm 刪除文件或目錄 -f 強制刪除
-r 刪除目錄
dd 按照指定大小和個數的數據塊來複制或轉換文件
if= 輸入文件名稱
of= 輸出文件名稱
bs= 設置每一個塊的大小
count= 設置要複製塊的個數
[root@linuxprobe
dd if=/dev/cdrom of=RHEL server 7.0 x86 64 LinuxProbe.Com.iso
7311360+0
records in
7311360+0
records out
3743416320
bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
file 查看文件類型
---------------打包與壓縮-----------------
tar 對文件進行打包或壓縮
-c 建立壓縮文件
-x 解壓
-t 查看壓縮包裏有哪些文件
-z 用Gzip壓縮或解壓
-j 用bzip2壓縮或解壓
-v 顯示壓縮或解壓
-f 目標文件名
-p 保留原始的權限和屬性
-p 使用絕對路徑來壓縮
-c 指定解壓到那個目錄
建立通常用 tar -czvf 壓縮包名.tar.gz 要壓縮的目錄
解壓 tar -xzvf 壓縮包名.tar.gz
grep 用於在文本中執行關鍵詞搜索,屏顯示匹配結果
-b 將可執行文件(binary)看成文本文件搜索
-c 顯示找到的行數
-i 忽略大小寫
-n 顯示行號
-v 反向選擇 僅列出沒有關鍵詞的行
cat 文件 | grep 關鍵詞
[root@zsf home]# cat 表空間.txt |grep -c 表
20
find 按照指定條件來查找文件,好比(文件名、大小、修改時間、權限等)
-name 匹配名稱
-perm 匹配權限
-user 匹配全部者
-group 匹配全部組
-mtime -n +n 匹配修改時間 (-n 指n天之內,+n 指n天之前)
-atime -n +n 匹配訪問時間
-ctime -n +n 匹配修改文件權限的時間
-nouser 匹配無全部者的文件
-nogroup 匹配無全部組的文件
-newer f1 !f2 匹配比f1新 但比f2 舊的文件
--type b/d/c/p/l/f 匹配文件類型 (塊設備/目錄/字符設備/管道/連接文件/文本文件)
-size 文件大小
-prune 忽略某個目錄
-exec ······{}\; 後面可跟用於進一步處理搜索結果的命令
find / -user root -exec cp -a {} /home/ \;
意思是 在根目錄西安查找有root全部者的全部文件 執行復制 全部文件到 /home下
-----------------管道符、重定向、環境變量-------------------
標準輸入重定向(stdin) 默認從鍵盤輸入,也可從其餘文件或命令輸入
標準輸出重定向(stdout) 默認輸出到屏幕
錯誤輸出重定向(stderr) 默認輸出到屏幕
[root@zsf home]# man ls > read.txt 將查出的信息寫入 read中
[root@zsf home]# man ll >read.txt 在以前的基礎上追加
[root@zsf home]# echo > read.txt 清空read
[root@zsf home]# wc -l < read.txt 轉入wc輸出文本行數
--------------管道符-------------
| 鏈接多個命令
---------------通配符--------------
? 匹配一個或多個
* 匹配任意個
[ ] 在之中選一個
------------轉義---------------
反斜槓(\):使反斜槓後面的一個變量變爲單純的字符串。
單引號(''):轉義其中全部的變量爲單純的字符串。
雙引號(""):保留其中的變量屬性,不進行轉義處理。
反引號(``):把其中的命令執行後返回結果。
[root@zsf home]# p=5
[root@zsf home]# echo price is $$p 不用轉義符
price is 32265p
[root@zsf home]# echo price is \$$p 用轉義符
price is $5
[root@zsf home]# echo `uname -a`
Linux zsf 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
--------重要的10個環境變量---------
HOME 主目錄
SHELL 用戶在使用的shell解釋器名稱
HISTSIZE 輸出的歷史命令記錄條數
HISTFILESIZE 保存的歷史命令記錄條數
MAIL 郵件保存路徑
LANG 系統語言、語系名稱
RANDOM 生成一個隨機數字
PSL bash解釋器的提示符
PATH 定義解釋器搜索用戶執行命令的路徑
EDITOR 用戶默認的文本編輯器
自定義變量 簡化較深層的路徑(這種變量不具備全局性,做用範圍有限,不能被其餘用戶使用)但若是有須要,能夠用export提高爲全局變量
[root@zsf ~]# mkdir /home/kkk
[root@zsf ~]# WORK=/home/kkk/
[root@zsf ~]# echo $WORK
[root@zsf ~]# cd $WORK
搜索所執行的命令的路徑
[root@zsf home]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
----------vim文本編輯器-------------------
命令模式:控制光標移動,可對文本進行復制、粘貼、刪除、查找等公國
輸入模式:正常的文本錄入
末行模式:保存或退出文檔,以及設置編輯環境
------------經常使用命令--------------
dd 剪切/刪除光標所在整行
5dd 剪切/刪除光標處考試的5行
yy 複製光標所在整行
5yy 複製從光標處開始的5行
n 顯示搜索命令定位到的下一個字符串
N 顯示搜索命令定位到的上一個字符串
u 撤銷上一步操做
p 將以前刪除(dd)或複製(yy)的數據粘貼到光標後面
----------------末行模式
:w 保存
:q 退出
:q!強制退出
:wq! 強制保存退出
:set nu 顯示行號
:set nonu 不顯示行號
:命令 執行該命令
:整數 跳轉到該行
:s/one/two 將當前光標所在行的第一個one 替換成two
:s/one/two/g 將當前光標所在行的全部one 替換成two
:%s/one/two/g 將全文中的全部one 替換成two
?字符串 在文本從下至上搜索該字符串
/字符串 在文本中從上至下搜索該字符串
修改主機名
vim /etc/sysconfig/network
修改網卡信息
[root@zsf etc]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:5A:47:AC
TYPE=Ethernet
UUID=12d5cf31-6820-4e86-8d52-35da3ac0a373
ONBOOT=yes --開機自啓
NM_CONTROLLED=yes
BOOTPROTO=dhcp
配置yum軟件倉庫
yum配置文件
[root@zsf etc]# cd /etc/yum.repos.d/
[root@zsf yum.repos.d]# ll
總用量 24
-rw-r--r--. 1 root root 1991 5月 19 2016 CentOS-Base.repo
-rw-r--r--. 1 root root 647 5月 19 2016 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 289 5月 19 2016 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 5月 19 2016 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 5月 19 2016 CentOS-Vault.repo
--未完
------------------------------編寫shell腳本--------------------
賦值
name=20
name=kewen
調用值
$name
判斷
if [ $name -eq kewen ]
then
echo "一致"
fi
if [ $name -eq kewen ] ;then
echo "一致"
elif
echo "不一致"
fi
條件符號
-eq 等於
-ne 不等於
-gt 大於
-lt 小於
-ge 大於等於
-le 小於等於
----------循環----------
while true
do
...
exit 0 -----退出
done
for 變量 in `cat 列表/內容.txt` --反引號也能夠變成 $(cat ...)
do
命令 調用變量
useradd $變量
done
case $變量 in
[...]) -------奇怪的括號
echo ...
;; ---------奇怪的語法
[...])
echo ...
;;
*)
echo ...
esac
---------------------------系統時間校準------------------------
1.date {查看目前本地的時間}
2.hwclock --show {查看硬件的時間}
3.若是硬件時間和系統時間不一樣,那就對硬件的時間進行修改
4.hwclock --set --date '2019-12-15 15:15:15' {設置硬件時間爲14年12月15日15點15分15秒}
5.hwclock --hctosys {設置系統時間和硬件時間同步}
6.clock -w {保存時鐘}
--------------計劃任務服務程序-----------
echo"命令" | at 時間
crond設置任務
分 0-59 必定要有
時 0-23
日 1-31 若是沒有能夠用* 或者用 - 表示一個時間段
月 1-12 若是沒有能夠用*
星期 0-7(0和7都是星期日) 多天能夠用,隔開
命令 執行的命令或程序腳本
星期 和 日 不能同時有值 不然衝突
時間間隔 能夠用 / ---- */2 表示每隔兩分鐘執行一次
--------------身份用戶 文件權限
useradd 用戶名 建立用戶
-d 指定用戶家目錄
-e 帳戶到期時間 格式爲 YYYY-MM-DD
-u 指定改用戶的默認UID
-g 指定一個初始的用戶基本組(必須已存在)
-G 指定一個或多個基本用戶組
-N 不建立與用戶同名的基本用戶組
-s 指定該用戶的默認Shell解釋器
userdel 用戶名 刪除用戶
groupadd 羣組名 可以對一類用戶統一安排權限
usermod 用戶名 修改用戶的屬性
-c 填寫用戶帳戶備註信息
-d -m 參數-m 與參數-d 連用,可從新指定用戶的家目錄並自動把舊的數據轉義過去
-e 帳戶的到期時間,YYYY-MM-DD
-g 變動所屬用戶組
-G 變動擴展用戶組
-L 鎖定用戶禁止其登錄系統
-U 解鎖用戶
-s 變動默認終端
-u 修改用戶UID
passwd 用戶名 而後修改密碼 root用戶修改其餘用戶密碼不須要驗證舊密碼
-l 鎖定用戶
-u 解鎖
--stdin 容許經過標準輸入修改用戶密碼 例: echo "newpassword" | passwd --stdin username
-d 使該用戶可用空密碼登錄系統
-e 強制用戶在下次登錄時修改密碼
-s 顯示用戶的摩瑪是否被鎖定,以及密碼所採用的加密算法名稱
---------------文件權屬
-:普通文件。
d:目錄文件。
l:連接文件。
b:塊設備文件。
c:字符設備文件。
p:管道文件。
chmod 修改權限
chown 修改全部者全部組
-------------------------文件隱藏屬性
chattr 文件名 設置文件的隱藏權限
+i 沒法對文件進行修改 若是時目錄 僅能修改其中子文件內容而布恩那個新建或刪除文件
+a 僅容許補充內容,沒法覆蓋/刪除內容
+S 文件內容在變動後當即同步到硬盤
+s 完全從硬盤刪除,不可恢復(用0填充文件所在硬盤區域)
+A 不子啊修改這個文件或目錄的最後訪問時間
+b 不在修改文件或目錄的存取時間
+D 檢查壓縮文件中的錯誤
+d 使用dump命令備份時忽略本文件/目錄
+c 默認將文件或目錄進行壓縮
+u 當刪除該文件後依然保留其在硬盤中的數據,方便往後恢復
+t 讓文件系統支持尾部合併(tail-merging)
+X 能夠直接訪問壓縮文件中的內容
lsattr 文件 顯示文件的隱藏權限
顯示完是什麼屬性就能夠經過 - 去掉該屬性
-------------------文件訪問控制
setfacl 管理ACL規則,控制讀寫執行權限
-R 遞歸參數
-m 針對普通文件
-b 刪除ACL
getfacl 顯示文件上設置的ACL信息,查看
-----------------su 和sudo
visudo 能夠更改配置文件,誰可使用 容許使用的主機=(以誰的身份) 可執行的命令列表
在98行
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zsf ALL=(ALL) ALL ---可是這種方式不能在生產環境中,
zsf ALL=(ALL) 命令的絕對路徑 --須要有限的給予權限,用whereis肯定命令路徑,而後給權限
sudo 添加NOPASSWD參數,不須要輸入密碼
root ALL=(ALL) ALL
zsf ALL=NOPASSWD: 絕對路徑
使用時某個root權限才能看的文件命令時 前面加個sudo 就好
------------------------存儲結構與磁盤劃分
mount 掛載文件系統
-a 掛載全部在/etc/fstab中定義的文件系統
-t 指定文件系統的類型
umount 卸載
umount /dev/sdb2
--------------------------------------掛載和永久生效---------------
fdisk 【硬盤名】 管理磁盤分區
-m 查看所有可用的參數
-n 添加新的分區
-d 刪除某個分區信息
-l 列出某個分區的類型
-t 改變某個分區的類型
-p 查看分區信息
-w 保存並退出
-q 不保存直接退出
建立完畢以後格式化 mkfs tab鍵查看類型並選擇
[root@zsf ~]# mkfs.ext4 /dev/sdb1
[root@zsf ~]# mkdir /newFS ---建立一個新的文件夾
[root@zsf ~]# mount /dev/sdb1 /newFS/ ---掛載到這個文件夾中
[root@zsf ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_zsf-lv_root
18G 2.2G 15G 14% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 477M 40M 412M 9% /boot
/dev/sdb1 9.8G 23M 9.2G 1% /newFS
讓掛載永久生效 vim /etc/fstab
/dev/sdb1 /newFS ext4 defaults 0 0
---------------------------------------
du 查看文件數據佔用量
-----------添加交換分區----------------------
前面和擴展硬盤同樣
格式化命令則用的時 mkswap 路徑
配置文件裏面加上格式 swap swap 其餘同樣
----------------------磁盤容量配額-----------------
quota 命令 能夠限制某用戶的硬盤使用額度
在 /etc/fstab 中增長一個uquota
xfs_quota 配額 文件系統
xfs quota x c 'limit bsof t=3m bhard=6m isoft=3 ihard=6 tom' /boot
edquota 用戶
edquota u tom
----------------------軟硬方式連接--------------------
硬連接( hard link ):指向原始文件的inode的指針,每增長一個硬連接,則inode 增長1
軟連接 (符號連接 sysbolic link):僅僅包含所連接文件的路徑名,能夠連接目錄文件,但若是原始文件被刪除,則無效
ln 建立連接文件
-s 建立符號連接
-f 強制建立文件或目錄的連接
-i 覆蓋前先詢問
-v 顯示建立連接的過程
建立軟鏈接
ln 原始文件路徑名 如今的路徑名
--------------------------------raid 與 lvm 磁盤陣列技術------------------------
RAID 獨立冗餘磁盤陣列
RAID 0
將多塊物理硬盤經過硬件或軟件方式串聯在一塊兒,組成一個大的卷組,將數據一次寫入到各個物理硬盤中,提高數倍的讀寫速度,若是任意一塊硬盤故障就會致使整個系統收到破壞
RAID 1
在RAID 0的基礎上,將數據同時存儲在每塊硬盤上,故障時,自動以熱交換的方式恢復正常使用
RAID 5
RAID5技術是把硬盤設備的數據奇偶校驗信息保存到其餘硬盤設備中。
RAID 5磁盤陣列組中數據的奇偶校驗信息並非單獨保存到某一塊硬盤設備中,而是存儲到
除自身之外的其餘每一塊硬盤設備上,這樣的好處是其中任何一設備損壞後不至於出現致命
缺陷;
RAID這樣的技術特性「妥協」地兼顧了硬盤設備的讀寫速度、數據安全性
與存儲成本問題。
RAID 10
RAID 10技術須要至少 4塊硬盤來組建,其中先分別兩兩製做成 RAID 1磁盤陣列,以保
證數據的安全性;而後再對兩個 RAID 1磁盤陣列實施 RAID 0技術,進一步提升硬盤設
備的讀寫速度。這樣從理論上來說,只要壞的不是同一組中的全部硬盤,那麼最多可 以損
壞 50%的硬盤設備而不丟失數據。
---------------部署磁盤陣列
在虛擬機系統關閉後增長四塊硬盤 ,而後並掛載、格式化、配置永久生效
mdadm 管理Linux系統中的軟件RAID陣列卡
-a 檢測設備名稱
-n 指定設備數量
-l 指定RAID級別
-C 建立
-v 顯示過程
-f 模擬設備損壞
-r 移除設備
-Q 查看摘要信息
-D 查看詳細信息
-S 中止RAID磁盤陣列
-------------------------------------lvm部署
表
7-2 經常使用的 LVM部署命令
/
掃描
pvscan
vgscan
lvscan
創建
pvcreate
vgcreate
lvcreate
顯示
pvdisplay
vgdisplay
lvdisplay
刪除
pvremove
vgremove
lvremove
擴展
vgextend
lvextend
縮小
vgreduce
lvreduce
--------------------iptables 與 firewalld防火牆
--get default zone 查詢默認的區域名稱--set default zone=< 區域名稱 設置默認的區域,使其永久生效--get zones 顯示可用的區域--get services 顯示預先定義的服務--get active zones 顯示當前正在使用的區域與網卡名稱--add source= 將源自此IP或子網的流量導向指定的區域--remove source= 再也不將源自此IP或子網的流量導向某個指定區域--add interface=< 網卡名稱 將源自該網卡的全部流量都導向某個指定區域--change interface=< 網卡名稱 將某個網卡與區域進行關聯--list all 顯示當前區域的網卡配置參數、資源、端口以及服務等信息--list all zones 顯示全部區域的網卡配置參數、資源、端口以及服務等信息--add service=< 服務名 設置默認區域容許該服務的流量--add port=< 端口號 協議 設置默認區域容許該端口的流量--remove service=< 服務名 設置默認區域再也不容許該服務的流量--remove port=< 端口號 協議 設置默認區域再也不容許該端口的流量--reload 讓「永久生效」的配置規則當即生效,並覆蓋當前的配置規則--panic on 開啓應急情況模式--panic off 關閉應急情況模式