導航:首頁 > 操作系統 > shredlinux

shredlinux

發布時間:2023-06-28 08:25:25

① 文件管理與重定向

linux 文件系統分層結構標准 :FHS Filesystem Hierarchy Standard

參考文檔: http://www.pathname.com/fhs/ 其中對每個文件目錄有詳細說明

/ :根目錄,最頂級目錄,也是 管理員的家目錄

/boot:引導文件、內核文件(vmlinuz)、引導載入器(bootloader, grub)都存放於此

/bin: 所有用戶 使用的基本命令(二進制文件)

/sbin:管理類的基本命令 (僅由root執行)

​ /bin與/sbin:不能關聯至獨立分區,OS啟動即會用到的程序

/etc 配置文件目錄

/home/USERNAME:各個用戶家目錄,存放用戶數據

/proc: 用於輸出內核與進程信息相關的虛擬文件系統

/sys:用於輸出當前系統上硬體設備相關信息虛擬文件系統

/usr: universal shared, read-only data (通用只讀文件)
lib:32位使用
lib64:只存在64位系統
include: C程序的頭文件(header files)
share:結構化獨立的數據,例如doc, man等
local:第三方應用程序的安裝位置
bin, sbin, lib, lib64, etc, share

/var: variable data files (可變數據)
cache: 應用程序緩存數據目錄
lib: 應用程序狀態信息數據
local:專用於為/usr/local下的應用程序存儲可變數據
lock: 鎖文件
log: 日誌目錄及文件
opt: 專用於為/opt下的應用程序存儲可變數據
run: 運行中的進程相關數據,通常用於存儲進程pid文件
spool: 應用程序數據池
tmp: 保存系統兩次重啟之間產生的臨時數據

/dev:設備文件及特殊文件存儲位置

/tmp:臨時文件存儲位置

/srv:系統上運行的服務用到的數據

/media:攜帶型移動設備掛載點(優盤)
/mnt:臨時文件系統掛載點

/opt:第三方應用程序的安裝位置

注意:CentOS 7 以後版本目錄結構變化 (以下兩者相同)

/bin 和 /usr/bin
/sbin 和 /usr/sbin
/lib 和/usr/lib
/lib64 和 /usr/lib64

範例:

二進製程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
庫文件: /lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
配置文件: /etc, /etc/DIRECTORY, /usr/local/etc
幫助文件: /usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

用 ll 命令查看首字母:

(-) 普通文件
d 目錄文件
b 塊設備
c 字元設備
l 符號鏈接文件
p 管道文件pipe
s 套接字文件socket

每個shell和系統進程 都有一個當前的工作目錄(current work directory,簡稱CWD)

顯示當前shell CWD的絕對路徑: 使用pwd命令 (printing working directory)

範例:

[圖片上傳失敗...(image-8b8689-1596285623724)]

基名 :basename,只取文件名而不要路徑
目錄名 :dirname,只取路徑,不要文件名

範例:

命令 cd : change directory 改變目錄(可以使用絕對或相對路徑)

選項:-P 切換至物理路徑

切換至父目錄 : cd ..
切換至當前用戶家目錄: cd
切換至上一個工作目錄 : cd -

相關的環境變數:
PWD:當前目錄路徑
OLDPWD:上一次目錄路徑

文件相關信息:metadata(屬性,元數據), data(數據內容)

每個文件有三個時間戳: (touch創建已存在的文件時,刷新3個時間戳)
access time 訪問時間,atime,讀取文件內容
modify time 修改時間,mtime,改變文件內容(數據)
change time 改變時間,ctime,元數據發生改變(屬性)

mtime的改變必然引起ctime的改變

執行ll命令默認顯示mtime

範例:

用來匹配符合條件的多個文件,方便批理管理文件

通配符采有特定的符號,表示特定的含義,此特符號稱為 元字元

範例:只顯示文件夾

別外還有在Linux系統中預定義的字元類:命令man 7 glob可以查看

使用以上通配符,需要雙重中括弧!!!!!!!!!!!!!!

{a..e} 與 [a - e] 排序內容不相同!!!

範例:

範例: 創建一個以昨天日期命名的.log文件

cp 命令格式:

默認cp=cp -i,提示是否覆蓋

範例:

1、將/etc/目錄下所有文件,備份到/data獨立的子目錄下,並要求子目錄格式為 backupYYYY-mm-dd,備份過程可見

2、創建/data/rootdir目錄,並復制/root下所有文件到該目錄內,要求 保留原有許可權

mv 命令可以實現文件或目錄的 移動和改名

常用選項:
-i 互動式
-f 強制
-b 若目標存在,覆蓋前先備份

利用 rename 可以 批量修改文件名

