FastAPI 學習之路(五十)WebSockets(六)聊天室完善
阿新 • • 發佈:2021-10-24
Linux常用指令
關機&重啟命令
shutdown -h now //立即關機
shutdwon -h 1 //1分鐘後關機
shutdown -r now //立即重啟
halt //關機
reboot //重啟計算機
sync //把記憶體的資料同步到磁碟
注意細節
不管是重啟系統還是關閉系統,首先要執行sync命令,把記憶體中的資料寫到磁碟中。
使用者管理
//新增使用者 useradd 使用者名稱 //指定/修改密碼 passwd 使用者名稱 //刪除使用者 userdel 使用者名稱 //查詢使用者資訊 id 使用者名稱 //切換使用者 su - 使用者名稱 //登出使用者(圖形介面無效) logout //返回到原來使用者 exit //檢視當前使用者/登入使用者 whoami //增加組 groupadd 組名 //刪除組 groupdel 組名 //修改使用者的組 usermod -g 使用者組 使用者名稱
使用者和組的相關檔案
使用者配置檔案
/etc/passwd 每行的含義:使用者名稱:口令:使用者標識號:組標識號:主目錄:登入:Shell
組配置檔案
/etc/group 每行含義:組名:口令:組標識號:組內使用者列表
口令配置檔案
/etc/shadow 登入名:加密口令:最後一次修改時間:最小時間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌
應用案例
//建立user使用者 useradd user //建立user使用者並指定家目錄 useradd -d /home/user user //指定user使用者·密碼 passwd user //刪除user使用者 userdel user //刪除user使用者及家目錄 userdel -r user //查詢user使用者資訊 id user //切換user使用者 su - user //建立beijing組 groupadd beijing //建立user使用者,並指定beijing組 useradd -g beijing user //建立shanghai組 //將user使用者的使用者組修改為shanghai組 usermod -g shanghai user
實用指令
執行級別
幫助指令
man //獲取幫助資訊
help //指令
檔案目錄類
//顯示當前工作目錄的絕對路徑 pwd //列出檔案和目錄 ls [選項]/[目錄或檔案] //切換目錄 cd [引數] //建立目錄 mkdir [選項] 要建立的目錄 //刪除空目錄 rmdir [選項] 要刪除的空目錄 //建立空檔案 touch 檔名稱 //拷貝 cp [選項] source dest //移除檔案或目錄 rm [選項] 要刪除的檔案或目錄 //移動檔案與目錄或重新命名 mv [選項] source dest //檢視檔案內容 cat [選項] 要檢視的檔案 more [選擇] 要檢視的檔案 less [選擇] 要檢視的檔案 //輸出重定向指令 > //追加指令 >> //輸出內容到控制檯 echo [選項] [輸出內容] //顯示檔案的開頭部分內容 head [選項] 檔案 //顯示檔案的尾部部分內容 tail [選項] 檔案 //軟連結 ln -s [原檔案或目錄][軟連結名] //檢視已經執行過歷史命令 history
應用案例
//列出檔案和目錄
ls -al
//切換目錄
cd ~
cd ..
cd /
//建立目錄
mkdir animal
mkdir -p /root/animal/tiger
//刪除目錄
rmdir /root/animal/tiger
rm -rf /root/animal
//建立空檔案
touch 1.txt 2.txt
//遞迴複製整個資料夾
cp -r animal new_animal
//移除目錄
rm -r new_animal
rm -rf new_animal
//移動多個檔案至目錄內
mv 1.txt 2.txt dest
//重新命名目錄
mv dest folder
//檢視檔案內容
cat -n /etc/profile
cat -n /etc/profile | more
將/home目錄下的檔案列表寫入到/home/info.txt中
ls -l /home > /home/info.txt
echo "hello world!" >> /home/info.txt
cal > mycal
//顯示環境變數
echo $PATH
//控制檯輸出hello world!
echo "hello world!"
//輸出前5行
head -n 5 /etc/profile
//輸出後5行
tail -n 5 /etc/profile
//實時的監控mydate.text有沒有變化
tail -f mydate.txt
//建立軟連結
ln -s /root linkToRoot
//刪除軟連結
rm -rf linkToRoot
//檢視10條歷史命令
history 10
//執行歷史命令為10的命令
!10
時間日期類
//顯示當前日期
date [選項]
//檢視日曆
cal [選項]
實用案例
//顯示當前時間
date “+%Y-%M-%d %H:%M:%S”
//設定系統時間
date -s "2021-10-26 16:23:30"
//顯示當前日曆
cal
//顯示器2021日曆
cal 2021
搜尋查詢類
//查詢指令
find [搜尋範圍][選項]
//快速定位檔案路徑
locate [搜尋檔案]
//過濾查詢
grep [選項] 查詢內容 原始檔
-n 顯示匹配行及行號。
-i 忽略字母大小寫。
//管道符(表示將前一個命令的處理結果輸出傳遞給後面的命令處理。)
|
實用案例
//按名字查詢
find /home -name hello.txt
//按使用者查詢
find /opt -user nobody
//按大小查詢
find / -size -20M
find / -size 20M
find / -size +20M
//寫入2021日曆於1.txt
cal 2021 > 1.txt
//查詢檔案內May所在行
cat 1.txt | grep -ni May
特別說明
由於locate指令基於資料庫進行查詢,所以第一次執行前,必須使用updatedb指令建立locate資料庫。(CentOS8需安裝`yum install mlocate`使用。)
壓縮和解壓類
//壓縮檔案
gzip
//解壓檔案
gunzip
//壓縮檔案
zip
//解壓檔案
unzip
//打包指令
tar [選項]
實用案例
//壓縮檔案 1.txt -> 1.txt.gz
gzip 1.txt
//解壓檔案 1.txt.gz -> 1.txt
gunzip 1.txt.gz
//壓縮檔案
zip -r mypackage.zip /tmp
//解壓檔案
unzip -d /root/mypackage mypackage.zip
//將1.txt,2.txt壓縮成a.tar.gz
tar -zcvf a.tar.gz 1.txt 2.txt
//將/home的資料夾壓縮成myhome.tar.gz
tar -zcvf myhome.tar.gz /home
//將a.tar.gz解壓到當前目錄
tar -zxvf a.tar.gz
//將myhome.tar.gz解壓到/opt
tar -zxvf myhome.tar.gz -C /opt
組管理
//檢視檔案的所有者
ls -ahl
//修改檔案所有者
chown 使用者名稱 檔名
//修改檔案所在組
chgrp 組名 檔名
實用案例
//改變檔案所有者
chown newowner file
//改變使用者所有者和所有組
chown newowner:newgroup file
//將abc.txt檔案的所有組修改成newgroup
chgrp newgroup abc.txt
//將/home/user目錄下所有檔案和目錄的所有組修改成newgroup
chgrp -R newgroup /home/user
備註
-R 如果是目錄 則使其下所有子檔案或目錄遞迴生效。
許可權管理
檔案型別:
-
普通檔案
d
目錄
l
軟連結
c
字元裝置(鍵盤,滑鼠。)
b
塊檔案(硬碟。)
檔案所有者許可權:
r
可讀 w
可寫 x
執行
檔案所有組許可權:
r
可讀 w
可寫 x
執行
檔案其它組許可權:
r
可讀 w
可寫 x
執行
如果是檔案,表示硬連結數目,
如果是目錄,表示子目錄數目。
所有者
所有組
檔案大小(位元組)
最後修改時間
檔名稱
//修改檔案或目錄許可權
chmod [選項] 檔名
實用案例
第一種方式:+、-、=變更許可權
u 所有者 g 所有組 o 其它組 a 所有人
chmod u=rwx,g=rx,o=x 檔案目錄名
chmod o+w 檔案目錄名
chmod a-x 檔案目錄名
第二種方式
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 檔案目錄名,相當於chmod 751 檔案目錄名。
其它
//檢查是否開啟sshd
service sshd status
//查詢IP
ip addr