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.txtcp XXX YYY -r 将XXX目录(文件夹)复制到YYY下 非当前路径重命名方法:cp a.txt ../b.txt
(8) mkdir XXX: 创建目录XXXmkdir -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: 取消命令,并且换行 (2) ctrl u: 清空本行命令 (3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项 (4) ls: 列出当前目录下所有文件,蓝色的是文件夹&…...

Vue组件-非单文本组件
非单文本组件(用的少) 在vue中,组件是有两种编写格式的,第一种格式叫非单文本组件,第二种格式叫单文本组件 非单文本组件:一个文件中含有多个组件,也叫多文本组件,比如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
一个用户每次登录失败,失败N次,无法进入下一url时,怎样会重新尝试N次重新登录呢 ? 我们可以使用wihile true判断,并使用currenturl判断,下面就介绍以下个人的方法 currenturlEGTconfigFile.driver.curren…...

前端开发之vue动态路由实现方案
前端开发之vue动态路由实现方案 前言2. 实现1、登录页面创建登录函数和watch监听路由2、调用的login方法(1)登录方法(2)存储token 3、router.push的时候调用路由守卫(1)创建路由守卫,建议路由守…...
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)
论文信息 题目: Multi-purpose SLAM framework for Dynamic Environment 面向动态环境的多用途SLAM框架论文地址: 2020 IEEE/SICE International Symposium on System Integration (SII)https://ieeexplore.ieee.org/abstract/document/9026299发表期刊…...

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

免费无需魔法会语音聊天的ChatGPT
今天发现了一个很好的ChatGPT,可以语音聊天,而且免费无需魔法 角色目前包括夏洛克、雷电影等等,对话的声调完全模拟了原角色! 目前只有英文和日语两种对话,我们可以文字输入或者语音输入,中文即可ÿ…...
springboot 参数统一处理
目录 一、普通参数:ParameterRequestWrapper 二、HttpHelper请求处理字符串工具类 三、实体json参数:RequestWrapper 四、过滤器:PostFilter 五、Controller 一、普通参数:ParameterRequestWrapper import javax.servlet.http.HttpServletRequest;…...

成就更强大的自己
每一次低谷,都会酝酿向上的力量。 每一次痛苦过后,都会洗涤掉心理深处的灰尘。 人生的路上,坎坷前行,只有保持积极向上的态度,才能把坎坷化为坦途。 走过一段路后,才发现,当内心强大、修养、爱…...
android 富文本编辑器有哪些
android 富文本编辑器有哪些 有许多优秀的开源富文本编辑器插件可用于Android平台,下面列举几个常用的: RichEditorView:这是一个基于Web技术的富文本编辑器插件,有多种编辑功能与选项。 Android Rich Text Editor:这…...

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

上传了ipa但iTunes Connect没有构建版本问题
上传了ipa但iTunes Connect没有构建版本问题 转载:上传了ipa但iTunes Connect没有构建版本问题 AU上传ipa出现下图红框提示说明成功上传,如果App Store后台没有出现构建版本,请登录 apple账号对应的邮箱查看反馈,特别留意垃圾邮…...
记录一次armbian系统搭建路由功能的失败过程
根据 使用 Debian 作为路由器 :: 星野玲的博客 https://blog.bling.moe/post/3/ 优化ubuntu dns解析,关掉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时 点图元 往往用得不多,而在粒子系统中可能也是用一个正方形来绘制一单个粒子。不过在当前大部分3D图形渲染API中都能支持用点图元来绘制一个具有纹理贴图的粒子,从早在OpenGL 1.4开始就能支持了,而在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 不可变数据类型 不可变数据类型是指不可以对该数据类型进行修改,即只读的数据类型。迄今为止学过的不可变数据类型有字符串&#x…...

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

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

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...