Today had some important markdown file that accidentally deleted on my SSD and had to go over the recovery of it.
All I did was this:
run sudo systemctl status fstrim.timer to check how often TRIM runs on my system (apparently it runs weekly and the next scheduled run was in 3 days)
run sudo pacman -S testdisk
run sudo photorec
choose the correct partition where the files were deleted
choose filesystem type (ext4)
choose a destination folder where to save recovered files
start recovery
10-15 minutes and it’s done.
open nvim in parent folder and grep for content in the file that I remember adding today
That’s it - the whole process was so fast. No googling through 10 different sites with their shitty flashy UIs promising “free recovery,” wondering whether this is even trustworthy to install on your machine, dealing with installers that’ll sneak in annoying software if you click too fast, only to have them ask for payment later. No navigating complex GUIs either.
I was so thankful for this I actually donated to the maintainers of the software. Software done right.


Question. Where do you learn commands? There’s no way you thought “let’s try sudo” out of no where.
Sincerely,
New Linux User
Edit: Great responses everyone, thank you!
In another comment, OP said they checked the arch wiki, specifically https://wiki.archlinux.org/title/File_recovery. The arch wiki is a great resource; most of the information is not arch-specific and is useful for linux in general.
Regarding “let’s try sudo”: you should get familiar with sudo because it’s one of the most important linux commands. It runs a command with elevated privileges (it originally stood for “super-user do”). That means sudo isn’t actually the important part of the commands; it just means that the following commands (pacman and photorec) need elevated privileges. pacman deals with systemwide package management and photorec needs access to the raw storage device objects in order to recover files.
Acktually
sudois there to run a command as another user, it does not need to be “superuser” (also known as rot). “superuser” is just the default. To be honest, I never used the option to run as another user, because my computers are single user only. There are so many more options. One should look intoman sudoto see whats possible, its incredible!However, there are alternatives to
sudo, such asdoasfrom OpenBSD ported over andrun0from the evil SystemD. They findsudoto be complicated and bloated.Also quick tip:
sudoedit(same assudo -eorsudo --edit) insteadsudo vimto edit your files with elevated privileges while using your personal configuration. If you want do that, that’s up to you. I want to use my Vim configuration while editing files within sudo right.Yeh, I think it’s actually “switch user do”.
Like “su” is “switch user”.
The default being root is handy.
Yes and no. The original design of
sudostands for super user do, and could only run with super user privileges. The run as other users feature was added later, and then they renamed it to substitute user do. I even looked up to get that fact right, and always forget its “substitute” and not “switch”, but I also think of sudo as switch user do.^^Massive Linux lore dumps going on, and I love it.
Thanks for correcting me.
I’ll be real with you. What you need to do is, whenever faced with a task that sounds like it needs CLI, go search stackoverflow for that task. It probably has something slightly relevant to what you need, you take the commands from that answer and read their manuals.
At least do not ask the Ai for
sudostuff. While Stack Overflow nowadays also includes Ai answers, at least these are online monitored and checked by humans.A very nice terminal-based cheatsheet is named
tldr(or tealdeer).It gives you a very short explanation of what a program does, and then lists common uses of that program and explains them
Becoming familiar with the essentials,
grep,awk,sedis a good start. Manual pages can of course be accessed usingmanfollowed by the command/program you want to know more about. Understanding operators like|,>,>>, etc. can help as well. And reading the entirety ofman bashis a good way to dive in further.If you’d like to learn more about Bash itself, this is an amazing resource: https://mywiki.wooledge.org/BashGuide
Probably the ONLY place on the internet that will teach you to write safe shell scripts. Most shit on StackOverflow (and consequently, most shell generated by LLMs) is dangerous garbage.
deleted by creator
deleted by creator