① linux 系統日誌隱藏文件.nohup.out.swp可不可刪除
linux nohup.out文件過大吧
Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,所有重定向到它的信息都會消失得無影無蹤。這一點非常有用,當我們不需要回顯程序的所有信息時,就可以將輸出重定向到/dev/null
查詢Linux命令《linux就該這么學》
由於使用nohup時,會自動將輸出寫入nohup.out文件中,如果文件很大的話,nohup.out就會不停的增大,這是我們不希望看到的,因此,可以利用/dev/null來解決這個問題。
nohup ./program >/dev/null 2>log &
如果錯誤信息也不想要的話:
nohup ./program >/dev/null 2>&1 &
② linux系統ubuntu終端命令下shell編程vi創建文件的問題!
你創建的不是文件夾,是一個文件,.tt.swp就是上次你創建的文件的記錄,你修改之後但你沒有保存就強制
退出,所以留下了swp這個交互文件,解決辦法很簡單,在目錄下使用:sudo rm *.swp 來刪除這個文件就行了! vim編輯器默認的上下左右不是ABCD ,H左,J下,K上,L右;delete要在編輯模式下才能使用,在命令模式無法使用,命令模式下X就和delete一樣,dd表示刪除游標所在的整行!
③ LinuxShell文本處理工具集錦
提供的例子和參數都是最常用和最為實用的;
我對shell腳本使用的原則是命令單行書寫,盡量不要超過2行;
如果有更為復雜的任務需求,還是考慮python吧;
find 文件查找
•查找txt和pdf文件
-iregex: 忽略大小寫的正則
•否定參數
查找所有非txt文本
-type f 文件 / l 符號鏈接
•按時間搜索:
-atime 訪問時間 (單位是天,分鍾單位則是-amin,以下類似)
-mtime 修改時間 (內容被修改)
-ctime 變化時間 (元數據或許可權變化)
最近7天被訪問過的所有文件:
•按大小搜索:
w字 k M G
尋找大於2k的文件
按許可權查找:
復制代碼代碼如下:find . -type f -perm 644 -print //找具有可執行許可權的所有文件按用戶查找:
復制代碼代碼如下:find . -type f -user weber -print// 找用戶weber所擁有的文件找到後的後續動作
•刪除:
刪除當前目錄下所有的swp文件:
復制代碼代碼如下:find . -type f -name "*.swp" -delete•執行動作(強大的exec)
復制代碼代碼如下:find . -type f -user root -exec chown weber {} ; //將當前目錄下的所有權變更為weber註:{}是一個特殊的字元串,對於每一個匹配的文件,{}會被替換成相應的文件名;
eg:將找到的文件全都到另一個目錄:
•結合多個命令
tips: 如果需要後續執行多個命令,可以將多個命令寫成一個腳本。然後 -exec 調用時執行腳本即可;
-print的定界符
默認使用』
』作為文件的定界符;
-print0 使用』 ′作為文件的定界符,這樣就可以搜索包含空格的文件;
grep 文本搜索
grep match_patten file // 默認訪問匹配行
•常用參數
-o 只輸出匹配的文本行 VS -v 只輸出沒有匹配的文本行
-c 統計文件中包含文本的次數
-n 列印匹配的行號
-i 搜索時忽略大小寫
-l 只列印文件名
•在多級目錄中對文本遞歸搜索(程序員搜代碼的最愛):
•匹配多個模式
復制代碼代碼如下:grep -e "class" -e "vitural" file•grep輸出以 作為結尾符的文件名:(-z)
復制代碼代碼如下:grep "test" file* -lZ| xargs -0 rmxargs 命令行參數轉換
xargs 能夠將輸入數據轉化為特定命令的命令行參數;這樣,可以配合很多命令來組合使用。比如grep,比如find;
•將多行輸出轉化為單行輸出
cat file.txt| xargs
是多行文本間的定界符
•將單行轉化為多行輸出
cat single.txt | xargs -n 3
-n:指定每行顯示的欄位數
xargs參數說明
-d 定義定界符 (默認為空格 多行的定界符為
)
-n 指定輸出為多行
-I {} 指定替換字元串,這個字元串在xargs擴展時會被替換掉,用於待執行的命令需要多個參數時
eg:
-0:指定 為輸入定界符
eg:統計程序行數
sort 排序
欄位說明:
-n 按數字進行排序 VS -d 按字典序進行排序
-r 逆序排序
-k N 指定按第N列排序
eg:
uniq 消除重復行
•消除重復行
•統計各行在文件中出現的次數
復制代碼代碼如下:sort unsort.txt | uniq -c•找出重復行
復制代碼代碼如下:sort unsort.txt | uniq -d可指定每行中需要比較的重復內容:-s 開始位置 -w 比較字元數
用tr進行轉換
•通用用法
復制代碼代碼如下:•tr刪除字元
復制代碼代碼如下:cat file | tr -d Ɔ-9' // 刪除所有數字-c 求補集
復制代碼代碼如下:•tr壓縮字元
tr -s 壓縮文本中出現的重復字元;最常用於壓縮多餘的空格
•字元類
tr中可用各種字元類:
alnum:字母和數字
alpha:字母
digit:數字
space:空白字元
lower:小寫
upper:大寫
cntrl:控制(非可列印)字元
print:可列印字元
使用方法:tr [:class:] [:class:]
cut 按列切分文本
•截取文件的第2列和第4列:
•eg:
復制代碼代碼如下:paste 按列拼接文本
將兩個文本按列拼接到一起;
默認的定界符是製表符,可以用-d指明定界符
paste file1 file2 -d 「,」
1,colin
2,book
wc 統計行和字元的工具
wc -l file // 統計行數
wc -w file // 統計單詞數
wc -c file // 統計字元數
sed 文本替換利器
•首處替換
•全局替換
復制代碼代碼如下:seg 's/text/replace_text/g' file默認替換後,輸出替換後的內容,如果需要直接替換原文件,使用-i:
•子串匹配標記
第一個匹配的括弧內容使用標記 1 來引用
當使用雙引號時,我們可以在sed樣式和替換字元串中指定變數;
復制代碼代碼如下:•其它示例
字元串插入字元:將文本中每行內容(PEKSHA) 轉換為 PEK/SHA
awk 數據流處理工具
•awk腳本結構
awk 『 BEGIN{ statements } statements2 END{ statements } 『
•工作方式
1.執行begin中語句塊;
2.從文件或stdin中讀入一行,然後執行statements2,重復這個過程,直到文件全部被讀取完畢;
3.執行end語句塊;
print 列印當前行
•使用不帶參數的print時,會列印當前行;
•使用-拼接符的方式(」"作為拼接符);
復制代碼代碼如下:特殊變數: NR NF $0 $1 $2
NR:表示記錄數量,在執行過程中對應當前行號;
NF:表示欄位數量,在執行過程總對應當前行的欄位數;
$0:這個變數包含執行過程中當前行的文本內容;
$1:第一個欄位的文本內容;
$2:第二個欄位的文本內容;
•列印每一行的第二和第三個欄位:
傳遞外部變數
復制代碼代碼如下:用樣式對awk處理的行進行過濾
awk 『NR < 5′ #行號小於5
awk 『NR==1,NR==4 {print}』 file #行號等於1和4的列印出來
awk 『/linux/』 #包含linux文本的行(可以用正則表達式來指定,超級強大)
awk 『!/linux/』 #不包含linux文本的行
設置定界符
使用-F來設置定界符(默認為空格)
awk -F: 『{print $NF}』 /etc/passwd
讀取命令輸出
使用getline,將外部shell命令的輸出讀入到變數cmdout中;
在awk中使用循環
for(i=0;i<10;i++){print $i;}
for(i in array){print array[i];}
eg:
以逆序的形式列印行:(tac命令的實現)
awk實現head、tail命令
•head:
•tail:
復制代碼代碼如下:列印指定列
•awk方式實現:
eg:
awk常用內建函數
index(string,search_string):返回search_string在string中出現的位置
sub(regex,replacement_str,string):將正則匹配到的第一處內容替換為replacement_str;
match(regex,string):檢查正則表達式是否能夠匹配字元串;
length(string):返回字元串長度
printf 類似c語言中的printf,對輸出進行格式化
eg:
迭代文件中的行、單詞和字元
1. 迭代文件中的每一行
•while 循環法
•awk法:
cat file.txt| awk 『{print}』
2.迭代一行中的每一個單詞
復制代碼代碼如下:3. 迭代每一個字元
${string:start_pos:num_of_chars}:從字元串中提取一個字元;(bash文本切片)
${#word}:返回變數word的長度
④ 如何在Linux中安全的刪除文件和目錄
在大多數情況下,我們習慣於使用 Delete 鍵、垃圾箱或 rm 命令從我們的計算機中刪除文件,但這不是永久安全地從硬碟中(或任何存儲介質)刪除文件的方法。
在大多數情況下,我們習慣於使用 Delete 鍵、垃圾箱或 rm 命令從我們的計算機中刪除文件,但這不是永久安全地從硬碟中(或任何存儲介質)刪除文件的方法。
該文件只是對用戶隱藏,它駐留在硬碟上的某個地方。它有可能被數據竊賊、執法取證或其它方式來恢復。
假設文件包含密級或機密內容,例如安全系統的用戶名和密碼,具有必要知識和技能的攻擊者可以輕松地恢復刪除文件的副本並訪問這些用戶憑證(你可以猜測到這種情況的後果)。
在本文中,我們將解釋一些命令行工具,用於永久並安全地刪除 Linux 中的文件。
1.shred – 覆蓋文件來隱藏內容
shred 會覆蓋文件來隱藏它的內容,並且也可以選擇刪除它。
在下面的命令中,選項有:
你可以在 shred 的幫助頁中找到更多的用法選項和信息:
2.wipe – 在 Linux 中安全刪除文件
wipe 命令可以安全地擦除磁碟中的文件,從而不可能恢復刪除的文件或目錄內容。
首先,你需要安裝 wipe 工具,運行以下適當的命令:
下面的命令會銷毀 private 目錄下的所有文件。
當使用下面的標志時:
注意:wipe 僅可以在磁性存儲上可以可靠地工作,因此對固態磁碟(內存)請使用其他方法。
閱讀 wipe 手冊以獲取其他使用選項和說明:
3.Linux 中的安全刪除工具集
secure-delete 是一個安全文件刪除工具的集合,它包含用於安全刪除文件的 srm(secure_deletion)工具。
首先,你需要使用以下相關命令安裝它:
安裝完成後,你可以使用 srm 工具在 Linux 中安全地刪除文件和目錄。
下面是使用的選項:
閱讀 srm 手冊來獲取更多的使用選項和信息:
4.sfill -安全免費的磁碟 / inode 空間擦除器
sfill 是 secure-deletetion 工具包的一部分,是一個安全免費的磁碟和 inode 空間擦除器,它以安全的方法刪除可用磁碟空間中的文件。 sfill 會檢查指定分區上的可用空間,並使用來自 /dev/urandom 的隨機數據填充它。
以下命令將在我的根分區上執行 sfill,使用`-v` 選項啟用 verbose 模式:
假設你創建了一個單獨的分區 /home 來存儲正常的系統用戶主目錄,你可以在該分區上指定一個目錄,以便在其上應用 sfill:
你可以在 sfill 的手冊上看到一些限制,你也可以看到額外的使用標志和命令:
注意:secure-deletetion 工具包中的另外兩個工具(sswap 和 sdmem)與本指南的范圍不直接相關,但是,為了將來的使用和傳播知識的目的,我們會在下面介紹它們。
5.sswap – 安全 swap 擦除器
它是一個安全的分區擦除器,sswap 以安全的方式刪除 swap 分區上存在的數據。
警告:請記住在使用 sswap 之前卸載 swap 分區! 否則你的系統可能會崩潰!
要找到交換分區(並檢查分頁和交換設備/文件是否已經使用,請使用swapon 命令),接下來,使用swapoff 命令禁用分頁和交換設備/文件(使 swap 分區不可用)。
然後在(關閉的) swap 分區上運行sswp 命令:
閱讀 sswap 的手冊來獲取更多的選項和信息:
6. sdmem – 安全內存擦除器
sdmem 是一個安全的內存擦除器,其設計目的是以安全的方式刪除存儲器(RAM)中的數據。
它最初命名為 smem,但是因為在 Den 系統上存在另一個包 smem – 報告每個進程和每個用戶的內存消耗,開發人員決定將它重命名為 sdmem。
⑤ Linux kali更新源
題主你好,
寫在前面: vim在編輯文件的同時,會在文件同目錄產生一個後綴為swp的交換文件,在正常退出vim編輯器的情況下,該交換文件自動刪除.由上可以推出,如果vim在編輯某文件時未正常退出,則隱藏的swp文件就會保留下來(和原文件同目錄, 如原文件為test, 則隱藏的交換文件為 .test.swp).
所以如果想要vim在編輯sources.list文件時不出現上述提示,直接將未正常退出而產生的.sources.list.swp文件刪除即可.
輸入:
rm /etc/apt/.sources.list.swp
回車後, 再對/etc/apt/sources.list進行編輯就不會有那個提示了
*.由上可以推斷出, vim在編輯某個文件(假設文件名為test)時,會先檢測同目錄下是否有該文件(test)的交換文件(.test.swp), 如果有則會先給個提示,如果沒有,則直接對文件進行編輯.
希望可以幫到題主, 歡迎追問
⑥ Linux 產生的後綴名為swn swo swp的文件能刪除嗎如果可以要怎麼刪除啊
可以刪除,swp、swn、swo等都是臨時交換文件,可以使用rm命令刪除,如:rm a.swp