Linux系统命令(备忘录)

摘要

Linux系统命令备忘录

1.展示目录内容

1
2
3
4
5
ls -a:显示所有文件(包括隐藏文件);
Linux中以.开头的文件是隐藏文件;
ls -l:显示详细信息;
ls -R:递归显示子目录结构;
pwd:显示当前目录

2.创建工作区和虚拟环境

1
export MY_PATH="$HOME/ml" 

将路径HOME/ml取名为MY_PATH

1
mkdir -p MY_PATH

建立多级文件目录,当前目录下创建可以不加p

1
pip3 install --user --upgrade virtualenv

安装虚拟环境

1
virtualenv env --python=3.6

在当前目录下创建虚拟环境名字为env,python版本为3.6

1
source env/bin/activate

启动虚拟环境

1
deactivate

退出虚拟环境

3.创建编辑文本

3.1 文件夹与文件

1
2
mkdir 文件夹名称:创建文件夹;
rmdir 文件夹名称:删除文件;
1
2
touch 文件名:创建文件(要加后缀)
rm 文件名:删除文件
1
2
3
mv a.txt b.txt :重命名
mv a.txt ../ :移动到上层
cp 源文件路径 目标文件路径:复制到
1
vim 文件名:如果目标文件存在,则vim打开目标文件,如果目标文件不存在,则vim新建并打开该文件。

3.2 VIM模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
vim拥有三种模式
(1)命令模式(常规模式)
vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。
命名模式常用命令如下:
i : 在光标前插入文本;
o:在当前行的下面插入新行;
dd:删除整行;
yy:将当前行的内容放入缓冲区(复制当前行)
n+yy :将n行的内容放入缓冲区(复制n行)
p:将缓冲区中的文本放入光标后(粘贴)
u:撤销上一个操作
r:替换当前字符
/ 查找关键字

(2)插入模式
在命令模式下按 " i "键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。

(3)底部输入模式
在命令模式中按" : "键可以进入底部输入模式,光标会移动到底部。
底部输入模式常用命令如下:
:w :保存当前的修改
:q :退出
:q! :强制退出,保存修改
:x : 保存并退出,相当于:wq
:set number : 显示行号
:! : 系统命令 执行一个系统命令并显示结果
:sh :切换到命令行,使用ctrl+d切换回vim

4.WSL ubuntu相关

4.1 文件管理

如果使用的是WSL,文件位置可以在资源管理器中输入\\wsl$获知。

4.2 重置密码

  1. 关闭Ubuntu窗口
  2. 打开Powershell 或 cmd, 以root默认登陆 wsl -u root
  3. 输入 passwd your_username
  4. 重新修改并确认密码。
  5. exit退出
  6. 重启Ubuntu窗口

5.不中断运行

通常会使用ssh连接Linux系统,而且运行时间会很长,所以想要让服务器在退出远程后继续跑任务就可以选择下面两种方法。

5.1 nohup

nohup意思是no hang up,不挂断运行

主要命令如下

1
2
3
4
jobs   查看任务的状态、任务号和进程pid
kill %num 杀死对应任务
nohup mpirun -np 6 vasp_std & 不挂断运行vasp
tail -f nohup.out 查看输出文件

5.2 screen

screen相当于多开了一个窗口,有点新建一个终端会话。

使用前需要安装

1
2
3
4
# centos
yum install -y screen
# ubuntu
apt install -y screen

使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建一个名为MinecraftServer的screen
screen -S MinecraftServer

# 查看当前的screen列表
screen -ls

# 挂起当前screen
Ctrl + A + D

# 将number编号的screen放到前台
screen -r number

# 杀死当前screen
Ctrl + A + K

exit

参考资料

[1] 全网最全Linux命令总结!!(史上最全,建议收藏)

[2] Linux下的nohup和screen