8 super heroic Linux commands that you probably aren't using

Поділитися
Вставка
  • Опубліковано 11 січ 2025

КОМЕНТАРІ • 1,7 тис.

  • @deineroehre
    @deineroehre 5 років тому +384

    Finally! A UA-cam video with content straight to the point, no useless babble, no unnerving background music.

    • @1pcfred
      @1pcfred 5 років тому +4

      I was watching a video last night that had good content but before it was done the looping background music caused me to stop it. Half the comments were a complaint about the music too. So it wasn't just me. I'm not saying background music is always bad, but it is not easy to get it right.

    • @saidelbiev5326
      @saidelbiev5326 4 роки тому +13

      'Hello my name is XXXX XXXX welcome to my channel. Today I'm going to show you show to XXXX. I hope you like the video. If you do, click the Like and Subscribe button. Well, enough talk, lets dive into it!!
      *** 10 secs of intro music ***
      Do you also have the problem that XXXX? Sometimes you think XXXX and you dont know what to do? There is a way out of this problem!
      *** Actual video content ***
      More or less like that, every damn youtube video.

    • @JohnLovell-FTW
      @JohnLovell-FTW 3 роки тому +1

      Amen!

    • @lmnts556
      @lmnts556 3 роки тому +2

      This right here is very underrated. Assholes forcing 10 minute videos for ads and just fills them with useless thoughts no one wants to hear or care about.

    • @darylthomas7317
      @darylthomas7317 3 роки тому +2

      You guys must be fun at parties :P

  • @SriNiVi
    @SriNiVi 5 років тому +91

    Very precise. No BS introductory talks. Information dense. No interrupts. No distracting elements on the video or the narration. Extremely well made. Love this format of yours. Keep 'em coming.

  • @AnkhArcRod
    @AnkhArcRod 5 років тому +573

    I am always doubtful of videos claiming "....you probably aren't using". But, this video did not miss its mark! Thanks for the info.

    • @sirius4k
      @sirius4k 5 років тому +6

      Most of the "x things you didn't know" videos are shit. Regarding Linux, I know that there way waaaaay more things than 8-9, that I know, so it's safe to check it out. I ended up knowing 1.

    • @dingdong2103
      @dingdong2103 3 роки тому

      I use most of those daily. I must be a super hero then...

    • @AnkhArcRod
      @AnkhArcRod 3 роки тому +2

      @@dingdong2103 Lol...sure, whatever makes you feel good about yourself!

  • @AlexRamsbey
    @AlexRamsbey 4 роки тому +9

    I know this is an older video of yours, but I do like this format and I find it very educational! Thank you for your content.

  • @raygervais4513
    @raygervais4513 6 років тому +337

    I normally don't comment, but I have to say just stumbling onto your channel and this video changed the very tone of my night. I went from wanting to relax and be unproductive to wanting to hack away more on a Linux terminal in the late hours and discover more hidden gems. Seriously this is great content I'm sharing with all my coworkers and programmer friends alike.

    • @EngineerMan
      @EngineerMan  6 років тому +38

      Thanks for the kind words, glad I was able to provide some inspiration :)

  • @martinusvanbrederode4080
    @martinusvanbrederode4080 6 років тому +59

    Alternative to number 5:
    ^abc^abd
    this repeats the last command, replacing abc by abd

    • @mrBrownstoneist
      @mrBrownstoneist 5 років тому

      gem

    • @chrissmith6028
      @chrissmith6028 6 місяців тому

      I remember finding out about this substitute command. Absolute game changer. from `less somefile.txt` `^less^vim` Now I use it all the time.

  • @tobortine
    @tobortine 6 років тому +375

    Currently using 0/9 but will use one or two of them in the future. Great format please do more.

    • @mark_pape
      @mark_pape 6 років тому +2

      tobortine same here

    • @QU3D45
      @QU3D45 5 років тому +1

      and here...

    • @richtraube2241
      @richtraube2241 5 років тому

      Same here.

    • @AdamWebbadamwbb
      @AdamWebbadamwbb 5 років тому +4

      I do alot of linux. I am certified in linix and even these commands escaped me.
      The one that will be most likely used the most would be sudo !!

  • @HotShotMechPilot
    @HotShotMechPilot 6 років тому +4

    That disown command is exactly what I needed for a script and could not find the solution anywhere else! Great Work!

  • @alherrera9390
    @alherrera9390 6 років тому +26

    I`ve seen a lot of SSH tunneling tutorials and you, in no time, clearify a lot of stuff in no time. Kudos for that.

    • @ooorkanooo
      @ooorkanooo 5 років тому +1

      I guess he did it in no time!

  • @aidenlangley6439
    @aidenlangley6439 5 років тому +279

    Definitely getting a crontab going on my buddy's computer to create 10000 folders every second

    • @justanotheryoutuber739
      @justanotheryoutuber739 5 років тому +74

      and disown that command with an added sleep so the chaos begins an hour after you leave the laptop

    • @kevinbillingsley8256
      @kevinbillingsley8256 5 років тому +26

      You could use awk and create the folders plus put a locked file in each one. :)

    • @DaVince21
      @DaVince21 5 років тому +8

      A crontab that runs every second? How does that work?

    • @svampebob007
      @svampebob007 4 роки тому +27

      @@DaVince21
      */1 * * * * ( /get/fucked/noob.sh)
      */1 * * * * ( sleep 1 ; /get/fucked/noob.sh)
      */1 * * * * ( sleep 2 ; /get/fucked/noob.sh)
      */1 * * * * ( sleep 3 ; /get/fucked/noob.sh)
      */1 * * * * ( sleep 59 ; /get/fucked/noob.sh)
      sure you'd be executing 60 jobs every minute, but hey it's not your pc :)

    • @AbhishekBM
      @AbhishekBM 4 роки тому +29

      After seeing all these comments
      Satan: Just wanna say, huge fan.

  • @chuckn2x
    @chuckn2x 6 років тому +35

    If you aren't root but need to store stuff in RAM, you can create files in /dev/shm

  • @PeterGalbraith
    @PeterGalbraith 5 років тому +20

    Been using linux from terminals for 25 years and most were new to me. Awesome!

    • @sysstemlord
      @sysstemlord 4 роки тому

      I have been using Linux for about 5 years and I know most of them, what have you been using Linux for? :)

    • @PeterGalbraith
      @PeterGalbraith 4 роки тому +3

      @@sysstemlord
      There was no UA-cam or even web sites when I started to show you tips.
      🤷

  • @normangeist890
    @normangeist890 5 років тому +24

    It might be worthwhile to mention that you can control the editor program to use for ctnl+x+e or fc with exporting the environmental variable EDITOR, e.g.: export EDITOR=nano

    • @patrickFREE.
      @patrickFREE. 4 роки тому

      bro how it works for arch?

    • @xrafter
      @xrafter 4 роки тому +1

      @@patrickFREE.
      The same thing why?
      And this is. Bash variable you may used zsh in arch

    • @brianh.000
      @brianh.000 Рік тому +1

      I was looking for this comment. I got an error saying, "emacs: command not found", and assumed there was a default editor set. (I'm a vi user).
      $ EDITOR=vim
      did the trick.

  • @marloelefant7500
    @marloelefant7500 6 років тому +4

    8:11 I'd recommend a terminal multiplexer such as gnu screen or tmux for such use-cases. Not only will it continue running all your processes when you detatch (or the connection fails), but when you come back, you will see everything the same way as you left it (if you didn't restart the machine). Moreover, it allows you to have multiple screens and multiple sessions in only one window. It's an incredibly useful tool especially for ssh connections.

    • @smichaud7
      @smichaud7 5 років тому

      I wanted to give the same comment. Tmux is very useful.

  • @yrussq
    @yrussq 6 років тому +6

    Short, straight to the point, useful. Brilliant!

  • @joshharding6925
    @joshharding6925 5 років тому +3

    Got to admit, most of these commands I didn't know about and I've been using Linux for over 20 years! Subscribed! Can't wait for the next UA-cam installment

  • @benkramer3194
    @benkramer3194 5 років тому +192

    Screen instead of disown for unreliable connections :)

    • @farazsaidan
      @farazsaidan 5 років тому +65

      better even, tmux

    • @armynyus9123
      @armynyus9123 5 років тому +24

      when you know before that you'll be gone until it finishes - yes. But normally you don't work *always* in screen and friends - then disown is perfect when boss wants unscheduled meeting right now and you need your laptop in the meeting room, i.e. disconnect - but that build is running, having spawned subprocesses ....

    • @benkramer3194
      @benkramer3194 5 років тому +10

      @@armynyus9123 unreliable connections, not unreliable bosses :)

    • @wiredrat1
      @wiredrat1 5 років тому +4

      @@farazsaidan you can upgrade to byobu

    • @senantiasa
      @senantiasa 5 років тому +6

      I use tmux on commonly used systems, but there have been times where I touch systems I don't own/maintain and I think this command could be useful (just found out about it).

  • @SalmanEstyak
    @SalmanEstyak 2 роки тому +1

    Thanks for this. The use case for "disown" reminded me of another useful command that is the "screen" command, which allows us to have multiple sessions using the same terminal. We can get in a session, start some code, get out and things will run in background; and later, we can resume the session.

  • @HoldFastFilms
    @HoldFastFilms 6 років тому +190

    sudo bang bang

    • @yegorpl9973
      @yegorpl9973 6 років тому +2

      Bang батя в здании

    • @Crux161
      @Crux161 6 років тому +26

      HOLD FAST he shot me down, sudo bang bang - my terminal shot me - down. 😂

    • @HighestRank
      @HighestRank 6 років тому +4

      Bad system call

    • @son_go_ma
      @son_go_ma 6 років тому +44

      I was Linux, he a -nix
      We root systems made of X
      He wore Spark, and I wore ARM
      He would always win the stack
      Bang bang
      I shut him down
      Bang bang
      He bit the Grub
      Bang bang
      Systemd shut us down

    • @KaplaBen
      @KaplaBen 5 років тому +4

      sudo gang bang. Oops I made a typo

  • @deleatur
    @deleatur 5 років тому +1

    Well, these are not commands but are useful tips:
    1) Ctrl+t, if you need to swap last two typed letters, i.e. "daet"->"date"
    2) To correct a mistyped executed last command without rewriting, i.e. you typed
    "daet" and pressed enter. You can fix it this way: ^et^te, press enter
    and see the results (obviously this suits better with long commands).
    In short: ^(wrong)^(right)
    Just for clarity, one more example: You executed "sotr". You fix it executing ^tr^rt.

  • @Andrath
    @Andrath 6 років тому +30

    Reverse a file, handy for last/lastcomm: tac (cat in reverse)

  • @robinhahn6987
    @robinhahn6987 5 років тому

    This is about the best video *ever* on the premise "Commands you probably aren't using" - totally taking notes and will be invoking these, most DEFINITELY!

  • @jasong2269
    @jasong2269 5 років тому +3

    love this format. also, i didn’t know about hitting space before a command or about fc. awesome.

  • @DraganovDesigns
    @DraganovDesigns 4 роки тому +1

    Loved the video format! I learned a lot about issues I have been having and clearly didn’t know the solution to them. Thanks. Keep up the good work!

  • @mau5che
    @mau5che 5 років тому +391

    here's a command many people probably don't use:
    man bash

    • @james_gemma
      @james_gemma 5 років тому +12

      lol

    • @AliasdHacker
      @AliasdHacker 5 років тому +29

      ​@@james_gemma​ Is that a command to make a man bash something?

    • @MrFace
      @MrFace 5 років тому +28

      feminist flavor of *nix

    • @james_gemma
      @james_gemma 5 років тому +34

      @@MrFace Feminist only use SystemVag or SystemV for short. Others use SystemDick or SystemD

    • @seanshuping
      @seanshuping 5 років тому +19

      man mount... If you're into that sort of thing 😁

  • @tutao2008
    @tutao2008 5 років тому

    Dude that’s great, I’m an old man restarting on Linux world and loads to learn, bg, exit from terminal and leave running I’ve tried the rest just saw it briefly. Tks dude and the format is really good, doesn’t cover the screen and ur presence doesn’t cause any inconvenience at all. Congrats man 👏🏼👏🏼👏🏼

  • @vibheeshavelayudha1903
    @vibheeshavelayudha1903 6 років тому +6

    Woah this was super useful.... thanks a lot.... need a part 2 of this

  • @fiddlermikey
    @fiddlermikey 6 років тому +2

    I have used 2 of these regularly (#3 and #8) when creating automation build scripts. I was always trying to speed up portions of the build and would try to farm out disk-intensive tasks to virtual RAM disks whenever possible. Being able to partition output from different parts of the build to different logs would not have been possible without the tee command. I plan to try to use more of these techniques.

  • @MathiasHomann
    @MathiasHomann 5 років тому +9

    Like he says at the start... you can be using linux for 25 years and still learn something. 1, 2, 5, and the bonus trick were totally new for me.

  • @AstroDenny
    @AstroDenny 3 роки тому

    Great video. Hands-down helpful with no stupid click-bait title! Love that. I also love that there are dozens of other helpful commands in the comments!

  • @GRBtutorials
    @GRBtutorials 6 років тому +135

    You forgot to mention that the !! trick works with any command, not just sudo.

    • @frannelk
      @frannelk 5 років тому

      True 👏🏼👏🏼👏🏼

    • @cartersherman925
      @cartersherman925 5 років тому +4

      Does it just run the previous line with whatever is typed before !! ?

    • @cll1out
      @cll1out 5 років тому +14

      Also saves in bash history in expanded form so when you use the up arrow for recent commands it doesn’t say “Sudo !!” like you actually typed it it shows the whole effective command.

    • @nachiketagrawal5154
      @nachiketagrawal5154 4 роки тому +8

      @@cartersherman925 !! just basically replaces itself with previous command. Example if you typed ls as first command, then you can do the following: sudo !! -al to do sudo ls -al

    • @____-gy5mq
      @____-gy5mq 4 роки тому

      !-1 !-2

  • @juanpabloamorochod.752
    @juanpabloamorochod.752 5 років тому

    1st time viewer! Nice video! I've used 5of9 of the commands. Those fc and disown are new to me and are pure gold! Thanks for that. If anyone is interested: More info on those two commands can be found with $help fc or $help disown where $ is means the prompt.

  • @circli
    @circli 6 років тому +12

    Yes! More amazing videos! Keep it up. :)

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 3 роки тому +1

    2:50 This is controlled by the HISTCONTROL variable in Bash. You have options to ignore commands with leading blanks, ignore duplicates, and even erase duplicates before inserting a new entry. There is also HISTIGNORE for more fine-grained control of which commands go into the history list.

  • @JamieBainbridge
    @JamieBainbridge 5 років тому +15

    Add "conv=fsync" to your dd command, which flushes pages to disk after dd has finished writing. Otherwise you're writing to pagecache (which is RAM anyway) and will get imprecise results.

  • @DogAndLinuxLover
    @DogAndLinuxLover 5 років тому +2

    Great video. To the point and super informative. I'll probably use at least half of these moving forward. The only one I knew was the creation of folders using the curly braces...
    Please do more! And thank you!

  • @skaltura
    @skaltura 6 років тому +7

    You do not need to create a ramdisk under linux, just use /dev/shm directly. Fully POSIX compliant, you will not know the difference from a regular Ext4 FS.
    In essence mount -t tmpfs tmpfs works pretty much like mount -o bind :)

    • @MichaelMantion
      @MichaelMantion 6 років тому

      you lost me. does the folder /dev/shm automatically run on ram or something?

    • @skaltura
      @skaltura 6 років тому

      @@MichaelMantion Yes. SHM stands for SHared Memory. www.cyberciti.biz/tips/what-is-devshm-and-its-practical-usage.html
      THO! Unlike on that page, i don't think you need to mount it specifically, i cannot recall ever doing that.

    • @skaltura
      @skaltura 6 років тому +1

      @@MichaelMantion Checked, Ubuntu based distros auto mount it by default, but i recall years ago using on Debian we didn't even mount it and it was available as it is a device. Might be that the mounting thing is more of convenience type of thing (easy clearing and assurance to end user)

    • @lylestavast7652
      @lylestavast7652 6 років тому

      @@skaltura kernel configurable. You're eating your system semiconductor ram to use it, so if you're on a low memory system compared to useage needs - you might consider a disk based option ...

    • @jamestanis3274
      @jamestanis3274 5 років тому

      This is true for linux, but what abut Solaris, or HP(s)UX (do hey still exist) or any of the other unixen out there? Do the embedded unixen all have /dev/shm? It's worth understanding what's going on. Besides I believe the /dev/shm is often just the result of an fstab entry, so it's really just the same thing as what the presenter said.

  • @bruceleealmighty
    @bruceleealmighty 3 роки тому +1

    I'm absolutely loving your unobtrusive PnP with no frame. I've only used one of these commands on a regular basis. Thanks for the tutorial.

  • @DanDanciu13
    @DanDanciu13 6 років тому +61

    You used bg. Why not include it in the list? I doubt there are many people that use that too.

    • @nilsirl
      @nilsirl 6 років тому +18

      yeah, This is the most useful command I learned by watching this video.

    • @wulymammoth
      @wulymammoth 6 років тому +18

      It it then necessary to share the rest of the useful commands:
      - suspend the current process (I use this to suspend Vim to run tests in the same window): ctrl+z
      - list processes: jobs
      - foreground one of the options listed in jobs: %
      - foreground the most recently suspended process: fg
      EDIT: 12/23/18 - change background to suspend

    • @tekvax01
      @tekvax01 6 років тому +14

      you can also put a & at the end of the line to place the command in the background and not use ctrl Z ie sleep 120 &

    • @SeverityOne
      @SeverityOne 6 років тому +6

      @@wulymammoth You don't :put it in the background", you suspend it with Ctrl+Z. To put it in the background, that's what bg is for.

    • @wulymammoth
      @wulymammoth 6 років тому +2

      @@SeverityOne you're right! Gotta use bg for that. corrected :)

  • @davidh.4944
    @davidh.4944 4 роки тому

    #1) This is simply your shell's built-in history substitution function, and it's always among the first things I disable ("set +H" in bash), because it makes typing anything with "!" in it an incredible PITA. You have to backslash-escape the ! _every time it appears_ (it ignores quoting), or else it will simply shove the previous command right inside your current one.
    It's not really any harder just to up-arrow to the last command and hotkey jump to the start of the line. It's also easy to use +r,+s> history search for older commands (made even easier with the fzf plugin). That's just my personal preference, however.
    See the HISTORY CONTROL section of the bash manpage for details on manipulating your history.
    #2) In bash, this is the emacs-style keybinding. With vi-mode enabled (set -o vi), the key is 'esc+v' (esc to get into normal mode, a-la vim). The shell will use the value of the $EDITOR environment variable as the editor to use.
    #4) In bash, this behavior is controlled by the HISTCONTROL variable. With the value "ignorespace" it acts as described in the video. I also add "erasedups" to mine, which makes it remove all older copies of the command, and only the newest one remains. "ignoredups", the last option for this variable, is basically the opposite of erasedupes; it will not add a command to history if it already exists, so that you keep the oldest entry.
    You can also set globbing patterns in the HISTIGNORE variable, and it will not add anything that matches those patterns, good for commonly used commands like "ls" that you don't want cluttering up your history. See the "Shell Variables" section in the bash manpage for details.
    #5) This is essentially the same as "up arrow + #2". fc is a shell builtin command for accessing and controlling your history list. Type "help fc" in bash or find its description in the manpage.
    I also highly recommend setting the histreedit shell option, so that it puts your chosen history command back on the readline for editing, making you less likely to mistakenly re-run an old command (e.g. "rm -rf *") as-is.
    Again, I also use vi-mode, which offers a lot of the same movement and editing commands as used in vim (jumping between words, etc), making it easy to do fairly complex editing on the command line (not that the default emacs-mode is any less capable, but I find the workflow and the hotkey bindings to be less intuitive).
    #7) Brace expansion is very convenient, especially for creating numbered lists of things. I just want to caution that you should keep its usage separate from that of globbing ([^]*?) patterns. While globbing only _matches_ files or text strings that already exist, braces _generate_ (expand into) lists of strings before executing the command. e.g. "ls [fgh]oobar" will list out the files "foobar" and "hoobar" that exist in the directory, and ignore "goobar", which doesn't. On the other hand, "ls {f..h}oobar" will expand and execute the command "ls foobar goobar hoobar", resulting in a "no such file" error message on "goobar".
    Note also that numbers can be zero-padded, and negative and descending range lists also work. They can also be combined and nested (e.g. "echo foo{{1..5},{a..e}}bar").
    Finally, also be aware that brace expansion happens _before_ variable (and other parameter) expansions, so actions like "a=1 ;z=10; echo {$a..$z}" do not work as you would expect.
    #8) That's a bit of a confusing explanation for tee. What tee does is fork its input into two parallel outputs, one channeled into a file, and one going to stdout. This allows you to monitor, duplicate, or redirect the output from the middle of a chain of commands without interrupting its operation. "info tee" will give you a detailed description.
    #9) disown doesn't have to be used only when exiting. You can "remove" an unwanted process from the shell at any time. A common pattern is to "" to suspend a running foreground process, then "bg" to resume it as a background process, then "disown" to fork it away from the current terminal. Note that it's impossible to get it back again once disowned. You can only terminate it or send it other control signals (with the "kill" command or similar). Re the "JOB CONTROL" section of the bash manpage for details. Some people recommend the use of screen or similar multi-terminal applications for better background process management.

  • @linuxgaminginfullhd60fps10
    @linuxgaminginfullhd60fps10 6 років тому +9

    You already have /dev/shm mounted by default to store things and files in memory.

    • @jamestanis3274
      @jamestanis3274 5 років тому +1

      In Linux sure. On other unixen too? Anyhow, I'm also wary that I will fill up /dev/shm and forget, thus causing the machine to start to thrash. SSD are a better answer -- and not that expensive.

  • @LinuxLuddite
    @LinuxLuddite 3 роки тому

    Great video , just to add one minor details :
    The ctrl+xe is a feature of the readline library used by the bash shell and so works only on bash shell. Other shells like zsh do have an edit-command-line wigdet but you need to configure in your .zsh .
    # Enable Ctrl-x-e to edit command line
    autoload -U edit-command-line
    # Emacs style
    zle -N edit-command-line
    bindkey '^xe' edit-command-line
    bindkey '^x^e' edit-command-line
    # Vi style:
    # zle -N edit-command-line
    # bindkey -M vicmd v edit-command-line

  • @crimsontorso4126
    @crimsontorso4126 6 років тому +537

    Video starts at 0:00
    Thank me later

    • @vibheeshavelayudha1903
      @vibheeshavelayudha1903 6 років тому +60

      Video ends at 8:37
      Fuck me later

    • @ShivamJha00
      @ShivamJha00 6 років тому +3

      Hahaha

    • @MichaelMantion
      @MichaelMantion 6 років тому

      HA

    • @shikhanshu
      @shikhanshu 6 років тому +4

      this is very helpful... i will thank you right away

    • @HighestRank
      @HighestRank 6 років тому +1

      Kai West don’t thank me but my video starts at 0:31 and the previous video ends at 0:00, leaving 0:30 for a commercial.

  • @redamastouri
    @redamastouri 5 років тому +1

    We need more of this commands, they’re extremely helpful to my task I’m doing. Thanks for the video

  • @kirkanos771
    @kirkanos771 6 років тому +10

    the space character to avoid history doesnt work on most of latest linux distrib. the command with the space is stored in the history aswell.

    • @techworld7716
      @techworld7716 5 років тому

      I agree. I tried it on Centos7 and it didn't work.

    • @lazarborisov3664
      @lazarborisov3664 5 років тому +5

      try HISTCONTROL="ignorespace" and then a command with a space

    • @jakistam1000
      @jakistam1000 5 років тому

      I tried it on Mint 19 without changing any settings and it works

    • @KanishkkaKeshav
      @KanishkkaKeshav 5 років тому

      there is a specific word that needs to be added to your .bashrc only then it would work ---- never by default.

    • @jakistam1000
      @jakistam1000 5 років тому

      @@KanishkkaKeshav I've found it - HISTCONTROL=ignoreboth. However, it was this way by default.

  • @1947wdx
    @1947wdx 5 років тому +2

    It should be noted that these are not Linux commands. They are BASH commands. There are other shells out there with similar shortcuts. (tcsh, ksh, zsh, etc...) Most of the above I have used at one point or another. Take a look at the man page for bash to find out the various default key bindings, and how to add your own. (Or better yet, check out tcsh.)

  • @theboogymaster
    @theboogymaster 6 років тому +15

    For the last one with disown personally I use tmux or screen this way you can still re attach and have input output available for the command. Nice commands even though I use them all keep up the good work 👍

  • @bpoole007
    @bpoole007 3 роки тому +1

    I’ve been using Linux professionally for a long time and never knew about Ctrl+x+e and fc. the rest I use pretty often, so thanks for helping out

  • @chlordk
    @chlordk 5 років тому +4

    When new to the curly bracket stuff, debug by prefix it with "echo". Try:
    echo mkdir -p folder/{sub1,sub2}/{sub3,sub4}

  •  3 роки тому +1

    You can also type Ctrl+X+E when you have a long command in terminal. It will also open the editor to edit the long command, like fc.

  • @ItsMeooooooo
    @ItsMeooooooo 5 років тому +9

    for history ignoring lines with whitespaces you need 'HISTCONTROL=ignoreboth' to be set

    • @poe12
      @poe12 5 років тому

      If you want to not show your ascii art in the history, vi :sh

    • @kingneutron1
      @kingneutron1 5 років тому

      Thanks for that! You shouldn't rely on the "leading space" method tho, if you want to guarantee commands don't make it into history you can always ' unset HISTFILE '

  • @bwleeds
    @bwleeds 5 років тому +1

    That's one of the most informative videos I've seen. Straight to the point and perfect explanations for each. Good video format too!

  • @KevRunsOnDunkin
    @KevRunsOnDunkin 6 років тому +12

    This video is life changing

  • @roysigurdkarlsbakk3842
    @roysigurdkarlsbakk3842 5 років тому

    I didn't know ctrl+x+e or fc - nice
    But then again - if running bash and tying 'set -o vi', you turn bash into vi mode, meaning ctrl+x+e is simply kv (or just v to access the editor from command mode). fc works well with vi too last I tried - I guess it just uses EDITOR or whatever's the default on your system. The rest was well known stuff.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 6 років тому +6

    Here’s another one: “mmv” to do bulk renames of files, e.g.
    mmv «old-pre»\*«old-post» «new-pre»\#1«new-post»
    will rename all files with names beginning with «old-pre» and ending with «old-post» so they begin with «new-pre» and end with «new-post», keeping the part in the middle the same.
    This command can be quite dangerous if you get it wrong. So if you try it first with “mmv -n”, it will tell you what it would do without doing it. Then when you are sure you’ve got the patterns right, change the “-n” to “-v”, and it will go ahead and do it, and report what it has done as it goes.

  • @julsbende3427
    @julsbende3427 6 років тому

    Thanks for this video.. Really didn't know about "sudo !!" so far.. I had already days where this command could have saved me time to go for 2-3 extra coffes :'D
    Yeah the video format is awesome and I would love to see similar videos in the future!
    Really appreciate your work!

  • @chrisshyi8999
    @chrisshyi8999 5 років тому +4

    I learned so much, thanks for sharing!

  • @EdnovStormbrewer
    @EdnovStormbrewer 3 роки тому

    Been a linux user since 2012 and taught myself how ls -l works. Very useful and handy command. So glad to see that this is being spoken out and recommended by an engineer along side of other commands I never heard of.

  • @LinuxPlayer9
    @LinuxPlayer9 5 років тому +5

    This is amazing I am so impressed by the power of Linux

  • @sagarsutar7318
    @sagarsutar7318 5 років тому

    Amazing! That Folder command was mind blowing! I started to learn Linux a few week back and also am encouraging First year graduates to learn Linux too!! Will share this video later on with them!

  • @nathanlewis42
    @nathanlewis42 6 років тому +5

    I always used nohup to keep processes from being killed. Good to know there’s another way.

  • @DataJager
    @DataJager День тому

    Great video. Been using Linux at work for 8 years and still learned stuff

  • @sethbrown1763
    @sethbrown1763 6 років тому +41

    I didn't know about "disown". I'd use "screen" for this purpose since it allows re-connecting to a running shell later.
    I don't use "fc" since I have "set -o vi" set in my shell, so Esc, v does the same thing.
    I've never had need to use a RAM disk (other than the initrd). What's your use case for RAM disks from the command line?
    Thank you for this video. I think it's a good idea to find obscure & useful commands that get forgotten over time.

    • @brymstoner
      @brymstoner 6 років тому +5

      I use Byobu. Makes maintaining my servers a dream.

    • @miguelandrade5964
      @miguelandrade5964 6 років тому +7

      Ramdisks can be useful in some (but not very frequent) workflows. Example: ETL Extract Transform Load. Extract to Ramdisk, do whatever you must do, load from ramdisk. If the transformation part is long you'll start loving Ramdisks .

    • @celivalg
      @celivalg 6 років тому +1

      When I did some data manipulation for deep learning, I had to transform my data set into something more sensible to be used for training, did a small python script for it, but due to the amount of data, it took a few minutes to run, this could have helped me reduce the time by a lot.. I could also have reduced the complexity of the script but not without a few hours of work, so not worth it

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 6 років тому +3

      screen is very useful. It is also what I would probably use to perform multiple tasks or time-consuming tasks on a remote machine.

    • @celivalg
      @celivalg 6 років тому

      Lawrence D’Oliveiro I don’t use it a lot since I don’t work that much with remote machines and I got I3... I know there are some other features that screen has but i3 doesn’t but I still prefer using i3 over screen for tiling terminals...

  • @月宮しろ-s7s
    @月宮しろ-s7s 3 роки тому

    If I'm not mistaken, the 7th command's expansion can be simplified like this: mkdir -p folder/sub{1,2}/sub{1,2,3}
    Might save a couple of keystrokes

  • @divine_swine9665
    @divine_swine9665 6 років тому +33

    Awesome format. I’m not new to terminal commands, but I’m now to the Linux distros. Im enjoying them. Good stuff
    Edit: My comment doesn’t make sense. I’m now to Linux, but not new to using terminals.
    Edit #2: editing for *1st Edit:* comment: *new* to Linux...

    • @bakedutah8411
      @bakedutah8411 6 років тому +2

      [YT Comment Linter v3.4] ERROR 23, Line #6: Too many colons.
      [YT Comment Linter v3.4] WARN 12, Line #6: Too much gibberish.

    • @dushk0
      @dushk0 6 років тому +1

      Just edit the comment, dude!

    • @noweare1
      @noweare1 6 років тому

      Give it up : )

  • @nickwinn
    @nickwinn 5 років тому +1

    Been a Linux guy for 20 years, this is a good video that covers some good basic things. I would suggest covering basic output redirection, tmux, Ctrl+r bash command, lspci and package management hacks.

    • @thatoneuser8600
      @thatoneuser8600 3 роки тому

      I thought ctrl + r is an emacs command? It's backwards i-searching

  • @Andrath
    @Andrath 6 років тому +219

    For people using real editors (vim), if you need to write a file with sudo:
    :w !sudo tee %

    • @ibjacked
      @ibjacked 5 років тому +3

      Cool, that's a good one, thanks!

    • @tetrahedrontri
      @tetrahedrontri 5 років тому +2

      Jesus thank you.

    • @markus-hermannkoch1740
      @markus-hermannkoch1740 5 років тому +6

      Ah, Vim :-). Attempting to understand your example: User finds ':w' won't work. Permission denied. Instead pipe all the editor's content into 'sudo tee %' (the '!' executes a shell command). That will overwrite the currently open file since '%' in that command line context will be replaced by the current file name. At least this feels sensible.

    • @kevinbillingsley8256
      @kevinbillingsley8256 5 років тому +45

      People who use _real_ editors tend to be _real_ arrogant jackasses.

    • @markus-hermannkoch1740
      @markus-hermannkoch1740 5 років тому +4

      @@kevinbillingsley8256 , vim has a certain learning curve. Once a certain point is passed it proves to become quite the swiss army knife and very versatile. Myself, I am using it for about 20 years now virtually every day at work, am happy, and sometimes enjoying the text-adventure that also is vim. Recommend vim to fellow nerds (e.g., people watching videos like this one). Just do not badger the non-IT people and you are socially fine. Btw. nothing against nano. IMHO any Linux fanboy ought to bring nano basics if only for the fact that it seems to replace vim as the default onboard command line editor. Meaning, a fresh Linux will probably already have nano available where vim still would need being installed.

  • @bur2000
    @bur2000 3 роки тому

    Usually these lists consist of 75 % stuff like "ls -l" and take 62 minutes to come to the point. All these commands I didn't know of and it was quick and to the point. Thanks.

  • @LarsHolmVV46
    @LarsHolmVV46 5 років тому +3

    Great video - nice fast speaking tempo. I knew only 3 and I gotta try the sudo !! Damn...

    • @philipnelson5
      @philipnelson5 5 років тому

      I add this alias to my bashrc
      alias pls='sudo $(fc -ln -1)'
      Then when I need to re-run a command as root I just need to ask nicely ;)

    • @LarsHolmVV46
      @LarsHolmVV46 5 років тому

      Yeah, Thats Korn Shell syntax, adapted by Bash. I Think the variable LINENO -eq the number of last command executed.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 6 років тому

    4:32 Couple more things worth clarifying about this command: 127.0.0.1 is the loopback address, so you can have services listening on this address without exposing themselves to the outside world. Also the “-N” option causes ssh to make the connection without doing anything else, like displaying a shell prompt. Instead of backgrounding it with CTRL/Z and then “bg”, you could have just stuck a “&” on the end of the command.

  • @bruhdabones
    @bruhdabones 6 років тому +16

    [up arrow key] + [home key] and then you type “sudo”. EASY!

    • @love-hammer
      @love-hammer 6 років тому

      Thank you! So many commenters here need to learn how to use their keyboard first, apparently. It's also safer because you always know what you're running as root instead "what ever the last thing I said because there are no consequences to my commands." Might as well use "sudo -s".

    • @maramauu
      @maramauu 6 років тому +1

      You have to strike 7 keys, sudo!! Only 6 :-P

    • @MichaelMantion
      @MichaelMantion 6 років тому +1

      except my laptop doesn't have a dedicated home key so i have to do a FN home.. Easier to just do sudo !!.

    • @Zestysoft
      @Zestysoft 6 років тому +3

      @SaltyBrains Using Putty (Windows), when I CTRL+A I get ^A. When I try the home key, it capitalizes the previous character. This is using the bash shell in Fedora 27. sudo !! works without dealing with this crap and I'm not a fish -- I can remember the last command I just typed.

    • @F3Ibane
      @F3Ibane 6 років тому

      @SaltyBrains get on that tmux game and embrace ctrl+b

  • @cyrustakem7993
    @cyrustakem7993 5 років тому +1

    I knew none of these, but started using a couple of them after seeing this video, and they are very usefull in my work life.
    Thanks

  • @BR-lx7py
    @BR-lx7py 6 років тому +4

    The "space trick" to exclude a command from history does not work in bash 4.4.19, at least on a Mac.

    • @charleysheets8142
      @charleysheets8142 5 років тому +1

      Balazs Rau there’s a bash variable called HISTIGNORE that has to be set properly for that trick to work.

  • @azenpunk
    @azenpunk 5 років тому

    This is the quickest I've ever subbed to a channel. One video and done. Thank you, sir. These will be super helpful.

    • @EngineerMan
      @EngineerMan  5 років тому

      Welcome! Glad you enjoyed the video!

  • @chaturvedikuldeep
    @chaturvedikuldeep 5 років тому +6

    Currently using 8 of 9, disown is the new command I have to own. Thanks for this interesting post.

  • @ekkehardehrenstein180
    @ekkehardehrenstein180 5 років тому +1

    Dude, im super excited for this video. I understood everything but have no practice using linux. Normally I get over explabored but you hit the mark with the pace and interesting content.

  • @dvo66
    @dvo66 6 років тому +3

    2:39 Hackerman Intensifies

  • @dewebbutler2829
    @dewebbutler2829 3 роки тому

    That RAM disk trick is awesome! Straight up subscribed to your channel right away.

  • @handsomepixel5193
    @handsomepixel5193 6 років тому +5

    I know this is meant for Linux, but that "sudo !!" command also works on mac!
    I didn't even know something like that existed!
    The amount of times I've run commands, only to forget that they require root, is more than the grains of rice I've ate in my life.

    • @samuelhackson828
      @samuelhackson828 6 років тому +4

      Most, if not all of the commands will work on Mac OSX because it uses the same shells that you can run on Linux. It‘s bash by default.

    • @deadinternet66
      @deadinternet66 6 років тому

      !! is a bash operator. I believe bash is the default shell on macos.

    • @handsomepixel5193
      @handsomepixel5193 6 років тому +2

      @@deadinternet66 It is, it's just that I didn't find out about these commands before, and some commands require installing packages on macOS using brew, which is why things like this surprise me since I didn't need to install anything beforehand.
      I've changed my default shell to zsh, no difference in commands whatsoever, I just like the sub string search functionality :)

    • @deadinternet66
      @deadinternet66 6 років тому

      @@handsomepixel5193 I also use zsh as my shell on both macos and linux. You should checkout oh-my-zsh if you're a zsh fan. github.com/robbyrussell/oh-my-zsh

    • @handsomepixel5193
      @handsomepixel5193 6 років тому

      @@deadinternet66 I've used oh-my-zsh before, but it was too much "zsh power" for me too handle.
      The plugins were nice, but I wanted a simpler and faster setup, so I instead downloaded the individual plugins myself and auto-source them through my .zshrc
      I use zsh-syntax-highlighting and zsh-async-git-prompt, and I consider that enough for now.

  • @BuildingCenter
    @BuildingCenter 4 роки тому

    Bruh. This is a great way to rep Linux! Well done. It’s full of obscure (to me) and useful (to a bunch of folks) commands, it’s funny, and it seems shorter than it is. Right on. Thanks for your work.
    Also, you could show some Windows users and they’d think, “Hmm, that’s handy.”

  • @gonkween
    @gonkween 5 років тому +5

    i'm a linux super linux noob so i'm hyped that i knew one or two of these already. sudo bang bang FTW

  • @devbites77
    @devbites77 3 роки тому

    Really informative, and straight to the point. I didn’t know about most of these, especially the disown. Thanks.

  • @davidhernandeze
    @davidhernandeze 6 років тому +24

    1:20 lol I always try to hide my own nudes folder

    • @benjaminforest1176
      @benjaminforest1176 3 роки тому

      maybe it was nodes, like server nodes :DD not nudes :DDD

  • @Danny-we4vz
    @Danny-we4vz 5 років тому +1

    nohup is defined by POSIX whiledisown is not. This means that while many shells (e.g. bash , zsh , ksh ) have it, others (for example tcsh , csh , dash and sh ) won't have it.

  • @mladenkorunoski654
    @mladenkorunoski654 5 років тому +3

    The two most helpful commands for me currently are:
    1. cd -
    2. ( )

    • @seanshuping
      @seanshuping 5 років тому

      cd - is one of my favorites.
      followed closely by reverse search ctrl + r

    • @emberleona9278
      @emberleona9278 5 років тому

      @@seanshuping rm basename and rm dirname destroyed my distro... i want to replace with zenity xdg-open.

  • @marcharter839
    @marcharter839 5 років тому +1

    Awesome video, I will definitely use some of these commands. I am new to Linux but I'm loving the power I have.

  • @sufiyanadhikari8716
    @sufiyanadhikari8716 6 років тому +4

    For the last one, I personally prefer tmux.

  • @brucelucas8250
    @brucelucas8250 5 років тому

    Really awesome even after 1 year of posting this. Thanks alot.. subscribed and alert SET. wont miss you videos from now on

  • @Uneke
    @Uneke 6 років тому +5

    Terminals best friend “Tab” 😉

    • @johnwythe1409
      @johnwythe1409 3 роки тому +1

      Oh yeah, love tab when typing long file names or can’t remember how to spell something. Works at a CMD prompt on that other OS that should not be named. Lol. Slightly different though, sequences through all files that match. Use tab in vi on command line as well to fill out a file name.

    • @Uneke
      @Uneke 3 роки тому

      @@johnwythe1409 right!? Oh and the other OS’s name is Linux’s challenged stepbrother 😂

    • @johnwythe1409
      @johnwythe1409 3 роки тому +1

      @@Uneke I meant love it on Linux. Just happened to note what it does under the cmd prompt. I thought since this seems to be a Linux video, I thought I would make a joke vis a vie Voldemort/ Windows.

  • @WyeOakMobileDeviceRepairEaston
    @WyeOakMobileDeviceRepairEaston 6 років тому +1

    Wow. I’ve been using Linux since RedHat 4 and I can honestly say that I have only ever heard of two of those juicy tidbits. Thanks! All of them were extremely helpful and I’ll be incorporating them in my day to day now.

  • @JasonFavrod1
    @JasonFavrod1 6 років тому +3

    sudo !! : I use
    ctrl+x+e : I didn't know about, will probably use
    ramdisk : I didn't know about, will may use if the situation arises, good to know about
    no history : I use
    fc : I didn't know about, will probably use
    ssh -L : use regularly
    bash curly brace sets : I use
    tee : I remember it now that you show it. Will probably use.
    disown : good bonus, saved the best (for me) for last
    Cheers!

  • @godgivin4
    @godgivin4 5 років тому

    Awesome video, I used 4-5 of the commands but this video format is the exact format I was thinking about doing!

  • @SeverityOne
    @SeverityOne 6 років тому +56

    Why on earth are you piping into cat?

    • @rosangelaserra4552
      @rosangelaserra4552 6 років тому +64

      Damn furries everywhere

    • @SeverityOne
      @SeverityOne 6 років тому +9

      ​@@rosangelaserra4552 In hindsight, perhaps I should have phrased that differently. 🙂

    • @F3Ibane
      @F3Ibane 6 років тому +14

      Either it's an in-joke for the "useless use of cat" crowd, or maybe it's because it's just a demonstration you silly pedant. 🐱

    • @monday6740
      @monday6740 6 років тому +2

      The entire command is weird ... why would someone TEE a static file ? Either something other is going on, or it is a very bad example

    • @karoshi2
      @karoshi2 6 років тому +4

      @@monday6740 the static input seems like an example to me, guess examples are fine. Personally I find
      | cat > /dev/null
      much worse. 😱

  • @Chalisque
    @Chalisque 3 роки тому +1

    I've not done this recently, but a while back, when I was using an HP Z800 with 48GB RAM, but a spinning hard drive, I would run a short script at boot to cache /lib, /usr/bin and /usr/lib in RAM by reading every file and discarding the results. Until that RAM is clawed back due to application demands, the speed was lightning quick (once the reading process had concluded).

  • @F3553ify
    @F3553ify 5 років тому +3

    If you use vim then you can do ":w ! sudo tee %" then you can save the file as root without opening the file as root.

  • @KenPryor
    @KenPryor 4 місяці тому

    I've been a Linux user for years but I learned a lot from you in this video. Thank you! Subscribed.

  • @gameglitcher
    @gameglitcher 5 років тому +4

    Ctrl x+e
    bash: emacs: command not found...
    yum install emacs
    This command has to be run under the root user..
    sudo !!
    win.

    • @ericlecat6441
      @ericlecat6441 5 років тому

      You may export the EDITOR environement variable to use any editor instead of emacs
      echo 'export EDITOR=nano' > ~/.bashrc && source ~/.bashrc and then Ctrl x+e will launch nano

    • @patrickFREE.
      @patrickFREE. 4 роки тому

      @@ericlecat6441 thanks bro

  • @noahwilliams8918
    @noahwilliams8918 4 роки тому

    Just re-watched this video two years after watching it first. Incredibly helpful - thank you!

  • @rodionvasiljev3020
    @rodionvasiljev3020 5 років тому +5

    I would add: set -o vi

    • @jamestanis3274
      @jamestanis3274 5 років тому

      or set -o emacs, depending on who you are.

  • @SporkFish42
    @SporkFish42 5 років тому +1

    I like to use pushd/popd in addition to cd when manipulating directory trees (this might be long for clarity).
    pushd creates a stack of directories that can be manipulated so any directory in the stack can become the cwd. The stack can be viewed by 'dirs'. I find this incredibly useful when having to move between several directories (context switching, switching between source code an log directories, 'one of those days' when everything is on fire and I don't want to remember what directory I was in before being pre-empted by the latest fire drill, etc).
    Example:
    directory structure:
    ~/foo/bar/src
    ~/foo/bar/log
    ~/foo/bar/baz
    # Start at ~/foo/bar/src
    cwd: ~/foo/bar/src
    -------------------------------------------------------------------------------------
    # Change cwd to ~/foo/bar/log
    $ pushd ~/foo/bar/log
    ~/foo/bar/log ~/foo/bar/src
    # Check directory stack
    $ dirs -v
    0 ~/foo/bar/log
    1 ~/foo/bar/src
    -------------------------------------------------------------------------------------
    # Change cwd to ~/foo/bar/baz
    $ pushd ../baz
    ~/foo/bar/baz ~/foo/bar/log ~/foo/bar/src
    # Check directory stack
    $ dirs -v
    0 ~/foo/bar/baz
    1 ~/foo/bar/log
    2 ~/foo/bar/src
    -------------------------------------------------------------------------------------
    # Switch the top 2 values of the stack by issuing pushd without any values
    $ pushd
    ~/foo/bar/log ~/foo/bar/baz ~/foo/bar/src
    # Check directory stack
    (cwd is now ~/foo/bar/log)
    0 ~/foo/bar/log
    1 ~/foo/bar/baz
    2 ~/foo/bar/src
    -------------------------------------------------------------------------------------
    # The numbers on the left of the dirs output are index values for the stack so now we can
    # change cwd and alter the stack by index.
    $ pushd +2 # index 2 of the stack changes cwd to ~/foo/bar/src
    ~/foo/bar/src ~/foo/bar/log ~/foo/bar/baz

    • @jakistam1000
      @jakistam1000 5 років тому

      One downside of this is that you need to use pushd when you start. Sometimes you forget to, or don't know you'll need it. A different usefil trick is "cd -" - it goes to the last directory yuo were in. It can't be used to backtrack several steps, but it's good for switching between two locations quickly and frequently.