https://hackernoon.com/10-basic-tips-on-working-fast-in-unix-or-linux-terminal-5746ae42d277
8) Using pushd, popd, cd -, ~ to Move Across a Directory
diff <(ls) <(ls -a)
<() treat process output like a file, process substituation
# apropos "list directory"
2. Execute Previous Command
!#
!501
$ sudo shutdown 21:00
This will tell your computer to shut down at the specific time you have provided. You can also tell the system to shutdown after specific amount of minutes:
$ sudo shutdown +15
That way the system will shut down in 15 minutes.
lslogins
We all use cd .. to move to move to an upper directory. You can also use cd - to move to the previous directory - just like a back button.
To keep executing a command until it finally succeeds, use the exit code of the command directly: while ! [command]; do sleep 1; done
In Linux, you cannot really know the rate of a file transfer progress until it's done. Using the pv command, you can monitor the progress of file transfers.
$ pv access.log | gzip > access.log.gz
611MB 0:00:11 [58.3MB/s] [=> ] 15% ETA 0:00:59
5) Easily schedule events
Using the at command, you can easily schedule events at anytime.
echo wget https://sample.site/test.mp4 | at 2:00 PM
ou can easily display all the outputs in a table form using the column -t command. In this example, we used the command
$ cat /etc/passwd | column -t
The clear command clears the terminal screen with a blank one. Pressing Ctrl + L on your keyboard does the same thing, but faster.
To go through previous commands, press Alt + . .
Ctrl + U clears the content you've typed already. Try this when you want to clear the password field in the command line.
To reverse search your command history, press Ctrl + R
Do you want to check how long your battery can last under 100% CPU usage? Try this command:
$ cat /dev/urandom > /dev/null
If you want to quickly rename or move a bunch of files with suffix, try this command.
$ cp /home/sample.txt{,-old}
To rename files of a particular extension in batch, try this:
$ ls
text_comes_here_1.txt
text_comes_here_2.txt
text_comes_here_3.txt
text_comes_here_4.txt
$ rename 's/comes_here_/goes_there/' *.txt
$ ls
text_goes_there_1.txt
text_goes_there_2.txt
text_goes_there_3.txt
https://www.ostechnix.com/how-to-use-pbcopy-and-pbpaste-commands-on-linux/
$ sudo apt install xclip xsel
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
If you want to use xsel, paste the following lines in your ~/.bashrc file.
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
export
takes multiple arguments. You can do:export -f foo bar baz
An alias usually replaces just the first word. But some shells, such as bash and ksh, allow a sequence or words to be replaced. This particular feature is unavailable through the function mechanism.
The usual syntax is to define the first alias with a trailing space character. For instance, using the two aliases:
allows:
for a long listing, where "long" is also evaluated as an alias.