[tools] bash, linux, ubuntu, terminal

v 是 verbose python m pytest tests/test sth.py v 查看某个文件 cat 是print里面的内容在terminal里 text editor nano是text editor, 打开它,ctrl+O保存,ctrl+X退出 vim也是text editor, i进入编辑模式,esc退出编辑模式 visual only

-v 是 verbose

python -m pytest tests/test_sth.py -v

查看某个文件

cat 是print里面的内容在terminal里

text editor

nano是text editor, 打开它,ctrl+O保存,ctrl+X退出

vim也是text editor, i进入编辑模式,esc退出编辑模式(visual only), :w 保存,:q退出,:wq 保存和退出,:q! 不保存退出

vim是高阶版的,有更多功能。

寻找文件并删除

find . -type d -name ".ipynb_checkpoints" -exec rm -rf {} +

find . 当前dir

-type d directory

rm -rf recursively and force

sh文件第一行

#!/bin/bash

保存后需要change mode to execute (+x),跑的时候一定要带./

chmod +x run.sh
./run.sh

查看disk storage

du -sh .

du: disk usage

-s: summary

-h: human-readable

显示当前storage是多少.

如果想看每个folder里占多少,可以用max-depth为1

du -h --max-depth 1

查看某个folder里的文件占多少

du -h data/*

注意用data/* 而不是data/

*意味着里面的每个item

~/.bashrc

或者~/.zshrc

添加某一行

echo "..." >> ~/.bashrc

可以打开一个新的terminal,或者

source ~/.bashrc

把vim设置为默认text editor

which vim # 找到路径
vim ~/.bashrc

添加

export EDITOR=路径
source ~/.bashrc

即可

设置bashrc

一些basic settings

alias love="source .venv/bin/activate 2>/dev/null || echo 'No .venv found in this directory.'"

alias gr="git reset @{u}"
export EDITOR=vim

explorer.exe .

在ubuntu里打开windows文件夹

pip install -U

-U 强制更新的不止有当前的package,还会把dependent package重新安装(先卸载再安装)一遍。

Run a Bash (or shell) command run inside a terminal on a Unix-like system such as Ubuntu

mv 重命名文件夹

mv older_folder new_folder_name

zip

压缩

zip -r folder.zip folder/

住一个如果用folder/, 会包括folder这个文件夹的目录结构。如果不想要folder这个结构,而是里面的内容,则要在后面加上*

zip -r folder.zip folder/*

解压到当前目录(不推荐,所有文件会到当前目录)

unzip folder.zip

解压到文件夹

unzip folder.zip -d folder/

alias

是设置快捷键,比如

alias ll='ls -la' # list details,  all (hidden)

那么输入ll就和ls -la是一样的,通过在terminal输入alias可以查看已有的快捷键。

还有:

alias rm='rm -i'  #i是interactive,每次都会问一下要不要删除,以防错误删除

如果想要skip alias,并用原来的功能,就用斜杠\

\rm -r directory

export

不用export,就没法在child里用variable; 用export,可以在bash script用该variable

比如

INPUT=2
echo $INPUT  # 用不用export都会返回2

# 但如果要把variable pass给一个bash script里,必须用export INPUT=2
# Run a child process
bash -c 'echo $INPUT'  # Outputs: (nothing)

如果要across terminal用,需要在~/.bashrc或者~/.zshrc里加入export INPUT=2

可以用nano /.bashrc加,也可以用echo "export INPUT=2" >>/.bashrc 加,然后用source ~/.bashrc 可以激活。