本文最后更新于 2024-10-28,文章距离上次更新已超30天,内容可能有些老了——

博主最近正在学习acwing上的linux基础课程,目前感觉上面的指令好多...遂给自己留一份记录!

(注意:acwing中,tmux的前缀被修改成了Ctrl + a ,而不是原版的Ctrl+b)


1.linux基础语法

#大部分的命令都有很多参数,大部分参数平常用不到...要使用时,可以在命令最后加上 --help  或者 man 命令 来查询其手册。

ls #查看当前目录下文件
ls -a #查询隐藏文件,对于.开头的大部分文件都会被隐藏,所以需要这个查看

cd xxx #跳转到目录中 cd ~ 跳回用户根目录 cd / 返回系统根目录  cd .. 返回上层目录

cp A B  #将A中的内容复制到B中
mv A B  #将A中的内容转移到B中(可以用于文件重命名)
rm xxx #删除普通文件
rm xxx -r #删除文件夹(-r表示递归删除)
可以使用正则表达式。比如 rm *.txt 表示删除所有以.txt为后缀的文件。
切忌! rm /* -r 不可以!会把系统相关的配置都删掉,造成系统崩坏的..!

mkdir A #创建目录A
touch A #创建文件A

cat A #展示文件A中的内容

pwd #显示当前路径
Tab键 #只有一个备选项的时候,直接补全命令。多个备选项的时候,快速按两下tab,可以显示所有备选项

ctrl + c #取消命令,换行。
ctrl + u #清空本行
ctrl + insert #复制
shift + insert #粘贴

tmux基础语法

只写了一些自己常用的

#tmux 可以实现分屏功能,也允许在断开连接后,继续运行进程。
#一个tmux可以有多个session,一个session可以用多个window,一个window可以有多个pane。一般一个session只保留一个window方便。
#没有标注长按的,ctrl+b 都是按一下后松开(tmux中的前缀符号)


tmux 直接创建一个新的进程
tmux a 进入上次挂起的文件
tmux a -t id 进入某个id对应的进程

tmux ls 可以查看目前全部 在tmux中可以使用快捷键ctrl+b  +s 
##acwing 中前缀被改成了ctrl+a

ctrl+b  +上下左右  :移动选择相邻的pane
ctrl+b(长按) +上下左右 :调增分割线的位置

离开session : tmux detach 快捷键 ctrl +b  +d
ctrl + d  #关闭当前的pane,如果pane和window都关完了,则关session。而上面那条是直接跳出session

ctrl +b    +z 在是否全屏当前panel之间进行替换。
ctrl +b   +% / +"   上下/左右 创建panel ,分屏window

tmux kill-session -t ID 可以删除id对应的进程
tmux kill-server 删除全部

tmux switch -t id 切换进程
ctrl + b   +s:选择其它session。
    方向键 —— 上:选择上一项 session/window/pane
    方向键 —— 下:选择下一项 session/window/pane
    方向键 —— 右:展开当前项 session/window
    方向键 —— 左:闭合当前项 session/window

ps: tmux 中选择文本,需要按住shift键。

vim 基础操作:

vim 中有3种模式:1.一般命令模式  2.编辑模式 3.命令行模式
按i 进入编辑模式,按ESC退出为一般命令模式,在一般命令模式下按:/?,进入命令行模式

vim xxx  进入当前文本
#以下操作,为标注特殊情况,基本上是在命令模式运行的。
h j k l 对标小键盘中的左下上右
0 或 home键  跳转到本行开头
$ 或 end键,跳转到本行末尾
n+<space> 在该行向下跳转n个字符。一般在行首使用,则跳到第n个字符处
G跳转到最后一行
gg跳转到第一行
gg=G 将全文代码格式化
ggdG 删除全文
nG 或者 :n 跳转到第n行。#个人推荐使用前者,因为这样后面v选中文本的时候更方便。
n+<Enter> 向下跳转n行
/word 向下寻找第一个值为word的字符串
?word 向上寻找第一个值为word的字符串
n 重复之前的一个查找操作
N 反向重复之前的一个查找操作
:n1,n2s/first/second/g  n1和n2都是数字。表示在n1与n2行之间,将所有first换成second
:1,$s/first/second/g 表示将全文中的first换成second  
如果最后不是g,而是gc ,表示替换的时候会先询问你当前字符是否要替换
v 切换为选中文本的模式。 :  n1G v n2G 可以将n1到n2行全选中(实际写的时候没有空格!这里是为了方便看...)
d 删除选中文本
dd 删除当前行
y 复制选中文本
yy 复制当前行
p 粘贴。将复制的数据粘贴在光标的下一行/下一个位置
u 撤销
ctrl + r 取消撤销
:w 保存
:w! 强制保存
:q 退出
:q! 强制退出
:wq 保存并退出
:set paste 设置为粘贴模式,取消代码自动缩进(这样粘贴原本有格式的,就不会被破坏了)
:set nopaste 开启代码自动缩进
:set nu 显示行号
:set nonu 隐藏行号,方便复制的时候不要把行号也复制了
:noh 关闭查找关键词高亮
ctrl + q :vim卡死的时候,强制取消当前执行的命令

使用vim 编辑的时候,会自动创建一个.swp临时文件,如果打开某个文件的时候,该文件的.swp文件存在,则会报错。
方法1:找到打开该文件的程序,退出。
方法2:删除swp文件(需要 ls -a 来查询隐藏文件,然后rm 删除)

当按ctrl+z 会挂起当前vim ,此时输入fg 即可回去刚刚挂起的了。不要再直接重复进当前文件,否则会出现上面一条的那种情况。