linux資源回收筒(改寫rm防止誤刪檔案無法恢複)

rm -rf 慎用 命令敲得多了,常在河邊走,難免會濕鞋 昨天,一個手誤,敲錯了命令,把原本想要留的檔案夾給rm -rf掉了 幾天心血全木有了,靠,死的心都有了  經百度,google以及嘗試無果,哎,這個以後再研究怎麼找回吧  幾點教訓: 1.rm 特別是rm -rf之前,小心,三思,或者直接將命令改寫掉 2.做好備份,有便捷的備份指令碼 3.做好定時備份,有個前輩搞定時指令碼,每天定時自個執行,即使刪錯了也不會那麼悲催  首先,搞個資源回收筒 在~下    

linux下不使用useradd命令,手工建立特殊帳號

1.建立使用者組(vi /etc/group)2.同步/etc/groupy 與 /etc/gshadow(grpconv)3.建立帳號的各個屬性(vi /etc/passwd)4 講/etc/passwd 與/etc/shadow同步(pwconv)5.建立賬戶密碼(passwd accountname)6.建立使用者主資料夾(cp -a /etc/skel /home/accountname)7. 更改使用者主資料夾屬性(chown -R

在bochs上運行linux-0.12

bochs-2.6下載   linux-0.12系統軟體包 1.雙擊安裝Bochs-2.6.exe2.雙擊bochsrc-0.12-fd.bxrc,回合組態檔案   (可自行編輯設定檔,見模板安裝目錄下/bochs2.6/bochsrc-sample.txt)3.fd 表明從磁碟片啟動系統,hd表明從硬碟啟動系統,當顯示insert root floppy時,選擇A磁碟片.3.彈出如下介面,選擇rootimage-0.12.fd 檔案4.單擊ok後,顯示如下介面表明系統載入成功。

Linux進程通訊-訊號量

一、相關知識 訊號量:一個整數;  大於或等於0時代表可供並發進程使用的資源實體數;  小於0時代表正在等待使用臨界區的進程數;  用於互斥的訊號量初始值應大於0;  只能通過P、V原語操作而改變; 訊號量元素組成:  1、表示訊號量元素的值;  2、最後操作訊號量元素的進程ID  3、等待訊號量元素值+1的進程數;  4、等待訊號量元素值為0的進程數; 二、主要函數  1.1 建立訊號量 int semget(  key_t

linux進程通訊-共用記憶體

統調用mmap()通過映射一個普通檔案實現共用記憶體。系統V則是通過映射特殊檔案系統shm中的檔案實現進程間的共用記憶體通訊。也就是說,每個共用記憶體地區對應特殊檔案系統shm中的一個檔案(這是通過shmid_kernel結構聯絡起來的),後面還將闡述。1、系統V共用記憶體原理進程間需要共用的資料被放在一個叫做IPC共用記憶體地區的地方,所有需要訪問該共用地區的進程都要把該共用區域對應到本進程的地址空間中去。系統V共用記憶體通過shmget獲得或建立一個IPC共用記憶體地區,並返回相應的標識符。

linux中的互斥鎖–mutex,條件變數,訊號量,讀寫鎖

進行多線程編程,最應該注意的就是那些共用的資料,因為無法知道哪個線程會在哪個時候對它進行操作,也無法得知哪個線程會先運行,哪個線程會後運行。所以,要對這些資源進行合理的分配和正確的使用。在Linux下,提供了互斥鎖、條件變數和訊號量來對共用資源進行保護。一、互斥鎖互斥鎖,是一種訊號量,常用來防止兩個進程或線程在同一時刻訪問相同的共用資源。需要的標頭檔:pthread.h互斥鎖標識符:pthread_mutex_t(1)互斥鎖初始化:函數原型: int pthread_mutex_init

Linux進程通訊-管道

管道(pipe):用於親緣關係進程間(如父子進程,兄弟進程)的通訊一個進程寫管道:寫入位元組數小於PIPE_BUF是原子操作,寫操作在管道緩衝區沒有及時讀走時發生阻塞。一個進程讀管道:讀操作在管道緩衝區沒有資料時發生阻塞。主要函數:int pipe(int

Linux中應用程式運行庫錯誤問題的一種解決方案

眾所周知,Linux中軟體運行時都依賴於特定的庫,有些軟體甚至只能與某種庫的特定版本配合才能運行。但各種不同的庫和同種庫的不同版本間常存在互斥關係,不能在系統中共存。這給很多依賴特定庫的軟體,特別是一些閉源軟體的運行造成種種困難。主要困難就是如何在滿足軟體依賴庫的同時又不與系統中其它庫相衝突?一種顯然的解決方案就是為軟體指定其私人庫,這樣不同的庫就各行其事互不干擾了。現在問題變成如何為軟體指定運行庫?Google發現可通過指定LD_LIBRARY_PATH環境變數來指定。望文知義,LD_LIBR

ubuntu下mini2440通過NFS啟動linux

 ubuntu下mini2440通過NFS啟動linux日期:2011.11.8之前按照國嵌的資料和視頻設定過NFS啟動,但是RHEL5的龐大和啟動速度實在讓人崩潰,因此還是將戰線轉移到ubuntu下,還能隨意的下載軟體,很爽。1.   環境宿主機:VMware下的ubuntu10.04,橋接方式Bridged接入 分配ip  202.114.3.20目標開發板:mini2440 分配ip

linux下的access()函數判斷檔案是否存在、列印時間

一、access函數功能描述: 檢查調用進程是否可以對指定的檔案執行某種操作。   用法: #include <unistd.h>#include <fcntl.h>int access(const char *pathname, int mode);     參數: pathname: 需要測試的檔案路徑名。   mode: 需要測試的操作模式,可能值是一個或多個R_OK(可讀?), W_OK(可寫?), X_OK(可執行?) 或 F_OK(檔案存在?)組合體。  

【轉載】linux核心移植中遇到CRC錯誤的問題

啟動mini2440時,有時會遇到crc error 再重新啟動一次一般就好了,不好的話就多試幾次肯定可以,這樣就可以排除nandflash燒寫的檔案有誤碼的問題,但是什麼問題導致機率出現 crc error呢,此時使用的是mini2440官方的supervivi,在另外一塊mini2440開發板上基本上就沒有遇到過這樣的問題,先記錄下來以後有時間在挖挖。在網上搜尋看到了下面這篇文章,轉載至此。原文地址: http://zsmctfy.blog.163.com/blog/static/11687

linux+tar

tar [-cxtzjvfpPN] 檔案與目錄 ....參數:-c :建立一個壓縮檔的參數指令(create 的意思);-x :解開一個壓縮檔的參數指令!-t :查看 tarfile 裡面的檔案!特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?-v

Linux下處理序間通訊機制:FIFO(具名管道)

FIFO ,又稱具名管道 ,是Linux下(unix環境下)一種處理序間通訊的機制,應用廣泛。 函數mkfifo 用於建立具名管道,使用命令man 3 mkfifo 可查看此函數資訊。FIFO建立後,可以像普通檔案一樣對其訪問。  Linux下一個同名命令mkfifo 也用於建立FIFO,例如:執行命令$ mkfifo /tmp/fifo$ cat /tmp/fifo程式阻塞。再開啟一個shell,執行$ echo hello >

linux Regex

 linux Regex 收藏 什麼是Regex一個Regex,就是用某種模式去匹配一類字串的一個公式。很多人因為它們看上去比較古怪而且複雜所以不敢去使用——很不幸,這篇文章也不能夠改變這一點,不過,經過一點點練習之後我就開始覺得這些複雜的運算式其實寫起來還是相當簡單的,而且,一旦你弄懂它們,你就能把數小時辛苦而且易錯的文本處理工作壓縮在幾分鐘(甚至幾秒鐘)內完成。Regex被各種文本編輯軟體、類庫(例如Rogue

Ubuntu10.04光碟片啟動重新安裝GRUB到主引導區MBR修複Linux啟動

安裝Linux的時候,已經習慣使用GRUB來引導系統,最近Windows崩潰,重裝了一次,剛好把MBR上面GRUB刪掉了,這樣硬碟裡面雖然有完整的系統跟引導設定檔,卻無法啟動Linux... 現在有兩個方案,一個是安裝grub4dos,修改設定檔,然後啟動linux.還有就是把grub重新安裝到MBR上面。 現在習慣了開機啟動的方法,所以我們把grub重新安裝到硬碟的MBR上面。這個步驟也有兩種方法,一是安裝grub4dos,然後啟動,選中搜尋硬碟上的linux引導檔案,進入Linux之後再安裝

Linux多線程函數解析

  Linux多線程函數解析Linux多線程函數用得比較多的是下面的3個pthread_create(),pthread_exit(),pthread_join();它們都是在標頭檔<pthread.h>之中。編譯時間需要加靜態庫-lpthread 下面是函數的說明:  pthread_create是UNIX環境建立線程函數 int pthread_create(      pthread_t *restrict tidp,      const pthread_attr_t

Linux核心學習-misc雜項裝置驅動

Linux裡面的misc雜項裝置是主裝置號為10的驅動裝置,它的註冊跟使用比較的簡單,所以比較適用於功能簡單的裝置。它有自己的裝置結構體: struct miscdevice  {     int minor;     const char *name;     const struct file_operations *fops;     struct list_head list;     struct device *parent;     struct device

Linux下面常用命令整理

sudo su進入管理員模式,因為有時候使用su的時候總提示輸入密碼不正確。find ./ -name "Makefile"搜尋列出目前的目錄下檔案名稱為"Makefile"的檔案路徑grep -nr "test" ./在遞迴搜尋目前的目錄所有包括“test”的檔案perl -pi -e 's|str1|str2|g' `find ./ -type f`在目前的目錄下所有的檔案裡面把“str1”字串替換為"str2"cat file1查看檔案file1的內容head -10

Linux核心學習-字元裝置驅動學習(二)

在Linux核心學習-字元裝置驅動學習(一)中編寫字元裝置驅動的一種方法,但是需要手動建立裝置節點。有沒有能夠自動的建立裝置節點的呢?有!使用class_create()和device_create()函數可以自動建立節點。     class_create                 :    建立class     class_destroy               :    銷毀class     class_device_create     :    建立device     

Linux下面一個簡單的虛擬platform驅動

/*  * Yao.GUET * http://blog.csdn.net/Yao_GUET * Linux下面一個簡單的虛擬platform驅動 */在Linux之中,約定如果裝置不屬於任何的匯流排,則可以把它註冊為虛擬platform裝置。下面就簡單來學習一下一個簡單的platform裝置是怎麼建立出來的。一般註冊platform驅動的步驟是:1,platform_device_create註冊一個裝置2,platform_driver_create註冊一個驅動。static struct

總頁數: 3772 1 .... 407 408 409 410 411 .... 3772 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。