MIT CS Missing-Semester Lec1

Lec 1 Shell

(以下皆基于Linux系统)

文档查阅方式

man echo #交互式查看manual,可以是适用于大部分的命令帮助手册
mv --h#全部打印帮助文档,可能太长不好看
tldr mv #too long didn't read, 简化版手册
#需提前安装
#sudo apt install tldr

环境变量(Environment Variabl)

环境变量可以理解为当你运行程序时,如输入date, echo, python等,系统应该去哪里搜索可用的程序。注意搜索顺序自上而下,比如有两个cuda环境,为率先执行第一个。

echo $PATH#查看环境变量
which python#查看应用对应的环境变量

如何配置临时和永久path:知乎文章

路径

跳转根目录(即自己的上一层目录为自己):

cd / #change directory to the root

跳转home, 若只有一个usr, 则转至/home/usr

cd ~#跳转home, 若只有一个usr, 则转至/home/usr
cd -#跳转上一个选择的目录
cd ../#跳转上一层目录
pwd #Print working directory

文件工作流

ls -R #recursively 查看文件列表
tree #更优雅但是需要下载
broot #交互式tree
mv a.txt b.txt #重命名
mv a.txt newdir #移动文件
mv dir newdir#移动整个文件
cp file.txt ../new_file_name.txt 
# 将file文件复制到上层目录并重命名
cp -r test/ newtest 
#循环地将test文件夹下文件复制到newtest中
rm file.txt #删除文件
rmdir direc #删除文件夹
mkdir "direction_name"  #创建文件夹
find . -name src -type d
#在当前文件夹下寻找名为src的类型且类型为文件夹
fd "**/test/*.py"
#在当前文件夹下寻找路径格式类似 /test/a.py的文件
find . -name "*.tmp" -exec rm {} \;
#当前文件夹下寻找所有tmp结尾 并执行删除指令
locate name
grep -R string .#在当前文件夹下recursively寻找出现string的位置
rg "import sys" -t py ~/scratch# 类似,更快但需要提前下载
cat example.sh | fzf#交互式fuzzy查找打开的文件里的内容

输入输出流(iostream)

cat < file1.txt >file2.txt 
#将file1内容输入给cat,并将cat 输出写入file2

注意 >为覆盖内容, >> 为额外写入内容

Pipeline: “|”, 将左边的输出作为右边的输入,可以无限套娃

ls -l | tail -n1 > ls.txt# 将ls -l 的输出给到tail
#tail -n1 获取最后一行, > 将最后一行写入ls.txt
echo 500 | tee test.txt
#写入的同时在terminal中打印

权限管理

可以通过ls -l 查看文件权限,包括读写执行
通常情况权限为普通usr
最高权限为root,可以拥有无上权利,sudo 代表以super usr 身份do 某个task,往往需要输入密码

sudo su#以root身份打开shell
exit # 退出该模式
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值