AcWing-《Linux基础课》笔记
Linux基础课笔记
1. 常用文件管理命令
Linux系统文件不分盘存储
基本文件概念
-
路径:绝对路径开头是 /,相对路径则不是
-
. 当前目录, .. 上层目录
-
~/ : 家目录, / :根目录
常用命令及操作
-
Ctrl + C:结束命令或进程(命令清空并换行输入下一个命令,进程终止)
-
Ctrl + U:清空本行命令并重新输入当前行命令
-
Tab:补全命令,文件,只有一个选项直接补全,单击直接补全,有多个选项,双击列出所有选项
-
↑:弹出上一条命令
-
ls:查看当前文件夹所有内容
-
pwd:查看当前在哪个目录下
-
cd(change directory):后跟文件路径,进入目标文件夹,不加任何参数则返回家目录,后跟 -,返回上一个待过的目录
-
cp:
- cp a/tmp.txt b(tmp2.txt),将a中tmp.txt文件复制到b中,(重命名为tmp2.txt)
- cp a b -r,将整个文件夹a,复制到文件夹b中
- cp a c -r,直接复制文件夹a重命名为c
-
mkdir:输入:mkdir + 文件路径,创建文件夹
- 连续创建文件夹,mkdir a/b/c -p(文件存在则不报错,不存在就创建)
- mkdir --help or -h,显示命令行帮助
-
rm:输入 rm file1 file2,删除多个文件, rm dir1 -r,删除dir1文件夹,rm -f 删除所有文件(包括受保护的)
-
touch:创建一个文件
-
mv:输入 mv XXX YYY,将XXX文件移动到YYY,XXX和YYY相同或更改文件名则产生重命名的效果
-
cat:查看文件里的内容
2.tmux和vim
tmux
作用:分屏、进程不会因为断开链接而中断(在云端执行)
结构tmux->session->pane:一个tmux可以开多个session,一个session可以开多个window,一个window可以开多个pane,一个pane开一个shell
操作
-
新建一个session,其中包含一个window,window包含一个pane,一个pane打开了一个shell对话框
-
按Ctrl + a后松开再按%,将当前pane左右平分成两个pane(原版为Ctrl + b)
-
按Ctrl + a后松开再按",将当前pane上下平分成两个pane
-
Ctrl + d,关闭当前pane;如果当前window的所有pane都关闭则关闭window;如果session所有window都关闭,自动关闭session
-
鼠标点击可以选中目标pane
-
按Ctrl + a后松开再按方向键,可以切换到相邻的pane
-
鼠标拖动pane之间的分割线,可以调整分割线位置
-
按住Ctrl + a同时按方向键,也能调整分割线的位置
-
按Ctrl + a后松开再按z,可以全屏,再按一次取消全屏
-
按Ctrl + a后松开再按d,退出session
-
tmux a:打开刚才挂起的session
-
先按Ctrl + a松开再按s
- 方向键上下,选择session
- 方向键左,合上选项
- 方向键右,展开选项
-
先按Ctrl + a松开再按c,在当前session中创建一个新的window
-
先按Ctrl + a松开再按w,选择其他window,方法和第12的相同
-
先按Ctrl + a松开再按PageUp,翻阅当前pane内的内容
-
按住Shift进行选中,Ctrl + insert复制,Shift + insert粘贴
vim
功能
模式
一般命令模式
默认模式,命令输入方式:按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等
编辑模式
一般命令模式里按 i,进入编辑模式
按下ESC退出编辑模式,进入一般命令模式
命令行模式
一般命令模式下按: / ?三个字母中的任意一个,会进入命令模式。命令行在最下面。
可以查找、替换、保存、退出、配置编辑器等。
操作
- i:进入编辑模式
- ESC:进入一般命令模式
- h 或 左箭头键:光标向左移动一个字符
- j 或 下箭头键:光标向下移动一个字符
- k 或 上箭头键:光标向上移动一个字符
- l 或 右箭头键:光标向右移动一个字符
- n<Space>:n表示数字,按下数字再按功空格,光标向右移动这一行的n个字符
- 0 或 Home:光标移动到本行开头
- $ 或 End:光标移动到本行末尾
- G:光标移动到最后一行
- :n 或 nG:其中n为数字,光标移动到第n行
- gg:光标移动到第一行 ,相当于1G
- n<Enter>:n为数字,光标向下移动n行
- /word:向光标之下寻找第一个值为word的字符串
- ?word:向光标之上寻找第一个值为word的字符串
- n:重复前一个查找操作
- N:反向重复前一个查找操作
- :n1,n2s/word1/word2/g:其中n1和n2位数字,在n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
- :1,$s/word1/word2/g:将全文word1替换为word2
- 1,$s/word1/word2/gc:与前者相似,但在替换前需要用户确认
- v:选中文本
- d:删除选中的文本
- dd:删除当前行(剪切)
- y:复制选中的文本
- yy:复制当前行
- p:将复制的数据在光标的下一个位置粘贴
- u:撤销
- Ctrl + r:取消撤销
- Shift + >:将选中的文本整体向右移动
- Shift + <:将选中的文本整体向左移动
- :w:保存
- :w!:强制保存
- :q:退出
- :q!:强制退出
- :wq:保存并退出
- :set paste:设置成粘贴模式,取消代码自动缩进
- :set nopaste:取消粘贴模式,开启代码自动缩进
- :set nu:显示行号
- :set nonu:隐藏行号
- gg=G:将全文格式化
- :noh:关闭查找关键词高亮
- Ctrl + q:当vim卡死,可以取消当前执行的命令
异常处理
每次用vim编辑文件时,自动创建一个.finename.swp的临时文件
如果打开某个文件,该文件swp文件已经存在,会报错,此时有两种解决方法:
Shell
注释
变量
定义变量
变量首先被定义成字符串,再使用时会进行自动转换
使用变量
$可以类比为取值符号
{}帮助识别变量的边界,否则第三个echo会输出nameyyds这个变量的值
只读变量
关键字:readonly declare
删除变量
unset 删除变量
变量类型
1.自定义变量(局部变量)子进程不能访问的变量
2.环境变量(全局变量) 子进程可以访问的变量
字符串
字符串用不用单双引号都可以
单引号与双引号的区别:
单引号中的内容会原样输出、不会执行、不会去变量
双引号中的内容可以执行,可以取变量
获取字符串长度
提取子字符串
默认变量
文件参数变量
执行shell脚本时,可以向脚本传递参数,2是第二个参数,$0是文件名(含路径)
其他参数相关变量
__EOF__

本文链接:https://www.cnblogs.com/Roshin/p/acwing_Linux.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具