範例: (改名對象打不打引號都可以)

使用rm 命令可以刪除文件

常用選項
-i 互動式
-f 強制刪除
-r 遞歸,對目錄進行操作時必須使用
--no-preserve-root 用來刪除根目錄

範例:刪除特殊文件

rm雖然刪除了文件,但是被刪除的文件仍然 可能被恢復
在安全要求較高的場景下,可以使用shred安全刪除文件

補充技巧: 防止rm造成嚴重後果,定義別名進行備份 (修改配置文件永久有效)

配置文件目錄:/root/.bashrc

顯示目錄樹 tree

常見選項:
-d: 只顯示目錄
-L level: 指定顯示的層級數目
-P pattern: 只顯示由指定wild-card pattern匹配到的路徑

常見選項:
-p: 存在於不報錯,且可自動創建所需的各目錄 (用於一次創建多層目錄)
-v: 顯示詳細信息
-m MODE: 創建目錄時直接 指定許可權!!!!!!!!!!

rmdir 只能刪除空目錄 ,如果想刪除非空目錄,可以使用rm -r 命令遞歸刪除目錄樹

常見選項:
-p 遞歸刪除父空目錄
-v 顯示詳細信息

練習
(1) 如何創建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a,
/testdir/dir1/y/b

(2) 如何創建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b

(3) 如何創建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7

inode = (index node)

每個文件的屬性信息,比如:文件的大小,時間,類型等,稱為文件的 元數據
這些元數據存放在 inode表中

inode 表 中有很多條記錄組成, 第一條記錄保存元數據,包括以下信息:

inode number 節點號(身份證號)
文件類型
許可權
UID
GID
鏈接數(指向這個文件名路徑名稱個數)
該文件的大小和不同的時間戳
指向磁碟上文件的數據塊指針
有關文件的其他數據

一般情況下inode表會佔用系統磁碟inode總量的1%

節點號表示 文件的唯一編號 !!!整個系統中 節點號是有限的
當節點號用盡時,即使還有儲存空間,也會提示無剩餘空間 !!!!!!

目錄 是個特殊文件,目錄的元數據保存了 目錄中文件的列表及節點號的對應關系!!!

系統引用文件是 使用 inode號
實際用戶是 通過文件名 來引用一個文件
目錄是 目錄下的文件名和文件inode號之間的映射

執行cp命令:

執行rm 命令:

執行mv命令:

硬鏈接本質上就 給一個文件起一個新的名稱 ,實質是同一個文件

範例:對文件f1.log創建新的名稱f1link.log,兩者inode都是132

硬鏈接特性

目錄的鏈接數至少為2,因為目錄中的 . 即為自身
創建子目錄會導致鏈接數增加!

一個符號鏈接指向另一個文件, 就像windows中的快捷方式

軟鏈接特點:

關於源文件相對路徑:只有跨分區創建軟鏈接時才有此問題!

案例一:
提示空間不足 No space left on device,但是 df 查看磁碟空間剩餘很多

案例二:
提示儲存空間不足,刪除無用的大文件後,空間並未釋放,什麼原因?如何解決?

讀入數據:Input
輸出數據:Output

打開的文件都有一個 fd : file descriptor (文件描述符)

Linux給程序提供 三種 I/O 設備

I/O重定向:將默認的輸入,輸出或錯誤 對應的設備進行修改,指向新的目標

STDOUT和STDERR可以被重定向到指定文件,而非默認的當前終端

支持的操作符號包括:

把STDOUT重定向到文件或其他終端

重定向到文件時,若文件不存在則創建,若文件存在則覆蓋內容
再次重定向到同一文件,內容再次覆蓋

若 > 符號之前不輸入命令,則效果為生成空文件或清空目標文件
是迅速清空文件內容的一種方式

藉助/dev/null也可實現同樣的功能

磁碟空間不足時,大文件被佔用不能停,而且rm刪除無法立即騰出空間,應使用 > 或/dev/null >

把STDERR重定向到文件或其他終端

set - C 命令, 禁止將內容覆蓋已有文件,但可追加 (此時>|可以強制覆蓋)
set + C 命令,允許覆蓋

強制覆蓋

用 ( )或者{ }合並多個命令的out或err, 注意使用花括弧的格式!!!

使用 < 來重定向標准輸入:從文件中導入STDIN,代替當前終端的輸入設備

使用 單行或多行重定向 來創建新文件,並輸入指定內容

同時存在 < > ,優先進行 輸入運算

只能對新文件進行!!!!!

只能對新文件進行!!!!!

使用 "<<終止詞" 命令 把接下來輸入的多行內容進行重定向,
直到終止詞位置之前的所有文本都發送給STDIN

