帮助文档

长的帮助: man <command>

短的帮助: tldr <command>

有了 tldr 以后,很多教程都可以删掉了。

更换镜像源

包管理器 命令
apt(ubuntu20) sudo wget -O /etc/apt/sources.list http://mirrors.cloud.tencent.com/repo/ubuntu20_sources.list
pip pip config set global.index-url http://pypi.doubanio.com/simple
npm npm config set registry https://registry.npm.taobao.org
docker sudo wget -O /etc/docker/daemon.json https://blog.lyh543.cn/linux/linux-tips/docker.json
maven wget -O ~/.m2/settings.xml https://blog.lyh543.cn/linux/linux-tips/maven.xml
tlmgr tlmgr option repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet

文件

当前文件夹

pushdpopd 起了 cd 的作用,还能自动将当前目录压栈、出栈。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ pwd
~

$ pushd /tmp
/tmp ~

$ pwd
/tmp

$ popd
~

$ pwd
~

pwd 查看当前文件夹,dirname $0 查看运行的脚本所在文件夹。配合 $() 语法可以直接切换到当前目录:

1
cd $(dirname $0)

查看文件/文件夹/磁盘的大小

中文 英文 命令
查看磁盘大小 display filesystem df -h
查看目录下的文件大小 list ls -hs
查看目录下的文件夹的大小 disk usage du -h --max-depth=1

以上的 -h 都是 --human-readable,不使用这个开关,则会使用一个数字表示大小(单位为 KB);使用开关后,则会使用 200K1.8G 的形式。
注意 du 如不加 --max-depth 参数,会统计完所有的目录。

进程

任务管理器

可以使用 tophtop(后者对鼠标、颜色支持更好)。

进程后台运行

使用 nohup

使用 nohup 的话,一行代码就 ok:

1
2
# nohup <command> & &>/dev/null
nohup ssserver & &> /dev/null

可能会看到 ignore input 之类的警告,不用管,Ctrl+C 退出前台即可,此时 ssserver 正在后台运行。

使用 pm2

这个要麻烦一点,要从 npm 下载,所以还得先下载 npm

1
2
3
4
5
6
7
8
apt install npm
npm install pm2 -g
pm2 --name s1 -f start http-server # 配置 pm2

pm2 save # 可选命令,作用是保存当前的 pm2 状态
pm2 startup # 可选命令,下次开机的时候可以恢复到 save 的状态

pm2 ls # 可选命令,列出当前 pm2 的任务

使用 systemd

也可以配置 systemd。

进程开机自启

sudo /etc/rc.local 最后追加命令,然后给权限 sudo chmod a+x /etc/rc.local 即可。

不过貌似 alias 语句无效,可能 alias 是用户级的命令,需要用户登录时执行。

也可以配置 systemd。

用户

添加用户并给予 sudo 权限

1
2
3
4
sudo useradd <newuser> --disabled-password  # 禁用密码,只允许 ssh 登录
sudo usermod -aG sudo <newuser> # 将用户加入 sudo 组
sudo -u <newuser> # 上号
echo >> ~/.ssh/authorized_keys "ssh-rsa xx" # 添加 ssh 公钥

然后上号 sudo 检查一下是不是可以了。如果不行,可以试试在 /etc/sudoers 里面修改 %sudo 一行:

1
%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

ssh

在使用 Git 和搭建服务器的时候都会用到 ssh,于是笔记也比较零散。

在这里丢几个链接: