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.客户管理的注意事项。 一、客户管理系统的作用 客户是企业的重要财富,因此客户管理是企业发展过程中至关重要的一部分,那么客户管理怎么做&#…...

Sqlmap手册—史上最全
Sqlmap手册—史上最全 一.介绍 开源的SQL注入漏洞检测的工具,能够检测动态页面中的get/post参数,cookie,http头,还能够查看数据,文件系统访问,甚至能够操作系统命令执行。 检测方式:布尔盲注、…...

《花雕学AI》13:早出对策,积极应对ChatGPT带来的一系列风险和挑战
ChatGPT是一款能和人类聊天的机器人,它可以学习和理解人类语言,也可以帮人们做一些工作,比如翻译、写文章、写代码等。ChatGPT很强大,让很多人感兴趣,也让很多人担心。 使用ChatGPT有一些风险,比如数据的质…...

windows开机启动软件、执行脚本,免登录账户
文章目录 前言一、打开任务计划程序1.我电脑上的是点搜索“任务计划程序”,可能每个电脑的搜索按钮不一样,自行查找2.打开后应该是长这样的 二、创建文件夹1.点击任务计划程序库、右键选择新建文件夹2.名字顺便,点击确定3.创建后如图、点击目…...

Rocky Linux 8 安装实时内核
【方法一:yum 安装】 在 /etc/yum.repos.d 目录下新建一个Rocky8-rt.repo安装rt内核和相关工具$ sudo yum install kernel-rt重启系统$ sudo reboot【方法二:rpm安装】 查看系统内核版本$ uname -a 4.18.0-425.3.1.el8_7.x86_64根据系统内核版本下载实…...

数据预处理(Data Preprocessing)
Data Preprocessing 前言Why preprocess?Major Tasks in Data PreprocessingData CleaningIncomplete (Missing) DataWhat to Consider When Handling Missing Data?MCARMARMNAR How to Handle Missing Data - ImputationMore on ImputationEven More on ImputationPreproces…...

MySQL数据库——MySQL WHERE:条件查询数据
在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。 使用 WHERE 关键字的语法格式如下: WHERE 查询条件 查询条件可以是: 带比较运算符和逻辑运算符的查询条件带 BETWEEN AND 关键字的查询…...

【JavaEE初阶】多线程(三)volatile wait notify关键字 单例模式
摄影分享~~ 文章目录 volatile关键字volatile能保证内存可见性 wait和notifywaitnotifynotifyAllwait和sleep的区别小练习 多线程案例单例模式饿汉模式懒汉模式 volatile关键字 volatile能保证内存可见性 import java.util.Scanner;class MyCounter {public int flag 0; }p…...

git把一个分支上的某次修改同步到另一个分支上,并解决git cherry-pick 冲突
背景 我们在工作中经常会碰到好几个同事共同在一个分支上开发,一个项目同时会有好几个分支,我们在feature上开发的功能时,有可能某个需求需要提前发布,这个时候我们已经在feature A上开发完成,但是需要在master上发布…...

S32K3系列单片机开发笔记(SIUL是什么/配置引脚复用的功能·)
前言 今天花时间看了一下,SIUL2模块的相关内容,并参照文档,以及例程作了一些小记录,知道该如何使用这个外设,包括引脚的配置,中断配置,以及常用函数的使用等,但对其中的一些细节还需…...

Linux没网络的情况下快速安装依赖或软件(挂载本地yum仓库源(Repository))
一、上传iso系统镜像: 上传和系统同一版本、同一位数(32bit:i686或i386/64bit:x86_64)的系统,不能是Minimal版本,可以是DVD(较全)或everything(最全)。 注&am…...