Homepage › Forums › Articles › Operating Systems › Linux › Shell/Command-line › Recovering Your Deleted Files on Linux
This topic was published by Hooman Aminvand and viewed 1930 times since "". The last page revision was "".
Viewing 1 post (of 1 total)
- AuthorPosts
If you lost your files by mistakingly deleting them, you can recover the files using TestDisk. TestDisk is an open-source and free app that supports FAT, exFAT, NTFS, ext2, ext3, and ext4 partitions.
To install TestDisk, you must copy this script in a writing app (like gedit) and save with the *.sh suffix.
#!/bin/bash ############################# ### This script will help you to recover the accidentally ### deleted data from crashed linux file systems ### Script created by (Srijan Kishore) ############################# # User Check if [ "$USER" = 'root' ] then gdialog --title "User Check" --msgbox "User is root, you can execute the script successfully." 200 150 echo "User is root, you can execute the script successfully" else gdialog --title "User Check" --msgbox "User is not Root. Please run the script as root user." 200 150 echo "User is not Root. Please run the script as root user." exit 1 fi # Check your operating system cat /etc/debian_version >> /dev/null if [ "$?" = 0 ] then echo "You are using ubuntu/debian" gdialog --title "Your Operating System" --msgbox "You are using ubuntu/debian" else gdialog --title "Your Operating System" --msgbox "You are not using debian/ubuntu.You can download the TestDisk from this link http://www.cgsecurity.org/wiki/TestDisk_Download" echo "You are not using debian/ubuntu. You can download the TestDisk from this link http://www.cgsecurity.org/wiki/TestDisk_Download" fi # Installing Testdisk testdisk /version >> /dev/null if [ "$?" = 0 ] then echo "Testdisk already installed" else echo "Installing Testdisk" apt-get update apt-get upgrade apt-get --force-yes -y install testdisk gdialog --title "Success" --msgbox "Testdisk installed successfully" 100 50 fi # Set backup directory mkdir -p /root/result/lostfiles #Run the recovery program photorec /d /root/result/lostfiles # Filters files user=`ps aux | grep gnome-session | grep -v grep | head -1 | cut -d " " -f1` mkdir "/home/$user/recovered_output" mkdir "/home/$user/recovered_output/Debians" mkdir "/home/$user/recovered_output/rpms" mkdir "/home/$user/recovered_output/conf_files" mkdir "/home/$user/recovered_output/exe" mkdir "/home/$user/recovered_output/binaries" mkdir "/home/$user/recovered_output/Docs" mkdir "/home/$user/recovered_output/Pdfs" mkdir "/home/$user/recovered_output/Mbox" mkdir "/home/$user/recovered_output/Images" mkdir "/home/$user/recovered_output/Videos" mkdir "/home/$user/recovered_output/Sound" mkdir "/home/$user/recovered_output/ISO" mkdir "/home/$user/recovered_output/Excel" mkdir "/home/$user/recovered_output/Presentation" mkdir "/home/$user/recovered_output/Web_Files" mkdir "/home/$user/recovered_output/Archives" mkdir "/home/$user/recovered_output/Others" #Sorting the Recovered data find /root/result/ -name "*.doc" -type f -exec mv {} "/home/$user/recovered_output/Docs/" \; find /root/result/ -name "*.docx" -type f -exec mv {} "/home/$user/recovered_output/Docs/" \; find /root/result/ -name "*.odt" -type f -exec mv {} "/home/$user/recovered_output/Docs/" \; find /root/result/ -name "*.pdf" -type f -exec mv {} "/home/$user/recovered_output/Pdfs/" \; find /root/result/ -name "*.mbox" -type f -exec mv {} "/home/$user/recovered_output/Mbox/" \; find /root/result/ -name "*.png" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.jpg" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.jpeg" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.gif" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.avi" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mpeg" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mp4" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mkv" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.webm" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.wmv" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.flv" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mp3" -type f -exec mv {} "/home/$user/recovered_output/Sound/" \; find /root/result/ -name "*.wav" -type f -exec mv {} "/home/$user/recovered_output/Sound/" \; find /root/result/ -name "*.deb" -type f -exec mv {} "/home/$user/recovered_output/Debians/" \; find /root/result/ -name "*.bin" -type f -exec mv {} "/home/$user/recovered_output/binaries/" \; find /root/result/ -name "*.exe" -type f -exec mv {} "/home/$user/recovered_output/exe/" \; find /root/result/ -name "*.rpm" -type f -exec mv {} "/home/$user/recovered_output/rpms/" \; find /root/result/ -name "*.conf" -type f -exec mv {} "/home/$user/recovered_output/conf_files" \; find /root/result/ -name "*.iso" -type f -exec mv {} "/home/$user/recovered_output/ISO/" \; find /root/result/ -name "*.xls" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.xlsx" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.csv" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.ods" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.ppt" -type f -exec mv {} "/home/$user/recovered_output/Presentation/" \; find /root/result/ -name "*.pptx" -type f -exec mv {} "/home/$user/recovered_output/Presentation/" \; find /root/result/ -name "*.odp" -type f -exec mv {} "/home/$user/recovered_output/Presentation/" \; find /root/result/ -name "*.html" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.htm" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.jsp" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.xml" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.css" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.js" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.zip" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.tar" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.rar" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.gzip" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.tar.gz" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.7z" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.bz" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.bz2" -type f -exec mv {} "/home/$user/recovered_output/Archives" \; find /root/result/ -name "*.*" -type f -exec mv {} "/home/$user/recovered_output/Others/" \; chown -R $user "/home/$user/recovered_output" zenity --display :0 --info --width=350 --height=100 --title "Recovery Successful" --text " Data has been recovered successfully in recovered_output folder in your home directory." nautilus /home/$user/recovered_output & exit 0
To catch Root access, execute
sudo -i
To run the script, execute
sh script.sh
Afterwards, it will show all of your storage devices, so select one.
Below is a series of screenshots that shows how to use TestDisk.
TestDisk-Storage-Device TestDisk-Partition TestDisk-Filesystem TestDisk-Recovery-Done TestDisk-Recovery-Success-Confirmation TestDisk-Recovered-Files Further Reading
- Filesystem Hierarchy Standard (FHS) - https://dcjtech.info/topic/filesystem-hierarchy-standard-fhs/
- Undeleting Files - https://dcjtech.info/topic/undeleting-files/
- Filesystem Article Index - https://dcjtech.info/topic/filesystems/
- AuthorPosts
Viewing 1 post (of 1 total)