3 ms·
For anyone just starting I highly recommend: "Linux Pocket Guide" and if moving forward adopting linux as a daily driver "Efficient Linux At The Command Line".
by liendolucas 5mo ago
For anyone just starting I highly recommend: "Linux Pocket Guide" and if moving forward adopting linux as a daily driver "Efficient Linux At The Command Line". Both books by Daniel J. Barnett.
Even if you're a seasoned Linux user you will learn a lot from those books.
- cwnyth 5mo agoJust a nitpick: Barrett, not Barnett. It's nice to see a new edition of Linux Pocket Guide come out just 2 years ago. https://en.wikipedia.org/wiki/Daniel_J._Barrett https://en.wikipedia.org/wiki/Daniel_J._Barrett
- liendolucas 5mo agoThanks for pointing it out! I visually checked the books on the shelf but my eyes tricked me and confused "rr" by "rn".
- hi41 5mo agoThank you for the recommendation. Both books seem to about the command line. How are the books different?
- liendolucas 5mo agoThe pocket is perfect for beginners. It has a nice introduction in chapter 1 that explains all essential concepts to understand and operate the console. Then it is basically a sort of reference of a moderate list of most useful commands for performing different tasks. The "Efficient" book is an in depth walkthrough of the shell and how to reason and combine important commands to perform not trivial tasks. It is certainly a book to be re-read from time to time because it has plenty of good tricks and explanations.
- Projectiboga 4mo agoThank you for both of these recommendations.
- pss314 4mo agoLove both books by Daniel J. Barrett. "The Linux Command Line" by William Shotts is pretty good book for new and experienced command line users. He has also written the supplemental book "Adventures with the Linux Command Line". The author has also generously provided them for free download at https://linuxcommand.org/tlcl.php https://linuxcommand.org/tlcl.php.
- liendolucas 4mo agoI didn't know about this one. Looks an in-depth book on the shell as well. Thanks for sharing.
- markus_zhang 4mo agoQQ: even when I use Linux as a daily driver I don’t use the cli much. I heard that getting a cheap vps, set up some popular services, and then exposing it to the Internet actually teaches a lot about sysadmin. Does this make sense? One big issue for me is that when I use Linux I only use it for a specific purpose, e.g. hacking kernels, and the cli commands are extremely limited. I have been using a Linux box for a year and haven’t learned much TBH.
- datenyan 4mo agoAbsolutely! In my opinion, the only way to learn anything in any meaningful way is to actually do the thing. In the example you described, you'll quickly start jumping into "Wait, how do I configure a firewall?" and discovering ufw et. al.
- opan 4mo agoHosting a Minecraft server was pretty big for me. Learned about screen and tmux to keep it running and be able to detach and reattach. Learned vim to deal with configs on the headless server. Another thing that helped me learn a lot was what I call "anime playlist management", but may be too niche to recommend. Basically after I moved from VLC to mpv I had to create and add to playlists without a gui. I learned a lot about the find command, text redirection, vim, fzf, file permissions... I retrieve the full file path for the videos and dump that into a .m3u file that I then watch in mpv or rearrange later in vim. find helps to get to the exact files quicker even when everything is sorted neatly into separate directories, fzf lets you add multiple files from the find output at once, selectively. find can also filter by mtime, so I have some one-liners that just show e.g. all files 7 days old or newer in the media directory, easy to rerun and select the stuff I just downloaded to put in the playlist. At some point I preferred vim over geany or whatever other text editor I used to use. It's nice to be able to use the same tools everywhere, including over ssh, so that reinforced a preference for stuff that runs in a terminal. irssi, aerc, stig+transmission-daemon, neovim, mpv (controllable over ssh). Also having a file server gets you more into rsync, sshfs, stuff like that. I've made several vim macros to speed up the "anime workflow" as well. Like I add new episodes to the very bottom of the file, but the file has sections broken up by empty lines, and I have a macro to take everything just added at the bottom and move it to the bottom of the top section, where the high priority stuff goes. I also have macros to delete the top line of two side-by-side files in vim at once, saving both. I have both a human-readable list and the actual playlist file and then I delete the lines as I watch. I've been incrementally refining this workflow for several years now. Just find something you enjoy doing and try to polish it, learn more applicable tools you can incorporate, etc.