Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Also useful in this regard, python comes with a sìmple file server built in, python -m http.server --directory /dir/
would serve /dir/ on port 8000.
Use less
for checking contents of files. Many people use cat
all the time, but I don't like it, because if you do that often, your terminal window quickly gets flooded with stuff, and then you have to scroll up and down if you wanna see a previous output. With less
, your file opens in a different "frame", which you can close when you're done.
GNU datamash (https://www.gnu.org/software/datamash/alternatives/) - handy tool for data munching. There's also https://github.com/BurntSushi/xsv
- awk
- the (usually rust-based) coreutils "alternatives" like bat, fd, eza, procs
- trash-put (rm with trash integration. But beware that it also operates on directories by default, which rm only does with -r. There should be an option to change that behavior but there isn't. Don't alias rm to this)
- wl-copy/paste (or the older one for X11, 'xclip' IIRC. Enables you to do stuff like "cat image.jpg | wl-copy" to copy it to the clipboard. Best alias it to something shorter)
- xdg-open (open the file using your associated program for that file type. Alias to "o" or so)
- pass (awesome password manager, when you have a GPG key pair. Even better in combination with e.g. wofi)
- notify-send (to send GUI notifications from shell scripts)
- ledger (plain-text accounting software. If you use Emacs you should take a look at this as it's written by an Emacs dev, and has good integration of course)
- nc
- nohup
Find
I like https://github.com/aristocratos/btop personally. It's way prettier than the normal top command which you use to watch processes to find the one that's hogging all of the CPU or whatever. And it's not so much that it's underrated so much as it's not very well known or distributed by default.
awk
..for parsing the output of other commands quickly and simply. Then that parsed output can be used to create simple log messages or be passed as args to other scripts. Powerful.
awk and sed have always been intimidating for me with that cryptic syntax.
I agree with your sentiment regarding confusing syntax, however I think that confusion simply requires a calculated approach to dispell it.
It's a prime example of why I use scripts as reminders as much as I use them functionally. I work out the syntax once.. save it to an example script, then save myself 20 minutes of remembering by just $ cat ./path/to/script.sh and copying said syntax.
So if you can change your workflow such that learned things stay around as examples, I feel that you will pick it up much more quickly :)