当前位置: 首页 > news >正文

Linux基础命令和基础知识总结

1. 常用文件管理命令介绍

(1) ctrl c: 取消命令,并且换行


(2) ctrl u: 清空本行命令


(3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项


(4) ls: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件


(5) pwd: 显示当前路径


(6) cd XXX: 进入XXX目录下, cd .. 返回上层目录 ~:家目录,回回到路径/home/user

     cd -:返回改变路径前的路径


(7) cp XXX YYY: 将XXX文件复制成YYY,XXX和YYY可以是一个路径,比如../dir_c/a.txt,表示上层目录下的dir_c文件夹下的文件a.txt 

     cp XXX YYY -r 将XXX目录(文件夹)复制到YYY下 非当前路径重命名方法:cp a.txt ../b.txt


(8) mkdir XXX: 创建目录XXX

     mkdir -p:-p:如果文件夹不存在,则创建 

  
(9) rm XXX: 删除普通文件          rm XXX -r: 删除文件夹

支持正则表达式,删除所有.txt类型文件:rm *.txt

ㅤㅤㅤㅤ删除所有文件(不包括文件夹):rm *

ㅤㅤㅤㅤ正则表达式删除所有文件夹:rm * -r 即可


(10) mv XXX YYY: 将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径;重命名也是用这个命令

非当前路径移动方法:mv a.txt ../b.txt


(11) touch XXX: 创建一个文件


(12) cat XXX: 展示文件XXX中的内容


(13) 复制文本
    windows/Linux下:Ctrl + insert,Mac下:command + c


(14) 粘贴文本
    windows/Linux下:Shift + insert,Mac下:command + v

(15) history: 查看历史输入指令

(16) tree: 以树形显示文件目录结构

2. tmux教程

2.1 功能

2.1.1 分屏
2.1.2 允许断开Terminal连接后,继续运行进程
2.1.3 结构:
一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。

实例:

        tmux:
            session 0:
                window 0:
                    pane 0
                    pane 1
                    pane 2
                    ...
                window 1
                window 2
                ...
            session 1
            session 2
            ...

2.1.4 操作:

tmux固定按键为ctrl + b 但是按键不太方便,所以可以按照如下方式进行快捷键的更改

1. 打开终端,输入以下命令,查看当前前缀按键是什么,默认为 C-b

tmux show-options -g | grep prefix

2.执行如下命令,把<new-prefix>替换为你想要设置的新前缀键,例如C-a

tmux set-option -g prefix <new-prefix>

3.如果你想立即生效,可以执行如下命令,将修改应用到当前对话

tmux source-file ~/.tmux.conf

4.如果你想永久保存修改,可以编辑 ~/.tmux.conf文件,添加以下内容

# 将前缀按键改为C-a
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix

其中 unbind-key C-b 命令将原来的前缀键C-b解绑

bind-key C-a send-prefix 命令把新的前缀键C-a绑定为前缀键

修改完成后可以执行如下代码使得修改生效

tmux-file ~/.tmux.conf

    (1) tmux新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框


    (2) 按下Ctrl + a后手指松开,然后按%:将当前pane左右平分成两个pane


    (3) 按下Ctrl + a后手指松开,然后按"(注意是双引号"):将当前pane上下平分成两个pane


    (4) Ctrl + d关闭当前pane;如果当前window的所有pane均已关闭,则自动关闭window;如果当前session的所有window均已关闭,则自动关闭session


    (5) 鼠标点击可以选pane


    (6) 按下ctrl + a后手指松开,然后按方向键:选择相邻的pane


    (7) 鼠标拖动pane之间的分割线,可以调整分割线的位置


    (8) 按住ctrl + a的同时按方向键,可以调整pane之间分割线的位置


    (9) 按下ctrl + a后手指松开,然后按z:将当前pane全屏/取消全屏


    (10) 按下ctrl + a后手指松开,然后按d:挂起当前session


    (11) tmux a:打开之前挂起的session


    (12) 按下ctrl + a后手指松开,然后按s:选择其它session
        方向键 —— 上:选择上一项 session/window/pane
        方向键 —— 下:选择下一项 session/window/pane
        方向键 —— 右:展开当前项 session/window
        方向键 —— 左:闭合当前项 session/window


    (13) 按下Ctrl + a后手指松开,然后按c:在当前session中创建一个新的window


    (14) 按下Ctrl + a后手指松开,然后按w:选择其他window,操作方法与(12)完全相同


    (15) 按下Ctrl + a后手指松开,然后按PageUp:翻阅当前pane内的内容


    (16) 鼠标滚轮:翻阅当前pane内的内容


    (17) 在tmux中选中文本时,需要按住shift键。(仅支持Windows和Linux,不支持Mac,不过该操作并不是必须的,因此影响不大)

            shift + insert 粘贴   ctrl + insert复制


    (18) tmux中复制/粘贴文本的通用方式
        (1) 按下Ctrl + a后松开手指,然后按[
        (2) 用鼠标选中文本,被选中的文本会被自动复制到tmux的剪贴板
        (3) 按下Ctrl + a后松开手指,然后按],会将剪贴板中的内容粘贴到光标处

    (19)tmux kill-server 关闭所有session

