設定永久指令行啟動:
syetemctl set-default multi-user.target
檢視LINUX發行版本(centOS):
cat /etc/redhat-release
lsb_release -a (使用前需安裝 yum install -y redhat-lsb)
查詢CPU資訊:
cat /proc/cpuinfo |grep "model name" | uniq
查詢記憶體資訊:
cat /proc/meminfo |grep MemTotal
查詢記憶體使用情況:
free -hl
查詢硬碟大小:
df -hl
檢視所有分區及總容量:
fdisk -l
對sdb硬碟進行分區:
fdisk /dev/sdb
檢視端口是否占用:
**顯示所有連接配接中的socket:**
netstat -anp|grep 端口号 【tcp對應端口有LISTEN,表被使用】
**僅顯示與tcp有關的:**
netstat -ntl
檢視linux系統的核心版本:
cat /proc/version
檢視正在使用的核心版本:
uname -r
rpm -qa |grep kernel-devel
顯示機器的處理器架構(x86_64)
uname -m
檢視目前使用終端:
who am i
檢視所有終端:
who
顯示系統日期:
date / date + %Y%m/%d(設定顯示的格式)
顯示月曆表(+y 可顯示年月曆表):
cal
顯示網卡資訊:
ifconfig
測試機器連通情況:
ping -c n Ip/域名 n表示指定次數
擷取應用程序:
ps -aux|grep 應用名稱
動态實時顯示CPU、記憶體、程序等情況:
top
top -d 2 -p 程序号 (d:資料更新的秒數)
檢視伺服器狀态(記憶體、cpu、io讀寫情況):
vmstat 2 10 (每2s采集一次,共采集10次)
檢視io讀寫情況、CPU使用情況:
iostat
檢視CPU使用情況:
sar -u 3 5 (3s一次,共5次)
評估磁盤性能:
sar -d 2 4 (2s一次,共4次)
強制殺死程序:
kill -9 程序号
檢視正在運作的服務:
systemctl
程序:
三種狀态:
就緒:獲得了除CPU之外的所有資源
執行:獲得了全部資源,正在執行
阻塞:由于其他事件導緻程序無法繼續執行
終止/暫停某工作: ctrl c / z
檢視背景所有任務: jobs
+:即将被fg釋放的對象
-:即将被fg操作的下一個對象
切換任務: fg %任務編号
檢視所有使用者的tty程序: ps -aux
檢視目前使用者的所有程序: ps -ef
Linux中的檔案/目錄顔色含義:
藍色:目錄 綠色:可執行檔案
淺藍: 軟連結 灰色:其他檔案
黃色:與裝置有關的檔案 紅色:壓縮檔案/損壞的軟連結
Linux下的目錄結構:
/:根目錄
root:使用者屬主目錄
home:普通使用者的屬主目錄
etc:啟動檔案、配置檔案、腳本
boot:系統核心檔案
dev:與裝置相關的檔案
lib:編譯程式用到的函數庫
usr:安裝的應用程式
bin:普通使用者常用的指令
sbin:系統管理常用的指令
var:系統日志檔案log
mnt:挂載時建議使用的目錄
media:自動挂載時使用的目錄
檔案的完整屬性資訊(七部分):

