The Missing Semester of Your CS Education

15 篇文章 1 订阅

课程首页
课程视频

1/13: Course overview + the shell

介绍了一些shell方面的简单指令和概念,比如datalscdwhichpwd<>>>echomvcurlman等,如果了解linux c编程,这些应该都懂的。
列出一些我平时没有注意到的细节和指令。

  • 关于文件和目录的rwx权限,进入文件夹需要x权限,以及删除文件时对当前目录需要有写权限等。
  • 空格分割参数,如果想要参数包含空格,则使用""或\,比如mkdir hello\ worldmkdir "hello world"
  • cd -回到上一个路径。
  • echo "hello" 1> a.txt 2>b.txt标准输出流重定向到a.txt,标准错误流重定向到b.txt
  • curl --head --silent google.com | grep --ignore-case content-length | cut --delimiter=' ' -f2为例,来获取输入流中自己想要的信息
  • 关于>,(有权限执行cmd1但是无权限执行cmd2)如果sudo cmd1 > cmd2对于cmd2的执行使用的是shell的权限而不是root的权限,可以切成root执行或者可以用cmd1 | sudo tee cmd2
  • xdg-open a.txtxdg-open a.html根据文件格式自动使用对应的软件打开。

1/14: Shell Tools and Scripting

视频里助教的口音是真的怪,我醉了。
之前shell用的很少,很多东西都不是很熟悉了。

  • shell中不能使用空格分隔的原因,如a = 1,被视为运行程序a,参数是= 和 1。
  • 关于''""的区别
foo=bar
echo "$foo"
# prints bar
echo '$foo'
# prints $foo
  • 定义函数,并加载source mcd.sh,调用$ mcd dirname
    mcd.sh
mcd () {
    mkdir -p "$1"
    cd "$1"
}
  • $?:上一条命令的错误代码,$_:上一条命令的参数, $#参数的个数,$$当前进程号,$*:所有参数,$@所有参数,可以当作数组使用。
mkdir dirname
cd $_ #进入dirname
  • !!上一条指令
  • 使用$(cmd)或者`cmd`来执行指令
  • shell时支持通配符的,比如*.txt能匹配所有后缀是.txt的文件
  • 可以用shellcheck来检查shell的语法和warning。
  • man有时候用起来不太方便,可以试试tldr给出更多的例子,省去google的时间。
  • tree指令
  • 介绍了find和grep等的使用,介绍了一堆方便的tools来查看管理文件。

1/15: Editors (Vim)

  • normal状态下按v进入v模式,此时可以选中文本内容
    ctrl+v^v或者<C-V>表示,此时可以选中矩形文本内容
    比如按xd进行删除,y复制,p粘贴。
  • normal模式下用输入:sp进行分屏
  • e移动到词尾,w移动到下一个词开头,b移动到上一个词开头。0移动到行开头,$移动到行结尾。^移动到改行第一个非空字符。
  • ^uscroll up, ^dscroll down,gg首行,G尾行。
  • ^R redo

1/16: Data Wrangling

1/21: Command-line Environment

1/22: Version Control (Git)

1/23: Debugging and Profiling

1/27: Metaprogramming

1/28: Security and Cryptography

1/29: Potpourri

1/30: Q&A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值