Shell Tricks to Save Time in Linux
HTML-код
- Опубликовано: 22 авг 2024
- In this video I show you some command line tricks to save you time at your linux shell. Some of the tricks I used in this video are cd .. to go back to parent directory, sudo !! to run the last command as sudo
₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿
Monero
45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436
Bitcoin
3MMKHXPQrGHEsmdHaAGD59FWhKFGeUsAxV
Ethereum
0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079
Litecoin
MBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF
Dash
Xh9PXPEy5RoLJgFDGYCDjrbXdjshMaYerz
Zcash
t1aWtU5SBpxuUWBSwDKy4gTkT2T1ZwtFvrr
Chainlink
0x0f7f21D267d2C9dbae17fd8c20012eFEA3678F14
Bitcoin Cash
qz2st00dtu9e79zrq5wshsgaxsjw299n7c69th8ryp
Etherum Classic
0xeA641e59913960f578ad39A6B4d02051A5556BfC
USD Coin
0x0B045f743A693b225630862a3464B52fefE79FdB
Subscribe to my RUclips channel goo.gl/9U10Wz
and be sure to click that notification bell so you know when new videos are released.
Another time saver: Ctrl+L instead of typing clear every time.
and Ctrl+d instead ot "exit"
that only scrools down up to the point you dont see last commands
@@fred-2.7182 it is possible to use Ctrl+L in Bash vi-mode by pressing Esc first
Too late, it is now faster to type clear rather than Ctrl+L in my case
@@anneonyme6819 I have noticed something with Tmux, if you use clear : you cannot scroll back when in copy mode of tmux, But if you use Ctrl + L: you can scroll back.
both 'clear' and 'Ctrl + L' clear the screen, but there is difference in scrolling behaviour.
Ah yes, it's 3;20 AM and I'm listening to this to fall asleep.
glad im not the only one
@@boytherius lol same here
07;06AM no sleep, only the cli and me
..lol ..Learning ..On the toilet..,. . 🤔 but maybe that's too much sharing...🙄....
Oh well...
@@pear7828 why are you this way
"touch cat"
I would personally alias this to "pet cat"
aww
man touch > balls
4 am and watching shell tricks to save time is literal mood
0:30 here and I definitely need this
3am here :(
3am for me...
4 am 😎
It's 3:44 😢
It scares me that I knew all of these already.
>cd .. to go back a folder
I knew that
>sudo !! to do the last command as sudo
WAIT WHAT
I just ctrl+a
I just use arrows
Or when you forget -rf on the rm command you just !! -rf
cd without anything will take you to your home folder.
Is !! zsh specific or something? Bash can't do anything with it. Or is there a alias to set?
this is a very cool Christmas gift
appreciated
hijacking ur comment to say he should do video of reasonable depth/thoroughness on reverse shells ("accessing remote devices through NAT or other obstacle") using the applications nc, socat, stty, python/ruby/perl/php/bash, openssh or dropbear, and payload tools or execution methods like buffer overflow or library injection in programs that already happen to be running that can sometime s streamline this when you don't have time to install a bunch of extra crap just to manage remotely
7:18 This kind of cleverness can get dangerous, though. What if it substitutes the wrong thing? Beyond a certain point, you would really like the option of confirming what it is going to do, before doing it.
Found a fix: do “shopt -s histverify”, then instead of immediately executing the substitution, it presents it to you in the readline buffer, so you can edit it before pressing Enter to execute the result.
It would really suck if some hacker guy modified you history to have sudo rm -rf /* exactly where the command you need is, so that would be helpful in that case
To see all your commands, don't need to open a file, just type 'history' and if you look for a command in particular: 'history | grep commmand'.
To navigate inside a long line of command, bash knows emacs' short cuts.
And Ctrl+r to search the history
Or vi mode
As I still didn't get around to focusing enough on vi(m) or emacs to memorize their commands, that's not super helpful.
But MOST terminals allow me to navigate between words by just pressing shift while using the arrow keys, which gets me most of the way there.
You can also use Ctrl + l to clear the terminal instead of the clear command
Just found out that typing out "clear" actually clears the screen, while doing Ctrl+L just moves the prompt down and you can still scroll up to see what happened last. Could be useful, but I usually hate doing keyboard shortcuts with both of my hands (idk why lol), so I prefer to actually type out "clear" instead.
RUclipsrs type clear so viewers know what's happening. Others display the keyboard shortcuts.
Another way to keep track of previous directories is to use "pushd" and "popd".
For example, if you're in directoryA and you want to go to directoryB, but you need to remember directoryA, use "pushd directoryB"
To go back to directoryA, simply use "popd"
That's pretty clever. Apparently, and I've only just found out by searching around for this, but you can use "dirs -l to show the directories you've added to your pushd stack. And that's a clever way to mark directories you're in like ```pushd .``` then move to your new directory, and say you want to copy something to the old directory, you can do it like this: ```cp ./ded.jpg "$(dirs -l +0)"``` (assuming the directory you had put into the pushd stack was the only one and therefore entry/index 0).
Definitely doing to take me some time to get used to, but might be very powerful indeed.
EDIT: Instead of something as bulky as "$(dirs -l +0)" one can just use the simple ~0 in the given example, as that refers to index 0 of the directory stack. Much easier to do ```cp ./file ~0```.
Damn, the ^text^correction thing is great, I'm a Linux noob and been using Manjaro for 3 months now and was totally unaware of that. Also recently found the !! thingy but didn't know it can cycle through the history like that. Thanks!
9:24 _and look, we got a nice little Stallman there_ Xd
Great video. Another thing I hate is cd../../../ etc. I just put a bunch of aliases: .. to go up one dir, ... to go up two dirs, etc. So two dots to go up. And then just add more individual dots to go up one extra. This is ultra useful. Need to go up three folders? "...." done!
Also, !$ is a godsend. Ex.
> chmod +x file.sh
> sh $!
(runs "sh file.sh)
It takes the last word of the previous command.
> touch file1 file2
> rm !$
(file2 removed)
This is why I do a regex tutorial weekly, just so I don't forget for powerful it is
I love these kind of videos.
I did not know the !! One but for the most part I just use the up arrow key to traverse the history and make edits as needed.
And I use ctrl+r even more
cd - is a great trick. Thanks man!
.
Another time saver is to use reverse-i-search to cycle through commands' history. Ctrl + r, then type any keyword from your command. Ctrl + r to continue the cycle backward, and Ctrl + b to exit.
5:53 There is also a generalization of this. Whereas
!«str»
selects the last command beginning with «str», you can use
!?«str»?
to match the last command containing «str» somewhere in it. You can put spaces in «str», too.
i think chaining and automation is more like a reason to use cli, instead of gui, rather than stability and consistency across distros.
It's pretty amazing how painful it is to go back to GUIs sometimes. Having to figure out a complicated user interface to do something that you could easily do in the shell is infuriating. Very common with installers. Installing a lot of distributions just made me wish I could use the shell like in Arch or Gentoo or anything else like that.
Your videos are awesome Kenny, always quality videos. I wonder how you even manage to upload that good of videos in such a small time intervals. I just wanted to thank you for what you are doing and have been doing, and for being in YT like a crown jewel.
I did learn some of those tricks not too long ago. like ```history | grep -i vim``` for example, and if the command you were looking for had the number 504 then do like ```!504:p``` (or run it without the :p) to print it, and using Kenny's trick there you could do ```^updoot^date``` to correct a command so it fit with what you need.
It has become a handy tool. A function I personally like, growing up with DOS is ```list(){ ls -hAvog --color --group-directories-first $*|less -FRi;}``` (not able to make it an alias because of the $*) - less of a cool trick, just felt like sharing since I'm discovering how powerful the CLI is.
I've been trying to get as much info on linux as i can since I plan in getting a computer and installing Linux to it and your videos have been a godsend with how much I've learned
Another tip: To exit vim: instead of :wq, use Shift+ZZ
*neofetch shows pacman packages on gentoo*
me: wait
He made a vid abt installing pacman on gentoo
Ctrl+a Ctrl+k if you want to delete the command in terminal. Saves me lots of time.
Some really nice tips, thanks!
I've been using this ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4
for cutting downloaded videos. It saved me literal hours, rendering would take a lot of time
Also you can use ` (not ') in order to run a command on the result of `command`. For example, ls `pwd` will be executed as ls /home/user
CTRL+R is sometimes useful, too - it brings up the search in previous executed commands
Okay, there was a response about using $(...) instead of `...`, but I can't see it now. Thank you, stranger. You live, you learn
I watched this in MPV originally, but that ! trick has already come in useful so commenting for the algorithm.
Oh yeah. It's Christmas today. I was wandering why youtube is lacking new content today.
a great trick that i love also is to use !$ for the last string of the last command, you can either recicle arguments from the last command with !:2
example:
$ touch meme mental outlaw youtube
$ vim !:3
vim !:3 = vim outlaw (and is also a kawaii face)
About the history I prefer to use arrow keys and then CTRL+A to prepend sudo, if I need to change an old command I search it with CTRL+R, and that is it. I use almost everything on this video and a little more
Thank you for the viable info on bash tricks that gets me more stuck to linux. I'm one year old xubuntu user on a daily basis. Merry Christmas.
Learned lots of things. I used to do Ctrl+a for adding sudo before.
Whoa, I had no idea about these.
! is amazing , as well as ^^. Thanks!
Greetings from Serbia. :)
First actually helpful bash tricks video!
6:29 The default in readline is to use Emacs key bindings. So rather than switching to Vim key bindings, you can use Alt-B to move back a word, or Alt-F to move forward a word.
Unfortunately this doesn’t work so well with GNOME terminal, because Alt-F there brings up the File menu. Other terminal apps don’t seem to have this problem.
same with vim, alt key is basically escape key combine with motion you want to perform
This video will save me literally hours. Thank you!
Ctrl+A: Move cursor to beginning of line.
Ctrl+U: Delete all text to left of cursor. Even my boss didn't know that one haha. Particularly useful when entering a password in terminal and you know you fudged a character, just ctrl+u and start over.
Apparently, the default mappings are emacs-style. I'm a Vim user though, so I use the Vim mappings (set -o vi). The (exact) equivalents (composed from how Vi's composable commands work) are `I` and `c0`, respectively.
why do i love this thumbnail
The whole ^ thing is new to me, good thing to know. Now I'll just have to remember to actually make use of these time savers :p
"Let's take a look at my bash history" words never to be heard spoken by anyone.
Really useful video, thanks! I really enjoy using the utility called The Fuck to fix misspelled commands, but now I know the straightforward way of doing this
I leaned a couple of tricks (the caret and thr last visited dir). Great content, thanks!
arrows are also useful for scrolling up and down previous commands
one of my favorite is "fc" allows you to edit last command in editor and then run it.
Ctrl+x, ctrl+e
With vim mappings in your command line (`set -o vi`), you can hit ‘v’ in “normal” mode to edit what you've typed so far in actual Vim. Saving and quitting from Vim (`ZZ`) executes.
another trick: if you want to put the last argument of you last command, use !$.
Example:
mkdir test
cd !$
Thank you man, very cool!
In vim, we use the . (dot) to run the last command, I was looking for a bash equivalent. Where have you found these gems?
Thanks those were some helpful tips. Merry Christmas btw :D
This is pretty dope. Marry Christmas brother.
Damn, that's awesome, didn't know these. Thanks!
10:10 you can also use `popd` and `pushd`!
I found out that `pushd` with no argument cycles through your built-up stack. Powershell actually has named stacks.
I had no idea about "cd -", pretty cool stuff
Ctrl+r opens reverse search is better than !! actually shows you want commands you're running. I see problems with using !word because if you had a more recent one which you don't want. That is why I prefer ctrl+r
thanks for the tips
Hey! I posted a suggestion on how to become a bash wizard! This is it! Thank you!
!! is slower than which does the same thing, but it's useful if you dont have the Up-Enter combo available
or ctrl-p ctrl+j if you don't wanna move your right hand
Merry christmas Kenny!
Thanks, Useful video!
You forgot Ctrl-R. It's even bigger superpower ;)
Another common but useful tip : making aliases
2:20: Don't use ^Z to abort, use ^C.
Or if you must use ^Z (to suspend), run fg (to resume) when you're done.
Merry Christmas fren
sure i will, this tricks actually are heavy useful
Ctrl+R can basically replace all those ! bash history tricks. I'd avoid any ! tricks because the command is not printed out in front of you. Imagine rm -rf . was one of them and you just forgot.
--updoot
I never knew I need this flag. Now I know.
More channels like this
Merry Christmas man
liked for stallman meme
Thank you
$_ will give you whatever the last argument of the previous command was, i find it really useful for going into a directory i just moved or copied to or going back and forth
mv some/file other/dir
cd $_
puts you at dir
@ali b Ah, that sounds pretty handy actually but it unfortunately doesn't seem to work with zsh's vi mode enabled since alt plus any key runs that key in vi's normal mode
using ssh configs in ~/.ssh/config is one of the best timesavers
I k n o w.
Not using ssh config + publickey authenication is just dumb
Instead of doing:
touch somefile
^touch^file
You can just as well:
touch somefile
file !$
Because !$ expands to the arguments of the last command
u should do video of reasonable depth/thoroughness on reverse shells ("accessing remote devices through NAT or other obstacle") using the applications nc, socat, stty, python/ruby/perl/php/bash, openssh or dropbear, and payload tools or execution methods like buffer overflow or library injection in programs that already happen to be running that can sometime s streamline this when you don't have time to install a bunch of extra crap just to manage remotely
Here's a time saving command. poweroff
Ctrl-L is a shortcut to clear the terminal. No need to type clear every time
Depends on the terminal but yes by default URXVT that will work.
Amazing video
Thanks man, Great Stuff
Please do a full pacman guide. I've only used Debian and Ubuntu based distros and only know apt-get, but I'm switching to Manjaro.
Luckily, ArchWiki already have a page for the pacman, so maybe he won't need to make a video about it!
How do I install 'clear'?
The 'clear' command is from ncurses. So you will need to install it.
I miss linux so fucking much but I need windows for university! I honestly think Gentoo is the best operating system ever made.
Same here dual booted windows, using windows majorly for the Adobe Suite, MASM(Its the part of our assembley course) rest everything can be done smoothly and efficiently on linux
WSl2 (Windows Subsystem for Linux) might help you cope on Windows. You can get lesser known distros running without issues in addition to the popular ones, and systemd support can be enabled with a few tweaks. GPU support still needs an 'insider'/preview build IIRC. VcXsrv and PulseAudio server on Windows can route GUI apps, desktop environments and audio if needed.
Also, what exactly is so appealing about Gentoo specifically? What makes it 'more' configurable/extensible than other minimalist distros like say... Arch, Void, etc. I was planning to install NixOS on my next machine since it handles package & dependency management in a better way than most distros for me.
Not being rhetorical since I'm only vaguely familiar with Gentoo. I got put off by the idea of having to wait for compilation as part of the default package installation method. Would build times be an issue on a modern 32 GB/hexa-core machine?
@@DefinitelyNotAMachineCultist no they probably wouldnt
I've customized my prompt to show the current command's (future) history number, e.g. `[!23] >`. I've done the same thing in powershell, which uses the alias ‘r’ instead of a bang, e.g. `[r 23] >`.
Interestingly I never used any of these.
To be fair as far as time saves go, instead of typing "sudo !!" you can just arrow up > home and type "sudo " which on US keyboard layout requires less keystrokes.
As for moving between words, you can also use ctrl+arrow left /right, this works pretty much everywhere outside of vim. I use it a lot in general from typing youtube comments to shell.
Enable vim keys in terminal: add *set -o vi* to .bashrc
ctrl+l (thats lowercase L) clears the screen like the clear command
instead of !v you can do ctrl+r then v
instead of cd ~ you can just do cd
Merry Christmas 🎄
Tips begin at 1:30
thanks a lot kenny!!! :)
alias goodbye="sudo rm -rf /*"
is my favourite
You forgot the "--no-preserve-root"
@@Jupiter__001_ yeah i know
Sometimes I sleep to mental outlaw asmr like videos
One of the biggest things that I dislike about the command line is that when selecting all text with CTRL+A and then hitting the left arrow key, it doesn't actually bring you to the beginning, just one letter to the left of the end of whatever you typed in there. I have a muscle memory built up for this for other things, but unfortunately it doesn't transfer over to the terminal, otherwise I'd be able to add in sudo to an already typed command pretty fast without having to learn anything new. Oh well.
Sweet mother of God. Thats nice
7:45
"Lets touch cat"
Also ALT + . types for you the last argument of previous command! (Do it n times to go back n times)
5:22 this should run ’THE VIM’
finally good shit
From your thumbnail I first read, how to save lime while using linux
sudo !! = 7keypresses
[up][pos1]sudo = 7 keypresses (which is what i do usually)
acutally it's more on US because ! is typed Shift+1
@@qlum same on eu(de/German) so it's actually 9 keypresses #unexpected and didn't calculate that in; ngl
did you miss 'Ctrl + R' : history search
1:55 This is why I always have a separate root terminal session open somewhere. On top of, you know, the 2 dozen or so terminal sessions I have open under my own user.