終止詞 可以是任何一個或多個符號,
比如:!,@,$,EOF(End Of File),mage等, 其中EOF比較常用

易錯點: tr命令實現的是 單個字元一一對應的轉換關系!!!!

基本格式:

常見用途: 全局大小寫轉換

-d 刪除 所有含有SET1的字元

-c 取字元集的補集,即 取反(一般與-d搭配使用)

-s 把 連續重復的單個字元 以單獨一個字元表示,即 去重

管道(使用符號「|」表示) 用來連接多個命令

功能說明:

注意:STDERR默認不能通過管道轉發,可利用2>&1 或 |& 實現,格式如下

因此, 當不確定命令的輸出結果,或者已知結果中存在error時 ,應該使用上述命令

範例:將 /home 裡面的 文件打包 ,不生成文件,而是傳送到 stdout,經過管道後,
將 tar -cvf - /home 傳送給後面的 tar -xvf - , 最後的這個 - 表示 取前一個命令的 stdout

利用tee命令 可以既重定向到文件,又顯示在屏幕

tee的功能:

基本用法

若後面不加命令2

② 入侵Linux系統後日誌文件及入侵後日誌如何清除

現在可以在網上公開獲得的日誌清除程序代碼很粗糙,我曾經看到過最誇張的清日誌的代碼像這樣:
rm -rf /var/log/lastlog ; rm -rf /var/log/telnetd ; rm -rf /var/run/utmp ; rm -rf /var/log/secure ; rm -rf /root/.ksh_history ; rm -rf /root/.bash_history ; rm -rf /root/.bash_logut ; rm -rf /var/log/wtmp ; rm -rf /etc/wtmp ; rm -rf /var/run/utmp ; rm -rf /etc/utmp ; rm -rf /var/log ; rm -rf /var/adm ; rm -rf /var/apache/log ; rm -rf /var/apache/logs ; rm -rf /usr/local/apache/log ; rm -rf /usr/local/apache/logs ; rm -rf /var/log/acct ; rm -rf /var/log/xferlog ; rm -rf /var/log/messages ; rm -rf /var/log/proftpd/xferlog.legacy ; rm -rf /var/log/proftpd.access_log ; rm -rf /var/log/proftpd.xferlog ; rm -rf /var/log/httpd/error_log ; rm -rf /var/log/httpd/access_log ; rm -rf /etc/httpd/logs/access_log ; rm -rf /etc/httpd/logs/error_log ;rm -rf /var/log/news/suck.notice ; rm -rf /var/spool/tmp ; rm -rf /var/spool/errors ; rm -rf /var/spool/logs ; rm -rf /var/spool/locks ; rm -rf /usr/local/www/logs/thttpd_log ; rm -rf /var/log/thttpd_log ; rm -rf /var/log/ncftpd/misclog.txt ; rm -rf /var/log/ncftpd.errs ; rm -rf /var/log/auth ; rm -rf /root/.bash_history ; touch /root/.bash_history ; history Cr
整個一rm集合,要是伺服器跑了很長時間,積累了很多日誌。你這樣一刪除,的,你幫他省事了,他也省事,一眼就看出有人進來了。
先不說其他,用rm刪除就不可取,正確的刪除文件做法是用shred
shred -n 31337 -z -u file_to_delete
這樣多次擦除才夠安全。

③ 文件刪除命令還在運行linux

只是隱藏起來。
在大多數情況下,我們想要刪除電腦文件,Linux下一般會使用刪除鍵或者rm命令、將文件扔到垃圾箱。但是,這些方法並沒把文件從我們的電腦里徹底刪除,只是把文件隱藏起來,讓用戶看不見而已。假設某個文件含有機密或秘密的內容,比如安全系統的用戶名和密碼,如果攻擊者擁有必要的專長和技能,就能輕松恢復已刪除的文件,從而訪問那些用戶資料,這種場景造成的後果可想而知。本文中,我們將介紹多款命令行工具,幫你實現永久安全地刪除Linux下的文件。1. shred 覆蓋文件以隱藏內容,shred可覆蓋文件以隱藏內容,另外還可以刪除文件。這個命令包括的幾個選項有:z , 最後一次覆蓋添加0,以隱藏覆蓋操作。v ,能夠顯示操作進度。u , 覆蓋後截斷並刪除文件。n ,指定覆蓋文件內容的次數(默認值是3次)。

