Well done! this absolutely needs to be added to the video description to show timespamps on the video progress bar!!!
@DrHusseinAlOmari4 жыл бұрын
Thank you! Very useful!
@hingsli72454 жыл бұрын
good job man, very helpful!
@samdavepollard2 жыл бұрын
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
@upstatenetworks4639 Жыл бұрын
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!
@edvaned820710 ай бұрын
Similiar too. i graduated in 2004 😁
@ShivangiSingh-wc3gk4 жыл бұрын
I feel so dumb at work sometimes. I had to learn these things the hard way, thank you for putting this out there.
@xBugzilla2 жыл бұрын
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
@resulhangeldiyev44274 жыл бұрын
thank you youtube algorithm for this magnificent content
@fedeac313 жыл бұрын
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.
@middleverse38384 жыл бұрын
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.
@yixe22535 жыл бұрын
These lecture are amazing, thanks for releasing this to the public!
@ChristopherOkhravi4 жыл бұрын
This.
@skarasif4 жыл бұрын
@@ChristopherOkhravi lectures ;-)
@v1r474 жыл бұрын
@@skarasif lectures* :-)
@driden19874 жыл бұрын
@@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
@térrence3694 жыл бұрын
Very true
@Milbrown_Worker4 жыл бұрын
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
@yousifabdulhussein Жыл бұрын
This type of quality instruction isn’t even commonly available at MIT lol.
@dhruvgupta87514 жыл бұрын
the xdg-open in powershell was just: start worked with pdfs and .html files.
@tamat5 жыл бұрын
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.
@advitiayanand59744 жыл бұрын
glad to hear there's teachers that still care.
@loremipsum75135 жыл бұрын
THIS IS WHAT WE ALL NEEDED. THANK YOU FROM THE BOTTOM OF MY HEART.
@infinite-journey4 жыл бұрын
Lectures we didn't ask for but we all needed the most.
@JasonSFuller4 жыл бұрын
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.
@adammoore65944 жыл бұрын
Thanks, that is useful :)
@mwat564 жыл бұрын
In case you need a shell (to do more than a single command) you'd call: sudo bash That avoids the problems mentioned above.
@JasonSFuller4 жыл бұрын
@@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 жыл бұрын
Exactly. I was going to comment this, but you explained it much better than I could.
@aram5354 жыл бұрын
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).
@Chr0nalis4 жыл бұрын
I've been writing "clear" instead of just ctrl+l all this time ..
@love.ly.4 жыл бұрын
Teymur Azayev same 😮
@wolfram774 жыл бұрын
is there a shortcut to clear scrollback too?
@rabingaire4 жыл бұрын
same here
@aavocadoToast4 жыл бұрын
Same
4 жыл бұрын
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.
great! MIT never ever dissapoints me. Hope this quality of education become a standard in the future in every country.
@potatomayo-haha4 жыл бұрын
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
@wolfram774 жыл бұрын
that is also what ctrl+arrow keys do in a text editor. thanks for sharing.
@walkastray0074 жыл бұрын
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
@mrmusicdu744 жыл бұрын
Why is this in my recommandations and why am I starting to plan to watch the whole courses
@qwerty-wt5dr4 жыл бұрын
+1 I even dont have Linux installed for years
@comments_very_nice4 жыл бұрын
same!
@aalbero4 жыл бұрын
long live KZbin recommendations
@sadeepthabandara81174 жыл бұрын
If you haven't already, go for it!
@overglobe Жыл бұрын
😂
@cosmos17014 жыл бұрын
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.
@wizard73144 жыл бұрын
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.
@StankyPickle14 жыл бұрын
I wish this lecture series existed 6 years ago. Would've made life a little easier.
@surered49584 жыл бұрын
I cannot believe how good of a professor this guy is. I wish I could learn software development and data science from him.
@glizzdawiz4 жыл бұрын
He has his own KZbin channel, which I just discovered kzbin.info/door/_iD0xppBwwsrM9DegC5cQQ
@koraytugay5 жыл бұрын
Starts at 4:08
@saki7094 жыл бұрын
cheers man
@Hilaire_Balrog4 жыл бұрын
Thanks. Those late student were annoying me.
@mustafaerdem1404 жыл бұрын
Tesekkurler
@梨花风气正清明6 ай бұрын
I would like to express my gratitude to the teachers and school who taught the course. Additionally, the authors translated the course into various languages and posted it online as notes, which helped us learn better.
@seonginna88045 жыл бұрын
This is a lecture series I have wanted. Thank you MIT!
@NoxmilesDe5 жыл бұрын
The Website with text and everything to ALL those lectures is here: missing.csail.mit.edu/ Thanks to everyone who made this possible. :)
@MissingSemester5 жыл бұрын
We also link to the relevant lecture notes in the description for each video :)
@rabingaire4 жыл бұрын
I love how this guy explains things, I am a long time subscriber of his channel his voice is just mesmerizing
@linsanity6264 жыл бұрын
Rabin Gaire same! what's his channel name?
@rabingaire4 жыл бұрын
@@linsanity626 channel link kzbin.info/door/_iD0xppBwwsrM9DegC5cQQ
@EndrChe4 жыл бұрын
This is the most beautiful thing I’ve ever found on KZbin...
@sciberbee2 жыл бұрын
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:)
@lautoka634 жыл бұрын
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.
@yanlin91304 жыл бұрын
Pretty good lecture, I wish it would be available when I was a freshman five years ago. Thanks for the hard work.
@garysantos70534 жыл бұрын
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
@xrafter4 жыл бұрын
Bash and zsh have the same syntax.
@edavar62652 жыл бұрын
Another resource I can reccomend on this topic is Learn Enough Command Line To Be Dangerous. It is a fun read with exercises.
@bsko_turbo3 жыл бұрын
what a great and generous idea to publish these lectures for everyone. Thank you!
@Kruglord2 жыл бұрын
Hey, that's Jon Gjengset! He does the "Crust of Rust" videos here on KZbin, I had no idea he also taught these lectures, I only recognize him now after coming back again 2 years later.
@aavocadoToast4 жыл бұрын
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...
@meghasharma19624 жыл бұрын
Hey, does it require linux or we can do in windows?
@surplusvalue3271 Жыл бұрын
same!
@surplusvalue3271 Жыл бұрын
@@meghasharma1962 maybe use WSL, though i don't know how are dirs organized in wsl
@fedeac313 жыл бұрын
This is awesome. You guys are awesome for sharing it publicly. Everything about this is awesome.
@jasonkwan48144 жыл бұрын
I wish it would be available when I was a freshman one years ago. Thanks for the hard work.
@ZhengQu4 жыл бұрын
It is never too late :)
@jitpackjoyride4 жыл бұрын
lol, I was a freshman 4 years ago and much more experienced now and I’m still going to sit through these lectures 🤓
@henryluo93803 жыл бұрын
Thanks for sharing it. It's really helpful to someone like me who have never learnt these basic things.
@euriskoo2 жыл бұрын
8:03, Actually the program doesn't treat the string as one argument, it same as using double quotes, it's still an array of arguments.
@gaomingt4 жыл бұрын
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.
@alexandrechen30814 жыл бұрын
This is exactly what I need! Thank you MIT
@kortaffel4 жыл бұрын
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
@kwangee4 жыл бұрын
About the "echo 1060 | sudo tee brightness" command 42:17 , does this mean if we somehow run a malicious .sh script obtain from internet that contain similar command but does malicious action, it will execute successfully? since this command does not require shell login as superuser
@МихаилЧертушкин-я2с4 жыл бұрын
Amazing to look at it during quarantine. Thank you very much!
@majoragan4 жыл бұрын
Just finished first lecture... Big thanks for this series!
@Qladstone Жыл бұрын
After several years of watching lectures in my off-work hours, this shall be my "graduation" class.
@metroboomin88953 жыл бұрын
tip: watch on 1.5 speed if it suits your fancy, i find it helps me focus (also great lecture!!)
@shubxam4 жыл бұрын
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.
@nairorokidul Жыл бұрын
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.
@spatialnasir Жыл бұрын
Use Ctrl + Insert to copy Shift + Insert to paste
@steveroger45704 жыл бұрын
This is better than my entire degree in my uni
@popluss3 жыл бұрын
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
@shelinesim10384 жыл бұрын
"On Windows, who knows?" made me chuckle
@pedrofalcao19004 жыл бұрын
Made me install linux
@ze_kel3 жыл бұрын
@@pedrofalcao1900 try WSL it's super easy to setup and you get full linux terminal inside your windows.
@HendersonHarrisson3 жыл бұрын
WSL easy bash without switching OSes
@casedup4 жыл бұрын
Great Great Great! Been using bash shell foryears and you opened me up to other worlds man. These videos are so 👍
@edgrimm5862 Жыл бұрын
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.
@mrbeats74344 жыл бұрын
Very good. This teacher is first class. Thanks so much
@EarthB005 жыл бұрын
These are super useful. Making my way through them.
@adjusted-bunny4 жыл бұрын
How can you run "tee" as root (sudo) because it is not an ordinary program but a shell utility like ls? In my logic you would need a root shell, too. I'm confused.
@stardusts422 жыл бұрын
FYI, you can drag and move the subtitle from the bottom to other places until the instructor types "Ctrl + L"
@clanoftheducks18504 жыл бұрын
You probably want to explain su stands for substitute user not super user, which is a common misconception even in the Linux world, but su let's you go into a shell for another user, not just the superuser, hence the name.
@ir230005 жыл бұрын
42:50 find command does not work because you didn't specify the directory to search in (you probably wanted to type "find . -type f ... " )
@MissingSemester5 жыл бұрын
Ah, no, find defaults to the current directory (not on macOS though). The issue was actually that find does not follow symlinks by default, and /sys is full of them :)
@ir230005 жыл бұрын
@@MissingSemester ah tnx, didn't know that :) I used to need to specify dir on my system.
@mtomazza4 жыл бұрын
@@ir23000 me too.. like . or /
@sayanghosh69964 жыл бұрын
11:10 no, if you run echo you actually run the shell builtin echo, not the one at /usr/bin/echo. `type` is better than `which` in this regard
@takreem.akhter4 жыл бұрын
Thank you youtube recommendations. This was beautiful! I am going to watch the whole course.
@MubashirullahD4 жыл бұрын
This entire talk is this smart telling you you don't know things. :)
@sriranganayakulu85134 жыл бұрын
Thanks MIT!! For these great lecture series
@ConorJTobin4 жыл бұрын
Am I being pedantic to ask about 18:53? When Jon says that "there is an optional number of options," does he mean a number of optional options? I guess zero would be an "optional" number of options we could apply, no?
@DutchmanDavid5 жыл бұрын
`which` and `where` were important for me that one time I tried to (roughly) time a short piece of bash script. For some reason `time` did *not* want to accept some parameters I gave it. Turns out I was using the `shell reserved word`, not the *time* program that also exists in `/usr/bin/`. Executing the next gave me info on why my script didn't work: > which time time: shell reserved word > where time time: shell reserved word /usr/bin/time This showed me I just needed to add /usr/bin/ in front of the command to fix my troubles.
@jerrys53874 жыл бұрын
I hope my univ could have such courses, instead of assuming we already know
@sportsfreund84304 жыл бұрын
God damn, I had this bookmarked for way too long. Looking forward to going through the playlist! :)
@arytiwari37893 жыл бұрын
37:00 couldn't cd to sys in my mac. why so? no such directory found
@thengc4 жыл бұрын
On the exercises #6: Run the command by explicitly starting the sh interpreter, and giving it the file semester as the first argument, i.e. sh semester. Why does this work, while ./semester didn’t? What's the reason for this exactly? Why does sh have permission while a simple ./ cannot execute the file?
@justlogyup4 жыл бұрын
I *think* that's because you don't have execution permission on that file so you can't run it directly. but when you use sh, it reads the file and interprets the commands within, so not actually executing the file. from sh's manpage: The shell is a command that reads lines from either a file or the terminal, interprets them, and generally executes other commands.
@meojunior4 жыл бұрын
I really enjoy this course and learn a ton of foundation things. Thanks guys
@priteshugrankar68153 жыл бұрын
This is truly amazing!! Thanks for sharing!! By the way, I see vendor Perl and core perl in the path at 11:40. Does it mean the instructor is using Perl? If so, for what purpose?
@dellmdq4 жыл бұрын
# to run command as root. * head explodes * Doing my first steps on Debian Thank you, thank you, thank you for these lectures!
@maksimbronsky71175 жыл бұрын
On Windows the adequate command for xdg-open is simply explorer.exe :-)
@ramprax4 жыл бұрын
You can use 'start ' instead of explorer.exe
@LearnWithBahman4 жыл бұрын
Note that sysfs does not exist on Windows or macOS. I also could not find sys in Mac.
@fhajji4 жыл бұрын
I don't know about MacOS, but since it is FreeBSD-based, I would try 'sysctl' instead. It is a program though, not mapped like a file system.
@sameednaama4 жыл бұрын
Hey guys, I was just wondering what the prerequisites of this course are. I used to know some programming in C++ but I have forgotten most of it. Currently, I am trying to learn how to make animations in Manim. Do you think I have sufficient background for making this course worthwhile? If not, what should I study before taking this course? Any help would be great. Thank you:)
@Pluvo2for12 жыл бұрын
I'd it interests you I'd suggest you do it. Each time you don't understand something stop this video and go off and find more detail from elsewhere, and then come back. Also make sure you do your own examples, and lastly test yourself by pretending to explain each topic to an imaginary friend.
@unnamedchannelowouwu2 жыл бұрын
I'm starting my cs studies the next year, I know nothing about the topic but just maths and python, should I take this course now or wait until the middle of the entire five years of study for that?
@chococandy8009 Жыл бұрын
Probably the only semester that I would like to attend without bunking a single lecture ;) It was fun.
@THEMithrandir094 жыл бұрын
Something that's conceptually quite interesting but is hardly ever explained, is that the shell is just a ReadEvaluatePrintLoop(REPL) for the programming language called bash(sh, zsh,...), much like the Python REPL. So if you use the commandline(or the GUI for that matter, since clicks just call functions for you), you are writing and executing a program at the same time(but not saving it for repeated use).
@TheEnde1244 жыл бұрын
You can also use cat and > to write an iso file to a usb device cat some-os.iso > /dev/sdx
@fhajji4 жыл бұрын
You most certainly can do this, but is is more efficient and faster to use 'dd', because it can copy in fixed-size sectors (the bs= parameter), which is much better for usb flash drives... provided you pick the right block size!
@amateruss4 жыл бұрын
I'm using windows powershell and some of the commands that he uses does not work on mine just like echo $PATH. Do I have to do some tweaking in order for them to work on mine or I am missing something important?
@MissingSemester4 жыл бұрын
PowerShell is quite different from POSIX-compatible shells like the one taught in this video. If you want to learn PowerShell, this isn't the right resource. If you want to install a POSIX-compatible shell on your machine, you can try using Windows Subsystem for Linux (docs.microsoft.com/en-us/windows/wsl/install-win10).
@muluman882 жыл бұрын
Powershell has all environment variables below $env, so $env:path for that particular one.
@angelsalinas96974 жыл бұрын
can someone help me, when I do, cd /sys in my mac terminal it says no file or directory found.
@EricJohn-h2c6 ай бұрын
thanks for the open resources of mit
@FrederizEguren4 жыл бұрын
He is very eloquent.
@jamoinmoin4 жыл бұрын
wow so many small useful things that actually boost productivity, great lecture
@KonstantinDorichev5 жыл бұрын
I remembered the basics and did learn a few commands I didn't know. Thanks!
@anupkodlekere86044 жыл бұрын
Is that Jon Gjenset?
@joanperezlozano74054 жыл бұрын
Hello everyone! I have been trying to use the "ls (dash)(dash)help" command as it was written by the professor, but I get some strange error (goes like this: ls: illegal option -- - usage: ls [-@ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1%] [file ...]) I have dome some research and apparently the "man ls" command could be another possible way of checking out documentation. My question is why the "ls --help" command did not workout in my case? is it because of the version of my OS? P.S. Im using macOS (Catalina 10.15.5 ) Terminal. Thanks for the great content Missing Semester!!!
@heisvi93174 жыл бұрын
Maybe you know this now, but apparently (after a quick google search since I don't have a Mac) they switch to zsh in place of bash, so that's probably why.
@hulk94smash3 жыл бұрын
WOWOWOWOWOWOW THIS IS GOLDDD!!! 🔥💯 wish I knew this year's ago 😭
@warshipwarriors4 жыл бұрын
Well I am using Debian but the xdg command is not found. Apparently, the tutor said it's available in Linux systems. Main worry is get other similar not found commands.
@mugen1305 Жыл бұрын
I'm not able to run some of the commands like pipe, ls -l etc..on windows powershell. Do I need Linux?
@AK47_414 Жыл бұрын
Is there a bash command cheat sheet anywhere I can use? The ones I googled where not very concise or helpful. A good 1 page cheat sheet would be very useful
@iduran4 жыл бұрын
Nice terminal setup. I already checked the instructor's dotfiles but couldn't find which font he is using. Any idea what font that is?
@yuexiao47394 жыл бұрын
Love this course! Really helped me on my work.
@zacharycarbon43124 жыл бұрын
@43:00 the problem was the usage of single quotes. bash treats single quotes as string literals. so you were basically asking find to search for the string \*brightness\*. also, the '-iname' flag is better suited for regex search strings.
@venusumanthpotru95354 жыл бұрын
This is super helpful 👍. Thanks a lot for uploading it to KZbin.