Skip to content

Master the command-line, use a powerful text editor, use fancy features of version control systems, and much more.

License

Notifications You must be signed in to change notification settings

sunmiao0301/mit-6.null-the-missing-semester-of-your-cs-education

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT-6.NULL-The-Missing-Semester-of-Your-CS-Education

Why this

Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. We’ll teach you how to master the command-line, use a powerful text editor, use fancy features of version control systems, and much more!

Students spend hundreds of hours using these tools over the course of their education (and thousands over their career), so it makes sense to make the experience as fluid and frictionless as possible. Mastering these tools not only enables you to spend less time on figuring out how to bend your tools to your will, but it also lets you solve problems that would previously seem impossibly complex.

Schedule

1/13/20: Course overview + the shell

1/14/20: Shell Tools and Scripting

1/15/20: Editors (Vim)

1/16/20: Data Wrangling

1/21/20: Command-line Environment

1/22/20: Version Control (Git)

1/23/20: Debugging and Profiling

1/27/20: Metaprogramming

1/28/20: Security and Cryptography

1/29/20: Potpourri

1/30/20: Q&A

Reference

Staff: This class is co-taught by Anish, Jon, and Jose. Questions: Email them at missing-semester@mit.edu.

cn: missing-semester-cn

YouTube: Lecture videos from the class offered during MIT's Independent Activities Period in 2020.

Keywords of Someparts

01Course overview + the shell

shell

cd 相对路径 绝对路径 ls

输出输出流 重定向 < > >> 管道 |

sudo root usr 文件树

chmod u+x semester 脚本

02Shell Tools and Scripting

shell脚本 引号 ’‘ “” $() shebang

man

find

查找代码 grep

history 自动补全

文件夹导航

#!/bin/bash marcopolo find配合xargs

03Editors (Vim)

Vim vim

自定义 .vimrc

vim插件拓展

mv -> dir is a special type of file

04Data Wrangling

grep与sed

正则表达式

awk

交互式正则表达式教程

05Command-line Environment

Ctrl+C Ctrl+\ ctrlc ctrl\ 结束进程

fg bg Ctrl+Z ctrlz jobs KILL kill

终端多路复用 tmux

别名 alias

配置文件 dotfiles

远端设备 ssh

远端执行命令 ssh

密钥 公钥 私钥 ssh

通过ssh复制文件 scp

端口转发

ssh config 实现ssh msun登录远端设备

软链接 硬链接 shh让服务器无视GFW

实现从Windows到Linux服务器的免密登录

06Version Control (Git)

版本控制 git Git

git数据结构模型

Fork & PR pull request 撤回commit git stash gitconfig

07Debugging and Profiling

调试代码

性能分析

lsof list open file and kill proxy 在终端内添加代理

08Metaprogramming

yuanpi

09Security and Cryptography

sha1sum sha256sam 散列函数

ssh-keygen 密钥生成函数

对称加密

非对称加密

sha256sum验证文件未篡改 对称加密 签名一个git提交

10Potpourri

link

11Q&A

link

Supplement01source filename to configure proxy

proxy root&usr in linux

Supplement05LocalForward and DynamicForward

本地端口转发

动态端口转发

About

Master the command-line, use a powerful text editor, use fancy features of version control systems, and much more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published