1. 文件目录结构
-
/home:用户的主目录,在
Linux
中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 -
/etc:
etc
是Etcetera
(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。 -
/usr:
usr
是unix shared resources
(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序
和文件
都放在这个目录下,类似于windows
下的program files
目录。 -
/bin:
bin
是Binaries
(二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 -
/opt:
opt
是optional
(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE
数据库则就可以放到这个目录下。默认是空的。 -
/var:
var
是variable
(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 -
/proc:
proc
是Processes
(进程) 的缩写,/proc
是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
-
/tmp:
tmp
是temporary
(临时) 的缩写这个目录是用来存放一些临时文件的。
2. vim
编辑器
Vim
的三种工作模式:
- 命令模式
- 插入模式
- 底行命令模式
2.1 命令模式和底行模式转为插入模式
功能 | 命令 | 描述 | 使用频率 |
插入字符 | i | 进入插入模式,并从光标所在处输入字符 | 常用 |
I | 进入插入模式,并从光标所在行的第一个非空字符处开始输入 | 不常用 | |
a | 进入插入模式,并从光标所在的下一个字符处输入字符 | 不常用 | |
A | 进入插入模式,并从光标所在行的最后一个字符处开始输入 | 不常用 | |
新增一行 | o | 进入插入模式,并从光标所在行的下一行新增一行 | 常用 |
O | 进入插入模式,并从光标所在行的上一行新增一行 | 不常用 |
2.2 Vim
光标的移动
命令 | 描述 |
w | 正向移动到下一个单词的开头 |
b | 反向移动到下一个单词的开头 |
f{char} | 正向移动到下一个{char}字符所在之处 |
Ctrl+f | 屏幕向下移动一页,相当于Page Down按键 |
Ctrl+b | 屏幕向上移动一页,相当于Page Up按键 |
Ctrl+d | 屏幕向下移动半页 |
Ctrl+u | 屏幕向上移动半页 |
+ | 光标移动到非空字符的下一行 |
- | 光标移动到非空字符的上一行 |
0 | 光标移动到所在行最前面的字符 |
$ | 光标移动到所在行最后面的字符 |
H | 移动到屏幕最上方那一行的第一个字符 |
L | 移动到屏幕最下方那一行的第一个字符 |
G | 移动到文件的最后一行 |
nG | n为数字,表示移动到文件的第n行 |
gg | 移动到文件第一行 |
nEnter | n为数字,光标向下移动n行 |
2.3 删除、复制和粘贴
命令 | 描述 |
x | 删除光标所在的字符,相当于Del键 |
X | 删除光标所在的前一个字符,相当于Backspace键 |
dd | 删除光标所在的行 |
ndd | 删除光标所在向下n行 |
yy | 复制光标所在的行 |
nyy | 复制光标所在向下n行 |
p | 把已经复制的数据粘贴到光标的下一行 |
u | 撤销前一个命令 |
2.4 查找和替换
命令 | 描述 |
/<要查找的字符> | 向下查找 |
?<要查找的字符> | 向上查找 |
2.5 文件相关
命令 | 描述 |
:q | 退出Vim |
:q! | 强制退出Vim, 修改过的文件不会被保存 |
:w | 保存修改过的文件 |
:w! | 强制保存修改过的文件 |
:qw | 保存修改过的文件后退出Vim |
:qw! | 强制保存修改过的文件后退出Vim |
3. 文件基本属性
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:
(base) username:~$ ls -l
total 20
drwxrwxr-x 7 username username 4096 5月 9 21:19 clyan
lrwxrwxrwx 1 root root 6 2月 28 16:52 datasets -> /data3
drwxrwxr-x 2 username username 4096 5月 24 20:18 docker_demo
drwxrwxr-x 2 username username 4096 5月 24 21:24 log_data
实例中,bin 文件的第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为 d 则是目录
- 当为 - 则是文件;
- 若是 l 则表示为链接文档
(link file)
; - 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read
)、 w 代表可写(write
)、 x 代表可执行(execute
)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
4. 文件与目录管理
4.1 路径
- 绝对路径:
路径的写法,由根目录/
写起,例如:/usr/share/doc
这个目录。 - 相对路径:
路径的写法,不是由/
写起,例如由/usr/share/doc
要到/usr/share/man
底下时,可以写成:cd ../man
这就是相对路径的写法。
4.2 处理目录的常用命令
ls
(英文全拼:list files
): 列出目录及文件名cd
(英文全拼:change directory
):切换目录pwd
(英文全拼:print work directory
):显示目前的目录mkdir
(英文全拼:make directory
):创建一个新的目录rmdir
(英文全拼:remove directory
):删除一个空的目录cp
(英文全拼:copy file
): 复制文件或目录rm
(英文全拼:remove
): 删除文件或目录mv
(英文全拼:move file
): 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令]
来查看各个命令的使用文档,如 :man cp
。
4.3 文件内容查看
cat
由第一行开始显示文件内容tac
从最后一行开始显示,可以看出tac
是cat
的倒着写!nl
显示的时候,顺道输出行号!more
一页一页的显示文件内容less
与more
类似,但是比more
更好的是,他可以往前翻页!head
只看头几行tail
只看尾巴几行
5. 安装软件
5. 1 yum
语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名。
5.2 yum
常用命令
-
列出所有可更新的软件清单命令:yum check-update
-
更新所有软件命令:yum update
-
仅安装指定的软件命令:yum install <package_name>
-
仅更新指定的软件命令:yum update <package_name>
-
列出所有可安裝的软件清单命令:yum list
-
删除软件包命令:yum remove <package_name>
-
查找软件包命令:yum search
-
清除缓存命令:
↺ \circlearrowleft ↺ yum clean packages: 清除缓存目录下的软件包
↺ \circlearrowleft ↺ yum clean headers: 清除缓存目录下的 headers
↺ \circlearrowleft ↺ yum clean oldheaders: 清除缓存目录下旧的 headers
↺ \circlearrowleft ↺ yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
6. 常用命令
6.1 查看cuda
,cudnn
,cpu
信息
查看cuda
版本
nvcc --version
查看cudnn
版本
cat /usr/local/cuda/include/cudnn_version.h
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 4
查看cpu
信息
cat /proc/cpuinfo
processor : 63
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
stepping : 7
6.2 查看内存
、CPU
、GPU
使用情况
查看内存使用情况
free -m
total used free shared buff/cache available
Mem: 385612 72202 25001 12618 288408 298229
Swap: 8191 3542 4649
CPU
与内存使用情况
top
top - 11:27:14 up 65 days, 23:53, 7 users, load average: 9.82, 11.15, 11.44
Tasks: 1137 total, 11 running, 1126 sleeping, 0 stopped, 0 zombie
%Cpu(s): 11.0 us, 6.5 sy, 0.0 ni, 82.2 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
MiB Mem : 385612.9 total, 25146.2 free, 72069.8 used, 288396.8 buff/cache
MiB Swap: 8192.0 total, 4649.8 free, 3542.2 used. 298371.8 avail Mem
查看指定用户进程
top -u user_name
GPU
使用情况
nvidia-smi
watch -n 1 nvidia-smi
6.3 结束进程
查看进程
ps -A | grep nautilus
结束进程
kill [PID]
参考资料:
[1] Linux 菜鸟教程
[2] 老姜的数据江湖 Bilibili