常用命令行
- 解压 tar.gz文件:
tar -zxvf <file_name>.tar.gz
- 删除:
rm -rf <file_or_folder_name>
- 复制:
ctrl+insert
/ 光标选中 - 粘贴:
Shift + insert
/ 滚轮按下 / 触摸板双指 - 查看内存使用:
top
- 查看硬盘使用:
df
- 修改文件权限:
chmod
- Linux下文件的权限类型一般包括读
r
,写w
,执行x
三种;Linux下权限的粒度有拥有者u
、群组g
、其它组o
三种。使用数字表示权限:规定数字 4 、2 和 1表示读、写、执行权限,则同时增加读、写、执行则对应数字4+2+1=7,为拥有者u
、群组g
、其它组o
均赋予上述权限的命令为。 参考:Linux权限详解 - 给某一文件增加权限:
chmod 777 <fileName>
- 给文件夹下所有文件增加权限:
chmod -R 777 <dirName>
- Linux下文件的权限类型一般包括读
- 刷新
ldconfig
动态库缓存文件:ldconfig
- 不管做了什么关于library的变动后,尤其是最好都ldconfig一下,否则可能发生找不到链接库的错误。
- 显示文件夹下隐藏文件:
ls -ah
- 查看程序运行所需要的共享库:
ldd <exe_name>
- 常用来解决因为缺少某些库文件或链接至错误库导致程序不能正常运行的问题。
- 通过符号(symbol)来还原函数名称:
c++filt <symbol>
- 比如遇到undefined symbol报错时可根据后面给出的symbol进行函数还原,进而进行错误定位。
- 参考:C++中的名字修饰
- 实时查看GPU使用情况:
watch nvidia-smi
一些工具命令
grep命令使用
- 全文件搜索:
grep -H -n -R "sth"
apt
apt(Advanced Package Tool)命令是一个功能强大的命令行工具,它不仅可以更新软件包列表索引、执行安装新软件包、升级现有软件包,还能够升级整个 Ubuntu 系统(apt 是 Debian 系操作系统的包管理工具)。它的一些常用命令记录如下
- 安装包:
sudo apt install <package_name>
- 安装本地的deb文件:
sudo apt install name.deb
- 删除(使用
apt install
安装的)包:sudo apt remove <package_name>
screen——管理你的远程程序
该操作可以让远程连接时不用保持本地一直运行。
创建screen窗口并运行程序
- 打开并命名一个新的
screen
窗口:screen -S <screen_name>
也可直接
screen
创建一个默认窗口,该窗口会获得一个自动分配的窗口名,但该窗口名可能不便于记忆。 - 在该
screen
窗口内运行你的程序:python a.py
- 此时可以安全关掉该终端(或
Ctrl+a
,再按下d
离开该screen窗口)
恢复程序
- 查看后台运行程序:
screen -ls
- 恢复某个程序:
- 根据
pid
:screen -r <pid>
(pid
对应list
前的数字) - 根据
screen
窗口名:screen -r <screen_name>
- 根据
list中正常可恢复程序状态为
detached
,若程序状态因不明原因变为attached
,则无法正常恢复,此时使用screen -D -r <pid>
,先踢掉前一用户,再登陆。link
nohup
命令也可实现上述类似效果,而且可以将输出写入一个日志文件。需要时可以了解下。
销毁screen窗口
当前screen
窗口工作完成后,在该screen
窗口下执行
$ exit
即可销毁并退出该窗口。
其他
当screen
窗口下无法上下翻行时,先按下 Ctrl+a
,再按下[
即可翻行。
信息查询
查看程序信息
- 查看哪些路径安装了该程序:
whereis <exe_name>
- 查看默认选择的版本路径:
which <exe_name>
- 查看默认选择的版本:
<exe_name> --version
- 使用
pip
查看程序信息总览:pip show <package_name>
其他
更改硬盘名称
参考
Show Applications -> Disks -> select disk to change name -> setting icon -> edit filesystem -> change -> done