Linux基础学习笔记(随缘会更新)
本文最后更新于:2024年9月8日 下午
Linux基础学习笔记(随缘会更新)
记录一些基本的能用上的命令。之后假如遇到了什么新的命令会在这更新。
- 第一次更新:用学校科研平台的时候发现查看资源的几个命令能用上
- 第二次更新:更新了一些超常用的命令速查
- 第三次更新:新增了一下命令
- 第四次更新:新增了scp相关命令
- 第五次更新:增加了虚拟环境相关命令和少量常用命令
超常用命令速查!!
1 |
|
特殊符号
|
:管道,上一条命令的输出作为下一条命令的参数
&
:任务后台执行redis-server &
nohup
:nohup command > /path/to/log.log 2>&1 &
后台执行命令,并将输出写到log中
&&
:前一条命令成功时执行后一条命令
||
:前一条命令失败时执行下一条命令
文件与目录管理
ls : list,列出目录
1 |
|
cd: change dir,改变工作目录
1 |
|
mkdir: make dir, 创建新目录
1 |
|
rmdir: remove dir,删除空目录
1 |
|
rm: remove, 删除文件或目录
1 |
|
pwd: print working dir,显示目前所在目录
1 |
|
cp: copy,复制文件
1 |
|
mv: move,移动文件或修改名称
1 |
|
ln: 链接
硬连接
硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。**只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。**也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
不允许给目录创建硬链接
软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
如图,最左边一栏就是inode,a-hard是硬链接,a-light是软连接。
1 |
|
cat: category,由第一行开始显示文件内容
1 |
|
tac: 倒过来的cat,从最后一行开始显示文件内容
nl: 显示行号
1 |
|
more: 一页一页翻动
1 |
|
head/tail: 前/后几行
1 |
|
grep命令
用于查找文件里符合条件的字符串
1 |
|
查看系统相关信息
CPU使用信息
1 |
|
GPU使用信息
跑深度学习模型的时候常用
1 |
|
此外,可以pip install gpu-stat
这个工具
1 |
|
ps命令
ps是Process Status缩写,用来列出系统进程。linux进程有这几种状态:运行R、停止T、睡眠S(Interruptible sleep)、不可中断睡眠D ( Uninterruptible sleep,通常是IO )、僵尸Z。
其中,睡眠状态指的是进程在等待某些事件或外部中断发生;不可中断睡眠指的是进程不接受外来信号中断,这个过程比较短暂;僵尸状态指的是进程在退出过程中,系统回收所有资源,但留下了进程的描述符,它的父进程可能会用到。
1 |
|
linux进程
- 主进程:程序执行入口
- 父进程:任何进程都有父进程,是子进程的创造者,可以有多个子进程但只能有一个父进程
- 子进程:父进程创建的进程
- 守护进程(daemon):子进程的一种状态,标识子进程与父进程同死。如果没有标记,则杀死父进程对子进程没有影响。
systemctl、service命令
systemctl
用来管理linux系统上运行的服务
1 |
|
service
命令可以查看系统中的服务
1 |
|
远程命令
SCP文件传输命令
scp
即secure copy,类似cp指令,可以在本地和远程之间进行文件传输。
命令格式:scp [源文件地址] [目标地址]
当地址为远程时,使用这种格式:<用户名>@<IP>:<路径>
,比如root@192.168.23.4:/home/test.txt
。
额外可以添加-r
参数来复制目录。
1 |
|
虚拟Python环境相关命令
pip相关
1 |
|
conda相关
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!