3 vim 教程

3.1 功能:

(1):命令行模式下的文本编辑器

(2):根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能

(3):使用方式:vim filename

ㅤㅤㅤㅤ如果已有该文件,则打开它

ㅤㅤㅤㅤ如果没有该文件,则打开一个新的文件,并命名位filename

3.2 模式:

(1):一般命令模式

ㅤㅤㅤㅤ默认模式。命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等

(2):编辑模式

ㅤㅤㅤㅤ在一般命令模式下按i,会进入编辑模式

ㅤㅤㅤㅤ按下ESC会退出编辑模式,返回到一般命令模式

(3):命令行模式

ㅤㅤㅤㅤ在一般命令模式里按下: / ?三个字母中的任意一个,会进入命令行模式

ㅤㅤㅤㅤ命令行在最下面。可以查找、替换、保存、退出、配置编辑器等

3.3 操作:

ㅤㅤ1. i:进入编辑模式
ㅤㅤ
ㅤㅤ2. ESC:进入一般命令模式

ㅤㅤ3. h或左箭头键:光标向左移动一个字符

ㅤㅤ4. j或下箭头键:光标向下移动一个字符

ㅤㅤ5. k或上箭头键:光标向上移动一个字符

ㅤㅤ6. l或右箭头键:光标向右移动一个字符

ㅤㅤ7. n<Space>:n表示数字,按下数字后再按空格,光标会往右移动这一行的n个字符

ㅤㅤ8. 0或功能键[Home]:光标移动到本行开头

ㅤㅤ9. $或功能键[End]:光标移动到本行末尾

ㅤㅤ10. G:光标移动到最后一行

ㅤㅤ11. :n或nG:n为数字,光标移动到第n行

ㅤㅤ12. gg:光标移动到第一行,相当于1G

ㅤㅤㅤ●ㅤ删除组合键:gg + d + G gg + d + nG

ㅤㅤ13. n<Enter>:n为数字,光标向下移动n行
ㅤㅤ
ㅤㅤ14. /word:向光标之下寻找第一个值为word的字符串
ㅤㅤ
ㅤㅤ15. ?word:向光标之上寻找第一个值为word的字符串

ㅤㅤ16. n:重复前一个查找操作

ㅤㅤ17. N:反向重复前一个查找操作
ㅤㅤ
ㅤㅤ18. :n1, n2s/word1/word2/g:n1与n2为数字,在n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
ㅤㅤ
ㅤㅤ19. :1, $s/word1/word2/g:将全文的word1替换为word2

ㅤㅤ20. :1, $s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认

ㅤㅤ21. v:选中文本,按两下ESC取消选中状态

ㅤㅤ22. d:删除选中的文本

ㅤㅤ23. dd:删除当前行

ㅤㅤ24. y:复制选中的文本

