Linux Command-Line Tips & Tricks: Over 15 Examples!

Поделиться
HTML-код
  • Опубликовано: 21 авг 2024

Комментарии • 305

  • @PanSatyr
    @PanSatyr Год назад +9

    Been using Linux for decades and I still learned some things from this. Thank you. Now I want to share the world changing CLI tip I learned within the last decade.
    tail -F
    The capitol F will "follow" Log files that roll over. For example if your tailing syslog and it gets rolled to syslog.1 the tail -F will continue tailing the new syslog file.
    I work on apps that write lots of data to their log files and roll them rapidly. The tail -F option saved me from missing things and or having to go back and grep through he log files.

    • @LearnLinuxTV
      @LearnLinuxTV  Год назад +5

      OH MY GOSH. Look at that. I just learned ANOTHER cool trick from an awesome person in the community. I'm still learning things after two decades. The learning never stops, and I learn from you guys all the time!

  • @MartinCode
    @MartinCode 2 года назад +26

    just write "cd" will take you to home

  • @SMJSmoK
    @SMJSmoK 2 года назад +35

    26:50
    Also, when you chain commands with ||, you make sure that the second command runs only if the first one fails (for example: "command1 || command2" will only run command2 if command1 failed). You can then make a construction like this:
    (command && echo "success") || echo "failure" - this will "tell you" if the command was a success or not. If you redirect the output and perhaps include some timestamps, you have simple logging that comes in handy in scripts, for example :)

    • @KrolPotato
      @KrolPotato Год назад

      That's cool!

    • @cynth0984
      @cynth0984 6 месяцев назад +1

      have you tried:
      echo $?
      ?

  • @cynodont7391
    @cynodont7391 2 года назад +10

    In the last example, 'mount' is used to illustrate the 'column' command. 20 years ago, the output of 'mount' was quite easy to read. Nowadays, this is a mess because even the most basic Linux installation creates at least 20 virtual filesystems and nothing is sorted.
    Here are 2 good alternatives to 'mount' that are probably installed by default on all modern linux systems:
    The first is 'findmnt' which basically prints the same information but nicely formatted in a tree. As its name indicates, the real purpose of findmnt is to find which filesystems are matching a set of criteria but its default output matches everything.
    The second is 'lsblk' which prints information about the physical block devices (so no virtual filesystems). By default, the output is formatted as a tree representing the device hierarchy (LVM, LUKS, raid, ...) and the columns can also be configured (see the options -o, -f , ...)

    • @Chalisque
      @Chalisque 2 года назад

      I learn something new every day. in this case findmnt.

    • @Economics21st
      @Economics21st 3 месяца назад

      Thanks!

  • @hugocoolens
    @hugocoolens 2 года назад +20

    The reason why CTRL-z sometimes does not work with nano is that it often is disabled in the settings of nano e.g. by editing /etc/nanorc and commenting the line "set suspend". The reason for doing this is, is that people with a windows background often start pressing CTRL-z in nano thinking that would undo something, but of course it doesn't. If you are teaching linux beginners, this is a nice feature to have.

    • @veden310
      @veden310 2 года назад

      I remember having pain in a$$ with this feature when I switched from Windows to Linux ))

  • @RickJohnson
    @RickJohnson 2 года назад +33

    15:30 - %Y-%m-%d is the same as %F in bash. Thus HISTTIMEFORMAT='%F %T ' gives the same results in fewer keystrokes.

  • @unbekannter_Nutzer
    @unbekannter_Nutzer 2 года назад +23

    To cd to your home, just use `cd`. The tilde is only needed if you need to address a subdirectory of your home, like `cd ~/proj/scala/mini`.
    To exit cmatrix, just hit the q key. Many other programs use the q=quit too, like man, less, ...
    Beside Ctrl-a for the beginning of the line, you may use the HOME key as well, and respectively the END key for end of line.

    • @Economics21st
      @Economics21st 3 месяца назад

      Also to cd to another user's home directory:
      cd ~bob

  • @_yourNameHere__
    @_yourNameHere__ 2 года назад +1

    Ctrl + y will paste whatever you yanked with Ctrl + u, Ctrl + k, or Ctrl + w.
    One use for this is when you forget to type sudo in the beginning of a line. So you would Ctrl + u the line then type in sudo then Ctrl + u to bring back the commands you just yanked.
    Thanks for the awesome tips in the video!

  • @stuartm5745
    @stuartm5745 2 года назад +32

    22:11 Ctrl+U will not necessarily delete everything on a line. It will delete everything to the left of the cursor. (Ctrl+K will delete from the cursor to the end of the line.)
    To delete an entire line regardless of where the cursor is located, use Ctrl+C.

  • @davemeech
    @davemeech Год назад +3

    This is currently my favourite video on this channel, for which there has been a lot of competition. A lot of the tips in here are 100% going to be applied at work after the holidays. This channel has been fantastic for ramping myself up in a lot of skills I'm using in my current role. That and I want to start up a homelab, so even more mileage to be had on this channel. Top quality content, Jay, thank you for all of this.

  • @knjohnson312
    @knjohnson312 2 года назад +2

    As someone relatively new to Linux, watching this video was like scratching an itch, or finally remember who the actor was in that movie you were talking about a week ago. Such a relief to have these in my toolkit now. Thanks for the video!

  • @MatthewCrofut
    @MatthewCrofut 2 года назад +18

    As a linux noob, can't tell you how many times I've accidently hit control-z and then had no idea how to get back to that screen. Thanks Jay!

    • @hugocoolens
      @hugocoolens 2 года назад +1

      Just type: fg and you'll get your nano session back. You could also make nano insensitive to CTRL-z by editing /etc/nanorc and commenting the line "set suspend" in that file. (sudo nano /etc/nanorc)

    • @jim7smith
      @jim7smith 2 года назад

      were you trying to hit ctrl A instead to select all?

    • @cynodont7391
      @cynodont7391 2 года назад

      The applications do not see control-z. Instead they receive a suspend signal sent by the tty. You can list the terminal settings with the command stty -a
      You can disable the 'susp' signal by executing the following command (in your .bashrc):
      stty susp ""
      Or you can change it to something that you are less likely to hit by mistake such as
      stty susp "^@"
      However, I am not sure that changing the default terminal settings is a good idea. It is better to learn about control-z and the fg and bg commands.

  • @joelynott
    @joelynott 2 года назад +2

    Wonderful video and the comments are gold.
    I remember a couple of command/shortcuts that I'm use daily.
    !$: Calls the last parameter of the previous command.
    Example:
    Touch anyfile.txt
    Nano !$
    ||: Double pipe works like "OR".
    Only if the first command fails, run the second.
    Ctrl+x, ctrl +e: For long commands, open the default editor so you can write a very long command, save and it's ready in your prompt.

  • @ricklakes9405
    @ricklakes9405 2 года назад +12

    Hi Jay, This will take me some time to wrap my head around all of this. Little by little I will work on this. Thank you so much for this video.

  • @jeffherdzina6716
    @jeffherdzina6716 2 года назад +23

    Jay, I'm kinda surprised that you didn't include Alias commands. Being a Sys admin, I use Alias commands all of the time.

    • @tomv3999
      @tomv3999 2 года назад

      Me too. The problem is then I log into another machine, and my aliases aren't there. I love aliasing "lt" (ls -lht | head) but whenever I'm on a new box, I get (of course)
      Command 'lt' not found, but can be installed with:
      sudo apt install looptools

    • @Chalisque
      @Chalisque 2 года назад

      aliasing, and also functions.
      instead_of_an_alias() { do_something; }
      my_func() {
      local A="$1"
      shift
      for s; do
      echo "$s:$A"
      done
      }
      and so on. I mostly use functions.

  • @nicolasrenard2551
    @nicolasrenard2551 2 года назад +11

    The Ctrl + Left or Right arrow, allowing you to go to the previous/next word within a command, is pretty useful too.

  • @NoEgg4u
    @NoEgg4u 2 года назад +8

    @4:10 "clear" command.
    Yes, ctrl-l is faster and more convenient, for interactive shell execution.
    But for within a script, "clear" is what you probably use to clear your screen.
    Perhaps you can issue a ctrl-l from within a script?
    If someone knows how that can be done, please chime in.
    @23:57 "...and just delete everything on that line" (via ctrl-u)
    That is correct, as well as incorrect, depending on your cursor position.
    ctrl-u does not necessarily delete everything on the line. Rather, it deletes everything to the left of the cursor. So if you cursor happens to be at the end of the line (and it usually is at the end of the line), then, yes, it will delete the entire line.
    But if your cursor was not at the end of the line, then ctrl-u would not delete any characters to the right of the cursor. It would delete only the characters to the left of the cursor.
    @27:03 "tail -f"
    I prefer to use "less -iM filename" or simply "less filename", and from within less's output, press "shift F" (the "F" means "forever", as in tail the file forever).
    Why is "less" and from there "shift F" my preference?
    That "shift F" feature that is within the "less" command will do the same thing as "tail -f". But the benefit of using "less" and "shift-F" is that when you are done tailing the file, you can press ctrl-q, and return to the standard "less" pager's output -- scroll around within the output -- search through the output, etc).
    With "tail -f", once you ctrl-c out of it, you are returned to the shell prompt. That might be better, depending on your situation. But I find the "less" command's "shift F" to be better, somewhat more often. At any rate, you have a choice between the two.
    Often, when jobs run, they will duplicate their standard output (what is shown to the user) to a log file. This is often the case in a business environment, where the operators, controllers, programmers (employees) must keep a real-time eye on its progress. And there could be countless jobs running. So it is common to run "tail -f" to check on job completions and see if they succeeded or ended with errors, etc.
    As such...
    When you run "tail -f" on a log file of a job that is running, you could confuse the output from "tail -f" as the actual job, when it is really only a real-time view of the actual job (it is not the actual job, but simply the mirrored output of a log file that the job created).
    Whereas, with "less", followed by "shift F", you will never mistake what you are viewing. You will absolutely know that you are in your "less" pager, tail'ing a file. You will never confuse viewing the tail of a file with viewing the actual, real job that is running.
    If you mistakenly thought that you were doing a "tail -f", when that window happened to be the actual job, then when you run "ctrl-q" to break out of what you thought was a tail of a log, you end up performing that ctrl-q on the actual job, and you kill the job. Depending on the job, that could be a big problem.
    Using "shift-F" via the "less" command avoids any and all potential mix-ups and mistakes that could happen with "tail -f".
    -----
    And, of course, another great video with clear and useful tips.
    Cheers!

  • @TanjoGalbi
    @TanjoGalbi 2 года назад +17

    CTRL-A and CTRL-E are also implemented with HOME and END respectively with most terminal software. Much easier to remember HOME for the start/home of the line and END for the end!

    • @xpusostomos
      @xpusostomos 2 года назад +5

      If you're an emacs or mg editor user, you should learn it anyway. If you're a "vi" user, put the shell into "vi" mode.

    • @TanjoGalbi
      @TanjoGalbi 2 года назад +2

      @@xpusostomos pfft, vi is a user unfriendly editor that only die hard long term Linux users hold on to. They seem to think you are not a true Linux user if you don't use it which is just plain stupid, it's a "no true Scotsman" fallacy that needs to end and besides, why make things harder for yourself when there are easier tools to use? Just use tools you like to use, if the job gets done either way then what does it matter? 😏
      Just a small rant about vi, nothing wrong with what you said 🙂

  • @lloydsumpter7735
    @lloydsumpter7735 2 года назад +1

    Love the pushd and popd - obviously from Assembly language. "BASIC'ers peek and poke, Assemblers push and pop!" :)

  • @Mikesco3
    @Mikesco3 2 года назад +1

    I bet a lot of people don't fully realize that this was the only way to interact with a system even before the luxury of a mouse and desktop environment, and that is amazing that it still is sometimes the best way.

    • @Mikesco3
      @Mikesco3 2 года назад

      Some of these concepts even predate monitors, your output would have been text actually printed on a roll of paper.

    • @rbettsx
      @rbettsx 2 года назад

      That spare hand can be very, well, handy😶

  • @krackpot_
    @krackpot_ 2 года назад +2

    Incredible. I have been pecking away at command line mostly hating the experience and didn’t know more than 90% of these commands. Not a full time Linux user but have been using Linux over the years. I think I’m going to have to incorporate as much of these commands and possible going forward. Thank you for sharing this knowledge, Jay!

    • @farfthi
      @farfthi 2 года назад +1

      These tips are for the bash shell, the default for Linux distros

  • @jolimartinez1495
    @jolimartinez1495 2 года назад +1

    I have been working with Linux/Unix systems for over 20 years. I have worked with Solaris, SCO, FreeBSD as well as most major linux distros. I stumbled upon this video and thought it would be some basic commands I already knew. But, I was surprised that some of the commands were new and I will start using them right away. The "sudo !!" as well as adding a space to a command would not appear in the history. Stuff like that was very useful. I have a bash script that will go and search for passwords in history and clear them out, but this is much better. Thank You. Finally I would add the "watch" and "timeout" command. The watch command runs whatever command every 2 seconds. This is useful for getting realtime file sizes. The timeout command is great when you want to run a command for X amount of time, for example tcpdump.

  • @gwitt111
    @gwitt111 2 года назад +1

    thank you for these great tips. I also want to mention the "| more" command to view at long outputs in the CLI running over multiple terminal heights.
    You type your listing command or cat or whatever and add "| more" at the end f the command. The output starts with its first screen and stops for you to read. Then you resume the output with the space key. At the end of the list you leave that mode with a "q" command for 'quit'.

    • @Chalisque
      @Chalisque 2 года назад +1

      Less is generally more useful than more. I'm not sure I know of a case where more is preferable to less, except on some kind of minimal embedded system where less is omitted to save space. Less lets you scroll back up. More only goes down.

  • @ericcousineau8358
    @ericcousineau8358 2 года назад +11

    Pretty much everyone knows how to glob things with *, but I've found fewer people know about brace expansion {}.
    If you want to repeat a command for a list of strings, you can list them inline.
    Eg.
    ls {dir1,dir2}/subdir_named_same
    It can be very useful whenever there are repeated patterns in directory structures.

    • @othernicksweretaken
      @othernicksweretaken 2 года назад +3

      I often use even nested curly braces (or is it curly brackets?)
      to avoid typing sprees and let the shell do the hard work of expanding all alternations.
      I wonder if you knew that you can even avoid the seq comnand (if your Bash isn't too dated) and use the magic power of curly brackets' counting ability?
      Here is what I often do to create a bunch of temporaral mount points whenever I tinker with several filesystems in parallel.
      # mkdir /mnt/tmp{1..9}

    • @joelynott
      @joelynott 2 года назад +2

      Or when you have to create multiple directories in the same location, saves some time.
      Mkdir {dir1, dir2, dir3}

    • @Chalisque
      @Chalisque 2 года назад +2

      And of course here you could do ls dir{1,2}/subdir_named_same. Also there are square brackets that do something slightly different. Braces always expand, no matter whether the result names a file or not. But
      $ ls dir[0-9]/hello
      will expand to anything of the form dir4/hello provided that it exists. Also ? is worth knowing about (it matches precisely one character, whereas * matches any string, including the 0-length string "" so hello?*world matches any file starting with hello and ending with world and which has at least something between hello and world.

  • @pyrokamileon
    @pyrokamileon 2 года назад +5

    I have learned so much since discovering your channel! This video all in his own is like an excellent little cheat sheet that you might have with you for a final exam. If there is not a text / transcript version of this already available I may have to get on that myself even if it is just for myself, a lot of these were very useful, thank you 😮👍🏽

  • @glendubie
    @glendubie 2 года назад +3

    Thanks for all your help Jay. You are a true blessing for those of us who are new to Linux. Keep up the good work my friend it is truly appreciated.

  • @glidersuzuki5572
    @glidersuzuki5572 2 года назад +13

    cd ~ is same as just cd.
    Ctrl-w will delete word instead of whole thing like Ctrl-u
    Ctrl-k is like Ctrl-u but for things after the cursor and not before.

    • @Chalisque
      @Chalisque 2 года назад

      Not sure whether it was mentioned, but e.g. ~john reverse to the home folder of the user named john, not necessarily the logged in user. So cd ~harry/Videos changes to something like /home/harry/Videos.

  • @cyberp0et
    @cyberp0et 2 года назад +1

    Linode is the best sponsor on RUclips :)
    I need to spend more time in Linux console/ terminal.
    Thank you for this video. I need to watch it again with pen and paper.

  • @aaronperl
    @aaronperl 2 года назад +4

    I've been running Linux since 1998, and I love the command line ... but I never knew about the "column" command.
    After I learned how to use Vim, and found that I really like it, I learned that Bash has a vi-mode ("set -o vi"), so I tried enabling it, almost as a joke, just to see how long it would take to annoy me. To my surprise, I still use it to this day, and I find its editing and searching commands far easier to remember than the emacs-mode. I always had trouble remembering how to use the search feature (ctrl-r or ctrl-i or whatever it is), but in vi-mode it's totally intuitive, at least for me (/ to search, j and k to scroll through matches).

    • @GooogleGoglee
      @GooogleGoglee 2 года назад

      Cool

    • @davidh.4944
      @davidh.4944 2 года назад

      Run _info coreutils_ and you'll find a whole host of other useful commands like _column_ .
      Edit: actually _column_ is not a coreutil, but part of the _util-linux_ package, another bundle of commands that should be installed by default.

    • @xpusostomos
      @xpusostomos 2 года назад

      Yes, intuitive for vi users. Of course, you should change to using emacs :-P

    • @bfahren
      @bfahren 2 года назад +1

      "After I learned how to use Vim, and found that I really like it,..."
      Me, a vim rookie: "LIAR!"

    • @xpusostomos
      @xpusostomos 2 года назад

      @@bfahren
      Confidence is the food of the wise man, and the liquor of the fool. Vim is fast for simple edits and limited for difficult work

  • @LossyLossnitzer
    @LossyLossnitzer 2 года назад +1

    as a Unix preson for ~30 you always forget the basics and go back to programs like "ex" so you do not need to use "vi" for basic search and replace or vim ( something I still do not use), that was a good reminder and that column command was useful, I have never used that after years of looking at unformatted text and using the echo and cut -d to get my columns

  • @goran.jovanovic
    @goran.jovanovic 2 года назад

    Well so much things you can learn from Jay......and Silent BOB. Jokes aside. This is one of the best learning places on the net for Linux. Really. Thank you so much for the time you got in this Jay.

  • @name1355_0ne
    @name1355_0ne 2 года назад

    Thanks for the video. Most of the tricks were already known, but I found some new ones.
    You asked for what you missed, well here you go: xargs command, splitting long commands in multiple lines with backslash, grepping stuff, watch command, searching for recently modified files with find command

  • @Bentons_Place-DIY
    @Bentons_Place-DIY 2 года назад

    I've been a Fedora man since the days of Redhat 2 & 3, when you had several CD's for the install. Primarily as a revolt against the Bill Gateans. Though my hangup was with the GUI and never really got proficient on the command-line, and only using it when I absolutely had too. And then often with difficulty.
    However now that I am building my own home network (5 units, so far...) including a Xeon server with 3 drives and raid, I am taking a more sincere approach to, and interest in, the command-line. Thus my presence here to catch your videos. So, thank you very much. I will be watching a lot more as time goes on, and yes... I DID subscribe.

  • @maanvis81
    @maanvis81 2 года назад

    I've been working with linux for more than 15 years now, but I still learned a lot from this, thx

  • @Lilvictus
    @Lilvictus Год назад

    One tip I think is similar to "!!" to repeat the entire previous command, is to use "!$" to repeat just the last argument from the previous command. If I "cat ~/longpath/somefile", then decide I want to edit the same file, it's a simple "vim !$". It's also useful when you "ls ~/longpath/somelongdir", see the file you want to edit, and can then just "vim !$/somefile".

  • @d00dEEE
    @d00dEEE 2 года назад +4

    If you use ctrl-R to recall commands, you should know that ctrl-S moves you forward in the search list (in case you pass the one you're looking for).
    Also, related to all the cd variants, see 'man bash' and look for CDPATH. If you have a set of path values set, say 'CDPATH=.:~', then cd tries to cd to '/' for each entry in the path. 'cd bin' attempts first 'cd ./bin', if that fails, then 'cd ~/bin' and so on.

    • @PendalfCell
      @PendalfCell 2 года назад +1

      Ctrl-S doesn't work for me, neither on Windows in Putty or native terminal in GNOME, it just stucks untill you press Ctrl+C couple times.
      UPD: you need to set "stty -ixon" manually or in ".bash_profile" to disable XON/XOFF feature that takes over Ctrl+S.

    • @d00dEEE
      @d00dEEE 2 года назад +1

      @@PendalfCell You got it, 'stty -ixon' is the solution. And if you forget and get stuck, ctrl-Q is the "xon" key that turns the tty back on, so you can continue without breaking out in the middle...

    • @_maxt
      @_maxt 2 года назад +1

      @@d00dEEE I was just about to shout c-Q hehe +1

  • @ysegrim9824
    @ysegrim9824 2 года назад

    who else watches MauLer's long format videos in more or less one sitting on a weekend day? very enjoyable

  • @geoptus
    @geoptus 2 года назад +4

    There are loads of cli key-commands and escape sequences for both emacs mode and vi mode, they can be listed with:
    bind -p

    • @KrolPotato
      @KrolPotato Год назад +1

      You just ruined Jay's entire series he planned on "Terminal Tricks" with this "bind -p" command. Good job! ;-)

  • @Igor-qn6pj
    @Igor-qn6pj 2 года назад +3

    Also there is a trick if you forgot to run long running command with nohup, or run this command in screen, and you need to close the session, just run disown -a && exit

  • @PoodlePlugins
    @PoodlePlugins 2 года назад +1

    I just want to say thanks Jay for al your content, I've been using Linux for quite a few years alongside MacOS, ( I use Arch btw ) and I learn and discover something new every week with your videos. It was your Arch install video that got me started with that, and I've not looked back.

  • @bofhorg
    @bofhorg 2 года назад +12

    control-z doesn't send your process to the background; it *stops* it. To send it running to the background, use 'bg'

    • @jim7smith
      @jim7smith 2 года назад

      sounds good, BUT just tried it in mint-xfce and it did not like it. It replied with "bash: bg: current: no such job". Perhaps this is distro dependent?

    • @xpusostomos
      @xpusostomos 2 года назад +1

      @@jim7smith It's definitely not distro dependent, so I'm not sure what went wrong for you. After you hit ^Z, you should be able to type "jobs" to see what you've got running. Also, putting interactive processes like editors into the background is a bad idea.

    • @xpusostomos
      @xpusostomos 2 года назад +3

      @bofhorg... a matter of terminology... Control-z makes it stopped in the background. "bg" makes it running in the background.

    • @Chalisque
      @Chalisque 2 года назад +1

      @@jim7smith Ctrl-Z sends the SUSPEND signal to the process. Processes can trap this signal and control what happens next, possibly ignoring, possibly terminating. If you get bg: no current job, that probably means the program terminated in response to SIGSUSPEND. Which command did you try Ctrl-Z with, out of curiosity?

    • @chetanc7909
      @chetanc7909 Год назад +1

      Ctrl +z and immediately type bg
      Then your process will run on background

  • @tomv3999
    @tomv3999 2 года назад

    In most terminals: CTRL-SHIFT-C to copy, CTRL-SHIFT-V to past.
    It is annoying, but makes sense. CTRL-C is "COPY" in desktop applications. But it is the kill-process in the terminal.

  • @BeginningProgrammer
    @BeginningProgrammer 2 года назад +2

    What an awesome video. I've been using linux ... just enough to get by here and there and thought I knew some commands and I knew only one of these (history). Thanks for sharing.

  • @andmefikri7555
    @andmefikri7555 2 года назад +1

    Thank you so much! This has been very informative. Of all the 15 tips, only 1 I knew, despite having used Linux for up to 5 years. Keeps the great content coming, man :D

    • @f4zkh4n
      @f4zkh4n 2 года назад

      meanwhile I knew all but 1 and still can't seem to make the switch from windows despite many attempts.

    • @andmefikri7555
      @andmefikri7555 2 года назад

      @@f4zkh4n Neither can I. Have tried it, works when your needs do not clashes, but doesn't when there are things you simply cannot do in Linux. So these days, I just use WSL. Works best as a compromise.

    • @f4zkh4n
      @f4zkh4n 2 года назад

      @@andmefikri7555 i'm going to try jump ship once again. win10 telemetry has always been outrageous and left a bad taste in my mouth. win11 seems even in worse in more ways than one, complete no go. WSL has been cool though and android apps running in win11 is also the one enticing thing about it.

  • @liquidmobius
    @liquidmobius 2 года назад +1

    Thanks so much!!! I'm brand new to Linux and fairly new to your channel, so the beginner material is perfect for me!

  • @leu2304
    @leu2304 2 года назад +1

    Best Linux tutorials I ever had. I wish i found it 8 years ago :D So much time was used unprodactive

  • @joshinils
    @joshinils 2 года назад +2

    deleting single words to the right of the cursor with ctrl+del or to the right with alt+backspace is also useful, same as navigating around whole words with ctrl+arrow

    • @python360
      @python360 2 года назад

      Nice tip! Thank you man!

  • @ericanker9049
    @ericanker9049 8 месяцев назад

    This was just great. Fitted straight in, right now, in my atempt to learn linux. Thanks!

  • @Chalisque
    @Chalisque 2 года назад +1

    Something I never realised until recently, when I thought about implementing this myself, was that cp and mv have a -t option to specify the target folder. If you want to copy folder1 into folder0, you would often do
    $ cp -r folder1 folder 0
    now there is a source of potential accidents if doing this yourself: you start typing a long cp command
    $ cp -r folder1 folder2 folder3 folder4
    and before tying the final folder0, you accidentally hit enter and folder1..3 get copied into folder4.
    By specifying the target folder first, via
    $ cp -t folder0 folder1 folder2 folder3
    this kind of keyboard slip can't cause problems in the same way. This also ensures that the target is definitely a directory, so avoiding the accident where you mistakenly copy one file over another. I wish I knew about this a long time ago, and in writing bash scripts I've often written crude snippets to approximate this behaviour.
    This works with both cp and mv.

  • @motoryzen
    @motoryzen 2 года назад +1

    4:10 to 4:20. very cool. Much respect for ctrl + l ( lower case L btw) I've been typing clear and enter this whole time.

    • @6500s1
      @6500s1 2 года назад +1

      but clear actually clears instead of just 'pushing down' :D

    • @_maxt
      @_maxt 2 года назад

      You can also C-L after you typed your command, just before pressing enter for example :o)

  • @dougholtz
    @dougholtz 2 года назад

    love how all of the other related tricks come out after seeing this.

  • @icecream_eyes
    @icecream_eyes 2 года назад

    Oh God, this video is the best Christmas present I've ever had. Thank you very much!

  • @_maxt
    @_maxt 2 года назад +1

    @ - "Searching through command history" is actually an emacs keybinding for reverse search. You can use others too: c-a (go to beginning of a line) c-e (go to end) c-d (delete a char) etc.

    • @othernicksweretaken
      @othernicksweretaken 2 года назад +2

      For the vi folks like me.
      In your bash terminal type
      _set -o vi_
      and you have vi key bindings
      (e.g. _Esc / wget_ would search backwards in bash's history for your last wget command, hitting n would take you to the next and so forth)
      Typing
      _set +vi_ toggles back to the default emacs key bindings.

  • @nickwinn
    @nickwinn 2 года назад +2

    Only piece of advice I can offer for the truncating files, if you want to erase a full file, you can run "> /var/log/syslog" as an example, it's a blank redirect that wipes the file clean, easier than truncate. You could add more with grep, less, tmux, wc, sed/awk, vim to the video and then it might be close to being the complete guide.

  • @zameerpashablr
    @zameerpashablr Год назад

    Thanks for you patience and to explain the beautiful tricks, i knew most of them are experts in this but being newer, even drop of learning is useful.
    The last command can be seen clear after pressing F11.

  • @aaaaaaaaaaaaaaaaa98
    @aaaaaaaaaaaaaaaaa98 2 года назад +1

    22:19 I usually use "home", "end", "ctrl + arrow keys" to jump over command line text

    • @joelynott
      @joelynott 2 года назад

      In some "dumbs" terminal home, end or ctrl+arrows doesn't work, so is good to keep this in mind.

  • @tomv3999
    @tomv3999 2 года назад

    I didn't know about 'column'. That's handy - especially in the specific example you gave. 'mount' is incredibly noisy (I usually use grep to filter).

  • @duranopaulo
    @duranopaulo Год назад

    Thank you coming from Cebu, Philippines.

  • @isteinsvik5995
    @isteinsvik5995 2 года назад +1

    The cd - is incredibly useful when combined with fasd. For instance i can jump to a directory by doing z project, and then jump back again using cd - While cd .. is usefull for jumping back across time and space cd - is golden.

  • @aba-nascu
    @aba-nascu 2 года назад +2

    Part 2 please..... ;-) Great Video!

  • @dah7143
    @dah7143 2 года назад +1

    There is always something new to learn with Linux . Good content, thank you.

  • @jotmai3630
    @jotmai3630 2 года назад

    Well well well... As an outdated Unix user myself, coming back to the nix community, migrating myself from Windows, I am inclined to rekindle myself to CLI before I even can go forward with the nix system. You got my subs from this video. Gonna get myself updated with your Linux knowledge on this channel. Just to add a little note though. This symbol ">" is also useful in terminal or CLI or CMD.

  • @lloydsumpter7735
    @lloydsumpter7735 2 года назад

    Those keyboard shortcuts (cntrl-a, cntrl-e, cntrl-u, etc.) are Emacs shortcuts. Others work too - from next-word (ESC-f) to delete-to-EOL (cntrl-k), etc. If you use Emacs a lot, it's handy!

  • @dmitry86
    @dmitry86 9 месяцев назад

    You can also use :var to temporarily leave the vim terminal, it should split the screen in two.

  • @jrrtolkin
    @jrrtolkin 2 года назад +2

    In one word: AMAZING

  • @Mega_Casual
    @Mega_Casual 2 года назад

    For CD you can also use CD .. to move back down one level. Never knew about Ctrl+L.....Good tip.

  • @stargasm1000
    @stargasm1000 2 года назад +5

    I expected you to include command || command to show that if the first command fails, run the second command.

  • @glutzey
    @glutzey 2 года назад +1

    Thanks very much for making this video! I found the information to be VERY USEFUL, very helpful; I appreciate your time and effort!

  • @cynodont7391
    @cynodont7391 2 года назад +1

    My command line tip: if apt prints hundreds of lines and ask you to type 'Yes, do as I say!' to continue then don't do it.

    • @rbettsx
      @rbettsx 2 года назад +1

      I don't think Linus from tech-tips is watching 🙄

  • @cynth0984
    @cynth0984 6 месяцев назад

    hi. I have learned some new tricks with your video. thanks.
    sometimes the kernel writes some junk into swap and keeps it there. I like to clear the swap with:
    sudo swapoff -a; sleep 2; sudo swapon -a
    I usually find it with Ctrl+R poff, but one can create an alias for the command, I think

  • @BrandonHurt
    @BrandonHurt 2 года назад

    great tools you show here and great that the community is adding their more than 2 cents. I like aliases, because I can nest an alias within an alias without ever calling it, and its also a pit fall of naming aliases...config push origin HEAD:master
    cps -f origin master
    these 2 commands let me reset my git bare repo to a new system, where config is '/usr/bin/git --git-dir=$HOME/bare/ --work-tree=$HOME', and then cps is config push, and this right here is where I used config as a previous alias in a new alias.

  • @trexlm
    @trexlm 2 года назад

    i like "cut" command. For example to extract one column of CSV file you can use it and redirect output to "result file". with grep you can "cut and filter" csv easy

  • @bengoshi4
    @bengoshi4 2 года назад

    Nice tips for a newbie 👌🏻
    Actually what I've learned from this video is the name of the & symbol in English!! Ampersand!! So... Thanks!!
    Cool name 😎
    Ampersand, ampersand!! Love it

  • @PS_Tube
    @PS_Tube 2 года назад

    Great tutorial. I was actually waiting for cmatrix to appear.

  • @motoryzen
    @motoryzen 2 года назад +1

    19:45 to 19:55. If you, like me, changed your copy and paste from ctrl shift c and v to simply ctrl c and ctrl v..You MAY find that ctrl c obviously won't stop an active running....thing within terminal
    If that is the case..use ctrl z

    • @xpusostomos
      @xpusostomos 2 года назад

      ctrl-z doesn't kill the process, it stops it. You are then left to manually kill it with "kill %1" If you changed copy in the terminal to ctrl-c, then you are left with no easy way to kill a process, which is really disasterous in the terminal. If you really want to do that, you should change your kill character to something else. e.g. by entering "stty intr ^G" will change it to ^G instead of ^C.

    • @motoryzen
      @motoryzen 2 года назад

      @@xpusostomos Interesting to know. Thanks for the info.
      I'm guessing you never shut down/turn off your PC? If that is the case..your concerns are far more applicable to you than they are to me. When you shut down/turn off any Linux distro booted up pc, it kills any/all processes one way or another. *shrugs*
      either way. again.. Thanks for the info :D Cheers.

    • @xpusostomos
      @xpusostomos 2 года назад

      @@motoryzen erm.. you shutting down your PC every time you copy text? 🤔 Or are you just accumulating hundreds of stopped processes until you run out of memory and it dies ?

  • @joshinils
    @joshinils 2 года назад +1

    opposed to ctrl+a and ctrl+e to go to the start and end of a line i use the buttons home and end buttons abothe the arrows, its muscle memory and works (if not should) everywhere i can type text

  • @user-kf4uq1jt9e
    @user-kf4uq1jt9e 9 месяцев назад

    nice, today is 28.10 and i watching this video on same day and month when this video was recorded. Point is - year does not matters

  • @towtruckn
    @towtruckn 2 года назад +1

    Hi great video; if you add alias cmatrix='cmatrix -s' to .bash_aliases cmatrix will act like a screen saver i.e. any key subsequently pressed will exit cmatrix.

  • @Rbourk252
    @Rbourk252 2 года назад

    Learned some new tricks that I didnt know before. Great! Thanks.

  • @vladk4444
    @vladk4444 2 года назад +2

    cd without anything takes you home

  • @k4tipun013
    @k4tipun013 2 года назад +1

    This is really helpful. Thank you!

  • @anandus3174
    @anandus3174 2 года назад

    Hello Sir, I am a noob system administrator and this helped a lot ❤️

  • @rodrigomonteiro9086
    @rodrigomonteiro9086 Год назад

    Thank you for this. It was really helpful and im sure its gonna help a lot of people from diferent levels.

  • @nlflint
    @nlflint 2 года назад

    My fav that you didn’t mention is “less”, but that’s kinda its own program that you could do a whole video on.

  • @Sliceace
    @Sliceace 2 года назад

    Thanks for the video J. I think you have mostly covered the commands I use in other videos.

  • @gnuPirate
    @gnuPirate 2 года назад

    Thanks dude! You're an amazing guide.

  • @habibk9538
    @habibk9538 9 месяцев назад

    Awesome session !

  • @MikeonabikeinEyke
    @MikeonabikeinEyke 2 года назад

    Add set -o vi to the end of your .profile, you can then use vi commands on the command line search/edit commands etc … super quick and enhances the cli no end.

  • @BigBlueMotors
    @BigBlueMotors 2 года назад

    As a newb Linux user, apropos command + function helps find how to complete tasks that I forgot.

  • @othernicksweretaken
    @othernicksweretaken 2 года назад +3

    I am sure that most of you know that
    @29:03 you can truncate a file to zero by just prefixing a closing angular bracket like
    >/var/log/some.log

    • @othernicksweretaken
      @othernicksweretaken 2 года назад

      Came back here thanks to the kind notification.
      Maybe I should supplement that, now that you have seen how easily one can even inadvertently clobber precious files, especially if you are roaming your filesystems with the unrestricted power of root (caveat fat finger syndrome), you might be interested to know how to guard off a slip of a finger.
      Try the following in your HOME where you are granted write permission.
      (n.b. in the example I activate the relevant Bash switch in parentheses which tells bash to execute the enclosed in a subshell to avoid setting the switch for the duration of the whole shell session or until explicitly toggled back with a +o)
      cd
      ls -Al >contents; wc -l contents
      (set -o noclobber; >contents)
      wc -l contents
      set -o | grep clobber

  • @johnmartintucker
    @johnmartintucker Год назад

    ah! the HISTCONTROL was my favorite trick!

  • @x0rZ15t
    @x0rZ15t 9 месяцев назад

    tail -F is more robust if you're monitoring files that might be rotated, renamed, or recreated.

  • @PeterBatah
    @PeterBatah Год назад

    Definitely going to bed a little smarter this evening.

  • @FranciscoMartinez-mc8wq
    @FranciscoMartinez-mc8wq 7 месяцев назад

    Hola Hermano! muy buenos tus videos, ¡muy bien explicados!. Greeting from Perú...😀

  • @adasprogramuotojas2183
    @adasprogramuotojas2183 2 года назад +3

    Instead of "truncate -s 0 file" you can use ">file"

    • @Chalisque
      @Chalisque 2 года назад

      in the latter case, you need something to redirect into file. E.g.
      $ cat /dev/null >file # or
      $ echo -n >file
      but these don't offer much in terms of saving characters over truncate. Also, if you have noclobber set
      (via $ set -o noclobber),
      >file will not overwrite file (but >|file will). Noclobber is a useful safety feature, and I have it on by default, and only switch it off if I intend to overwrite stuff. (As another safety thing, I often use an alias so that to remove I have to type rmreal rather than rm -- once I intended to rsync some files from one machine to another -- I have my default options for rsync aliased to a command, something like
      $ alias rs='rsync -haux --progress'.
      On one occasion I typed rm instead and deleted a whole load of files I intended to rsync.

  • @viveksaroj3215
    @viveksaroj3215 2 года назад

    Thanks, you increased my ability to learn Linux faster

  • @xpusostomos
    @xpusostomos 2 года назад +2

    You kinda should mention that all this video is predicated on your shell being /bin/bash. Your tips about what ^a and ^r and ^e assume that bash is in "emacs" mode... as opposed to "vi" mode... but then you're using vim in the video. If you're a "vi" user, might as well put bash into "vi" mode.... or stop using vim editor and use emacs or mg which have the same keys... why learn these keys that are useless in your editor. And your tips about making the font bigger and smaller... and maximising your window, is predicated on a particular terminal program, and a particular window manager. For all you know, someone is sshed into Linux from Windows, or who-knows-where. ... the truncate command is a long-way-around to zero a file... most long term unix users would just go ">hello.txt"

  • @Igor-qn6pj
    @Igor-qn6pj 2 года назад +1

    Hello Jay. You forgot about ctrl+x+e to compose a multi line command

  • @MrMo3557
    @MrMo3557 2 года назад

    Great video Jay, even taught an old grey beard something

  • @sillygoosechinachina
    @sillygoosechinachina Год назад

    earned a sub! love this