So, to sum up: - Terminal: Program that emulates the functionality of an old terminal. Nowadays it includes much more functionalities than old days. - Bash: Interpreted language than is being used to interface with the computer and OS. - Command line: The line in wich you are writting the code inside the terminal - Prompt: Small portion of information, at the beginning of every command line that shows something related to the computer user or basic information about the computer within few words Let me know if i am wrong. Dont forget, we all are learners, dont take it seriusly.
2:07 Sure, you could consider bash a language. But the terminal emulator isn't running bash-the-language, it's running bash-the-shell which runs bash-the-language. (A shell is a type of interpreter.) Also, the shell you use is normally decided by a per-user configuration setting, not by the terminal emulator.
I've lived all of 67 years now and it wasn't until I began watching you, Luke, that I learned I'm a boomer and that I have all these amazing powers at my disposal. Who says you can't teach an old dog new tricks? Bah! Humbug! From one boomer to another, I love your vids :)
there is nothing called as boomer...there are just smart people who continue to learn and improve throughout their lives being a valuable member of society and inspire others...you seems to be of that kind
being old man is touching my heart i wish i could help u to believe in one God . i know u look at me like im brainwashed ، but please, by using your scientific methods just take alook at the quran please it will take less than a week from you you lived 67 years for this life , just 1 week for the other life ❤
"Laugh at it" 100 times! No need to laugh at people you can politely correct them and explain to them so they understand. Noobs are in a learning process and the last thing they want is to be launched at. Keep doing the good work through your videos and be more sensitive towards noobs because this is a field where even the most experienced engineers have new technologies to learn almost every year. By the way I gave the video 👍🏽
[9:40] Sure, the prompt colors are set in the shell configuration, but they're not interpreted by the shell. It's the terminal emulator that interprets and displays them (ANSI escape codes).
They usually are in the form of prompt formatting strings like "%cb". Then the shell will emit the escape codes that your terminal supports (as written in the termcap files).
I have never seen this type of video before, but it is suddenly obvious that there should be more people pointing out these differences. Very good! Thank you.
Quick Summary: Terminal, Bash, Comand Line, Prompt... different aspects of what you may be using at the same time. [1]: a TERMinal started out as the *Hardware* keyboard+display on your desk (with NO processing logic inside) that sent all keystrokes to a remote computer (where the thinking+CPU+programs run) and the computer would send text information back to be displayed for you. Like THIS VT100 terminal: en.wikipedia.org/wiki/VT100 For the last 30 years, this is usually a terminal *emulator* program that behaves the same way that an old terminal Used to... but no separate hardware. [2] BASH is a "shell" program that runs as soon as you login to unix/Linux, and tries to understand commands that you type, then figure out what you want the computer to do next. (often by finding another program you want to run) There are sever "shell" options: sh=Bourne-Shell, ksh=Korn-sheell, csh=C-shell, bash=bourne-again-shell, and more. [3] a COMMMAND Line represents the command/directions/request/instructions that YOU type into the computer's shell. [4] a PROMPT means that the computer is waiting for you to type something in to the computer from the keyboard. Prompt also refers to any short text message that the computer prints out (just before the cursor) to let you know what's going on, and what to type next. So... al lof these may be "active" at the same time when you are logged into a Linux computer. The terminal could be the "window frame" and background, that defines the frame, appearance, fonts, and general "canvas" for text information to be displayed on. Within that terminal environment, the computer may be running a bash "shell" that is displaying a prompt, and waiting for you to type a command line. After you type the command line and press enter, the shell reads that command line and tries to do what you want, or finds another program that will do that for you. If you want to change how things LOOK, for background/fonts, or scroll around, that is generally related to the Termianal's scope of responsibility. If you want to change how things BEHAVE, or your environment variables, or change your prompt, work with the Shell. If you want to automate things with a simple "shell script" program, then you will need to create a file full of shell commands using an editor like vi/vim and then tell the shell to run the commands in that file. Almost anything else requires running additional programs. (which the shell will help you find+run through $PATH directories) SO: That's a 30 second summary of this 11 minute video.
3:08 CTRL+K, CTRL+U, CTRL+Y is basically -copying- cutting and pasting in bash. Copying/pasting to/from clipboard in a script could fall under "copying and pasting in bash" too.
Good video! I'd also add in about a little difference between CLI (ls, dd, youtube-dl, pacman) and TUI (vim, newsboat, ranger, irssi) programs while on this topic, because people tend to confuse these pretty often.
@@yash1152 no problem! I'll elaborate on the distinction a bit. As a rule of thumb, CLI software is easily scriptable, while TUI is more interactive and keyboard driven. If it's output can be effectively parsed using grep, it's CLI. If it has GUI-like rich interface, but on the console (usually by means of (n)curses library), it's TUI
@@netrezv thanks a lot for input. > _"ususally by means of (n)curses library"_ yeah, i have read that curses/ncurses thing on web: "vim in ncurses based editor" but on trying to look it up surfacially, it went over my brain. > _"CLI = scriptable; TUI = Interactive + keyb driven"_ so, TUI can still have some daily use applications like ViM editor, ViEB browser, etc. But the scope of CLI is very different than normal applications right? i mean, yeah, it's fast for batch, piping, and specific actions etc, but still, those are not the things of normal daily use. am i right?
Hey, Luke! There is a way to run Python-like environment as a shell. It is called xonsh and it is a superset of Python aimed to make it more shell-like (completion, piping, history, easy access to environment variables). As far as I know it is in development but that's pretty cool project (but to be frank it has many issues, e.g. slow startup time).
3:04 Rather than “stupid question” I’d call it an ambiguous question. As such, it is one that is NOT likely to be answered the way the asker intended. Asking how to copy/paste in bash could mean to read/write the OS clipboard, it could mean yank/put in `set -o vi` mode, it could mean to pipe into and out of `tee`, it could mean to `exec > >(tee $name.log | log -t $name)`, etc. Great info though.
This is SOOOOOOOO desperately needed! You made so many nice tutorials before but if this one is not cleared out of the way those tutorials could not be appreciated by newbies. Thank you so much my Tech God Luke!
I have two questions: 1. How do I copy and paste in bash? 2. How do I scroll up and down in bash? Joking aside, I'm a complete newbie and those are the questions I would have definitely asked before having watched this video. I can now confidently say that the amount of silly questions I'll be asking in the future has decreased by two. 😀Thank you.
Hey there, love you're stuff. Just a small observation: Running /bin/sh happens alot when you are working in container land so POSIX compliancy has risen at least in my scripts ;) Edit: typo
Thanks man, not the target audience, but this helped me a lot. I just opened up a terminal for the first time in my life to copy/paste and patch a game on Linux. Really just wanted to know some basic terminology to research further and understand what exactly I was doing.
You can kill a process in any language - here is an example for C: stackoverflow.com/questions/6501522/how-to-kill-a-child-process-by-the-parent-process
Running Python as your primary shell isn't really such a crazy thing, actually. Well, the normal built in python shell is not really suitable as a command shell, but there are alternate shells like xonsh which are designed to replace bash in interactive use by mixing together python and bash syntax, so you can do things like piping and redirection, but also use python syntax for things like writing lists, dicts, loops, conditional statements, functions, classes, etc which is much simpler than bash's syntaxes. Another possibility is to use IPython with full rehashx magic, which will load everything in your $PATH into IPython magic commands, so you can run any system commands just like in bash. IPython used to even ship with `sh` profile which is designed for use in this manner.
The terminal on tinycore has this behaviour, which I think comes from flwm, the window manager: highlight something with a right click to copy, then middle click to paste. That's really annoying. The mac terminal has probably the most intuitive copy-paste behavior because macs use the command key for keyboard shortcuts, so the terminal can just use the regular shortcuts.
Terminal has roots in a mainframe world. It used to be a screen with a keyboard and connection to a mainframe. You had an editor that basically allowed you to write and run programs. Before terminals, you had punch card reader. Each card was a line of code.😅 Bash was used on terminals.
Tinycore linux uses /bin/sh as the default shell. It uses busybox, I believe, which gives a POSIX-compliant, but not bash-compatible shell, which has caused me headaches when running scripts that assume that /bin/sh is bash.
Very informative video, learnt something good about shell promps today :) nice Are there any interactive shells available for javascript as well? Which one are you using? Whats so nice about it? Thanks in advance
This code for color profile is similar to Luke's PS1="\[\033[01;31m\][\[\033[01;33m\]\u\[\033[01;32m\]@\[\033[01;34m\]\h:\[\033[01;35m\]\w\\[\033[01;31m\]]\[\033[01;37m\]$ " It will work in most terminals that have default settings and without any addons. Luke, thank you - great work and inspiring.
Wants to make everything clear. Starts directly by saying "this window is a terminal emulator and it is also running a shell, like bash". Seriously dude? Is that how you start explaining what bash and a terminal is?
Which has a copy and paste feature. In fact zsh comes with a built-in line editor (ZLE). So asking how to copy and paste is a legit question for zsh. Alt-w and Ctrl-y for anyone wondering. Asking how to do it in bash is still wrong though. Bash uses separate line editor, GNU readline. As far as I know zsh is the only shell that does not use GNU readline. By the way, the clipboard for those line editors is not in sync with the system clipboard (which is what most people are looking for), but with some configuration you could sync it. Also don't tell beginners too quickly how to paste in the terminal. Before you know it, they paste everything they can find on the internet in it.
@@humm535 Yeah, you are right. Stupid of me to claim there exists no alternatives to some piece software. What I meant to say was, most shells don't incorporate their line editor in the shell language as much as zsh does. In other shells these are separable components.
Then what does it mean to run shell on emacs (M-x shell)? I'm really new to this and learning kind of randomly, so forgive me if this is a dumb question
What about cmd and powershell? A lot of people would know them way more than bash cuz they use Windows. Are they languages too? Shells? Terminal emulators? Sad that this explanation didn't include those
Personally, I don't see why a normal user's prompt on a local machine should have the user@hostname section. Obviously it should always be clear if you are root or on an ssh connection, but it seems like a huge waste of space. I have my Zsh prompt set to: [0]:~ % %F{green}[%F{yellow}%?%F{green}]%f:%F{blue}%B%2~%b%f %# %# will be % or # depending on if you are root, but I have kept Bash as the shell for my root user just to make it really obvious.
Bash is a program that handles user input, is not a language (you can't run a language on a computer). The instructions you are allowed to give bash for processing define a programming language.
I think Shell is an Interpreter, that can interact directly with the OS. Whereas Sh, Bash, Zsh, Powershell are differerent kinds of Shells (or Interpreters) Correct me if I am wrong
10:26 "[terminals] can run lots of different things that are not command prompts" Does vim (or TUIs in general) fall within this category of non-shell things that can run within a terminal?
> Ctrl-C will not work in any kind of terminal emulator to copy things conhost.exe (cmd) does just this, and it's better too. Why would you want to stop your program when in visual mode?
I see what you're saying but I think that 'Command Line' may be forgiven when used as 'Terminal' because it's a shortened way of saying the Command Line Interface (CLI). For example, How can I copy/paste in the command line (interface)? Which as you mentioned, also works as, How can I copy/paste in the Terminal (emulator)?
5:03 That's not true. The Windows 11 terminal allows users to utilize Ctrl+C for two functions: copying when something is highlighted, and terminating when nothing is selected.
URGENT! Read this:
lukesmith.xyz/deletion
Ok, time for finally adopting RSS.
Oh, YT at its finest bigotry... I'm with you, Luke! ) Will follow wherever you go
Looking at this video ...seems like you deserve it
RUclips is just for TV channels and cat videos anyway. Move on to LYBRY, Trovo or Bitchute bro :
PS. I love the reasons you got strikes for ! FUCK PAJEETS :
"All of those different things are different." - L. Smith 2019
beat me lmao
hit me like a little bitch, daddy
Things that are different are not the same
I love your stuff Luke, but to be honest I use only like 5-10% of the tips you give. I'm here mostly for the powerful boomer energy
I only feel it when I am sipping my white monster... siiiiiiipppppp!
> I'm here mostly for the powerful boomer energy
This. Totally this.
Honestly I’m here for boomer energy and minimalist programs I’ve never heard of
I'm only using the 10% of my brain also.
What is the powerful boomer energy?
People on stack overflow be like: 3:13-3:16
teachers who say you can ask anything (no matter how simple it may seem) when you ask a question
My like completes 69 likes
Also like 6:22
Reddit too
So, to sum up:
- Terminal: Program that emulates the functionality of an old terminal. Nowadays it includes much more functionalities than old days.
- Bash: Interpreted language than is being used to interface with the computer and OS.
- Command line: The line in wich you are writting the code inside the terminal
- Prompt: Small portion of information, at the beginning of every command line that shows something related to the computer user or basic information about the computer within few words
Let me know if i am wrong. Dont forget, we all are learners, dont take it seriusly.
Thank you!
@@ahmedsami7378 💀
Add definition for shell and command prompt as well
2:07 Sure, you could consider bash a language. But the terminal emulator isn't running bash-the-language, it's running bash-the-shell which runs bash-the-language. (A shell is a type of interpreter.) Also, the shell you use is normally decided by a per-user configuration setting, not by the terminal emulator.
Thank you for this clarification.
This is useful, Thank you!
I've lived all of 67 years now and it wasn't until I began watching you, Luke, that I learned I'm a boomer and that I have all these amazing powers at my disposal. Who says you can't teach an old dog new tricks? Bah! Humbug! From one boomer to another, I love your vids :)
ok boomer
@@Surister0 😸😸
there is nothing called as boomer...there are just smart people who continue to learn and improve throughout their lives being a valuable member of society and inspire others...you seems to be of that kind
Great!!
being old man is touching my heart
i wish i could help u to believe in one God .
i know u look at me like im brainwashed ، but please, by using your scientific methods just take alook at the quran
please it will take less than a week from you
you lived 67 years for this life , just 1 week for the other life ❤
"Laugh at it" 100 times! No need to laugh at people you can politely correct them and explain to them so they understand. Noobs are in a learning process and the last thing they want is to be launched at. Keep doing the good work through your videos and be more sensitive towards noobs because this is a field where even the most experienced engineers have new technologies to learn almost every year. By the way I gave the video 👍🏽
[9:40] Sure, the prompt colors are set in the shell configuration, but they're not interpreted by the shell. It's the terminal emulator that interprets and displays them (ANSI escape codes).
They usually are in the form of prompt formatting strings like "%cb". Then the shell will emit the escape codes that your terminal supports (as written in the termcap files).
@@Mankepanke I *hope* the shell uses Terminfo and not Termcap. 🤔
@@humm535 isn't terminfo the API that read the the termcap files?
I have never seen this type of video before, but it is suddenly obvious that there should be more people pointing out these differences. Very good! Thank you.
Me: Damn Luke, the holiday season really did improve your YT productivity !
Luke: Don't worry kiddo, I'll go AWOL for the next 2 months.
1 day later
Distrotube: Why use Bash or Zsh when you can AWK everything
you know you can run powershell on linux too
@@robbirobson7330 You serious? That's worth me looking into for work reasons then...
Quick Summary: Terminal, Bash, Comand Line, Prompt... different aspects of what you may be using at the same time.
[1]: a TERMinal started out as the *Hardware* keyboard+display on your desk (with NO processing logic inside) that sent all keystrokes to a remote computer (where the thinking+CPU+programs run) and the computer would send text information back to be displayed for you. Like THIS VT100 terminal: en.wikipedia.org/wiki/VT100 For the last 30 years, this is usually a terminal *emulator* program that behaves the same way that an old terminal Used to... but no separate hardware.
[2] BASH is a "shell" program that runs as soon as you login to unix/Linux, and tries to understand commands that you type, then figure out what you want the computer to do next. (often by finding another program you want to run) There are sever "shell" options: sh=Bourne-Shell, ksh=Korn-sheell, csh=C-shell, bash=bourne-again-shell, and more.
[3] a COMMMAND Line represents the command/directions/request/instructions that YOU type into the computer's shell.
[4] a PROMPT means that the computer is waiting for you to type something in to the computer from the keyboard. Prompt also refers to any short text message that the computer prints out (just before the cursor) to let you know what's going on, and what to type next.
So... al lof these may be "active" at the same time when you are logged into a Linux computer.
The terminal could be the "window frame" and background, that defines the frame, appearance, fonts, and general "canvas" for text information to be displayed on. Within that terminal environment, the computer may be running a bash "shell" that is displaying a prompt, and waiting for you to type a command line. After you type the command line and press enter, the shell reads that command line and tries to do what you want, or finds another program that will do that for you.
If you want to change how things LOOK, for background/fonts, or scroll around, that is generally related to the Termianal's scope of responsibility.
If you want to change how things BEHAVE, or your environment variables, or change your prompt, work with the Shell.
If you want to automate things with a simple "shell script" program, then you will need to create a file full of shell commands using an editor like vi/vim and then tell the shell to run the commands in that file.
Almost anything else requires running additional programs. (which the shell will help you find+run through $PATH directories)
SO: That's a 30 second summary of this 11 minute video.
9:01
Angry command line
3:08 CTRL+K, CTRL+U, CTRL+Y is basically -copying- cutting and pasting in bash.
Copying/pasting to/from clipboard in a script could fall under "copying and pasting in bash" too.
"bash is merely a language" "bash has this binding control C"
Very informative... I just have one question. How do you change the background color of Python 3.7? 😂
print("█"*100000)
Would the new text that we type come after this character? How is our typed text overlaps this character?
Good video!
I'd also add in about a little difference between CLI (ls, dd, youtube-dl, pacman) and TUI (vim, newsboat, ranger, irssi) programs while on this topic, because people tend to confuse these pretty often.
thanks for it, yep, i had idea tthat those are different things, but didnt know the exact names. thanks for sharing
@@yash1152 no problem!
I'll elaborate on the distinction a bit. As a rule of thumb, CLI software is easily scriptable, while TUI is more interactive and keyboard driven.
If it's output can be effectively parsed using grep, it's CLI. If it has GUI-like rich interface, but on the console (usually by means of (n)curses library), it's TUI
@@netrezv thanks a lot for input.
> _"ususally by means of (n)curses library"_
yeah, i have read that curses/ncurses thing on web: "vim in ncurses based editor" but on trying to look it up surfacially, it went over my brain.
> _"CLI = scriptable; TUI = Interactive + keyb driven"_
so, TUI can still have some daily use applications like ViM editor, ViEB browser, etc. But the scope of CLI is very different than normal applications right? i mean, yeah, it's fast for batch, piping, and specific actions etc, but still, those are not the things of normal daily use. am i right?
What is TUI short for? Text User Interface?
Hey, Luke! There is a way to run Python-like environment as a shell. It is called xonsh and it is a superset of Python aimed to make it more shell-like (completion, piping, history, easy access to environment variables). As far as I know it is in development but that's pretty cool project (but to be frank it has many issues, e.g. slow startup time).
"What is bash?"
Isn't it obvious? Bash is bloat.
5 years of being a Python coder, and never knew how much I needed this video
3:04 Rather than “stupid question” I’d call it an ambiguous question. As such, it is one that is NOT likely to be answered the way the asker intended. Asking how to copy/paste in bash could mean to read/write the OS clipboard, it could mean yank/put in `set -o vi` mode, it could mean to pipe into and out of `tee`, it could mean to `exec > >(tee $name.log | log -t $name)`, etc. Great info though.
Yea what about the cp command as well
This is SOOOOOOOO desperately needed! You made so many nice tutorials before but if this one is not cleared out of the way those tutorials could not be appreciated by newbies. Thank you so much my Tech God Luke!
You are very talented in explaining complex stuff. Thank you so much and keep posting videos plz.
I have two questions:
1. How do I copy and paste in bash?
2. How do I scroll up and down in bash?
Joking aside, I'm a complete newbie and those are the questions I would have definitely asked before having watched this video. I can now confidently say that the amount of silly questions I'll be asking in the future has decreased by two. 😀Thank you.
Still have more silly questions?
How do I store a fax on my hard drive?
love your explanations on stuff... always clear, concise, and complete...
This is the video I was looking for, but I didn't know it until I watched it. Thanks!
4:25 Ctrl-Shift-C / Ctrl-Shift-V is also common AFAIK.
Love it, when Luke's face appears in the beginning, i know it's gonna be goood. :)
"Don't say funny things…" - Luke Smith, 2019
This is a well done introduction video thanks a lot!
thanks, i am a 15 year running (open)SUSE amateur...this video clears up a bit of the "pro mind set"...Thanks for the effort (Y)
I did need this video. You answered questions I've been wondering about.
In short all of these different things are different.
Me thinking the last video was good.
Luke: there is another
EDIT: just realized that this comment was cringy as hell.
OH YES NEW VIDEO !!! Thx luke i learn a lot with you !
Hey there, love you're stuff. Just a small observation: Running /bin/sh happens alot when you are working in container land so POSIX compliancy has risen at least in my scripts ;)
Edit: typo
Thanks man, not the target audience, but this helped me a lot. I just opened up a terminal for the first time in my life to copy/paste and patch a game on Linux. Really just wanted to know some basic terminology to research further and understand what exactly I was doing.
Actually...THANK you! I always wanted to change the prompt color schemes 🙏
You do not have to laugh at people not knowing things, but at least you gave them a chance to know it. Appreciate it
5:12 Hold on: if bash is a language, how can it have a setting to stop a running program? Were you referring to the bash interpreter perhaps?
You can kill a process in any language - here is an example for C:
stackoverflow.com/questions/6501522/how-to-kill-a-child-process-by-the-parent-process
Wow great explanation Luke!
Another awesome and informative video! Thanks Luke!
Running Python as your primary shell isn't really such a crazy thing, actually.
Well, the normal built in python shell is not really suitable as a command shell, but there are alternate shells like xonsh which are designed to replace bash in interactive use by mixing together python and bash syntax, so you can do things like piping and redirection, but also use python syntax for things like writing lists, dicts, loops, conditional statements, functions, classes, etc which is much simpler than bash's syntaxes.
Another possibility is to use IPython with full rehashx magic, which will load everything in your $PATH into IPython magic commands, so you can run any system commands just like in bash. IPython used to even ship with `sh` profile which is designed for use in this manner.
Well, technically you are not running "language" in terminal emulator. You are running interpreter
It's also good to know about interactive vs non-interactive shells and login vs non-login shells
Great content. Keep up the good work Luke!
Helpful a bit like parameter, argument and keyword arguments
Hi, very indulging video and thanks for identifying these major differences.
Bash, zsh, the shell I would say , should be defined as "your environment" and the command line being "your non graphical interface"
I was really confused with the word like bash, shell, terminal emulator and other.... Thanks to you I get the point
The terminal on tinycore has this behaviour, which I think comes from flwm, the window manager: highlight something with a right click to copy, then middle click to paste. That's really annoying. The mac terminal has probably the most intuitive copy-paste behavior because macs use the command key for keyboard shortcuts, so the terminal can just use the regular shortcuts.
finally understanding some basic things,thanks to you, it was great help
I thought this was going to be a boomer rant but it was actually just a genuinely informative and wholesome video lmao
I truly love your stuff Luke.
This video was very helpful! Thank you!
"You secretly have something to learn you don't know about" got me :_D
Thank god for this video. I’m taking an operating systems class and was confuse during lecture. 😂
Terminal has roots in a mainframe world. It used to be a screen with a keyboard and connection to a mainframe. You had an editor that basically allowed you to write and run programs. Before terminals, you had punch card reader. Each card was a line of code.😅 Bash was used on terminals.
Tinycore linux uses /bin/sh as the default shell. It uses busybox, I believe, which gives a POSIX-compliant, but not bash-compatible shell, which has caused me headaches when running scripts that assume that /bin/sh is bash.
Very informative video, learnt something good about shell promps today :) nice
Are there any interactive shells available for javascript as well? Which one are you using? Whats so nice about it?
Thanks in advance
5:05
Actually vscode has an embedded terminal that does this. It copies when you've selected something and halts the program when not.
Спасибо Ильич!
This code for color profile is similar to Luke's
PS1="\[\033[01;31m\][\[\033[01;33m\]\u\[\033[01;32m\]@\[\033[01;34m\]\h:\[\033[01;35m\]\w\\[\033[01;31m\]]\[\033[01;37m\]$ "
It will work in most terminals that have default settings and without any addons.
Luke, thank you - great work and inspiring.
Thanks Luke. My confusion is being directed better now.
Ladies and Gentlemen, Luke Smith is back in the game
as far as i understand, bash/zsh/python/etc are interpreters (not languages) that are running scripts written using appropriate syntax/language
Love your content. Big vim help when I was new to it.
I wish I could hit the subscribe button more than once . What a damn good vid
Like :)
Thank you, fun video to watch.
I have a love/hate relationship with BASH...
It is extremly powerfull but sometimes it drives me nuts..
Honestly, this video wasn't as helpful as I hoped. I wish you would've explained the relationship between the terminal emulator and bash more.
Wants to make everything clear. Starts directly by saying "this window is a terminal emulator and it is also running a shell, like bash". Seriously dude? Is that how you start explaining what bash and a terminal is?
In addition, there's also the Line Editor.
Which has a copy and paste feature. In fact zsh comes with a built-in line editor (ZLE). So asking how to copy and paste is a legit question for zsh. Alt-w and Ctrl-y for anyone wondering. Asking how to do it in bash is still wrong though. Bash uses separate line editor, GNU readline. As far as I know zsh is the only shell that does not use GNU readline. By the way, the clipboard for those line editors is not in sync with the system clipboard (which is what most people are looking for), but with some configuration you could sync it. Also don't tell beginners too quickly how to paste in the terminal. Before you know it, they paste everything they can find on the internet in it.
@@hielke2332 Well, there are many shells not using readline: Dash uses libedit and I doubt the BSD /bin/sh's use readline.
@@humm535 Yeah, you are right. Stupid of me to claim there exists no alternatives to some piece software. What I meant to say was, most shells don't incorporate their line editor in the shell language as much as zsh does. In other shells these are separable components.
Thanks for the Information Dr.Eggman
3:13 there is no such thing as a dumb question
Then what does it mean to run shell on emacs (M-x shell)? I'm really new to this and learning kind of randomly, so forgive me if this is a dumb question
What about cmd and powershell? A lot of people would know them way more than bash cuz they use Windows. Are they languages too? Shells? Terminal emulators? Sad that this explanation didn't include those
Thank you for this video. This is the answer to the questions I have.
Personally, I don't see why a normal user's prompt on a local machine should have the user@hostname section. Obviously it should always be clear if you are root or on an ssh connection, but it seems like a huge waste of space.
I have my Zsh prompt set to:
[0]:~ %
%F{green}[%F{yellow}%?%F{green}]%f:%F{blue}%B%2~%b%f %#
%# will be % or # depending on if you are root, but I have kept Bash as the shell for my root user just to make it really obvious.
So terminal is the window, bash is the language inside the window, command line run different languages, and prompt is a specific name in each shell?
actually, BASH, zsh, cshell, et al are command interpreters, correct. Like DCL is the command interpreter for VMS and RSTS.
Bash is a program that handles user input, is not a language (you can't run a language on a computer). The instructions you are allowed to give bash for processing define a programming language.
Well, isn't "man xclip" an answer to "How do you copy in bash"?
To be fair, “how do I copy and paste in bash,” might be asking about piping the output of a command to the clipboard, so it’s not entirely stupid.
I think Shell is an Interpreter, that can interact directly with the OS.
Whereas Sh, Bash, Zsh, Powershell are differerent kinds of Shells (or Interpreters)
Correct me if I am wrong
10:26 "[terminals] can run lots of different things that are not command prompts"
Does vim (or TUIs in general) fall within this category of non-shell things that can run within a terminal?
I think we need more pictures in archwiki.
The only useful boomer I've seen in my life
He’s obviously not a boomer
@proteusx * his fscking face
Hi, I loved this video. where can I find more information on how the shell interprets and execute commands? Specially the interface with the kernel.
Thanks for informative video!!
In the old Unix days a terminal was a end point to have access to the mainframe.
So, tell me Luke.
How _do_ I change directories in st?
This is exactly what i needed thank you
This is a very good video .. good to know these terms
I would say your terminal (emulator) decides which colors etc. you can use how in your PS1. Or is your zsh directly talking to your graphics chip?
> Ctrl-C will not work in any kind of terminal emulator to copy things
conhost.exe (cmd) does just this, and it's better too. Why would you want to stop your program when in visual mode?
Talks about not looking dumb. Wears sunglasses on top of while indoors.
So what is the difference between a command line (interface) and a terminal emulator?
I see what you're saying but I think that 'Command Line' may be forgiven when used as 'Terminal' because it's a shortened way of saying the Command Line Interface (CLI). For example, How can I copy/paste in the command line (interface)? Which as you mentioned, also works as, How can I copy/paste in the Terminal (emulator)?
Agreed. Command Line feels like a good umbrella term.
5:03 That's not true. The Windows 11 terminal allows users to utilize Ctrl+C for two functions: copying when something is highlighted, and terminating when nothing is selected.