ㅤㅤ25. yy:复制当前行

ㅤㅤ26. p:将复制的数据在光标的下一行(yy)/下一个位置(y)粘贴

ㅤㅤ27. u:撤销

ㅤㅤ28. Ctrl + r:取消撤销

ㅤㅤ29. Shift + >:将选中的文本整体向右缩进一次 n Shift + > 向右缩进n次

ㅤㅤ30. Shift + <:将选中的文本整体向左缩进一次 n Shift + < 向左缩进n次

ㅤㅤ31. :w:保存

ㅤㅤ32. :w!:强制保存

ㅤㅤ33. :q:退出

ㅤㅤ34. :q!:强制退出

ㅤㅤ35. :wq:保存并退出

ㅤㅤ36. :set paste:设置成粘贴模式,取消代码自动缩进

ㅤㅤ37. set nopaste:取消粘贴模式,开启代码自动缩进

ㅤㅤ38. set nu:显示行号

ㅤㅤ39. set nonu:隐藏行号

ㅤㅤ40. gg=G:将全文代码格式化

ㅤㅤ41. :noh:关闭查找关键词高亮

ㅤㅤ42. Ctrl + q:当vim卡死时,可以取消当前正在执行的命令

ㅤㅤ43. 异常处理

ㅤㅤㅤ●ㅤ每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件

ㅤㅤㅤ●ㅤ如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:

ㅤㅤㅤㅤㅤ1.ㅤ找到正在打开该文件的程序,并退出

ㅤㅤㅤㅤㅤ2.ㅤ直接删除掉该swp文件即可

4 ssh

4.1 ssh登录

4.1.1 基本用法 远程登录服务器

ssh user@hostname

ㅤㅤ●ㅤuser:用户名

ㅤㅤ●ㅤhostname:IP地址或域名

 第一次登录时会提示:

The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入yes,然后回车即可

这样会将该服务器的信息记录在~/.ssh/known_hosts文件

然后输入密码即可登录到远程服务器中

logout退出当前服务器

默认登录端口号为22,如果想登录某一特定端口

ssh user@hostname -p 22

4.1.2 配置文件

创建文件~/.ssh/config

然后在文件中输入

Host myserver1
    HostName IP地址或域名
    User 用户名

Host myserver2
    HostName IP地址或域名
    User 用户名

之后再使用服务器时,可以直接使用别名myserver1、myserver2

4.1.3 密钥登录

创建密钥:ssh-keygen

然后一直回车即可

执行结束后,~/.ssh/目录下会多两个文件:

ㅤㅤ●ㅤid_rsa:私钥

ㅤㅤ●ㅤid_rsa.pub:公钥

之后想免密码登录哪个服务器,就将公钥传给哪个服务器即可。例如,想免密登录myserver服务器。则将公钥中的内容,复制到myserver中的~/.ssh/authorized_keys文件里即可。

ㅤ也可以使用如下命令一键添加公钥:

ssh-copy-id myserver

4.1.4 执行命令

命令格式:

ssh user@hostname command

例如:

ssh user@hostname ls -a

或者

# 单引号中的$i可以求值
ssh myserver 'for ((i = 0; i < 10; i ++ )) do echo $i; done'
# 双引号中的$i不可以求值
ssh myserver "for ((i = 0; i < 10; i ++ )) do echo $i; done"

4.2 scp传文件

4.2.1 基本用法

命令格式:

scp source destination

source路径下的文件复制到destination

一次复制多个文件:

scp source1 source2 destination

复制文件夹:

scp -r ~/tmp myserver:/home/acs/

将本地家目录中的tmp文件夹复制到myserver服务器中的/home/acs/目录下。

scp -r ~/tmp myserver:homework/

将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。

scp -r myserver:homework .

将myserver服务器中的~/homework/文件夹复制到本地的当前路径下。

指定服务器的端口号:

scp -P 22 source1 source2 destination

注意: scp的-r -P等参数尽量加在source和destination之前。

使用scp配置其他服务器的vim和tmux

