Linux出色的穩定性和高速性,Linux可每天24小時、每年365天不間斷地連續可靠工作,數年工作而無需重啓,
(一)常用命令
ls -l /etc/group --查看所有的用戶組及權限文件
vi /etc/group --查看所有的用戶組及權限內容
ls -l /etc/passwd --查看所有用戶及權限
vi /etc/passwd --查看所有的用戶及權限的內容
groups --查看當前用戶所在的組
su -用戶名
--切換用戶的同時也啓動這個用戶自身的環境變量,才能啓動數據庫;
useradd 用戶名 --添加用戶
passwd 用戶名 密碼 --設置密碼
chage -M 天數 用戶名 --修改用戶賬號和密碼的有效期限
usermod -G 組名 用戶名 --修改用戶到某個組中
userdel 用戶名 --刪除用戶但保存主目錄
userdel -r用戶名 --刪除用戶以及主目錄
logout --當前用戶退出
who am i --當前用戶是誰
groupadd 組名 --添加組
groupmod 組名 --修改組
groupdel 組名 --刪除組
chgrp -R 新的組 文件夾名 --改變文件夾所在組;
chown -R 新的用戶名 文件夾名 --改變文件夾的擁有者;
chmod 權限 文件名 --給文件授權
“.”代表當前目錄,“..”代表父目錄,“~”代表家目錄。
pwd --顯示當前的工作目錄。
cd --進入
cd .. --返回上一級
ls -alh 目錄名 --顯示所有文件、詳細的信息及文件大小
touch 文件名 --生成一個空文件(文本txt)
mkdir --創建目錄。
rmdir --刪除空目錄。
cp 複製絕對路徑 粘貼路徑+新的文件名 --複製粘貼
mv 舊的文件名 路徑/新的文件名 --剪切,實現重命名
man -ls --解釋用法
rm -r --刪除一個文件; -f --強制; (慎用)
cat 文本名 --由第一行開始顯示文件內容。
cat /etc/passwd --查看所有用戶;
cat 文本1 文本2 >>新文本名 --合併
tac --從最後一行開始顯示
nl 行號 文本名 --顯示的時候,輸出行號。
more --分頁的顯示檔案內容。
less --可以往前翻頁。
head -行數 文本名字 --從第一行查看,行號就是查看幾行;
tail -行數 文本名字 --從最後一行查看;
od --以二進制的方式讀取文件內容!
echo ‘內容’ >文本名 --在文本中寫入漢字(編輯打印)
>清空並編寫 >>在原有的內容上進行編寫
echo --在當前屏幕上顯示出來
(二)管理文件權限:
1)file 文件名 --查看文件類型
2)linux文件類型
普通文件:黑色; 目錄文件:藍色;
可執行性文件:綠色; 包文件:紅色;
鏈接文件:青藍色; 設備文件:黃色;
3)文件權限
r(讀:4)w(寫:2)x(執行:1) 權限
1.類型-文件所有者權限-文件所在的組權限-其他用戶權限
2.文件的數量;3.所有者用戶;4.所在的組 ;5.大小;6.日期;7.文件名
對應:d-rwx-r-x-r-x 2 root staff 4096 12月 aa
u用戶所有者,g用戶所在的組,o其他用戶
d代表目錄,l代表鏈接,-代表普通文件。
chgrp,chown,chmod分別可以改變文件的所有者,文件所有者組,文件的權限。
(三)文件編輯:vi命令
插入命令(i)、附加命令(a)、替換命令(s)、在行末添加文本(A)、
在首行插入文本(l)、在當前行後面插入一空行(o)、
在當前行前面插入一空行(O)、撤銷最後一次操作(u)、
(:wq)在命令模式下,執行存盤退出操作;
(:w)執行保存; (:w!)強制保存;
(:q)退出 ; (:q!)強制退出 ;
(:e 文件名)打開並編輯指定的名稱文件;
read -p ‘’ 變量名 --鍵盤事件;
Esc --從編輯模式切換到命令模式;
ZZ --命令模式下保存當前文件所做的修改後退出vi;
:行號 --光標跳轉到指定行的行首;
:$ --光標跳轉到最後一行的行首;
x或X --刪除一個字符,x刪除光標後的,而X刪除光標前的;
開始行,結束行s/舊字符/新字符 --“s/”表示進行替換操作;
:set number模式下,用於在最左端顯示行號;
(四)文件傳輸:FTP上傳及下載
yum install ftp :下載ftp、
ifconfig 查找本機ip地址
1.登錄
ftp [-dignv][主機名稱/ip地址](localhost、127.0.0.1)
如:ftp 127.0.0.1 --連接ftp服務器
-n 不使用自動登錄; -v 顯示指令執行過程;
-d 詳細顯示指令執行過程,便於排錯或分析程序執行;
2. 下載文件
get [遠端文件的名][本地路徑] :
將文件從遠端主機中傳送到本地主機中
mget *.* : 一般不用
從遠端主機接收一批文件至本地主機
2.上傳文件
put 本機文件 /ftp/遠端文件路徑
將文件從本地主機中傳送到遠端主機中
mput (*.*)
從本地主機接收一批文件至遠端主機
3.斷開連接
quit 退出上傳
bye 中斷與服務器的連接
bin 把格式轉換爲二進制;Binary 二進制傳輸;hash 轉換成哈希;
ftp 腳本編寫格式
ftp -v -n ip地址 <<EOF
user 用戶名 用戶密碼
get [遠端文件的名][本地路徑]
bye
EOF
(五)shell編寫格式
#!/bin/sh --開頭聲明
bash --執行腳本的時候用-x參數(調試);
Sh -x 腳本名 :執行腳本並顯示腳本所有變量的取值;
參數-n,不執行腳本,只返回所有語法錯誤
變量=`一條完整的命令` :把一條命令賦給變量
腳本中計算時應在計算前編寫expr :如:a=`expr $x + 1`
-eq 等於; -ne 不等於;-gt 大於 -ge 大於等於;
-lt 小於; -le 小於等於;
(六)條件判斷
文件判斷
-e 文件名 文件存在:爲真(判斷文件是否存在)可結合!-e
數字判斷
-n str1 非空爲真
-z str1 空爲真
條件判斷
if [ ]; then
語句塊
elif [ ]; then
語句塊
else
語句塊
Fi
While循環:
while循環讀取文件內容:
cat 文本 | while read 變量
do echo $變量
while:
do
語句塊
done
for循環:
數字循環:for 變量名 in { 循環的次數值 };
do echo $變量 done ;
文件循環: for 變量名 in `命令` ;
do done ; (每一次命令的結果賦給變量名)
注:有多少文件就有循環多少次
案例: cp $變量名 路徑
新變量 =`echo$變量|awk -F.’{print $1}’`
Echo $新變量
自定義的函數,其語法形式如下:
functionname()
{
…
}
awk -F. 查找分割
wc 統計數字 -l 統計數量
grep -c $變量 文本 --把變量中的值在文本中進行搜索,有則1,無則0
slepp 數字 :每個多少秒
不加條件表示無限循環;
#breal 跳出循環 在循環體中;
#continue 程序在本循環內忽略下面語句,從循環頭開始執行
(七)文件查找
find 路徑 -name文件名 --搜索文件名稱及目錄
搜索指定大小的文件
【案例】find/路徑 -size +10k --查找大小超過10k的文件
du -h 文件名 --查看這個文件的大小
grep ` ` 文件類型 --搜索文件中的內容
grep 篩選
ls | grep 關鍵字 --列出並查找帶有關鍵字的文件
在特定的目錄下搜索並顯示指定名稱的文件和目錄
【案例】find / -name man
-意思是說從根目錄開始搜索名稱爲man的文件或目錄
find / -name ‘man*’ --模糊查詢
搜索一段時間內被存取/變更的文件或目錄
【案例】find /home -amin -n:n分鐘內存取的文件或目錄
-atime --小時內存取的文件或目錄
-cmin --分鐘內更改過的文件或目錄
-ctime --小時前更改過的文件或目錄
(八)查看進程
ps顯示的信息選項:
字段 | 說明 |
PID | 進程識別號 |
TTY | 終端機號 |
TIME | 此進程所消CPU時間 |
CMD | 正在執行的命令或進程名 |
nohup sh 腳本名 --放在後臺去運行
ps -ef | grep 名字 --查看名字的任務進程
Kill 進程號 --停止進程
Kill -9 進程號 --強制進程
top --查看進程(top在執行一段時間可以更新正在運行的進程)
Q --退出進程
(九)任務調度
任務調度:是指系統在某個時間執行的特定的命令或程序
設置任務調度文件:/etc/crontab
設置個人任務調度,執行crontab ‐e命令,接着輸入任務到調度文件
【案例】格式:分鐘 小時 日期 月曆 星期
如: ***** sh 腳本 > 日誌 (分鐘、小時、星期 從0開始)
設置任務
crontab ‐e
【案例】每隔一定時間去執行date > /home/mydate2
希望每天凌晨2:00去執行 date >> /home/mydate2,
可以在crontab ‐e中加入:0 2 * * * date >> /h
ome/mydate2
希望每分鐘去執行:在crontab ‐e中加入:* * * * * date >> /home/mydate2
終止任務調度
crontab ‐r:終止任務調度
crontab ‐l:列出當前有哪些任務調度
(十)網絡狀態監控
ping 對應ip :檢測連接情況(網)
(十一)tar命令 :壓縮包
-c 創建壓縮包
-x 解壓
-t 查詢
-r 追加文件
-u 更新原壓縮包中的文件
這幾個命令只能用其中一個,與其他命令結合
-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出text來代替
-f 使用檔案名字 放在最後一位
tar 屬性 壓縮名 -C 文件名 --解壓到指定文件夾
tra -屬性 -f 壓縮包名 文件名 --壓縮
(十二)分區與硬盤
df -ahikHTm 目錄或文件名 --查看磁盤使用情況
df 目錄全路徑 --查看文件是那個分區的
du -ahskm 文件或目錄名稱 --查看文件容量