Skip to content

基础操作

Linux系统中常用的键盘命令

注意:以下给出的命令均是在terminal层面输入的命令

命令说明
touch创建文件;用于更新文件的各种时间
vim创建文件,之后可以编辑(见vim编辑器)
vimdiff显示并比较两个文件:vimdiff file1 file2(-o:横向分割,-O:纵向分割)
vi相较于vim不能使用控制键,没有图形界面
cat将某个文件的所有内容显示出来
mkdir创建文件夹;make directory
cd进入目录名; 目录名有几个符号有特殊的含义:
“.”代表本层目录,“..”代表上一级目录,“~”代表HOME目录,“-”代表前一目录
rm删除文件;加-r删除文件夹,-r表示recycle,循环删除
mv修改名字,mv 原文件/文件夹名 新文件/文件夹名
cp复制文件到新的路径;加-r复制文件夹
passwd修改密码,先输入旧的密码一次,再输入新的密码两次
pwd查看当前所在目录完整路径
clear清屏
date显示当前时间
ls列举出任一目录下面的文件;加-h查看目录或者文件的属性
chmod修改权限;文件调用权限分为三级: 文件所有者(Owner,u)、用户组(Group,g)、其它用户(Other Users,o);每一级有三个权限,读(read,r)、写(write,w)和可执行(execute,x)权限。
举例:赋予所有者全部权限,用户组和其他用户有读和执行权限。
绝对模式:chmod 755 文件名(注:755表示rwxr-xr-x)
符号模式:chmod u+rwx,go+rx 文件名
find查找文件或目录名;
find -name/type '要查找的'
grep查找文本里匹配的字符串;
grep -nr '要超找的' 文件名 color
nr会标识出来在第几行出现了要查找的内容;color可以高光出要查找的东西
sudo下载;sudo apt install 要下载的链接(只有管理者才有sudo权限)
ln链接:ln [参数] [源文件或目录] [目标文件或目录] 一般用-fslk 或-lnfs
f强制执行
i交互模式,文件存在则提示用户是否覆盖
n把符号链接视为一般目录
s软链接(符号链接)
V显示详细的处理过程
tartar -zcvf test.tar.gz file1 dir2 #压缩file1和dir2到test.tar.gz
tar -zxvf test.tar.gz #解压test.tar.gz
rarrar a -r test.rar file #压缩
unrar x test.rar #解压
zipzip -r test.zip file #压缩
unzip test.zip #解压

Vim编辑器

Vim有五种模式,如下表,其中前三种模式是比较常用的

模式名称主要功能
默认模式/指令模式/普通模式可使用方向键移动光标位置,还可对文件内容进行复制、粘贴、替换、删除等操作(不能进行输入,也就是不能打字)
编辑模式/插入模式/输入模式进行文本输入(打字), 和普通编辑器一样(类似于在 Windows 系统的文档中输入内容)
命令模式/命令行模式在 Vim 底部最后一行中输入命令,按回车并执;
用于对文件中的指定内容执行保存、查找或替换等操作。
选择模式/可视模式/Visual模式进行文本选择,进行批量操作
替换模式进行字符替换

默认模式(Esc)

  • (yy或Y)——单行复制:yy 或 Y;多行复制:5yy(复制当前行及接下来的 5 行);复制(Yank)
  • (p或P)——在光标后粘贴:p;在光标前粘贴:P;粘贴(Paste)
  • (dd)——单行剪切:dd;多行剪切:3dd(剪切当前行及接下来的3行);剪切(Delete)
  • 快捷操作
    vim
    gg 快速回到视图页面的顶部
    G 快速到达最底端
    shift 4 也就是$,或者用Home键,快速到行尾
    shift 6 也就是^,或者用End键,快速到行首

编辑模式(Esc+I/i)

  • i ——在当前光标处进行编辑
  • I ——在行首插入