④ 如何在Linux中刪除超大的(100

通常,要在 Linux 終端刪除一個文件[1],我們使用 rm 命令(刪除文件)、shred 命令(安全刪除文件)、wipe 命令(安全擦除文件坦氏拆)或者 secure-deletion 工核拆具包(一個安全文件刪除工具集合)。
我們可以使用上述任意的工具來處理相對較小的文件。如果我們想要刪除超大的文件/文件夾,比如大概 100-200GB,在刪除文件(I/O 調度)所花費的時間以及 RAM 佔用量方面,就沒有你想的那麼簡單。
在本教程中,我們會解釋如何在 Linux 中有效率並可靠地刪除大文件/文件夾。
建議閱讀: 5 個在 Linux 中清空或者刪除大文件的方法[2]
我們的主要目標是使用一種不會在刪除大文件時拖慢系統的技術,合理地佔用 I/O。我們可以用 ionice 命令實現這個目標。
在Linux 中使用 ionice 命令刪除超大(200GB)文件
ionice 是一個可以對另一個程序設置或獲取 I/O 調度級別和優先順序的有用程序。如果沒有給出參數或者只有 -p 參數,那麼 ionice 將會查詢該進程的當前的 I/O 調度級別以及優先順序。
如果我們給出命令名稱,如 rm 命令,它將使用給定的參數運行此命令。要獲取或設置調度參數,請指定[進程的 PID],如下:
# ionice -p PID
要指定名字或者調度的數字,使用(0 表示無、1 表示實時、2 表示盡力、3 表示空閑)下面的命令。
以下命令表示 rm 會屬於讓棗空閑 I/O 級別,並且只在其他進程不使用的時候使用 I/O:
---- Deleting Huge Files in Linux -----# ionice -c 3 rm /var/logs/syslog# ionice -c 3 rm -rf /var/log/apache
如果系統中沒有很多空閑時間,那麼我們希望使用盡力調度級別,並且使用低優先順序:
# ionice -c 2 -n 6 rm /var/logs/syslog# ionice -c 2 -n 6 rm -rf /var/log/apache
注意:要使用安全的方法刪除大文件,我們可以使用先前提到的 shred、wipe 以及 secure-deletion 工具包中的不同工具,而不是 rm 命令。

⑤ Linux中的rm命令

rm命令:

1、可以刪除一個目錄中的一個或多個文件或目錄。

2、可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。

3、對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。

語法選項:

-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;

-f:強制刪除文件或目錄;

-i:刪除已有文件或目錄之前先詢問用戶;

-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;

-preserve-root:不對根目錄進行遞歸操作;

-v:顯示指令的詳細執行過程。

(5)shredlinux擴展閱讀:

rm同時刪除多個文件命令:rm <filename1> <filename2>

要刪除第一個字元為『-』的文件 (例如『-foo』),請使用以下其中一種方法:
rm-- -foo

rm./-foo

請注意,如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。如果想保證
該文件的內容無法還原,請考慮使用 shred。

刪除所有rb語言程序檔;刪除前逐一詢問確認 :
rm-i *.rb

將 Finished 子目錄及子目錄中所有檔案刪除 :
rm -r Finished

將 Finished 子目錄及子目錄中所有檔案刪除,並且不用--確認 :

rm -rf Finished



⑥ Linux中刪除一個非空子目錄/tmp,用什麼命令

rm -rf 目錄名。

rmdir功能:刪除空目錄。語法:rmdir [選項] dirname

說明:dirname表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危險性。)刪除某目錄時也必須具有對父目錄的寫許可權。

命令中各選項的含義為:- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標准輸出上顯示相應的信息。

(6)shredlinux擴展閱讀:

通常見到的使用字元操作界面的人機介面,例如dos。我們說控制台命令,就是指通過字元界面輸入的可以操作系統的命令,例如dos命令就是控制台命令。

要了解的是基於Linux操作系統的基本控制台命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。

閱讀全文

與shredlinux相關的資料

熱點內容
私有雲主要伺服器 瀏覽:939
為什麼主題解壓那麼慢 瀏覽:860
怎麼下載掃描二維碼的手機app 瀏覽:727
雲伺服器創建私有鏡像的時候一定要關機嗎 瀏覽:115
php開發學習門戶 瀏覽:385
傳奇游戲伺服器怎麼設置 瀏覽:823
敲擊東西解壓完整版 瀏覽:401
刺絡學pdf 瀏覽:868
怎麼給手機文件夾設置封面 瀏覽:931
汽車保養app怎麼用 瀏覽:62
線程javalock 瀏覽:896
c語言編譯運行結果查看器 瀏覽:112
androidpx轉dip 瀏覽:841
西藏編譯局是什麼級別 瀏覽:1001
php提交代碼 瀏覽:597
如何用命令查找並刪除代碼塊 瀏覽:582
python初學路線圖 瀏覽:534
matlab遺傳演算法旅行商問題 瀏覽:304
將辦公軟體加入加密軟體的進程 瀏覽:724
聯想小新pro14編譯器 瀏覽:462