心智圖資源庫 Linux指令吐血總結
這是一篇關於Linux指令吐血總結的心智圖,包含帳戶管理、系統管理、文件管理、程式管理、軟體管理等。
編輯於2023-12-12 15:24:49Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Linux
系統管理
記憶體
查看記憶體
free -h
查看交換空間大小
grep SwapTotal /proc/meminfo
查看磁碟使用情況
df -h
查看記憶體總數
cat /proc/meminfo | grep MemTotal
cpu
查看cpu核數
cat /proc/cpuinfo | grep "processor" |sort |uniq | wc -l
看cpu、記憶體、SWAP使用率
top
行程
即時顯示進程的動態(top)
-i : 不顯示任何閒置 (idle) 或無用 (zombie) 的行程
顯示目前進程(ps)
查看Java進程
jps -lm
查看進程的詳細信息
ps -ef|grep java
查看目前進程
ps aux | less
查看指定的連接埠號
netstat -tunlp |grep 連接埠號
終止行程
kill -9 進程
後台運行
nohup
查看殭屍行程
ps ef | grep defunct
網路/IO
查看連接埠是否被佔用
sudo netstat -tunlp | grep 44444
網路
網路防火牆
查看防火牆的狀態
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall開機啟動
禁止firewall開機啟動
重啟防火牆
firewall-cmd --reload
nc(natcat)
IO
查看磁碟IO使用情況
系統
修改系統時間
tzselect
查看系統時間
date
定時任務
crontab
重啟
reboot
修改linux root@後面的別名
vi /etc/hostname
查看Linux版本
cat /proc/version
查看目前運行級別
runlevel
檢查系統位數
uname -uname -m
修改內核訊息
vim /etc/redhat-release
服務
什麼是守護程式與服務
守護程式的主要分類
獨立守護程式
超級守護程式
工作形態
命令守則
服務與連接埠的對應:/etc/services
守護程式的啟動腳本與啟動方式
設定檔
獨立守護程式的啟動方式
/etc/init.d/*啟動
service
超級守護程式的啟動方式
解析超級守護程式的設定檔
服務的防火牆管理 xinetd,TCP Wrappers
系統開啟的服務
觀察系統啟動的服務:netstat
配置啟動後立即啟動服務的方法
chkconfig:管理系統服務預設啟動與否
ntsysv:類別圖形介面管理模式
chkconfig:增加、刪除系統服務
帳戶管理
使用者
useradd(新使用者)
useradd
useradd sun
新建用戶sun
-c
useradd -c <描述內容> sun
指定一段註解性描述
useradd -c "admin" sun
-d
useradd -d <用戶主目錄>
useradd –d /usr/sam -m sam
此指令建立了一個使用者sam,其中-d和-m選項用來為登入名稱sam產生一個主目錄/usr/sam(/usr為預設的使用者主目錄所在的父目錄)
-g
useradd -g
useradd -g group1 sun
指定使用者所屬的使用者群組
-u
指定用戶號
建立密碼
指令:passwd user
例:passwd muye
查看所有用戶
cat /etc/passwd
userdel(刪除使用者)
userdel <選項>
userdel sun
-r
userdel -r
把使用者的主目錄一起刪除
userdel -r sam
此指令刪除使用者sam在系統檔案中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除使用者的主目錄
usermod(修改使用者)
修改與使用者有關屬性,如使用者號碼、主目錄、使用者群組、登入Shell等
-c
usermod -c <描述內容>
usermod -c "test" sun
修改使用者的描述訊息
-d
usermod -d <新的使用者主目錄>
修改使用者所屬主目錄
-g
usermod -g <使用者群組>
修改用戶所屬的群組
-G
usermod -G <使用者附加群組>
修改用戶所屬的附加群組
-s
修改使用者登入Shell
-u
修改用戶號
-o
可重複使用使用者的識別號
passwd(修改密碼)
passwd -l
鎖定口令,即停用帳號
passwd -u
口令解鎖
passwd -d
使帳號無口令
passwd -f
強迫使用者下次登入時修改口令
切換帳戶
su/sudo - auth
使用者群組
新建用戶群組
groupadd
-o
一般與-g選項同時使用,表示新使用者群組的GID可以與系統已有使用者群組的GID相同
-g
groupadd -g
groupadd -g 101 group2
此指令為系統中增加了一個新群組group2,同時指定新群組的群組識別號碼是101。
groupadd group1
此指令為系統中增加了一個新群組group1 新群組的群組識別號碼是在目前已有的最大群組識別號碼的基礎上加1
刪除使用者群組
groupdel
eg: groupdel es
查看使用者群組
cat /etc/group
文件管理
文件
輸入
tee
jstack 2132 | tee aa
查看
查看末尾100行
tail -n 100 filename
監控末尾100行
tail -100f filename
分頁查看more、less(less支援向前翻頁)
less filename
查看隱藏文件
ls -a
字體顏色代表意思
拷貝
本地拷貝
cp /root/a.txt /root/home
在A伺服器上將/root/lk目錄下所有的檔案傳輸到B的/home/lk/cpfile目錄下
scp -r /root/lk root@43.224.34.73:/home/lk/cpfile
刪除
大量刪除指定內容文件
find . -maxdepth 1 -regex ".*04.*" -exec rm -rf {} \;
刪除資料夾中的文件
rm -f *;
重新命名
mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql
壓縮
zip
zip -r mysql.zip mysql
將mysql資料夾壓縮成mysql.zip
tar
範例:tar -zcvf /home/xahot.tar.gz /xahot
打包/xahot目錄
語法:tar [必要參數][選擇參數][檔]
c:(create)建立新的備份文件
v:(verbose)顯示指令的執行過程
f:(file)置頂備份文件
z:(gzip或ungzip)透過gzip指令處理備份文件
x:從備份檔案還原文件
解壓縮
unzip
解壓縮到當前目錄
unzip mysql.zip
解壓縮到指定目錄
unzip mysql.zip -d /tmp
tar
解壓縮到當前目錄
tar -zvxf xxx.tar.gz
清空
cat /dev/null > file_name
目錄
切換目錄
切換絕對目錄
cd /usr/local
切換相對目錄
cd ./local
拷貝目錄
cp -r dir1 dir2
表示將dir1及其dir1下所包含的檔案複製到dir2下
建立新目錄
建立一個目錄
mkdir test
建立多層目錄
mkdir -p /test/test1/test2
顯示目前文件所在的目錄
pwd
刪除目錄
刪除單一目錄
rmdir test
刪除多層目錄
rmdir test/test2/test3
查看某個目錄前20個大文件
du -h | sort -nr |head -20
命令與文件的搜索
搜尋命令文件
which
文件搜尋
whereis(尋找特定文件)
locate
find
權限
修改使用者權限
chown 帳號名稱 檔案或目錄
chown muye software/
修改使用者群組權限
chgrp -R 帳號名稱 檔案或目錄
chgrp -R muye software/
同時修改使用者和使用者群組
chown -R 所有者使用者名稱.群組名稱 資料夾名稱
chown -R muye.muye zipFloder/
修改目前使用者權限
chmod wx filename
chmod -R 777 /upload
程式管理
什麼是進程
進程與程式
程式與進程的定義
子進程與父進程
fork and exec:過程呼叫的流程
系統或網路服務:常駐在記憶體的進程
Linux的多用戶、多工環境
多用戶環境
多工行為
多重登陸環境的七個基本終端窗口
特殊的進程管理行為
bash環境下的工作管理:使用&符號
多用戶、多任務的系統資源分配問題考慮
工作管理
job control的管理
直接將指令丟到後台中「執行」的&
將目前的工作丟到後台中「暫停」:[ctrl]-z
查看目前的後台工作狀態:jobs
將後台工作拿到前台處理 : fg
讓工作在背景下的狀態變成運作中 : bg
管理後台當中的工作:kill
強制關閉工作:kill -9 %number
正常關機工作:kill -15 %number
離線管理問題
nohup指令
行程管理
進程的檢視
ps
僅查看自己的bash相關進程:ps -l
查看系統所有進程:ps aux
top : 動態檢視進程的變化
pstree:進程關聯性
行程的管理
kill
killall
關於程序的執行順序
Priority(PRI) 與 Nice(NI) 值
PRI無法直接更改
NI可以更改
新執行的指令即給予新的Nice值:nice
已存在程式調整Nice值:renice
系統資源的觀察
free:觀察內存
uname:查看系統與核心相關訊息
uptime:查看系統啟動時間與工作負載
netstat:追蹤網絡
dmesg:分析內核產生的信息
vmstat:檢測系統資源變化
特殊文件與程式
具有SUID/SGID權限的命令執行狀態<br>
/proc/* 代表的意義
查詢已開啟文件或已執行程式開啟的文件
fuser:透過檔案(或檔案系統)找到正在使用該檔案的程序
lsof:列出被進程所開啟的檔名
pidof:找出某個正在執行的程序的PID
SELinux初探
軟體管理
軟體管理器介紹
Linux界的兩大主流:RPM與DPKG
什麼是RPM與SRPM
什麼是i386、i586、i686、noarch、x86_64
RPM的特點
RPM屬性依賴的解決方式:YUM線上升級
RPM軟體管理程序:rpm
檢查目錄下是否安裝了某個軟體
rpm -qa | grep vnc(檔案名稱)
尋找軟體的安裝位置
RPM預設安裝的路徑
RPM安裝
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
RPM升級與更新(upgrade/freshen)
RPM查詢(query)
RPM驗證與數位憑證(Verify/Signature)
卸載RPM與重建資料庫(erase/rebuilddb)
查看軟體連接埠
netstat -antup | grep ftp (查看ftp的連接埠)
SRPM的使用:rpmbuild
YUM
管理的抉擇:RPM還是Tarball
查看yum來源
ll /etc/yum.repos.d/
查看yum 來源是否好使
yum list
清緩存
yum clean all
更新
yum update
Shell
Vim
將遊標移到行尾
shift 4
將遊標移到行首
shift 6(0)
移動到文件第一行
gg
移動到問價最後一行
shift g
移到行首
0
移到行尾
shift 4
尋找指定內容
用vi開啟後: / 關鍵字
未用檔案開啟:cat 檔案名稱 | grep 關鍵字
游標
遊標移到行首
^ ,&
認識與學習BASH
shell的變數功能
變數定義
變數的顯示與設定
變數的配置守則
環境變數的功能
使用env觀察環境變數與常見環境變數說明
使用set觀察所有變數(含環境變數與自訂變數)
PS1: (命令提示字元的設定)
$ : (關於本shell的PID)
? : (關於上個運行指令的回傳值)
OSTYPE, HOSTTYPE, MACHTYPE:(主機硬體與核心的等級)
export: 自訂變數轉變為環境變數
影響顯示結果的語系變數(locale)
變數的有效範圍:export
變數鍵盤讀取、陣列與定義
讀取:read
定義:declare
資料變數類型
檔案系統及程式的限制關係:ulimit
變數內容的刪除、取代與替換
命令別名與歷史命令
命令別名配置
alias:設定指令別名
unalias:取消指令別名
Bash shell的操作環境
路徑與命令搜尋順序
history:歷史指令
bash的進站與歡迎訊息:/etc/issue,/etc/motd
bash的環境設定檔
login模式使用shell
讀取設定檔
/etc/profile:這是系統整體的配置
呼叫設定檔
/etc/inputrc<br>
/etc/profile.d/*.sh
/etc/sysconfig/i18n
~/.bash_profile 或 ~/.bash_login 或 ~/.profile:屬於個人的配置
喚醒設定檔
~/.bashrc
喚醒設定檔
/etc/bashrc
non-login模式使用shell
source:讀取環境設定檔的命令
讀取設定檔
~/.bashrc
喚醒設定檔
/etc/bashrc
其他相關設定檔
/etc/man.config
~/.bash_history
~/.bash_logout
終端機的環境配置:stty,set
通配符與特殊符號
資料流重定向
輸出類型
標準輸出
標準錯誤輸出
/dev/null垃圾桶黑洞設定與特殊寫法
tee: 雙向重定向
命令運行的判斷依據
cmd;cmd(不考慮連續命令相關性的連續命令下達)
$?(指令回傳值)與&&或||
管道命令
截取指令
cut
grep
排序與統計指令
sort
uniq
wc
字符轉換命令
tr
col
join
參數代換
xargs
正規表示式與檔案格式化處理
基礎正規表示式
編碼對正規表示式的影響
grep的高階應用
基礎正規表示式字符
sed工具
擴展正規表示式
文件的格式化與相關處理
格式化列印:printf
好用的資料處理工具:awk
其他
日誌管理
將錯誤日誌輸出到前台
-foreground
磁碟的分隔、格式化、檢驗與掛載
磁碟分割區
fdisk
磁碟格式化
mkfs
mke2fs
磁碟檢測
fsck
磁碟掛載與拆卸
掛載命令:mount
卸載命令: unmount
磁碟參數修訂
磁碟參數修改
登陸文件
什麼是登陸文件
登陸文件的重要性
解決系統方面的錯誤
解決網路服務的問題
過往事件記錄
常見檔案名稱
/var/log/cron : 例行性工作日誌
/var/log/dmesg:記錄系統在啟動的時候核心偵測過程所產生的各項資訊
/var/log/lastlog:可以記錄系統上面所有帳號最近一次登陸系統時的相關資訊
/var/log/maillog或/var/log/mail/*:記錄郵件的往來資訊。
/var/log/messages:幾乎系統發生的錯誤訊息(或重要資訊)都會記錄在這個檔案中
/var/log/secure:只要牽扯到需要輸入帳戶口令的軟體,那麼當登陸時都會被記錄在此文件中。
/var/log/wtmp,/var/log/faillog:這兩個檔案可以記錄正確登陸系統者的帳號資訊與錯誤登陸時所使用的帳號訊息
/var/log/httpd/*,/var/log/news/*,/var/log/samba/*:不同的網路服務會使用它們自己的登陸檔案來記錄它們自己產生的各種資訊。
登陸文件所需相關服務與程序
syslogd(rsyslog):主要登陸系統與網路等服務的訊息
klogd:主要登陸核心所產生的各種數據
logrotate:主要在進行登陸檔案的輪替功能
syslogd:記錄登陸檔案的服務
登陸文件內容的一般格式
syslog的設定檔:/etc/syslog.conf
服務名稱:根據服務類別區分
資訊等級:共七個等級,從1到7
資訊記錄的檔案名稱活裝置或主機
登陸檔案的安全性配置
登陸檔案伺服器的配置
登陸文件的輪替
分析登陸文件
CentOS預設提供的logwatch
鳥哥自己寫的登陸檔案分析工具
圖形介面
查看是否安裝圖形介面
startx
啟動字元介面
sudo init 3
啟動圖形介面
sudo init 5
文件傳輸
curl
Docker
常用命令
啟動Docker:sudo service docker start
重啟容器:docker restart 容器名
列出所有容器 ID:docker ps -aq
停止所有容器:docker stop $(docker ps -aq)
停止單一容器:docker stop 要停止的容器名
刪除所有容器:docker rm $(docker ps -aq)
刪除單一容器:docker rm 要刪除的容器名
啟動容器:docker start id(可以簡寫)
刪除所有的映像:docker rmi $(docker images -q)
查看所有映像:docker images
啟動映像:docker run -d -p 8080:8080 tomcat
容器
容器遷移
鏡像
差別
部署應用
rabbitMq
tomcat
redis
elasticSearch
阿里雲
遇到的問題
快速解決阿里雲ECS伺服器ftp無法遠端連接
FTP連接阿里雲端伺服器時遇到的坑
雲端伺服器1核2G夠用嗎?
部署
使用Navicat連接阿里雲遠端MySQL資料庫
使用阿里雲伺服器部署elasticsearch,並在本機訪問