pipeviewer or pv
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
vd
(VisiData) is a wonderful TUI spreadsheet program. It can read lots of formats, like csv, sqlite, and even nested formats like json. It supports Python expressions and replayable commands.
I find it most useful for large CSV files from various sources. Logs and reports from a lot of the tools I use can easily be tens of thousands of rows, and it can take many minutes just to open them in GUI apps like Excel or LibreOffice.
I frequently need to re-export fresh data, so I find myself needing to re-process and re-arrange it every time, which visidata makes easy (well, easier) with its replayable command files. So e.g. I can write a script to open a raw csv, add a formula column, resize all columns to fit their content, set the column types as appropriate, and sort it the way I need it. So I can do direct from exporting the data to reading it with no preprocessing in between.
I'm not sure how underrated it is but the exec feature in find
is so useful, there are so many bulk tasks that would just be incredibly difficult otherwise but instead are just one line
I love ncdu
for seeing where all my storage is being taken up.
- xargs
- parallel
- PXE (ohai cobbler)
- tee
- task-spooler (ts aka tsp)
- rpm -V
Nothing new, just forgotten.
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.
I'd like to interject for a moment. There is also a tool called bat that is just cat with extra features. It prints out and works just like cat, but when the contents get too big, it works like less. The is syntax highlighting and works with git.
It's replaced my need for cat and less.
- 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
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.
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 :)
mlocate
Do you have to wear the fedora to run this command?
No sorry, I should have elaborated. The package name is mlocate
but the command is locate
. Occasionally run updatedb
as it populates an sqlite db with every file on your system that you can then list out using locate
followed by the filename you want to locate.
EDIT: Lol. Sorry barely read your reply. Yes, you should wear a fedora while installing mlocate
.
Find
find?
degit
is a tool that will check out a git repo (or a specific branch or commit), but not set it up as a git repo. Basically just downloading a specific commit to a directory.