You can find the lecture notes and exercises for this lecture at missing.csail.mit.edu/2020/co... Help us caption & translate this video! amara.org/v/C1Efe/
i'm old; i graduated in 1979, way before the www was a thing the fact that i can hop onto youtube and drop into a class at MIT like this still blows my mind
Similar. EE/CS 1980's We've passed files back and forth for decades. Our development projects now involve 10's of programmers. This lecture was well presented and gratefully received. Nice Job and Thank you!
I think we should rather thank MIT. They're quite probably the best tech university in the world, and they're publishing content for free that they could charge us a fortune to access if they wanted to.
Im sad this kind of quality instruction is not commonplace across other post secondary institutions.. I guess it is MIT after all... Thanks for making this available
@@ChristopherOkhravi are you planning on coming back to creating videos on YT? Really wanted to see how your VIM series would pan out. Thanks for everything
How they teach and covers the topic is really helpful. I think they are doing great work to post these and their notes over internet for people to use. Regards to the authors.
I came to think again, that we are living very hopeful period of time given that these fruitful and friendly lectures from MIT is ready to be watched free, at all around the world:)
I'm like 15 minutes in, and I'm already thankful to you guys for making this!! For someone who used to be a programmer but left and is now making a comeback, this packs-a-punch.
I'm actually tearing up. I've been trying to learn how to do things and it's been super frustrating and EVERY SINGLE COURSE I have ever seen either teaches you what a variable is. Or has a "google is your best friend" sort of approach. Thank you so much for making these videos
I cannot thank you enough for this course. Im also a teacher at the university and I never have the time to teach this concepts deeply to my students, so at least now I have a place to redirect them.
43:44 scroll lock is for you to scroll around in spreadsheet program like Excel with arrow keys. so when it is toggled, arrow keys scroll around instead of move the focus on a cell
41:30 it was worth watching for me, just for this. Great example of why 'cat' with shell piping isn't sufficient to write to a system file. But you also don't want to elevate the whole shell to root privileges because it's inconvenient (especially when scripting) and because then everything will be executed with root privileges. Now I understand why tee exists. Cheers.
Hey, that's Jon Gjengset! He does the "Crust of Rust" videos here on RUclips, I had no idea he also taught these lectures, I only recognize him now after coming back again 2 years later.
40:24 Please don't teach people "sudo su" (or the slightly less terrible "sudo su -"). In fact, don't teach people about "su" at all, other than to use it to install/fix "sudo" or as a history lesson. It certainly _works_, but you're telling the shell to do something twice, i.e. "run as root" (sudo) then "become the root user" (su). The thing you want is "sudo -i" or "initial login" (equivalent to "su -" and "sudo su -"), which tells sudo to start a shell *and* process the normal login scripts, e.g. .profile, .login, .bash_profile, etc. "Su"ing twice has a number of unexpected and irritating--though not insurmountable--side-effects for administrators (i.e. me, a linux admin for 20+ years), but it also causes trouble for an end-users since it strips their environment variables. "Sudo" handles this quite well (depending on your sudoers configuration), but "su" does not. This is problematic for things like preserving a non-root user's $SSH_AUTH_SOCK (maybe you want to use your ssh keys when you're root), or language preferences ($LANG), or $DISPLAY for GUI users, etc.
@@mwat56 I'll politely disagree here. "sudo -i" does, in fact, give you a shell, AND it simulates a login the proper way. "sudo bash" suffers from the same environment problems as "sudo su"
4 года назад+1
Exactly. I was going to comment this, but you explained it much better than I could.
If you don't need to go through "login" then 'sudo -s' will also work and just start up a new environment rather than login then env. For example 'sudo -s' will drop you into a root shell and 'sudo -u foo -s' will drop you into a shell for user 'foo'. Again without the login (.profile & .login). I recommend using "sudo -c 'command'", "sudo -s" and "sudo -u foo -sH" (-H sets the homedir for the user as well).
A good thing to be doing. I used to do something similar in my airline engineering career by running lunchtime classes for new young engineers. Much of the time people assume that others know as much as they do, without thinking how long and hard it was to acquire that knowledge.
Absolutely amazing lecture. I already knew 80% of these commands but it was still fun to watch and a good learning experience. Especially the fun stuff with sys directory in the end. Nobody teaches that lol...
Just a note of added confusion: Apple replaced "bash" with "zsh" as the default shell in macOS Catalina While a number of Mac developers have already moved on to even more modern shells like Fish, zsh is more compatible with Bourne shell (sh) and mostly compatible with bash. THE VERGE/ By Tom Warren@tomwarren Jun 4, 2019, 4:27am EDT
Another not obvious thing: Inside the shell CTRL + C is cancel, not copy. The most useful trick noone tells you is hitting the up arrow offers you the latest command you entered, and you can scroll up as much as you want by hitting up arrow.
Most of the stuff under /sys/class/ are indirect links to the directories that have the actual stuff. By default, find does not follow symlinks. If you search from /sys/, you'll probably find brightness under kernel, devices, and modules.
6:04 shell prompt
6:32 curstermizing shell
7:03 $date
7:19 $echo
7:29 $echo hello
7:46 $echo "Hello world"
8:41
10:01 environment variable
10:17 $echo $PATH
11:01 $ which echo
12:30 relative path
12:50 $pwd (print working directory)
13:24 cd /home (change my directory)
13:58 dot
15:03 ../../../../../
16:20 $ls
17:15 ~ tild
17:36 - dash
$ cd -
20:09 d means directory
21:32 read, write, execute
24:32 mv (rename, move)
25:20 cp (copy from, to)
25:50 rm (remove)
26:15 rmdir, mkdir (remove directory, make directory)
26:50 man (manual)
27:55 Ctrl+L (clear shall)
28:30 input and output
29:30 $echo hello > hello.txt
29:59 $cat hello.txt
30:10 $cat < hello.txt
30:43 $cat < hello.txt > hello2.txt
31:15 $>>^C
31:50 pipe
32:20 tail
$tail -nl
$ls -l / | tail -nl
$ls -l / | tail -nl > ls.txt
33:35 curl
curl --head --silent google.com
curl --head --silent google.com | grep -i content-length
curl --head --silent google.com | grep -i content-length | cut --delimetr = ' ' -f2
36:39 $sudo (super user)
38:02 $cat brightness
$sudo echo 500 > brightness
Jeong Rita thanks man really helps
this needs more upvotes!!!
Well done! this absolutely needs to be added to the video description to show timespamps on the video progress bar!!!
Thank you! Very useful!
good job man, very helpful!
i'm old; i graduated in 1979, way before the www was a thing
the fact that i can hop onto youtube and drop into a class at MIT like this still blows my mind
Similar. EE/CS 1980's We've passed files back and forth for decades. Our development projects now involve 10's of programmers. This lecture was well presented and gratefully received. Nice Job and Thank you!
Similiar too. i graduated in 2004 😁
thank you youtube algorithm for this magnificent content
I think we should rather thank MIT. They're quite probably the best tech university in the world, and they're publishing content for free that they could charge us a fortune to access if they wanted to.
I feel so dumb at work sometimes. I had to learn these things the hard way, thank you for putting this out there.
But #! is a special comment, not telling the shell to run as root, right? I don’t get your comment or maybe I missed the part he explained shebang
Im sad this kind of quality instruction is not commonplace across other post secondary institutions.. I guess it is MIT after all... Thanks for making this available
This type of quality instruction isn’t even commonly available at MIT lol.
These lecture are amazing, thanks for releasing this to the public!
This.
@@ChristopherOkhravi lectures ;-)
@@skarasif lectures* :-)
@@ChristopherOkhravi are you planning on coming back to creating videos on YT? Really wanted to see how your VIM series would pan out. Thanks for everything
Very true
Why is this in my recommandations and why am I starting to plan to watch the whole courses
+1 I even dont have Linux installed for years
same!
long live RUclips recommendations
If you haven't already, go for it!
😂
How they teach and covers the topic is really helpful. I think they are doing great work to post these and their notes over internet for people to use. Regards to the authors.
This is a lecture series I have wanted. Thank you MIT!
Lectures we didn't ask for but we all needed the most.
I came to think again, that we are living very hopeful period of time given that these fruitful and friendly lectures from MIT is ready to be watched free, at all around the world:)
great! MIT never ever dissapoints me. Hope this quality of education become a standard in the future in every country.
I've been writing "clear" instead of just ctrl+l all this time ..
Teymur Azayev same 😮
is there a shortcut to clear scrollback too?
same here
Same
The clear command and ctrl+l do not do the same thing. They are very similar, but sometimes it makes sense to use one or the other.
I'm like 15 minutes in, and I'm already thankful to you guys for making this!! For someone who used to be a programmer but left and is now making a comeback, this packs-a-punch.
what a great and generous idea to publish these lectures for everyone. Thank you!
the xdg-open in powershell was just: start worked with pdfs and .html files.
This is awesome. You guys are awesome for sharing it publicly. Everything about this is awesome.
so glad i found this courses. thank you MIT and all who made this!
This is exactly what I need! Thank you MIT
THIS IS WHAT WE ALL NEEDED. THANK YOU FROM THE BOTTOM OF MY HEART.
I'm actually tearing up. I've been trying to learn how to do things and it's been super frustrating and EVERY SINGLE COURSE I have ever seen either teaches you what a variable is. Or has a "google is your best friend" sort of approach. Thank you so much for making these videos
I cannot thank you enough for this course. Im also a teacher at the university and I never have the time to teach this concepts deeply to my students, so at least now I have a place to redirect them.
glad to hear there's teachers that still care.
This is the most beautiful thing I’ve ever found on RUclips...
Great Great Great! Been using bash shell foryears and you opened me up to other worlds man. These videos are so 👍
wow, this is very good! the content is really nice and the way he teaches it and structure the lecture is way better than what i had in college
Just finished first lecture... Big thanks for this series!
Thank you youtube recommendations. This was beautiful! I am going to watch the whole course.
Thanks for sharing it. It's really helpful to someone like me who have never learnt these basic things.
Thanks MIT!! For these great lecture series
These are super useful. Making my way through them.
Very good. This teacher is first class. Thanks so much
I really enjoy this course and learn a ton of foundation things. Thanks guys
43:44 scroll lock is for you to scroll around in spreadsheet program like Excel with arrow keys. so when it is toggled, arrow keys scroll around instead of move the focus on a cell
that is also what ctrl+arrow keys do in a text editor. thanks for sharing.
Starts at 4:08
cheers man
Thanks. Those late student were annoying me.
Tesekkurler
God damn, I had this bookmarked for way too long. Looking forward to going through the playlist! :)
tip: watch on 1.5 speed if it suits your fancy, i find it helps me focus (also great lecture!!)
41:30 it was worth watching for me, just for this. Great example of why 'cat' with shell piping isn't sufficient to write to a system file. But you also don't want to elevate the whole shell to root privileges because it's inconvenient (especially when scripting) and because then everything will be executed with root privileges. Now I understand why tee exists. Cheers.
I cannot believe how good of a professor this guy is. I wish I could learn software development and data science from him.
He has his own RUclips channel, which I just discovered ruclips.net/channel/UC_iD0xppBwwsrM9DegC5cQQ
I wish this lecture series existed 6 years ago. Would've made life a little easier.
Thank you so much for releasing this course in public. Just been through 1st lecture and content and the way you teach is very good.
I just can't thank you enough. Great content.
"On Windows, who knows?" made me chuckle
Made me install linux
@@pedrofalcao1900 try WSL it's super easy to setup and you get full linux terminal inside your windows.
WSL easy bash without switching OSes
Love this course! Really helped me on my work.
Another resource I can reccomend on this topic is Learn Enough Command Line To Be Dangerous. It is a fun read with exercises.
wow so many small useful things that actually boost productivity, great lecture
I love how this guy explains things, I am a long time subscriber of his channel his voice is just mesmerizing
Rabin Gaire same! what's his channel name?
@@linsanity626 channel link ruclips.net/channel/UC_iD0xppBwwsrM9DegC5cQQ
Amazing to look at it during quarantine. Thank you very much!
Super useful for graduates. Thanks a bunch.
Hey, that's Jon Gjengset! He does the "Crust of Rust" videos here on RUclips, I had no idea he also taught these lectures, I only recognize him now after coming back again 2 years later.
Pretty good lecture, I wish it would be available when I was a freshman five years ago. Thanks for the hard work.
This is super helpful 👍. Thanks a lot for uploading it to RUclips.
Very insightful!
thank you for releasing to us
After several years of watching lectures in my off-work hours, this shall be my "graduation" class.
Thanks fr these videos which have released! ❣️
this is exactly what i needed
This is better than my entire degree in my uni
This entire talk is this smart telling you you don't know things. :)
I wish it would be available when I was a freshman one years ago. Thanks for the hard work.
It is never too late :)
lol, I was a freshman 4 years ago and much more experienced now and I’m still going to sit through these lectures 🤓
I remembered the basics and did learn a few commands I didn't know. Thanks!
oouuww yes.. i will put that knowledge inside my head. Thank you!
WOWOWOWOWOWOW THIS IS GOLDDD!!! 🔥💯 wish I knew this year's ago 😭
40:24 Please don't teach people "sudo su" (or the slightly less terrible "sudo su -"). In fact, don't teach people about "su" at all, other than to use it to install/fix "sudo" or as a history lesson. It certainly _works_, but you're telling the shell to do something twice, i.e. "run as root" (sudo) then "become the root user" (su).
The thing you want is "sudo -i" or "initial login" (equivalent to "su -" and "sudo su -"), which tells sudo to start a shell *and* process the normal login scripts, e.g. .profile, .login, .bash_profile, etc.
"Su"ing twice has a number of unexpected and irritating--though not insurmountable--side-effects for administrators (i.e. me, a linux admin for 20+ years), but it also causes trouble for an end-users since it strips their environment variables. "Sudo" handles this quite well (depending on your sudoers configuration), but "su" does not. This is problematic for things like preserving a non-root user's $SSH_AUTH_SOCK (maybe you want to use your ssh keys when you're root), or language preferences ($LANG), or $DISPLAY for GUI users, etc.
Thanks, that is useful :)
In case you need a shell (to do more than a single command) you'd call: sudo bash
That avoids the problems mentioned above.
@@mwat56 I'll politely disagree here. "sudo -i" does, in fact, give you a shell, AND it simulates a login the proper way. "sudo bash" suffers from the same environment problems as "sudo su"
Exactly. I was going to comment this, but you explained it much better than I could.
If you don't need to go through "login" then 'sudo -s' will also work and just start up a new environment rather than login then env. For example 'sudo -s' will drop you into a root shell and 'sudo -u foo -s' will drop you into a shell for user 'foo'. Again without the login (.profile & .login). I recommend using "sudo -c 'command'", "sudo -s" and "sudo -u foo -sH" (-H sets the homedir for the user as well).
A good thing to be doing. I used to do something similar in my airline engineering career by running lunchtime classes for new young engineers. Much of the time people assume that others know as much as they do, without thinking how long and hard it was to acquire that knowledge.
That's basic? Man I'm hyped!
Absolutely amazing lecture. I already knew 80% of these commands but it was still fun to watch and a good learning experience. Especially the fun stuff with sys directory in the end. Nobody teaches that lol...
Hey, does it require linux or we can do in windows?
same!
@@meghasharma1962 maybe use WSL, though i don't know how are dirs organized in wsl
thanks for the open resources of mit
Thank you these lectures
He is very eloquent.
Thank you for this lecture!
this is crazy good, thanks
Extremely helpful. Thank you.
Very nicely explained!
This is awesome, thank you so much!
Very insightful and useful lecture.
Brilliant course!
Probably the only semester that I would like to attend without bunking a single lecture ;)
It was fun.
Excellent lectures!
Just a note of added confusion:
Apple replaced "bash" with "zsh" as the default shell in macOS Catalina
While a number of Mac developers have already moved on to even more modern shells like Fish, zsh is more compatible with Bourne shell (sh) and mostly compatible with bash.
THE VERGE/ By Tom Warren@tomwarren Jun 4, 2019, 4:27am EDT
Bash and zsh have the same syntax.
Nice lectures, happy to learn more
40:30 you don't need to "sudo su". A simple "su" is suffice. "su -" if you want to get rid of enviroment variables and a login shell
great lecture! thanks
22:40 Also, if you don't have write permission on a file but have write permission on its directory, you can still delete the file.
This is a great idea!
Another not obvious thing: Inside the shell CTRL + C is cancel, not copy. The most useful trick noone tells you is hitting the up arrow offers you the latest command you entered, and you can scroll up as much as you want by hitting up arrow.
Use Ctrl + Insert to copy
Shift + Insert to paste
Thank you from KAIST, South Korea
I wish I had these kind of lectures in college.
Good job, thank you very much!
This is beautiful.
wow, that 's cool!Thank you :)
thank you mit, this course helps a lot!
what a greate lecture!
Thanks! (from a Tsinghua University student)
This is my reference book now.
Thanks for sharing!
I wish I had this course at my university!!!
# to run command as root.
* head explodes *
Doing my first steps on Debian
Thank you, thank you, thank you for these lectures!
Awesome lecture.
Most of the stuff under /sys/class/ are indirect links to the directories that have the actual stuff. By default, find does not follow symlinks. If you search from /sys/, you'll probably find brightness under kernel, devices, and modules.
I hope my univ could have such courses, instead of assuming we already know
Thank you!!