scp ~/.vimrc ~/.tmux.conf myserver:

 

相关文章:

Linux基础命令和基础知识总结

1. 常用文件管理命令介绍 (1) ctrl c: 取消命令&#xff0c;并且换行 (2) ctrl u: 清空本行命令 (3) tab键&#xff1a;可以补全命令和文件名&#xff0c;如果补全不了快速按两下tab键&#xff0c;可以显示备选选项 (4) ls: 列出当前目录下所有文件&#xff0c;蓝色的是文件夹&…...

Vue组件-非单文本组件

非单文本组件(用的少) 在vue中&#xff0c;组件是有两种编写格式的&#xff0c;第一种格式叫非单文本组件&#xff0c;第二种格式叫单文本组件 非单文本组件&#xff1a;一个文件中含有多个组件&#xff0c;也叫多文本组件&#xff0c;比如demo.html里面包含js,css… 单文本…...

停车场管理系统的设计与实现_kaic

目 录 1 概 述 1.1研究背景 1.2研究现状 1.3研究内容 2 相关技术简介 2.1 JSP技术 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 3 系统需求分析 3.1 系统可行性分析 3.1.1 操作可行性 3.1.2 经济可行性 3.1.3 技术可行性 3.2 系统性能分析 3.3系统流程分析 3.3.1注册流程 3.3.…...

seleniumUI自动化登录失败案例重新尝试WhileTrue

一个用户每次登录失败&#xff0c;失败N次&#xff0c;无法进入下一url时&#xff0c;怎样会重新尝试N次重新登录呢 &#xff1f; 我们可以使用wihile true判断&#xff0c;并使用currenturl判断&#xff0c;下面就介绍以下个人的方法 currenturlEGTconfigFile.driver.curren…...

前端开发之vue动态路由实现方案

前端开发之vue动态路由实现方案 前言2. 实现1、登录页面创建登录函数和watch监听路由2、调用的login方法&#xff08;1&#xff09;登录方法&#xff08;2&#xff09;存储token 3、router.push的时候调用路由守卫&#xff08;1&#xff09;创建路由守卫&#xff0c;建议路由守…...

JAVA接口的基本测试------JAVA入门基础教程

