Це відео не доступне.
Перепрошуємо.
Saving Time At The Command Line
Вставка
- Опубліковано 13 сер 2024
- Today I am going to share a few basic command line tips for increasing your speed in the terminal.
REFERENCED:
► history
► !command
► sudo !!
► CTRL+R (for searching)
► command one; command two
► command one && command two
► less /path/to/filename
► cat filename | grep search_string
► grep search_string filename
WANT TO SUPPORT THE CHANNEL?
💰 Patreon: / distrotube
💳 Paypal: www.paypal.com/cgi-bin/webscr...
🛍️ Amazon: amzn.to/2RotFFi
👕 Teespring: teespring.com/stores/distrotube
SOCIAL PLATFORMS:
🗨️ Mastodon: mastodon.technology/@distrotube
💬 IRC: irc://freenode #distrotube
👫 Reddit: / distrotube
DT ON THE WEB:
🕸️ Website: distrotube.com/
🌐 Gopherhole: gopher://distro.tube
📁 GitLab: gitlab.com/dwt1
Your support is very much appreciated. Thanks, guys!
The difference between “;” and “&&” to string commands is that “&&” will run the second command only if no error code was seen on the first one. If you use “;” any error would be ignored. Imagine your example with apt. If you were not connected to the internet and used “apt update; apt upgrade” both would run and error out. If you used “apt update && apt upgrade” the first command would run, encounter the error and stop.
Great point! Thanks, viniciusxp.
Also, "||" can be used to execute a second command if the first one fails. This is used often in Gentoo ebuilds to kill an install if an important process fails.
@@matthiascoppens2062 instead of && if you use || it will complete the secondary command regardless is what your saying ? Just want o make sure I am clear.
@@DDBAA24 That's not what I meant. || runs the second command only if the first one fails. This way you can easily catch errors in shell script.
@@@DistroTube important error and should be pointed out clearly. DistroTube, thanks for your video, and good opportunity to make a replacement video ;-) !!!
; and && are very different. ; will run the next command no matter what. && will run the next command only if the first comment returned a success status result (0).
And || runs the second command only if the first command fails (exit code other than 0).
TIL. This opens up new possibilities.
Thanks
What about ; and &? What's the difference?
@@benchislett8 Thanks!
I dig the "!!" thing but if I needed to repeat a long command prefixed with sudo I would hit the up arrow to restore the last command entered, hit CTRL + A to put the cursor at the beginning and type sudo . Your solution is a keystroke less (7 keys versus 8), you win the keyboard golf this time :) I use the aforementioned enough that I have insert mode bindings in vim for CTRL + A and CTRL+E to go to beginning / end of line
While in "less" you can type in "/" followed by regular expression to search. Press "n" to show next result, "shift+n" to go back to previous result.
Basically less is "vim like"!
@@polgzz no, its "more" with better features
but its named "less" because its a funny joke
"less does more"
@@Rudolfucius Basically more is vim-like
You can also use !? to run the last command that contains the string. For example, if you recently ran `sudo systemctl restart nginx` you could run `!?ngin` or `!?restart`.
You should have press ctrl+l to clean the terminal instead of type "clear" and ctrl + u to delete the line XD. Great video! good tips, I use some of those and not others, maybe I must change some habits.
thanks (ctrl+l)
scrolled down to type this comment (saw you already did it)
To be more precise, CTRL+U won't exactly "delete the line". It will delete all the characters found from the current position of the cursor up to the beginning of the line. So if your cursor is sitting in the middle of a command, only the left-hand side will be deleted. CTRL+K works the exact same way but in the opposite direction: it cuts the right-hand side of the line. Of course if you're cursor is at the end of the line and you do CTRL+U, it'll give the impression that it deleted the whole line! :)
ctrl+l is especially wonderful for stuff like using CI utilities like a REPL where you can't use clear without exiting and reentering. ctrl+l lets you clean your screen regardless of what's currently occupying your shell.
didn't know about Ctrl U. thanks
Luke Smith : "Don't cat into grep"
Dude, he says that himself seconds after!
Appreciate the tldr suggestion. Was familiar with most everything else, but learning about tldr made my day. Great information on your channel! Installed on fedora quite easily.
echo !*
will echo out all the arguments from last command, very useful at times when you need to reuse your last arguments for something.
If you only need the last argument (and not all of them), you can just use !$.
I've been piping into grep & less all this time.
Big thanks for the !command and Ctrl-r , also installed tldr this will save me time searching for examples online.
So much things to learn, been using Linux full time for almost 6 months and I love it.
The command line is the whole reason I chose to learn and use Linux 10 years ago. So cool
You sir, just changed my life. Thanks for this. Please do more!
Thank you, the tldr command is so useful to me :p
Every time I watch DT videos I learn something new. Thanks!
I'm really liking the new graphic equalizer as part you web cam window, makes for a much cleaner UI for your content.
THIS. CHANGES. EVERYTHING.
ok
This is a great refresher for me. I got into Linux around '99-2000 but have had a long time away; gotta blow away the cobwebs.😁
really like the addition of cli-visualizer to your set, right on dt!
Try out fish (friendly, interactive shell), I've found it to have the fastest workflow (abbreviations, syntax-highlighting and indentation, cd-history, etc).
A valuable tip for grepping is to use '-C N' to also print the N lines around each match.
I am afraid to try it because it's not POSIX compliant. I use & & stringing a lot and I don't think that works in fish.
I have considered trying it simply because it supports the XDG Base Directory Specification though.
I've heard it's slow, and was afraid to try it because it's not POSIX compliant. Maybe I'll try it on my work VM as it does support XDG spec.
@@praetorxyn I mean, I wouldn't use it for scripts requiring blazing speeds, but then I wouldn't use bash for that either. I just mean it's fast to use interactively
One command I recently fell in love with is `fc`. It opens your last run command in an editor and lets you edit it and reruns it again after leaving the editor. This way you can use vim's movement keys to quickly edit very long commands.
Another great alternative to `cat` is `bat` which is syntax aware and also uses a pager by default. It's also a very nice fallback command for vifm's preview.
cool! zsh does that without fc i think
Informative as usual, Derek. Thanks!
I'm on linux for over a decade now and some of the things I've never came across! Linux doesn't cease to impress me!
When it comes to grep I like to use "grep -A3 -B3" so it will return the line containing the phrase and also three lines before and after that phrase, so I have a context in which given phrase is placed in the file
Use "-C 3", then. It gives you the lines in both directions. (A=after, B=before, C= context, i.e. both before and after.)
I just want to give credit where credit's due. I have been following you for quite a while. Your channel is a great source of information, very welcoming to new and experienced linux users. Thanks for all of the content and keep up the great work!
Also you forgot to mention that '!-n' re-executes the last nth command, so '!-1' it's equivalent to '!!'.
One another tip, let"s say I opened a file with 'cat', then I figured out that I have to make some changes, instead of running 'vim the file' you can simply run 'vim !!:$' and it's gonna take the argument of cat and places it after 'vi'. Wish it helps.
I use !$ to get the last argument of the previous command
@@mathews_josep It's useful also.
If you want to use your aliases defined in .bashrc right away, call source ~/.bashrc to use the definitions without restarting the terminal session.
wow tldr !!! thanks dt. I wish i could like your videos 1000 times.
You have some amazing advice. Cheers!
I noticed that the audio and video match up better in this vid compared to previous ones. Great job DT!
Useful tips that save tons of time, thanks!
I was expecting a bit more tricky commands. I knew all of the ones you used.
love this, good content, straight to the point, and free from bloat. ty DT
Good one. I tell exactly the same thing when I run my Linux Fundamentals classroom training. Didn't know tldr btw. Mmmmm...
thank you so much, I love the terminal because of videos like yours, I learn new things everyday because of your terminal tutorials
I really like the !! I could have used that about a thousand times and them some!
Also you can add text before and after ' !!' like this:
apt update
sudo !! && apt list --upgradable ( which would give you)
sudo apt update && apt list --upgradable
*Or if your on Archlinux same thing if you needed to be root and decided you wanted to add more on to the command
pacman -Syu
sudo !! && pacman -S net-tools (which would equate to)
sudo pacman -Syu && sudo pacman -S net-tools ( Anything after the !! will just append onto the end of the command) 🐱💻👍
remember to alias fuck to sudo !!
Great info supported by smart comments! (I was going to sub/support based on production quality alone)
Really short and useful video, thanks alot
ctrl+L to clear - undeniably my most used command
sudo !! - use this all the time
cd - just running that from wherever you are takes you back to your home folder. Very nice
cd / - takes you to the root. Always handy
grep - well, say no more. A lovely command when you realise it's power
Useful to know that the bottom 3 work in Windows too. Replace 'grep' with 'findstr'. Sadly there's no shortcut in Windows CMD to clear the shell you have to type 'cls'.
Great video.
I still use DOS windows when working on Windows machines. On Linux, I do updates and installs with command line/ssh. Thanks for the video!
Hi Derek
I want to suggest you create compare applications type videos. In this type of videos you can compare applications from various specification like their performance, their popularity, their usability and etc.
My second thought is you can create some videos about how to create your own cool/awesome/fancy desktop (which we saw their pictures on unixporn) from ground up, from xorg to config the DE/WM to look awesome and of course usable.
Thanks.
tldr is kinda noobish way to learn command line, but a find it a great companion to traditional man. Most of times i search not what exactly that key do, but how to combine keys to get what you want (tar is a great example here).
Thanks for a great advices!
GUI have some advantages like reducing the need to know names by heart and displaying the options available.
Cmatrix is running on turbo today?
control-r gives 1st history find, ctrl-r again finds the next one and so on
There is better way. Just install fzf from github and enable shell integration by sourcing specific file. It will give you fuzzy finder and you press CTRL+R just one time.
I highly recommend fzf. It can be combined with many commands. Fantastic tool.
There is more.
For example, if after running
cat /path/to/long/filename
you want to find a string inside that file, you can run
grep string !$
!$ stands for the last parameter of the last command, so, in the above example, you don't need to retype the long file path.
So thankful my introduction to Linux forced me to use the command line.
4:00 I usually press UP and then HOME and then type sudo. Just as fast IMO, but not every keyboard has a HOME key (for example, Raspberry Pi 400, any tenkeyless or mini keyboard)
Instantly installed tldr. Thanks DT!
tldr==awesome. thanks!
also, with cd - (cd dash) you can toggle between directories. love it.
! Thank you, Derek.
Another shortcut is Ctrl + A to go to the beginning of the command. Useful for long commands & forgetting sudo :)
Ctrl + k cuts everything at and after the cursor and Ctrl + u cuts everything before the cursor. Ctrl + y lets you paste what I previously mentioned.
And yes, you can do Ctrl + e to get back to the end of the line :)
SimGunther Emacsy shortcuts, kind of...
M-f ( go forward one word ), M-b ( go back one word ) , M-d ( delete next word ) and M-backspace ( delete previous word ) ;P
Zsh + ohmyzsh = beautiful terminal. Looks like you're using the powerlevel9k theme (which I also use)
the best theme on ohmyzsh is 'ys'
tldr is a game changer for me. I didnt know about it until this video
When you were doing vim and cat on the same file you can use:
!$
to get the argument from the previous command. eg.
cat my/file.txt
less !$
=> less my/file.txt
wow never heard of tldr before thanks!
To do my 'sudo !!'
I type (Arrow Up) (Home Key) sudo
Which is actually the same exact number of key presses.
Dude you deserve more subs!!
The double !! Is cool I've been hitting the up arrow to bring up the last command then scroll to the front and type sudo, !! Is way faster and as a new to Linux user I make that mistake alot.
Informative, love Linux, always learning new things no matter how long a person utilizes the operating system.
btw I use neovim, and I know how to use neovim but not completey, but I use it :)
Neovim is great. I've moved from vim to nvim and a couple of issues were solved.
nobody knows vim or neovim completely ^^
Ctrl l is a good binding for regular bash
I don't know if something's changed lately (since I've had my Arch install for over 2 years now), but Arch Linux does not use Zsh by default. It only uses Zsh in the live ISO. Once you reboot into your newly-installed system, it uses Bash by default :)
Ctrl-r is supposed to be used repeatedly, if you want to search further back into the history.
There is another usefull tip that everyone forgets about. ctrl+x and then ctrl+e brings up an editor to run and edit long multiline command. Just save the file and close the editor and the command will run.
Thanks, learned something new.
Thanks, Rodney!
thanks for the tldr one... nice.
Hi could you please create one video to have your terminal style terminal.. Is it zsh. Please help me to know ho you did it
Do you list your zsh dotfiles on github? Curious what theme you are using (upgraded agnoster?).
Also, have any good suggestions for OMZ alternatives?
The zsh theme is powerlevel10k.
Useful tips...
💯💯💯
Sed and awk are my favorite terminal tools, and I really love piping "|" stuff.
how do you get that kind of colored ls output? for me all the permissions are the same color, also on zsh.
My ls is not really ls. It is exa. ;)
What is that program running below your video rectangle that seems to respond to your sound intonations?
what is the vocabulary size of the complete command line language---It seems to me it would be easier to learn greek !
Good stuff. I really like your prompt, with the colors. Would you share how this is done, please? Thank you!
After some research it looks as if this from the zsh theme installed by Oh My Zsh, correct?
Powerlevel10k theme for zsh.
@@DistroTube Great, thanks!
Whatever happen to " Load "*",8,1" lol. Literally the cli is where i first learned computers way back on the C64. Same with dos, same with linux. Good vid, thanks.
I knew to run it, i had no idea what it meant
I can think of a few tips off the top of my head:
- Swap Esc and CapsLock key with this command in your login script: setxkbmap -option caps:swapescape.
- Copy paste to and from nvim: set clipboard=unnamedplus
- Use sudoedit to edit files in nvim that need elevated privileges. This will still load your vim config. You need VISUAL=nvim in your environment.
- Use tmux for easy copy paste to and from command line and many other things.
- Use a terminal file explorer. E.g. nnn.
- Use alias expansion. I have a script for zsh alias expansion on my github as well as my configuration files for nvim, tmux etc.
github.com/sowiz/zsh-config/blob/master/.zsh-scripts/expand-alias.zsh
I knew much of linux commands but never really thought how bash scripts really worked. Once I started making my own bash scripts my life on linux improved by 1000%
@X GNU Bio Everyone was telling me it is a low level language and I should move to python or something. Ofcourse, it's limiting and possibly harder but that's what I'm used to for many many years. So I said heck, that's my hobby anyway, I'll keep trying in bash and actually paid off.
@X GNU Bio Thanks for sharing. I've made some scripts for my game servers and they do pretty advanced things. Although I wish I didn't made them so personalized to only fit my needs. I have to rewrite them for universal use.
Nice and informational
Appreciate that! :D
Hey, I've been watching your videos for some time now. And I was wondering how do you get the history numbering on the right side of the terminal? I also have powerline runing but have not found a way to have the history numbering? Thanks
A zsh theme called powerlevel10k.
Mastadon Gang represent!
if you want to print a file simply run: # grep . file.txtthe cat command is to concatenate multiple files into one.
!Nice 0:59 I can see how this saves time retyping long script like commands (for those of us who cant #breatheShells 24/7 #IRL)
What terminal are you using? it looks cool.
st
tldr command looks good
Why do you not use ctrl-l (lowercase L) to clear your screen instead of typing clear, especially in a video about speeding up your workflow? I'm guessing that you are using ctrl-l for something else, but typing clear is definitely more complicated.
It would be great if you could share your \.bashrc configuration. Your terminal looks awesome.
My gitlab is in the show description. Was using zsh in this video.
@@DistroTube Thank you. Maybe is time to me start to learn how to use zsh.
Could you make an audio setup tutorial on manjaro? I've got a xlr microphone hooked up to my mixer board that then hoes in via aux to my pc however I can't get it to work! I do have my wireless headset and the mic for that one works!
Did not know about tldr , thank-you
Are these (like sudo!!) specific to bash or derivatives like zsh, or do they work regardless of shell?
Probably a dumb question but what shell is he using? Looks very nice
arrow up key also repeats last command and previous commands each time you press it. So you could have typed sudo "up arrow" You could also use the command "more" rather than cat or end. That way a long file will list out with page breaks. But only use these for text files. Not good to do it on binary files.
12:10
@@Jack-hd3ov Yes, if you press the up arrow key, but you're supposed to type it. You can type control characters in the terminal with a Ctrl-v followed by [key].
Which in bash looks like sudo ^[[A and gives a command not found, at least in version i'm on.
@@Jack-hd3ov Oops....yeah.....I meant to fix that. LOL
I normally just press the up arrow to get the whole command, then ctrl-a to move to the start of the line, and then _ which is an alias for sudo (learnt that alias from ohmyzsh). It's in muscle memory now so will be hard to remember to do _ !! instead.
Do Ctrl + l do the work that "clear" does on Ubuntu? It does on my Mac.
It works as long as ctrl-l doesn't conflict with other keybindings you may be using for your terminal, window manager, etc. Which is the case for me if I'm using the bash shell and using vi mode in that shell.
Clear always works. ;)
I don't know exactly which key it is on an us_en keyboard, but:
You forgot to say that if you press de up arrow key to get the last command then you can push the (I guess) ¿home key? to go to the beginning of the line? (The one that gets you in any regular editor) (sorry, my keyboard is non english.
If you just forgot sudo, sudo!! is fine, but maybe you cat something, or ls it and now want to finally edit or cd into that, no need to go character by character back like you did so many times on that video 🤣🤣
--
Also, after editing the .bashrc either close-open the terminal or "source ~/.bashrc", to have the change applied 🤣. Maybe some newie is going crazy because his aliases don't work!
Great video, side note * u look like howie mandel by voice and face😅
Is there a tutorial on how u make use of various of colors in the output?
bro, whats the equalizer window? some kind of minimal video casting prog?
Does arrow key up not cycle through shell command history on all systems?
Yes it does and it is much easier if you simply just want to type that command but using❗ can be useful when you are typing that command after some other command. For eg: sudo !vim
1:26 that's not the behaviour for the bash shell. How to enable it for that?
What's the type of terminal his using?
Didn't know the power of "!", although I use fish-shell, thank you