第一部分:檔案類型(第一列)+權限(後九列)
檔案類型: d [目錄] 、- [普通檔案] 、l [連結檔案]
權限:九列共三組,(所有者、所在群組、其他人員的權限)
第二部分:節點(每增加1個硬連結,節點數+1)
第三部分:所有者
第四部分:所在群組
第五部分:檔案大小
第六部分:時間
第七部分:檔案/目錄名稱
顯示檔案及目錄的詳細資訊(含隐藏檔案):
ls -alt
顯示詳細資訊(不含隐藏檔案):
ls -l
僅顯示目錄/檔案名稱:
ls
顯示檔案類型:
file 檔案/目錄
檔案/目錄操作:
建立目錄: mkdir 新的目錄名稱
建立遞歸目錄: mkdir x/y/z
建立同級目錄: mkdir x y z
建立檔案: touch a.txt
删除檔案: rm 檔案名
删除空目錄: rmdir 目錄名稱
删除目錄/檔案: rm -rf 目錄/檔案
删除亂碼檔案:
需先使用ls -i 查到亂碼檔案的inode
inode為檔案/目錄前的數字字元串
find -inum (inode) -exec rm -rf {};
移動單檔案:
mv 源檔案 目标檔案/目錄
移動多檔案:
mv -t 目标目錄 檔案1 檔案2(加上檔案字尾名)
複制檔案到目标目錄下:
cp -ai 檔案/目錄 目标目錄
-a:檔案屬性、目錄下的所有檔案
-i: 表示覆寫前詢問
複制檔案至目錄(僅複制檔案):
cp 源檔案 目标目錄
将指定目錄下的檔案與子目錄一并複制:
(針對不在目前目錄下的檔案)
cp -r 源檔案/目錄 目标目錄
複制檔案至另一伺服器:
scp 源檔案 [email protected]目标伺服器IP:目标路徑
建立軟/硬連結:
**軟連結:(常用于軟體安裝時建軟連結到path,類似快捷方式)**
ln -s 源檔案(絕對路徑) 目标檔案
**硬連結(-d可省略):**
ln -d 源檔案(絕對路徑) 目标檔案
軟連結與硬連結的差別:
a.建立硬連結時,源檔案需與連結檔案位于同一檔案系統中;軟連結可在不同檔案系統中;
b.删除源檔案,硬連結檔案依然有效,軟連結檔案會失效。
硬連結與複制的差別:
增加硬連結,節點數增加;
修改源檔案,硬連結會跟着修改
檔案權限:
**改變檔案的所有者及所屬組:**
chown [-R] user:group 檔案(夾)名
-R : 表示目錄及以下檔案全部修改
**變更檔案的讀寫權限:【不接R時,表示檔案】**
chmod [-R] 777 檔案(夾)名
chmod [-R] u=rwx,g=rwx,o=rwx 檔案(夾)名
a:表示all
chmod [-R] u+r,g-w,o-x 檔案(夾)名
檔案查找、搜尋:
**系統全局範圍内查找包含“檔案名”内容的檔案:**
locate 檔案名
原理:從資料庫讀取檔案,需先執行updatedb
**在目錄結構中查找檔案:**
find 目錄路徑 -exec 相關指令操作
**查找檔案中包含hello内容的.log檔案**
find . -name '*.log' | grep hello
**使用正規表達式搜尋檔案/目錄:**
grep [-option] '搜尋内容' 檔案名
-n 顯示比對行及行号
-c 僅顯示比對行的計數
正規表達式: ‘=<查找内容’ 從比對内容開始
‘>=查找内容’ 從比對内容結束
檢視安裝軟體的所有檔案路徑(僅包括二進制檔案、源代碼檔案、man手冊頁)
where is java
檢視檔案内容:
cat [-n] 檔案名
-n 顯示行号(包括空行)
-b 顯示行号(不包括空行)
**按頁顯示檔案内容:**
less 檔案名
上下鍵可翻頁,pageup/pagedown 向後翻頁
**顯示第一頁内容:**
more 檔案名 隻能向後翻頁
Enter鍵:一行一次
空格:一頁一次
**顯示前n行内容(預設10行):**
head -n 檔案名 【+n 表示從n行開始】
**顯示末尾n行内容(預設10行):**
tail -nf 檔案名
【+n 表示從n行開始; f 表示實時更新,用于日志檔案檢視】
**檢視檔案中含有abc所在行後10行内容:**
cat 檔案名|grep abc -A10
A10: 表後10行
B10: 表前10行
**顯示檔案的第二行至最後一行内容:**
sed -n '2,$p' 檔案名
**顯示檔案包含待搜尋内容的行:**
sed -n '/搜尋的内容/p' 檔案名
**退出檢視:** q
檔案處理:
**将結果輸出到檔案中,若檔案存在内容,則覆寫**
ls -l>file 【>> 表示追加内容】
**将檔案作為指令的輸入:**
command<檔案名
**删除檔案的第n行至最後一行内容:**
sed -i 'n,$d' 檔案名
**在最後一行的下一行增加字元串:**
sed -i '$a 字元串内容' 檔案名
**替換檔案内容:**
sed -i 's/oldstring/newstring/g' 檔案名
使用者權限:
**建立使用者:**
useradd -U 使用者名 【-U:指定UID ,不指定時按序排列】
**删除使用者:**
userdel -r 使用者名 【-r:把使用者的主目錄一起删除】
**修改使用者的組:**
usermod -g 組名 使用者名 【組名可為GID,但組必須已存在】
**将使用者添加至組:**
usermod -aG 組名 使用者名 【-G:可疊加,需用逗号隔開】
**檢視使用者的所有組:**
groups 使用者名
**修改使用者的UID:**
usermod -U UID 使用者名
**顯示使用者的UID、GID及所擁有的群組:**
id 使用者名
挂載與取消挂載:
**挂載硬碟sda1至mnt目錄下,将原檔案隐藏,檔案改為隻讀:**
mount /dev/sda1 /mnt 【裝置一般挂載到/dev/檔案名下】
**挂載ios檔案:**
mount -o loop /iso檔案路徑 /media/挂載路徑
**取消挂載:**
umount 挂載的路徑/檔案名
壓縮/解壓/打包/備份:
**檢視檔案類型,确認壓縮方式:**
file 檔案名
**解壓.tar.gz壓縮檔案至目标目錄:**
tar -zxvf 壓縮檔案.tar.gz -C 目标目錄
**壓縮目錄及子目錄檔案為.tar.gz格式的壓縮包:**
tar -zcvf 壓縮檔案存放路徑/檔案名.tar.gz 被壓縮的目錄/檔案
**解壓.tar.bz2壓縮檔案至目前目錄:**
tar -jxvf a.tar.bz2
**壓縮a目錄及子目錄檔案為c.tar.bz2至目前目錄:**
tar -jcvf c.tar.bz2 ./a/
**解壓a.zip檔案至目前目錄(使用與解壓war包):**
unzip a.zip
unzip -o test.war -d 解壓目錄路徑
-o:覆寫原有檔案
-d:指定解壓目錄
**壓縮a及以下目錄檔案為c.zip**
zip -r c.zip ./a/
**壓縮file檔案為bz2格式壓縮檔案:**
bzip2 -k file (-k:表示保留源檔案)
**解壓file.bzip2,并保留源檔案:**
bzip2 -d -k file.bz2
**壓縮file檔案為.gz格式檔案:**
gzip file
**最大程度壓縮:**
gzip -9 file
**解壓file.gz檔案:**
gzip -d file.gz
linux機器間的遠端連接配接:
ssh 要遠端連接配接的IP
exit 退出遠端連接配接
linux下三個重要的檔案:
/etc/passwd 使用者資訊
/etc/shadow 使用者密碼
/etc/group 群組資訊
軟體安裝:
*yum(常用)、rpm包安裝、手動的編譯安裝*
**yum安裝:**
安裝“包”,需聯網:yum -y install 包名
清除下載下傳後的緩存:yun clean
緩存檔案目錄:/var/cache/yum
重新安裝:yum -y reinstall 包名
更新包:yum -y update 包名
移除包:yum -y remove 包名
自動選擇最快的yum源安裝:yum -y install yum-fastestmirror
檢視包是否存在更新包:yum check-update 包名
檢視軟體的資訊:yum info 軟體名稱
**rpm安裝:**
下載下傳到opt目錄下: wget -p /opt http://網址 -p:斷點續傳
安裝rpm包,若存在依賴包,需先安裝依賴包:
rpm -ivh a.rpm
更新指定的rpm包:rpm -Uvh a.rpm
更新指定的已安裝的rpm包:rpm -Fvh a.rpm
檢視已安裝的rpm包:rpm -qa|grep a
檢視rpm包的安裝路徑:rpm -qa a
解除安裝指定套件:rpm -e 包名
**手動編譯:**
1.需下載下傳源碼包,使用tar -zxvf 包名.tar.gz 解壓
2../configure --prefix=安裝路徑
3.編譯:make
4.安裝:make install
5.清除安裝過程中産生的臨時檔案:make clean
**解除安裝軟體:**
rm -rf 軟體目錄名稱