Linux 檔名包含特殊符號或是空白的檔案、目錄夾,也可搜尋出來直接刪除。
緣起,又是抓片子的時候遇到的問題之一,老手都知道片子100%的時候,目錄底下絕對不會只有avi和jpg而已,都會夾雜一些蝦密*.mht *.chm *.url *.txt之類的垃圾檔案,一個個刪除絕對是笨蛋的行為(我做了好幾年的笨蛋 = =")。
那有什麼指令可以把要刪除的檔案一次清光光呢? 這時候真的會覺得Linux真的很好用。
如果用土法煉鋼的 rm 指令保證會吐血,因為很多的檔名都不是只有英文+數字而已,有的還會夾雜其它的奇怪符號,或是最討厭的空白,這時候你就會很度濫。
那怎麼辦呢? 粉簡單,只要打一串指令就搞定!
linux@linux:/$ find -name "*.mht" -exec rm -rf {} \;
-exec 是代表搜尋完的結果交給後面執行的程式。
rm -rf 是強制刪除目錄夾(包含底下裡面的檔案)不過問。
{} 是代表搜尋結果的內容,這個可以做很多變化,例如原本 rm 指令改用 mv 就變的可以更改檔名。
\; 是代表指令結束,這個一定要加在最後,不加的話執行會錯誤。
而上面指令的"*.mht"可以更改成你要的檔案類型,如以下所示:
"*.jpg" 搜尋所有附檔名是小寫的jpg檔案並且刪除。
"*.[jJ][pP][gG]" 搜尋所有附檔名是jpg檔案,不論大小寫並且刪除。
"abc*" 搜尋abc檔名開頭的所有檔案並且刪除。
"abc*.jpg" 搜尋abc檔名開頭的jpg檔案並且刪除。
"*abc*" 搜尋檔名中間有abc的檔案並且刪除。
"*abc*.jpg" 搜尋檔名中間有abc的jpg檔案並且刪除。
以上的範例還有一個小問題,如果想要搜尋的檔名很長而且也不知道大小寫的時候,那可就麻煩了。
例如: "sdhGSDvassdrfhDDFFsklklsddD" 這種整人的檔名就很GY阿,可是真的要找到它難道要像上面寫的一樣,每個字都要入大小寫才能嗎? no no no,科技始終來自於人性,人性來自於惰性,作者早就想到了啦!!!
linux@linux:/$ find -iname "sdhGSDvassdrfhDDFFsklklsddD" -exec rm -rf {} \;
鄉親們!! 看到沒,就這麼簡單,換個參數就搞定,把原本的 -name 改成 -iname 就好囉。
以此類推,剩下的自己搞定!
2013年2月4日 星期一
2013年1月16日 星期三
移除惱人的警告 NTFS Data Streams NTFS資料串流
有興趣了解原理的可以上Google用關鍵字「NTFS Data Streams」搜尋。
自從XP SP3之後,Vista或是Windows 7 應該都有遇到以下的情形吧!
這個檔案來自另一台電腦,可能會封鎖以協助保護您的電腦。
注意,這個畫面只會在點選單一檔案時才會出現,如果是選擇多個檔案的時候就不會出現。
Streams v1.56
http://download.sysinternals.com/files/Streams.zip
把streams.exe解壓縮放到 C:\Windows\System32 這個路徑下,因為這個路徑是系統內定的path之一,方便在任何目錄下操作。
1.開始>執行>cmd,出現dos視窗,用指令dir/o檢查 c:\ 底下的檔案,確認puttytel.exe存在,這是範例,以自己的電腦檔案為主。
2.輸入 streams/? ,會出現指令解說,參數 -s 是遞層目錄,參數 -d 是最重要的刪除streams,如果沒有加這個參數就無效。
刪除完畢,顯示Deleted :Zone.Identifier:$DATA 代表已經刪除streams了。
警告消失了,軟體也可以直接執行不會出現警告。
4.刪除目錄下所有檔案的streams(包含子目錄),輸入指令 streams -s -d c:\test ,如果要針對分割區底下所有的檔案,後面的指令只要改成 c:\ 或是 d:\ 就好了,以此類推。
目錄下一次全部搞定! (畫面顯示??是因為有中文,但是不會影響檔名和目錄名稱)
自從XP SP3之後,Vista或是Windows 7 應該都有遇到以下的情形吧!
這個檔案來自另一台電腦,可能會封鎖以協助保護您的電腦。
注意,這個畫面只會在點選單一檔案時才會出現,如果是選擇多個檔案的時候就不會出現。
無法確認發行者,您確定要執行這個軟體?
要解除這樣的情形很簡單,只需要上微軟官網下載「Streams」這個工具,再輸入指令就搞定。
Windows Sysinternals
http://technet.microsoft.com/en-us/sysinternals/bb545027.aspx
Streams v1.56
http://download.sysinternals.com/files/Streams.zip
把streams.exe解壓縮放到 C:\Windows\System32 這個路徑下,因為這個路徑是系統內定的path之一,方便在任何目錄下操作。
1.開始>執行>cmd,出現dos視窗,用指令dir/o檢查 c:\ 底下的檔案,確認puttytel.exe存在,這是範例,以自己的電腦檔案為主。
2.輸入 streams/? ,會出現指令解說,參數 -s 是遞層目錄,參數 -d 是最重要的刪除streams,如果沒有加這個參數就無效。
3.刪除檔案streams,輸入指令stream -d c:\puttytel.exe ,用相對路徑或是絕對路徑都可以,但如果要當工作排程的批次檔,當然是還是絕對路徑最好。
刪除完畢,顯示Deleted :Zone.Identifier:$DATA 代表已經刪除streams了。
警告消失了,軟體也可以直接執行不會出現警告。
4.刪除目錄下所有檔案的streams(包含子目錄),輸入指令 streams -s -d c:\test ,如果要針對分割區底下所有的檔案,後面的指令只要改成 c:\ 或是 d:\ 就好了,以此類推。
目錄下一次全部搞定! (畫面顯示??是因為有中文,但是不會影響檔名和目錄名稱)
2013年1月1日 星期二
把Android 安裝在一般的x86電腦上
看到 Android 大部分的人都會覺得是Google手機專用的作業系統,但稍微瞭解的朋友都知道,其實骨子還是Linux,並不完全是新的系統。
Android-x86 Project 官方網站
既然是Linux,那要移植到一般的x86 PC上運行可能性就提高許多,國外有高手真的把這方案做出來了,上google搜尋 Android-x86 Project 便可知一二。
Android-x86 Project 官方網站
http://www.android-x86.org
下載ISO
http://code.google.com/p/android-x86/downloads/list
小弟下載的檔案是android-x86-4.0-RC2-eeepc.iso,硬體需求不會很高,拿來裝在Virtual Machine運行也是可以。
但是以上的版本有個小問題,就是有線網路卡的相關服務似乎沒有很完善,要另外輸入指令開啓才可以使用,如果覺得太麻煩的朋友可以考慮下載可以使用網卡的版本。
desktop_generic.iso
用VMware Workstation當範例安裝測試,Guest OS選Linux-Ubuntu 32位元,硬碟目前的版本只能選IDE,選SCSI的話會抓不到。
安裝過程非常簡單,幾乎都是下一步就可以完成,只要照著步驟就可以看到美美的Andorid畫面囉!
下載ISO
http://code.google.com/p/android-x86/downloads/list
小弟下載的檔案是android-x86-4.0-RC2-eeepc.iso,硬體需求不會很高,拿來裝在Virtual Machine運行也是可以。
但是以上的版本有個小問題,就是有線網路卡的相關服務似乎沒有很完善,要另外輸入指令開啓才可以使用,如果覺得太麻煩的朋友可以考慮下載可以使用網卡的版本。
desktop_generic.iso
用VMware Workstation當範例安裝測試,Guest OS選Linux-Ubuntu 32位元,硬碟目前的版本只能選IDE,選SCSI的話會抓不到。
安裝過程非常簡單,幾乎都是下一步就可以完成,只要照著步驟就可以看到美美的Andorid畫面囉!
Shrinking a virtual disk using scripts in VMware Fusion 5 官方文件
Shrinking a virtual disk using scripts in VMware Fusion 5
Purpose
This article provides the steps to shrink a virtual disk in VMware Fusion 5.x using scripts.
Notes:
- The VMware Tools user interface inside the virtual machine in Fusion 5 no longer has the option to shrink the virtual disk.
- The Clean up Virtual Machine option under Settings > General can also be used to shrink the virtual disks.
Resolution
Shrinking the virtual disk in a Windows virtual machine
To shrink the virtual disk in a Windows virtual machine:
- Power on the Windows virtual machine.
- Open a Command Prompt with administrator privileges.
- Run these commands:
cd C:\Program Files\VMware\VMware Tools
C:\Program Files\VMware\VMware Tools> VMwareToolboxCmd help disk
This displays a list of options that are available for shrinking.
Shrinking the virtual disk in a Linux virtual machine
To shrink the virtual disk in a Linux virtual machine:
- Open Terminal.
- Run these commands:
cd /usr/bin
/usr/bin$ vmware-toolbox-cmd help disk
Shrinking the virtual disk in a Mac OS X virtual machine
To shrink the virtual disk in a Windows virtual machine:
- Open Terminal.
- Run these commands:
cd /Library/Application Support/VMware Tools
./vmware-tools-cli help disk
Note: To perform a normal shrink operation, use the shrink only option.
訂閱:
文章 (Atom)