0%

Linux 常用 bash 命令

Linux 常用 bash 命令。

root 权限下新建用户

1
2
3
$ useradd -d /home/<user-name> -m <user-name>
$ usermod -s /bin/bash <user-name>
$ passwd <user-name>

root 权限下修改文件夹权限

1
$ chmod 777 <dir-name>

复制和移动文件

  • 本地复制和移动单个文件

    1
    2
    $ cp <src-file-name> <trg-dir-name>
    $ mv <src-file-name> <trg-dir-name>
  • 本地复制和移动文件夹

    1
    2
    $ cp -r <src-dir-name> <trg-dir-name>
    $ mv -r <src-dir-name> <trg-dir-name>
  • 远程复制文件

    1
    $ scp <user-name>@<ip>:<src-file-name> <trg-dir-name>
  • 远程复制文件夹

    1
    $ scp -r <user-name>@<ip>:<src-dir-name> <trg-dir-name>

解压 tar.gz 文件

1
$ tar -zxvf <file-name>.tar.gz -C <trg-dir-name>

发布 pip 包(wheel 文件)

1
$ python setup.py bdist_wheel

离线安装 pip 包(wheeltar.gz 文件,参考:https://docs.conda.io/projects/conda-build/en/latest/user-guide/wheel-files.html)

1
$ pip install <package-name>.<whl/tar.gz> --no-deps

离线安装 conda 包(condatar.bz2 文件)

1
$ conda install <package-name>.<conda/tar.bz2> --offline

离线安装 deb 软件

1
$ sudo apt install ./<file-name>.deb

离线安装 VS Code 的 Extension
先从 https://marketplace.visualstudio.com/vscode 下载 vsix 文件

1
$ code --install-extension <file-name>.vsix

查看 CPU 和内存状态

1
$ top -u <user-name>

查看 Nvidia 显卡状态

1
2
3
$ nvidia-smi
$ watch -n 1 -d nvidia-smi
$ fuser -v /dev/nvidia*

虚拟命令行会话

  • 新建会话
    1
    $ screen -S <session-name>
  • 暂时离开会话(Detach):Ctrl + A + D
  • 显示当前所有存在的会话
    1
    $ screen -ls
  • 重新连接会话(Attach)
    1
    $ screen -r <session-name>

杀死进程

1
$ kill <process-id>

查看和改变进程被 OOM killer 杀死的优先度

1
2
$ sudo cat /proc/<process-id>/oom_score
$ sudo echo -1000 > /proc/<process-id>/oom_score_adj

软链接

  • 创建软链接:一个名为 real 的文件(夹)链接会出现在 /path/to/link 路径下,可以通过 /path/to/link/real 访问
    1
    $ ln -s /path/to/real /path/to/link
  • 删除软链接:只会删除链接,不会影响原 /path/to/real
    1
    $ rm /path/to/link/real

使用代理

  • 服务器代理

    1
    2
    $ export http_proxy="http://<user-name>:<password>@<proxyhost>:<port>"
    $ export https_proxy="https://<user-name>:<password>@<proxyhost>:<port>"
  • 本地代理

    1
    2
    $ export http_proxy="http://127.0.0.1:<port>"
    $ export https_proxy="https://127.0.0.1:<port>"