命令模式(Esc+:)

  • (:q)——退出
  • (:q!)——强行退出
  • (:wq)——写完了保存退出,如果没有w(write)会有提示
  • (:%s/a/b)——查找到a并将a替换为b
  • (:%s/a/b/gc)——逐一查找,查找到了逐一人为确定修改与否
  • (:[start],[end]d)——删除多行,例如,要删除3到5行,可执行以下操作:按Esc键进入正常模式(命令模式),输入(:3,5d),然后按Enter键删除
    vim
    .(点)当前行;$ 最后一行;% 所有行
    (:.$d) %从当前行到文件末尾。
    (:.,1d) %从当前行到文件开头。
    (:10,$d) %从第十行到文件末尾。
  • 显示行数
    vim
    (:set nu/number) %绝对行号
    (:set rnu/relativenumber) %相对行号
    (:set number relativenumber) %绝对和相对行号

选择模式(Esc+v/V或Ctrl+v)

  • 可以让用户选择一块编辑区域,然后对选中的内容进行插入、删除、替换、改变大小写等操作。可视化模式/选择模式在处理表格、批量注释、批量修改内容等场景中非常有用。
  • 从默认的命令模式出发(ESC)
    小写 v :字符选择模式,选中光标经过的所有字符
    大写 V:行选择模式,选中光标经过的所有行
    Ctrl + v :块选择模式,选中一个矩形框表示的所有文本
  • 举例1:批量注释
    • Ctrl+v进入块选择模式,移动光标选中要注释的行,再按大写的 I 进入行首编辑模式
    • 输入注释符号如//或#,输入完毕之后,按两下ESC,Vim会自动将选中的所有行首都加上注释
  • 举例2:取消注释
    • Ctrl+v进入块选择模式,选中你要删除的行首的注释符号,注意//要选中两个,选好之后按d

替换模式(Esc+r)

  • 在默认模式下,按 r 键(小写)可进入替换模式,r:replace,此时再次输入的字符,可以替换光标处的那个字符
  • 按 R 键(大写),进入持续替换模式,可以连续替换多个字符,此时输入会不断地替换光标处的字符
  • 数字n r: 将光标所在向后 n 个字符都替换掉
    • 例如 3rs 可以把光标向后的三个字符都替换成 s
  • 在持续替换模式中可使用 Insert 键在持续替换模式和插入模式中切换

重要技巧

1.bashrc

vim .bashrc
export PATH=$PATH:/some/directory
source ~/.bashrc

2.alias别名

vim .bashrc
alias rm='rm -i'  举个例子
source ~/.bashrc  激活 使得刚刚的修改立马生效

alias 环境变量 不用非要在链接所在的地方打开程序 比如matlab

3.makefile

  • 换行要用Tab键,才能变成红色,才能正常make,否则会有报错:缺少分割符号

4.代码仓库repo【另外书写】

5.openmp,mpi的编译

  • 第一种
rm ~/.spack -r
cp /root/.spack ~/ -r
  • 第二种
spack load openmpi@4.1.2%gcc@11.2.0(输入需要的版本)
  • MHD需要这样;而且每一次新登录都需要(如果没有特别的设置)

6.将命令产生的输出存到文件里/重定向(>和tee)

  • 【方法1:重定向>或者>>】
    • 特点:会将输出保存到文件中,而不是在屏幕上显示
    • 语法:command > file.txt/file.out 或者command >> file.txt/file.out

    • 符号> 会将命令输出重定向到文件,它会替换文件中的所有内容。(若无file.txt,会自动创建;若有,会覆盖原先的)
    • 符号>> 会将命令输出添加到文件现有内容的末尾。(不覆盖原先的)
  • 【方法2:tee】
    • 特点:输出保存到文件中,并且在屏幕上显示
    • 语法:command | tee file.txt 或者command | tee -a file.txt

    • 其中a或--append表示附加到既有文件的后面,而非覆盖它
  • tee命令:读取标准输入的数据,并将其内容输出成文件。
    • tee file1 file2 #在两个文件中复制内容,执行之后,提示用户输入要保存到文件的数据

快捷操作/小技巧

  • --help查看某一个功能的介绍
  • -version 查看版本
  • shift+insert——粘贴
  • ctrl+insert——复制