LInux日常工作使用指令
本文主要包括兩部分,一是Linux基礎命令的總結;二是總結一些常用的命令知識點。
一、基礎總結
學習Linux的時候用思維導圖做了歸納總結了基礎部分的一些常用命令,用思維導圖一以歸檔記憶,一以不斷總結完善。
主要包括檔案處理、許可權管理、檔案搜尋、幫助命令、使用者管理、壓縮解壓、網路配置、關機重啟。
二、常用命令
系統資訊
uname -m 顯示機器的處理器架構
uname -r 顯示正在使用的核心版本
cat /proc/cpuinfo 顯示CPU info的資訊
cat /proc/meminfo 校驗記憶體使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示核心的版本
cat /proc/net/dev 顯示網路介面卡及統計
cat /proc/mounts 顯示已載入的檔案系統
lspci -tv 羅列 PCI 裝置
lsusb -tv 顯示 USB 裝置
date 顯示系統日期
cal 2016 顯示2016年的日曆表
clock -w 將時間修改儲存到 BIOS
獲取IP地址
ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -c 6-
ifconfig | grep "inet addr:" | grep -v "127" | cut -d: -f2 | awk '{print $1}'
檢查當前登入的使用者個數
who | wc -l
關機 (系統的關機、重啟以及登出 )
shutdown -h now 關閉系統(1)
init 0 關閉系統(2)
telinit 0 關閉系統(3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟(1)
reboot 重啟(2)
logout 登出
檢查DNS Server工作是否正常,以61.139.2.69為例
dig www.baidu.com @61.139.2.69
檢視記憶體的大小
free -m |grep “Mem” | awk ‘{print $2}’
檢視檔案大小和檢視磁碟使用情況
du:基於檔案,統計檔案大小相加——是面向檔案的命令,它計算分配給指定檔案或者目錄的空間。
df :基於磁碟,統計資料塊使用情況——通過檔案系統中未分配的空間來確定檔案系統中已分配空間的大小。
常用命令:
df -hi
du -a
檢視80埠的連線,並排序
netstat -an -t | grep “:80″ | grep ESTABLISHED | awk ‘{printf “%s %s\n”,$5,$6}’ | sort
日誌檢視、搜尋
cat /var/log/rflogview/*errors
grep -i error /var/log/messages
grep -i fail /var/log/messages
tail -f -n 2000 /var/log/messages
讀寫字元
read
-n 讀取n個字元
-s 不回顯
-p 顯示提示資訊
-t 特定時間
-d 定界符
使用cut命令選定欄位
cut -d : -f 1,5 /etc/passwd
#-d後面的冒號表示欄位之間的分隔符。
#-f表示取分割後取哪些欄位。
提取開頭或結尾數行
head -n 5 /etc/passwd
#顯示輸入檔案的前五行。
tail -n 5 /etc/passwd
#顯示輸入檔案的最後五行。
重定向輸出
0:表示鍵盤輸入(stdin)
1:表示標準輸出(stdout),系統預設是1
2:表示錯誤輸出(stderr)
* 2>&1 就是將 stderr 並進 stdout 作輸出
* 1>&2 或 >&2 就是將 stdout 並進 stderr 作輸出
command >/dev/null 2>&1 & == command 1>/dev/null 2>&1 &
1)command:表示shell命令或者為一個可執行程式
2)>:表示重定向到哪裡
3)/dev/null:表示Linux的空裝置檔案
4)2:表示標準錯誤輸出
5)&1:&表示等同於的意思,2>&1,表示2的輸出重定向等於於1
6)&:表示後臺執行,即這條指令執行在後臺執行
總而言之,這條命令的意思是:在後臺執行這個程式,並將錯誤輸出2重定向到標準輸出1,然後將標準輸出1全部放到/dev/null檔案,也就是清空。
引數傳遞
$0指令碼名字
$1 - $9 位置引數 #1 - #9
$#位置引數的個數
"[email protected]"所有的位置引數
"$*"所有的位置引數
$?返回前一個命令的返回值,在執行命令後可以用此引數檢查執行結果。
$$指令碼的程序ID(PID)
引數判斷
if [ expr ]; then … fi
-n str :字串 str 是否不為空
-z str :字串是否為空
str1 = str2 :str1是否與 str2 相同
str1 != str2 : str1是否與 str2 不同
int1 -eq int2 :等於
int1 -le int2 :小於等於
int1 -ge int2 :大於等於
int1 -lt int2 :小於
int1 -gt int2 :大於
int1 -ne int2 :不等於
-b :是否塊檔案
-p :檔案是否為一個命名管道
-c :是否字元檔案
-r :檔案是否可讀
-d :是否一個目錄 *
-s :檔案的長度是否不為零
-e:檔案是否存在 *
-S:是否為套接字檔案
-f:是否普通檔案 *
-x:檔案是否可執行,則為真
-g:是否設定了檔案的 SGID 位
-u:是否設定了檔案的 SUID 位
-G:檔案是否存在且歸該組所有
-w:檔案是否可寫,則為真
-k:檔案是否設定了的貼上位
-t fd:fd 是否是一個與終端相連的開啟的檔案描述符(fd 預設為 1)
-O:檔案是否存在且歸該使用者所有