I am longtime Linux user ( but I don’t consider myself an expert ).
Here are some considerations and knowledge bits I have accumulated:
- If you’re using terminal - especially when you copy commands from internet try to look up command and flags you’re about to execute. Be VERY thoughtful when running any command with recursive flag ( usually
-r
or-R
, depends on the command ). There are multiple commands, when misused without understanding, can ruin the system. For example runningrm -rf <directory>
( deletes all files and directories that are in<directory>
) and providing incorrect directory, like OS root directory, can ruin everything. There are many stories how Linux beginners brick their OS ( it’s almost like rite of passage ). While it’s not strictly required to use Linux, I strongly suggest to try to learn the terminal commands, but be mindful of what you execute. Few other commands to respect:mv
- moves files/directories,chmod
- changes directory/file permissions,chown
- changes directory/file owner. - If you put
sudo
in front of the command, it means it will be executed as an administrator, giving that command additional power. It’s required in many cases, but when paired with point above, it can potentially do more damage. - In some cases you may be required to use
vi
orvim
to edit files, learn the commands to write, exit the application (:q
to quit ). There are many memes about Linux beginners trying to exit vi/vim - If anyone suggests to give file
777
permissions, likesudo chmod 777 somefile.sh
( which means, every OS user can do everything with specific file ), usually it’s quick and hacky workaround. While not in every case possible, you should always strive to find least permissions needed whenever possible - In most Linux distributions, there is pre-installed terminal application Zenity ( can check with
zenity --version
). It allows you to make simple window applications without programming, and gives ability to pass input information to other commands. Personally I use it to quickly store bookmarks I find. With keyboard hotkey I show zenity window with 2 text inputs ( url, title), and input texts are stored in database. Can read about Zenity here: https://help.gnome.org/users/zenity/stable/. There are color pickers, calendars, tables and so on. For super-simple example, following line will create simple info window with 4 buttons ( 1 default for info window, and 3 extra buttons )
zenity --info --extra-button=TEXT --extra-button=TEXT2 --extra-button=TEXT3 --width 50 --height 50
- As other people have mentioned, you can always run
man cp
( orcp --help
) wherecp
ir command you would like to learn more about, see all flags and required arguments ( in this casecp
is command for copying files and directories ) - Some useful commands
find
- well… finds files/directories ( examplefind -name ~/Desktop "*.txt"
, finds all files with txt extension on desktop )grep
- find text in filestail
- show last lines of long file ( mainly used for log files )head
- show first lineswget
- allows you to download files when provided with URLcurl
- make HTTP requests to sites, retrieve HTTP responseswatch
- repeat command with time intervals ( examplewatch -n 1 ls -la ~/Desktop
, will list Desktop files repeatedly with 1 second interval.watch
command can be useful when you want to watch for some changes in file lists, file contents and many other cases
- QDirStat - Very cool application, I use it regularly ( https://github.com/shundhammer/qdirstat ). When provided with directory, after it’s done analyzing, it will show chart of what files takes up the space and if you wish can locate/delete them from the application window ( bigger rectangle means bigger file ). Super-useful when trying to understand what takes up the storage.
Sorry, you’re right Only after you “rm -rf” root directory at least once and try to exit vi/vim, you have truly learned Linux