1. 程式人生 > >LInux日常工作使用指令

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:檔案是否存在且歸該使用者所有