Imagine there was a command to do exactly what you need. But you don't know it. Welcome to Linux.
@protoketer45542 жыл бұрын
the linux experience
@billfarley90152 жыл бұрын
Not only that but there are 5 or 10 different ways to do the thing you want to do that you can't do at all on the GUI.
@protoketer45542 жыл бұрын
@@billfarley9015 gui is for plebs anyway
@crusaderACR2 жыл бұрын
Imagine there is something you need but there is no way to do it at all. Welcome to Windows.
@kingdededelicious2 жыл бұрын
Linux is capable of doing whatever you want, if only you know how to tell it what you want
@Ruzgfpegk2 жыл бұрын
Bash "factoring" (IDK the real term) is useful too: "chmod 775 file{1,2,3,4}" will turn the last part into "file1 file2 file3 file4". It's quicker for creating copies of files too, like "cp file{,.bak}" instead of "cp file file.bak".
@Tomix4k2 жыл бұрын
Oh wow i didn't know about this. So many seconds wasted to writing namefiles twice.
@123lepiaf2 жыл бұрын
It is called shell expansion I believe
@chambln2 жыл бұрын
It's called brace expansion
@MrRozburn2 жыл бұрын
{1..4} works a treat
@fllthdcrb2 жыл бұрын
@@MrRozburn Oh, nice. I didn't know about the range syntax. It works for characters, too. But it looks like it's limited to ASCII characters. Or to characters with single-byte encodings. Not sure which.
@willianjaques2 жыл бұрын
Another useful trick is the key bind “alt+.” to use the last argument for the previous commands. For example, let say the command “cat /etc/resolv.conf” and now you want to edit this same file. This can be done typing “vi” and pressing “alt+.” and /etc/resolv.conf autocompletes in screen. And pressing multiple times it woks like a UP arrow key but for last previous commands arguments.
@tancoviols98942 жыл бұрын
In general, you can refer to the i-th argument of the previous command using '!!:i'. To get to the last, use $ (-1 won't work) E.g: '!-2:2' gets you the second argument from the command before the previous one
@lucasschneider-dev6 ай бұрын
to be honest this was way more useful than any of the tips in the video. I also love Ctrl+R backwards search :3
@fossforever5122 жыл бұрын
After watching this video and practicing for a few minutes I won the lottery, and found myself surrounded by beautiful women who now compose my harem Thanks mental outlaw, very based video
@alamputraaf2 жыл бұрын
when i was on high school, i'm really stuck with Nano, but today after i watch your video kenny, i wanna learn more about vim
@plasmarade2 жыл бұрын
0:40 Mental outlaw: !! Me: *Hits up arrow* *Hits enter*
@thomasporcu11712 жыл бұрын
Great tips, and great video.. Speeds things up a lot indeed! For replacing "status" with "start" in the systemctl command you can also run something even shorter: ^status^start
@rehmanarshad18482 жыл бұрын
Yeah that's what I was thinking to!!! 😂😂🤣
@atpray2 жыл бұрын
Anything similar that works in fish shell?
@tylorhillman91862 жыл бұрын
^that^this
@atpray2 жыл бұрын
For the double exclamation, I don’t use it at all, because I find it more comfortable to press the up arrow key, then home and type sudo
@snap_oversteer2 жыл бұрын
This, except home key I use ctrl+a
@tryfan2k22 жыл бұрын
For the systemctl examples, it's more efficient to up arrow than to type everything anyway.
@szaszm_2 жыл бұрын
@@tryfan2k2 Nobody was talking about typing everything again. The alternatives discussed were double exclamation mark, which gets substituted to the last command when run, and pressing up arrow and editing the line.
@sleekweasel2 жыл бұрын
I much prefer to see the command I'm about to sudo. Especially with multiple terminals open to multiple machines.
@perpetualsystems2 жыл бұрын
The virgin sudo ! fan vs the Chad uparrow+home+sudo enjoyer
@bripbrap2 жыл бұрын
Cant forget the almighty "Ctrl + r" Reverse lookup is hands down one of the best things for quick history stuff. Can be dangerous if your too eager though lol
@xtdycxtfuv93532 жыл бұрын
Bash has a good few emacs functions.
@glitchy_weasel2 жыл бұрын
i dont know how the lookup works. it always seems to choose a command that i dont want :p
@thorwaldjohanson25262 жыл бұрын
@@glitchy_weasel you can press ctrl+r again and again once you typed a search term, it then cycles through all past commands with matching keywords
@bonkgameing2 жыл бұрын
How is it dangerous? I’m a Linux noob
@bripbrap2 жыл бұрын
@@bonkgameing Not to worry, we all start somewhere. If you're quick to press return on what you think is the right command you could end up running a command you dont want.
@jw1ck2 жыл бұрын
“pushd” and “popd” are some cool commands I found useful when I knew I needed to eventually return to a directory. pushd /path/to/directory will push that directory to the “stack” in the terminal, so you can navigate anywhere you want thereafter, and when you execute popd, it’ll return you to the same directory you pushed previously. There’s also the “script” command which records your input and output to a file of your choice which is useful when logging your actions in the terminal.
@msor61082 жыл бұрын
There is a bunches of nonsense shell plugins that essentially mimic the behavior of pushd and popd in a slightly different way and people cherish these plugins that use a million lines of shell scripting and slow down their shells as if pushd and popd do no exist.
@msor61082 жыл бұрын
@yuuwe pretty sure if you change default shell from ksh/csh/whatever the default shell is to something like bash or zsh you will get that functionality. Also you could probably alias something together in your default shell in whatever bsd to essentially do a pushd/popd.
@NicolaiWeitkemper2 жыл бұрын
As a poor man's alternative, "cd -" brings you back to the precious working directory.
@deleatur2 жыл бұрын
_“I’ve seen a GUI punch through a concrete wall. [...] Yet their strength and their speed are still based in a world that is built on rules. Because of that, _*_they will never be as strong or as fast as a CLI can be.”_* -- *Morpheus* _dixit_ (kind of) 😎
@MewTheGamer2 жыл бұрын
Morbius
@BSenta2 жыл бұрын
Such an epic comment
@SliceJosiah2 жыл бұрын
@@MewTheGamer Mobius
@kenwu72 жыл бұрын
Truly underrated comment 👏👏👏
@rune.theocracy Жыл бұрын
Truly one of the Morpheus of all time
@apmcd472 жыл бұрын
Just a couple of thoughts about history in bash: I personally don't save my bash history because with so many terminals open I wouldn't know which terminal will save its history; I have the string "\!" in my prompt to display a command number so that I can find the number of a previous command easily when I want to use ! to re-run said command.
@timewave020122 жыл бұрын
I know about changing Bash to vi bindings, but Bash has Emacs bindings by default, even without Emacs installed. Also, vi support is available without Vim or some other vi installed. Both are features of libreadline. Check ldd `which bash` and you'll see libreadline, not anything from Vim or Emacs. Imagine you've switched your keyboard to Dvorak, and everyone else is still using QWERTY. That's what the situation with Bash is like. Even if you're committed to using vi bindings, it's worth knowing Emacs basics for when you inevitably encounter it in the wild as the default.
@perpetualsystems2 жыл бұрын
...or just run set -o vi for your session. Like you said, you'll be hard pressed to find a Linux machine without vi.
@calleha012 жыл бұрын
yeah some people like to bash on (lol) emacs bindings without having even used them. there's seldom a time you need to use vi when you already know emacs, but learning both for the sake of knowing them is obviously a good idea. this example of ssh-ing into a server with only vi installed never made much sense to me, because either you'd use vi on the local machine as a vim user or you'd tramp into the file remotely as an emacs user. (also, modal editing on the command line? ew...)
@gamcd2 жыл бұрын
Instead of using the double bang for the substitution I use ^replacee^replacement Or in your example ^status^start
@theruq71712 жыл бұрын
Top Tier Content. I think the only thing I ever really used was "sudo !!" in the whole video, and I've been using Linux in some degree since I was 14. I did know somewhat of the other history commands and shortcuts, and using VI on the CLI... but never have really applied it. Old habits die hard. I am pretty good with using readline shortcuts to quickly jump by word, etc.
@anon_y_mousse2 жыл бұрын
I just use the same ones they use on Windows, Ctrl+{Left,Right}.
@xtdycxtfuv93532 жыл бұрын
Read through Bash’s parameter expansion, and through Bash’s history expansion.
@spurdosparde81972 жыл бұрын
I’ve used aliases so that I can run both sudo apt update and sudo apt upgrade with just “uu”. Really helpful stuff
@cosmo36652 жыл бұрын
Command line tricks made me a Chad when I was first starting my first job out of college, I guess they don’t teach Linux in India because the offshore guys never know any of these
@Mutual_Information2 жыл бұрын
This hurts to watch from my Windows computer..
@y7o4ka2 жыл бұрын
I saw `sudo vim` in your history and just wanted to say that there is a command `sudoedit` specifically for that. It allows you to edit files with sudo rights but using your own user, not root
@cherubin7th2 жыл бұрын
LOL sure I gonna remember all this random syntax for sure
@eideticex2 жыл бұрын
Instead of the double bang, shift up and shift down. Let's you cycle through your shell history. Or just up and down depending on which terminal your using.
@lagging_barish37362 жыл бұрын
came here to say this
@cancelhandles2 жыл бұрын
1:50
@mustekala7972 жыл бұрын
On Stackoverflow I found this advice that I cant live without anymore: In my home folder I create a file named .inputrc Inside goes this "\e[5~": history-search-backward "\e[6~": history-search-forward Then typing however much of a previous command I wish & using the page up/down buttons searches the history
@emblemi63452 жыл бұрын
@Соdу Ко 🅥 what kind of spam is this
@anon_y_mousse2 жыл бұрын
@@mustekala797 Thanks, and it doesn't interfere with Shift+Page{Up,Down} to scroll the terminal output either.
@DrBovdin2 жыл бұрын
Ah, the vi mode is something I will try out. I do occasionally end up in situations where I start trying to use vi commands while in shell just to realise that I’m not in vim.
@hughmungusbungusfungus46182 жыл бұрын
I have such towering seniority that, by simply being able to use a command line at all, my colleagues are impressed to the point of fainting. Truly a god among men
@SouravTechLabs2 жыл бұрын
You can use ^ to substitute. For example: $ sudo systemctl status sshd $ ^status^start^
@cd-yx3nv2 жыл бұрын
Chad CLI users vs Mad GUI losers Edit: genuinely curious what car Sr. Outlaw drives.
@roma86632 жыл бұрын
Dacia Sandero
@gamtax2 жыл бұрын
Must be a car that Scotty Kilmer recommends...
@Wheagg2 жыл бұрын
Thanks for the "!!" one, I figured that it wouldn't be a common enough issue
@H67MA2 жыл бұрын
Pretty cool stuff, however I find it more convenient to just use ctrl+r and home/end/alt/ctrl for quick navigation
@luszczi2 жыл бұрын
I learned nothing new bash-wise, but the idea of coloring different filetypes is really neat.
@ahmedmaa43802 жыл бұрын
Best commands ever: - CTRL+w = clears word - CTRL + U = clears whole line There is nothing magical about unixy commands.. They are extemely powerful weapons you need to memorize.. There is logic to help you memorize such as `w` standing for word ..
@crusaderACR2 жыл бұрын
arent those emacs keybindings
@Jebusankel2 жыл бұрын
@@crusaderACR yes. They're actually handled by a program called readline. You can configure readline to use vi key bindings. Also you could write your own shell or command line program and use readline as a library to get all the same functionality.
@SaikyoSensei2 жыл бұрын
Chaotic Neutral pronouncing sudo as both sudo and sudo
@tissuepaper99622 жыл бұрын
"sue-doo" makes more sense as far as what the abbreviation means (SuperUser DO), but "sue-doe" follows the phonotactic constraints of English. There's no clear right answer, so why not just use both so everybody gets pissed off? It's more fun that way.
@berkpwn2 жыл бұрын
Substitution you can preform with ^ instead of !!:s/. So in your example you can just do ^status^start and that will replace the word start with status.
@Kube4x2 жыл бұрын
I knew about bang bang but bang bang substitution may have just changed the entire course of my life … thank you.
@user-cf2pl9uy5k2 жыл бұрын
4:04 "thousands and thousands of commands", while showing the file has 1448 lines that being said, thanks, very useful video
@emblemi63452 жыл бұрын
3:32 when you use debian and arch at the same time.
@vaisakh_km2 жыл бұрын
wtf, just now i noticed
@pohuy21802 жыл бұрын
lol
@magnum3332 жыл бұрын
good eye!
@stage6fan4752 жыл бұрын
Lessons in how to be a comand line warrior! Thanks, much appreciated.
@Jrorion82 жыл бұрын
Some of these commands I never knew about until today, and I have been using Linux for 15 years.
@MontegaB2 жыл бұрын
Damn, how did I not know about '!'? I've been dabbling since the early 2000s. Would have really changed my experience over the years lol
@IMaiaPT2 жыл бұрын
Crtl + r is another good one to search the history
@martinvandenbroek25322 жыл бұрын
Nice vid. I would skip the advice though with regards to vi and just stick with the default bash keyboard shortcuts from the GNU Readline Library. These default shortcuts are used by many appliances and systems that you may encounter in your engineering career.
@tubbiele22 жыл бұрын
the same the other way around
@rinumu27362 жыл бұрын
You can enable vi mode for all more applications in .inputrc, so they work in more places
@Jrorion82 жыл бұрын
Please create an extensive video on grep, ask, sed, and Bash. Your videos are always awesome.
@Parallel-game2 жыл бұрын
May everyone succeed in their dreams. I'm developing a game since Jan 2020
@masterdoge172 жыл бұрын
you may have been developing a game. Meanwhile I just found out how to turn off mono audio on my pc
@Zamu2732 жыл бұрын
What's the name of the game
@Zamu2732 жыл бұрын
@@masterdoge17 nice I still haven't figured that out
@masterdoge172 жыл бұрын
@@Zamu273 my audio has been so trash and I couldn’t figure out why. Reinstalled drivers, used older drivers, used different amps and headphones, nothing worked. But then I just searched up mono audio on windows start menu and then found out I had it on the whole time :/ fun.
@MentalOutlaw2 жыл бұрын
Bro just release your unfinished game. Devs have been doing pre alpha releases for years now, also make the game open source please.
@szaszm_2 жыл бұрын
These shortcuts work in weird terminals as well: Ctrl-A: Jump to the start of the cmd line (like Home) Ctrl-E: Jump to the end of the line (like End) Ctrl-P: Jump to the last command (like up arrow) Ctrl-N: Jump to the next command (like down arrow) Ctrl-B: Move the cursor to the left (like left arrow) Ctrl-F: Move the cursor to the right (like right arrow) Ctrl-W: Delete the word to the left of the cursor Ctrl-S: suspend output (like scroll lock on in tty) Ctrl-Q: continue output (like turning scroll lock off in tty) Ctrl-L: clear the screen Did I miss anything?
@apmcd472 жыл бұрын
Ctrl-H: delete last (backspace) Ctrl-U delete from current char to beginning of line Ctrl-D: delete next (delete key) Esc D: delete from current character to word break Ctrl-R: Search backwards (Ctrl-S is search forwards, but you have to disable suspend to use it)
@tancoviols98942 жыл бұрын
These commands come from emacs, and as such you should also have: Ctrl-K: delete anything ahead of cursor Ctrl-Y: paste the last deleted thing (either with Ctrl-K or Ctrl-W) Alt-Y: If used right after a Ctrl-Y, cycles through the deleted sections
@apmcd472 жыл бұрын
I never got the hang of VI mode in bash and tend to stick with Emacs mode which I find much more intuitive. On the other hand I find Emacs too complicated for my needs and stick to VI.
@code89862 жыл бұрын
I thought I was weird for thinking and doing the exact same thing... glad to know I'm not the only one! 😀
@anonymous82783 Жыл бұрын
how is that even possible
@absmustang2 жыл бұрын
Clearly you saved the best for last. I’m definitively using that one next time I boot
@penguin86bitals2 жыл бұрын
Every time I see japanglish like "uindouzu" here I smirk to the brink of death.
@postmodernist18482 жыл бұрын
6:35 BTW, you could use "file?" where '?' stands for any (one) non-space character
@anon_y_mousse2 жыл бұрын
If it's a range of something he could also use {1..9} or [1-9]. One thing I've found quite useful is when you want to match on 2 or more characters too, such as ls -d [Aa]?* to list everything that starts with an A or a but not merely a or A on their own. I have multiple folders that are sorted alphabetically.
@martinkozle2 жыл бұрын
I AM that guy that installs nano on all of the company servers that I happen to ssh on 😔
@TheBinklemNetwork2 жыл бұрын
I swear I have to resub to this channel monthly
@mskyba2 жыл бұрын
2:13 If I use my shell's vim bindings, I can edit the previous command in many less keystrokes than typing that. Still, I don't use bash so I don't have the double exclamation mark either way
@SirCutRy2 жыл бұрын
For sudo !!, just press up arrow, home and write 'sudo '. You don't have to write the command again.
@manemobiili2 жыл бұрын
One time in college, internet went down, i used ping and explained to a non-techie how it works - oh wow, thats impressive!
@aiden_3c2 жыл бұрын
I have been using Linux for almost a decade and am still learning shit. Thank you lol
@kurtmueller20892 жыл бұрын
I have been using Linux since SuSe 8.2 came out, and I learned a lot of new thing in this video. Thanks a lot!
@maherhayek96962 жыл бұрын
2:13 Here's faster way to do substitution: ^old^new Or in this case: ^status^start
@silence___2 жыл бұрын
i doubt you will see this but ide like to say thanks for getting linux out there a bit more ive just compiled dolphin from source today ( it was a fucking nightmare) and am currently using unbuntu now. while i have many issues now im ironing them out. the only come out when im using the terminal and are surprisingly easy to fix. no way in hell im trying gentoo anytime soon, fuck compiling from source. i have to say linux runs wonderfully on my little shit box.
@Penderdrill2 жыл бұрын
wow kenny thank you for these amazing tips mr. admin
@rothn22 жыл бұрын
Thanks for putting this out here!
@jonathan11002 жыл бұрын
I am learning that there's always something new to learn about GNU/Linux despite how long I'd used it. Amazing stuff! :)
@DandiYuan9 ай бұрын
!$ should be mentioned too, it's expand your last word of previous command, it's handy when your last command is a file name or directory, then you can do cd !$ or vi !$. great video as always
@aster.ækes2 жыл бұрын
damn boy got the threadripper just to drive arch
@MgtowRubicon2 жыл бұрын
mental note: always delete your bash history file before logging off, because you never know who will look at it when the PC is out of your control.
@costa_marco2 жыл бұрын
Oh, the thumbnail... You naughty, you...
@cogitator12132 жыл бұрын
When she asks you "Hey, do you use Ubuntu or Manjaro?", and you just reply "Fedora, ma'am". Best day of my life (has yet to come)
@tellmey12 жыл бұрын
You have a great day as well Sir!
@flleaf2 жыл бұрын
this is his funniest thumbnail yet
@softer242 жыл бұрын
Do more command line videos / VIM videos plz.
@pskry2 жыл бұрын
RedmondXP. A man of culture.
@Ligands232 жыл бұрын
_"You don't wanna be that guy asking if it's okay to install emacs... get comfortable with Vim"_ ...no, I would much rather just be that guy D:
@perpetualsystems2 жыл бұрын
If your company is forcing you to use a specific text editor, that's a pretty shitty company lol.
@Iujyrino2 жыл бұрын
I can feel my power level rising
@thespider78982 жыл бұрын
I usually just use up arrow to cycle through the history
@1REDGOBLIN2 жыл бұрын
Vim is crucial to know, sometimes you don't have any other option, say you connect to a ssh server or a kubernetes pod that has minimal installation and you dont have permission to use apt. I use vim extension to vscode ( because sometimes you just need to use an IDE).
@jarro27782 жыл бұрын
Damn thats a really cool DE theme
@Julzaa2 жыл бұрын
Btw to open .bash_history you can just type history, otherwise I didn't know that ! command, that's pretty neat
@DragonsFire-o6y2 жыл бұрын
Where did you get that amazing wallpaper
@Kid4202 жыл бұрын
I need it 😭
@PaulMarcX2 жыл бұрын
Amazing!!! Learnt so much
@max8989max2 жыл бұрын
You're the Jayson Tatum of Linux!!!
@aliceryan70532 жыл бұрын
I like this channel I always learn new things from these videos.
@KaiserTheAdversary2 жыл бұрын
Quality vid my dude 👍
@damnedmadman2 жыл бұрын
Shame you didn't mention the Ctrl+R trick!
@martinvandenbroek25322 жыл бұрын
That is because CTRL-R is a default GNU Readline Library shortcut. He advocates using vi mode. So you probably have to tediously switch out of vi insert mode by pressing ESC followed by a sequence of other keys in order to achieve the same.
@avihayl79112 жыл бұрын
Can you get the row number of a history function using grep and then using it with ! Mark? This sounds like a good way to automatically one liner re run specific function by grep and can be added the changes
@naelblogger79762 жыл бұрын
cat -n ~/.bash_history | grep mySearchPattern will show you the commands with your pattern and number lines, which you can then use with !. Or, if you like danger, you can automatically take the first match :P !$(cat -n ~/.bash_history | grep mySearchPattern | { read -a array ; echo ${array[0]} ; })
@amicloud_yt2 жыл бұрын
dude more of this please
@GrimMetropolis2 жыл бұрын
Sweet, now I just need to infiltrate an office.
@MrLazini2 жыл бұрын
another really helpful one is repeating the last command start with an 'f' for example, would be " !f " so if you remember the first letter(s), you can do multiple commands from history really quickly e.g. !bison !flex !gcc or !b !f !g
@jokroast69122 жыл бұрын
I just learned the Cntrl + R for searching cached terminal history.
@jameshertz24612 жыл бұрын
What really made me look cool was to use CTRL+L instead of clean 😎
@A_scope2 жыл бұрын
inxi -b is my new preference over neofetch as of today
@notuxnobux2 жыл бұрын
Protip: Use Ctrl+R in combination with the fzf program for a much better command search experience
@JoshuaGutz2 жыл бұрын
I use ctrl+r all the time, never heard of fzf, looking into it now. What's awesome about it?
@neoney2 жыл бұрын
@@JoshuaGutz quick
@angusmacgyver2 жыл бұрын
!* was nice, I try to remember that and use it. Do you do any programming?
@lowhigh34262 жыл бұрын
Can't wait to be the coolest gay at the office !!:s/gay/guy
@mr.mendelli62242 жыл бұрын
Are you snooping? I just got into Arch and I am in dire need of translating my Windows scripting to Linux. Blessed be thee.
@mandrasaptakmandal6362 жыл бұрын
The rice looks really tasty....
@Veptis2 жыл бұрын
I am kinda interested in getting there, but I don't feel comfortable with going there. so much to strive for.
@joshb74152 жыл бұрын
history | grep filters history by that word, also history has a number bedside each command, you can !n where n is the number to run the command, also I disagree on cli being superior, I do a lot of work with aws and its way easier on the gui, 1 click is like 3 commands sometimes
@defekto.2 жыл бұрын
Honestly way more useful would be SSH tricks. Configuring it to use jumphost for certain Networks, using your ssh user by default, setting custom Ports for certain Servers, etc. Also interesting for new users might be common grep commands and for loops in the shell.
@Alexander-vo4gv2 жыл бұрын
can we appreciate kenny's new box for a second
@lukemorgan61662 жыл бұрын
No
@adamflyshotmail2 жыл бұрын
I'm just learning, but im already the guy who makes scripts in the office. So thank you.
@operaix13432 жыл бұрын
Emacs does not need to be installed on the server, you can use it on the client and connect via ssh to the server directly from there (not the usual terminal emulator), and safely use your configuration of emacs