public class Interface {public static void main(String[] args){System.out.println(Flyable.max_speed);System.out.println(Flyable.min_speed);//类与接口是实现关系Bullet b new Bullet();b.attack();b.fly();Flyable f new Bullet();f.fly();} }interface Flyable {p…...

SLAM论文速递:SLAM—— 面向动态环境的多用途SLAM框架—4.25(1)

论文信息 题目&#xff1a; Multi-purpose SLAM framework for Dynamic Environment 面向动态环境的多用途SLAM框架论文地址&#xff1a; 2020 IEEE/SICE International Symposium on System Integration (SII)https://ieeexplore.ieee.org/abstract/document/9026299发表期刊…...

Dubbo 简易环境搭建以及使用(2)

目录 环境搭建 Dubbo的3种使用方式&#xff1a; 1. XML配置的方式&#xff0c;一般用于Spring MVC工程 2. 配置文件的方式 &#xff08;spring boot工程&#xff09; 3. 注解方式 Dubbo 控制台 环境搭建 本篇将介绍Spring boot zookeeper Dubbo 简易环境的搭建以及使用…...

免费无需魔法会语音聊天的ChatGPT

今天发现了一个很好的ChatGPT&#xff0c;可以语音聊天&#xff0c;而且免费无需魔法 角色目前包括夏洛克、雷电影等等&#xff0c;对话的声调完全模拟了原角色&#xff01; 目前只有英文和日语两种对话&#xff0c;我们可以文字输入或者语音输入&#xff0c;中文即可&#xff…...

springboot 参数统一处理

目录 一、普通参数:ParameterRequestWrapper 二、HttpHelper请求处理字符串工具类 三、实体json参数&#xff1a;RequestWrapper 四、过滤器&#xff1a;PostFilter 五、Controller 一、普通参数:ParameterRequestWrapper import javax.servlet.http.HttpServletRequest;…...

成就更强大的自己

每一次低谷&#xff0c;都会酝酿向上的力量。 每一次痛苦过后&#xff0c;都会洗涤掉心理深处的灰尘。 人生的路上&#xff0c;坎坷前行&#xff0c;只有保持积极向上的态度&#xff0c;才能把坎坷化为坦途。 走过一段路后&#xff0c;才发现&#xff0c;当内心强大、修养、爱…...

android 富文本编辑器有哪些

android 富文本编辑器有哪些 有许多优秀的开源富文本编辑器插件可用于Android平台&#xff0c;下面列举几个常用的&#xff1a; RichEditorView&#xff1a;这是一个基于Web技术的富文本编辑器插件&#xff0c;有多种编辑功能与选项。 Android Rich Text Editor&#xff1a;这…...

flex布局属性详解

Flex布局 flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content其他orderflexalign-self 含义:Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。 flex-direction flex-direction属性决定主轴的方向&…...

上传了ipa但iTunes Connect没有构建版本问题

上传了ipa但iTunes Connect没有构建版本问题 转载&#xff1a;上传了ipa但iTunes Connect没有构建版本问题 AU上传ipa出现下图红框提示说明成功上传&#xff0c;如果App Store后台没有出现构建版本&#xff0c;请登录 apple账号对应的邮箱查看反馈&#xff0c;特别留意垃圾邮…...

记录一次armbian系统搭建路由功能的失败过程

根据 使用 Debian 作为路由器 :: 星野玲的博客 https://blog.bling.moe/post/3/ 优化ubuntu dns解析&#xff0c;关掉systemd-resolved - MR__Wang - 博客园 https://www.cnblogs.com/xzlive/p/17139520.html ChatGPT 背景需求,新入手了一款RK3568系列的小主机,带有2*2.5G2*1…...

OpenGL与Metal API的Point Sprite

我们在实际用OpenGL等3D图形渲染API时 点图元 往往用得不多&#xff0c;而在粒子系统中可能也是用一个正方形来绘制一单个粒子。不过在当前大部分3D图形渲染API中都能支持用点图元来绘制一个具有纹理贴图的粒子&#xff0c;从早在OpenGL 1.4开始就能支持了&#xff0c;而在Open…...

从0搭建Vue3组件库(七):使用 gulp 打包组件库并实现按需加载

使用 gulp 打包组件库并实现按需加载 当我们使用 Vite 库模式打包的时候,vite 会将样式文件全部打包到同一个文件中,这样的话我们每次都要全量引入所有样式文件做不到按需引入的效果。所以打包的时候我们可以不让 vite 打包样式文件,样式文件将使用 gulp 进行打包。那么本篇文…...

Python入门教程+项目实战-11.4节: 元组与列表的区别

目录 11.4.1 元组与列表的区别 11.4.2 可变数据类型 11.4.3 元组与列表的区别 11.4.4 知识要点 11.4.5 系统学习python 11.4.1 不可变数据类型 不可变数据类型是指不可以对该数据类型进行修改&#xff0c;即只读的数据类型。迄今为止学过的不可变数据类型有字符串&#x…...

如何做好采购计划和库存管理?

“销售计划不专业且不稳定”“准确性低” “目前只按照过往销量和采购周期做安全库存&#xff0c;但欠货和滞销依然严重” 题主的问题其实蛮有代表性的&#xff0c; 也是传统采购和库存管理常常面临的问题&#xff1a; ① 前后方协作困难 采购/销售/财务工作相互独立&#x…...

客户管理系统的作用有哪些?

阅读本文您将了解&#xff1a;1.客户管理系统的作用&#xff1b;2.客户管理系统软件怎么用&#xff1b;3.客户管理的注意事项。 一、客户管理系统的作用 客户是企业的重要财富&#xff0c;因此客户管理是企业发展过程中至关重要的一部分&#xff0c;那么客户管理怎么做&#…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...