linux命令備忘錄

2021-07-30 09:52:23 字數 2803 閱讀 3609

openssl

提供常用密碼演算法、常用的金鑰和證書封裝管理功能及ssl協議的工具

例子:用sha1演算法計算檔案file.txt的雜湊值,輸出到stdout

openssl dgst -sha1 file.txt

chage

修改使用者密碼過期資訊

lastb

讀取位於/var/log目錄下,名稱為btmp的檔案,並把該檔案內容記錄的登入失敗的使用者名單,全部顯示出來。

ps命令支援三種使用的語法格式並且可以混用

1. unix風格,選項可以組合在一起,並且選項前必須有「-」連字元

1. bsd風格,選項可以組合在一起,但是選項前不能有「-」連字元

1. gnu風格的長選項,選項前有兩個「-」連字元

watch命令可以實時全屏監控當前命令執行的動態變化結果

當linux計算機受到入侵時,常見的情況是日誌檔案被刪除,以掩蓋攻擊者的蹤跡。管理錯誤也可能導致意外刪除重要的檔案,比如在清理舊日誌時,意外地刪除了資料庫的活動事務日誌。有時可以通過lsof來恢復這些檔案。

當程序開啟了某個檔案時,只要該程序保持開啟該檔案,即使將其刪除,它依然存在於磁碟中。這意味著,程序並不知道檔案已經被刪除,它仍然可以向開啟該檔案時提供給它的檔案描述符進行讀取和寫入。除了該程序之外,這個檔案是不可見的,因為已經刪除了其相應的目錄索引節點。

在/proc

目錄下,其中包含了反映核心和程序樹的各種檔案。/proc目錄掛載的是在記憶體中所對映的一塊區域,所以這些檔案和目錄並不存在於磁碟中,因此當我們對這些檔案進行讀取和寫入時,實際上是在從記憶體中獲取相關資訊。大多數與

lsof 相關的資訊都儲存於以程序的 pid 命名的目錄中,即 /proc/1234 中包含的是 pid 為 1234

的程序的資訊。每個程序目錄中存在著各種檔案,它們可以使得應用程式簡單地了解程序的記憶體空間、檔案描述符列表、指向磁碟上的檔案的符號鏈結和其他系統資訊。lsof

程式使用該資訊和其他關於核心內部狀態的資訊來產生其輸出。所以lsof

可以顯示程序的檔案描述符和相關的檔名等資訊。也就是我們通過訪問程序的檔案描述符可以找到該檔案的相關資訊。

當系統中的某個檔案被意外地刪除了,只要這個時候系統中還有程序正在訪問該檔案,那麼我們就可以通過lsof從/proc目錄下恢復該檔案的內容。

假如由於誤操作將/var/log/messages檔案刪除掉了,那麼這時要將/var/log/messages檔案恢復的方法如下:

首先使用lsof來檢視當前是否有程序開啟/var/logmessages檔案,如下: # lsof |grep

/var/log/messages syslogd 1283 root 2w reg 3,3 5381017 1773647

/var/log/messages (deleted) 從上面的資訊可以看到 pid 1283(syslogd)開啟檔案的檔案描述符為

2。同時還可以看到/var/log/messages已經標記被刪除了。因此我們可以在 /proc/1283/fd/2

(fd下的每個以數字命名的檔案表示程序對應的檔案描述符)中檢視相應的資訊,如下:

head -n 10 /proc/1283/fd/2 aug 4 13:50:15 holmes86 syslogd 1.4.1: restart. aug 4 13:50:15 holmes86 kernel: klogd 1.4.1, log source =

/proc/kmsg started. aug 4 13:50:15 holmes86 kernel: linux version

2.6.22.1-8 (rooteverestbuilder.linux-ren.org) (gcc version 4.2.0) #1 smp wed jul 18 11:18:32 edt 2007 aug 4 13:50:15 holmes86 kernel:

bios-provided physical ram map: aug 4 13:50:15 holmes86 kernel:

bios-e820: 0000000000000000 - 000000000009f000 (usable) aug 4 13:50:15

holmes86 kernel: bios-e820: 000000000009f000 - 00000000000a0000

(reserved) aug 4 13:50:15 holmes86 kernel: bios-e820: 0000000000100000

- 000000001f7d3800 (usable) aug 4 13:50:15 holmes86 kernel: bios-e820: 000000001f7d3800 - 0000000020000000 (reserved) aug 4 13:50:15 holmes86

kernel: bios-e820: 00000000e0000000 - 00000000f0007000 (reserved) aug

4 13:50:15 holmes86 kernel: bios-e820: 00000000f0008000 -

00000000f000c000 (reserved) 從上面的資訊可以看出,檢視 /proc/1283/fd/2

就可以得到所要恢復的資料。如果可以通過檔案描述符檢視相應的資料,那麼就可以使用 i/o 重定向將其複製到檔案中,如: cat

/proc/1283/fd/2 > /var/log/messages

對於許多應用程式,尤其是日誌檔案和資料庫,這種恢復刪除檔案的方法非常有用。

Vim 命令 備忘錄

vim 中的內部命令與 vi 編輯器中的內部命令類似。表 1 提供了 vim 中的游標移動命令。表 1.用於移動游標的 vim 命令 命令動作 h將游標向左移動 j 加號 enter 或 return 將游標向下移動 k 減號 將游標向上移動 l將游標向右移動 將游標移動到當前段落的末尾 將游標移動...

github命令備忘錄

因為公司所有的 全部放在linux系統伺服器下,並且用git分布式管理,所以工作中難免會用到許多命令,很多較少用記錄下來以備用 git的用法 1 git brach 檢視分支情況 2 git checkout master 切換到master 3 git pull 更新 從git伺服器更新 4 gi...

DOS命令備忘錄

在dos的批處理中,有時候需要知道當前的路徑。在dos中,有兩個環境變數可以跟當前路徑有關,乙個是 cd 乙個是 dp0。乙個是 cd 只與當前目錄有關 乙個是 dp0。只與指令碼有關 這兩個變數的用法和代表的內容是不同的。1.cd 可以用在批處理檔案中,也可以用在命令列中 展開後,是驅動器碟符 當...