Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录
目录
1. 常用命令
2. vim一般使用
3. SSH介绍
4. ssh密钥登录
1. 常用命令
1)# 与 $ 提示的区别
'#' 表示用户有root权限,一般的以root用户登录提示符为#, '$'提示符表示用户为普通用户
2)ifconfig
查看ip地址
- eno1: 代表由主板bios内置的网卡
- ens1:代表主板bios内置的PCI_E网卡
- enp2s0: PCI-E独立网卡
- eth0: 如果以上都不用,则返回默认的网卡名
ens33则属于第二种类型,即说明你的网卡是内置的PCI-E网卡,
这是由网卡特性命名的可以在 /etc/sysconfig/network-scripts/ifcfg-ens33修改名字
如果提示“未找到命令”,则需要安装net-tools工具包。
(centos系统中运行: yum install net-tools)
3) su
命令格式
su 用户名
linux用户切换,切换到root用户需要输入密码。临时使用root权限使用 sudo
4) cd
cd 目录名 进入目录
cd .. 返回上级目录
cd ~ 进入当前用户的home目录
5) 目录查看
ls 显示当前目录下的所有文件及子目录
ll 以详细信息的方式展示当前目录下的文件及子目录
dir 显示当前目录下的所有文件
pwd 显示当前路径
clear 清空屏幕显示
6) 查看文件内容
cat 只可以查看内容不能编辑
vi或vim 可查看可编辑
7)创建目录及文件
mkdir 创建目录,
语法: mkdir -选项 -参数
选项:
- -m 创建目录时同时设置文件的权限
- -p 如果上级目录没有创建,即创建输入路径上的所有目录
touch 创建文件
8)复制和移动
cp 复制
示例:
-
将文件cangls复制奥tmp目录下
cp cangls /tmp/ -
将目录/root/movie下的所有内容, 复制到 tmp目录下(注意:-r 参数有递归复制的意思)
cp -r /root/movie/ /tmp/
mv 移动或重命名
语法:mv [options] source dest
参数说明:
-i 若指定目录已有同名文件, 则先询问是否覆盖旧文件,i有交互的意思
-f 在mv操作要覆盖某已有的目标文件时不给任何提示,直接覆盖。
9)其他
reboot 重启系统
shutdown -r now 重启
shutdown -h row 关机
cat /etc/issue 查看当前正在运行的ubuntu的版本号
10) tar
命令格式: tar [参数] 文件
常用参数:
x: 从压缩的文件中提取文件 (解压)
c: 建立新的压缩文件(加压)
t:显示压缩的文件
v: 显示操作过程
z: 通过gzip指令来处理备份文件
示例:
tar -czvf test.tar.gz a.c 作用: 压缩 a.c文件为test.tar.gz
tar -tzvf test.tar.gz 作用: 列出test.tar.gz中包含的文件。
tar -xzvf test.tar.gz 作用: 解压文件
tar --exclude=abc/1.txt -zcvf abc.tgz abc 作用: 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tgz
11) which
查找可执行文件的位置
示例: which ifconfig
12) whereis
查找文件的位置
13) find
查找文件或目录
格式: find [位置] [选项] 文件名 -print
示例:
-
查找etc目录中,所有文件名以host开头的文件。
find /etc -name 'host*' -
查找当前用户的home目录中所有的log文件
find ~ -name "*.log" -print -
查找当前目录及子目录中文件名以一个大写字母开头的文件
find . -name "[A-Z]*" -print -
从根目录查找文件名为test开头的所有文件
find / -name "test*" -print -
当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件
find . -perm 755 -print -
在$HOME目录中查找文件属主为test的文件
find ~ -user test -print -
查找属主帐户已经被删除的文件,可以使用-nouser选项。在/home目录下查找所有的这类文件
find /home -nouser -print -
在/apps目录下查找属于gem用户组的文件
find /apps -group gem -print -
查找没有有效所属用户组的所有文件
find / -nogroup -print -
从根目录开始查找5天内被更改的文件
find / -mtime -5 -print -
在目录/etc中查找3日之前更改的文件
find /etc -mtime +3 -print -
在/etc目录下查找所有的目录
find /etc -type d -print -
在/etc目录下查找所有的符号链接文件
find /etc -type l -print
14) chmod
改变文件的存取权限
命令格式:
chmod [options] mode files
mode:
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
-
- 表示增加权限、- 表示取消权限、= 表示唯一设定权限
- r 表示可读取,w 表示可写入,x 表示可执行
options:
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f: 文件权限无法修改,不显示错误信息
- -r: 对当前目录下的所有文件和子目录进行递归修改
示例:
-
给file文件的所有者增加可执行权限
chmod u+x file -
给file的所有者分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
第一种方式: chmod 751 file
第二种方式: chmod u=rwx, g=rx, o=x file -
为所有用户分配读权限
chmod =r file
chmod a-wx, a+r file
这两种命令作用相同 -
递归地给directory目录下所有文件和子目录的所有者分配读的权限
chmod -r u+r directory
2. vim一般使用
i 进入编辑模式,vim打开文件后,默认在命令模式,点击i键方可进入编辑模式
esc 点击esc键退出编辑模式,这是可以输入':'输入命令。
| 符号 | 意义 |
|---|---|
| i | 进入编辑模式,vim打开文件后,默认在命令模式,点击i键方可进入编辑模式 |
| esc | 退出编辑模式,进入命令模式 |
| :w | 写入 |
| :q | 退出,如果修改了内容则这种不能退出,如果需要强制退出则使用q! |
| :wq | 写入并退出 |
| :q! | 强制退出,不写入 |
| dd | 删除当前行(编辑模式下) |
| ndd | 删除n行(编辑模式下) |
| /string | 搜索字符串(编辑模式下), 按n查找下一个,N上一个,/str$表示匹配行尾的str, 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找,例如:/foo\c将会查找所有的"foo","FOO","Foo"等字符串 |
| :s | (substitute)命令用来查找和替换字符串,语法::{作用范围}s/{目标}/{替换}/{替换标志}; 例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g),:s/foo/bar/g 替换当前行,:%s /foo/bar /g 全局替换 |
| :%d | %是匹配所有行,d是删除的意思, 该命令将清空打开的文件的内容 |
| :$ | 跳到文件尾部 |
| :n | 跳到n行 |
| u | 撤销上一步的操作 |
| Ctrl+r | 恢复上一步被撤销的操作 |
3. SSH介绍
1) 什么是SSH
SSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全
2)SSH服务端和客户端
SSH服务端是一个守护进程,一遍为sshd进程,在后端运行并响应来自客户端的请求。
SSH客户端常用的有BvSsh,SecureCRT,putty等。
3)基本工作机制
- 客户端发送一个请求到服务端
- 服务端做数据验证,如包及ip地址等,在发送一个秘钥给ssh客户端
- 客户端再将密钥发回服务端,自此建立连接
4. ssh密钥登录
1) 首先在服务器中创建密钥对
[root@localhost .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+LTzDddLCyrFVb9bHRMnOssHgOGJbffji/NV5/hPAEA root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .+E |
| +.... o..|
| . = ...o oo|
| o . .=. o.|
| . S. oo+. B|
| o .o.oo.*+|
| +.. +.= =|
| .o.* = * |
| .+o+ o +|
+----[SHA256]-----+
在创建的过程中会提示输入密码,在次不用输入,直接回车即可,创建的密钥对默认放当前登录用户的家目录下的.ssh目录中。
2)在服务器中安装公钥
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys id_rsa id_rsa.pub
注:此处特别要注意文件名称不能错误(包括大小写), 存放公钥的文件名为: authorized_keys。多个用户多需要登录linux,每个用户都需要密钥,则可以只用上面的追加命令直接将多个用户的公钥直接追加进去即可。
3) 设置文件权限
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# chmod 700 ~/.ssh
- 设置ssh的配置文件
[root@localhost .ssh]# vim /etc/ssh/sshd_config
修改如下的配置:
# 加密算法
RSAAuthentication yes# 使用密钥进行认证
PubkeyAuthentication yes
5)重启ssh服务
[root@localhost .ssh]# systemctl restart sshd
- 拷贝私钥到PC端(注意:是私钥 id_rsa),使用软件导入秘钥,然后测试登录
xshell配置如下:

bitvise配置:

点击出现如下图:

相关文章:
Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录
目录 1. 常用命令 2. vim一般使用 3. SSH介绍 4. ssh密钥登录 1. 常用命令 1)# 与 $ 提示的区别 # 表示用户有root权限,一般的以root用户登录提示符为#, $提示符表示用户为普通用户 2)ifconfig 查看ip地址 eno1: 代表由主板…...
Hadoop技术与应用的习题
第一章测验 1、下面哪个选项不属于Google的三驾马车? A.HDFS B.MapReduce C.BigTable D.GFS 2、下面哪个思想是为了解决PageRank(网页排名)的问题? A.GFS B.BigTable C.MapReduce D.YARN 3、GFS 存储的文件都被分割成固定大小的…...
4.4 抗锯齿
一、锯齿是怎么产生的 二、抗锯齿介绍 1.SSAA(super sample anti-aliasing) 拿4xSSAA举例子,假设最终屏幕输出的分辨率是800x600, 4xSSAA就会先渲染到一个分辨率1600x1200的buffer上,然后再直接把这个放大4倍的buffer下采样至800x600。这种做法在数学上…...
vue-router 路由权限,路由导航守卫
addRouter() 添加路由 使用场景 列如:菜单权限的分配(管理员与用户不一致) 根据后台返回 参数 定义isAdmin根据isAdmin 分配 let isAdmin true // 添加路由 可以传参 一级路由名称 来添加二级路由 if (isAdmin) {router.addRoute({path: /…...
2022最新版-李宏毅机器学习深度学习课程-P49 GPT的野望
GPT→类似于Transformer Encoder 训练任务:Predict Next Token 使用MASK-attention,不断预测“下一个token”。 可以用GPT生成文章。 How to use GPT? 给出描述和例子 给出前半段,补上后半段 In-context Learning(no GD) 结果 目前看起…...
应用软件安全编程--28SSL 连接时要进行服务器身份验证
当进行SSL 连接时,服务器身份验证处于禁用状态。在某些使用SSL 连接的库中,默认情况下不 验证服务器证书。这相当于信任所有证书。 对 SSL 连接时要进行服务器身份验证的情况,示例1给出了不规范用法(Java 语言)示例。示例2 给出了规范用法(J…...
深度学习之七(深度信念网络和受限玻尔兹曼机器)
概念 深度信念网络(Deep Belief Networks,DBN)和受限玻尔兹曼机器(Restricted Boltzmann Machines,RBMs)都是无监督学习的模型,通常用于特征学习、降维和生成数据。 受限玻尔兹曼机器(RBM): 结构: RBM 是一个两层神经网络,包括一个可见层和一个隐藏层。这两层之间…...
CTF-PWN-QEMU-前置知识
文章目录 QEMU 内存管理(QEMU 如何管理某个特定 VM 的内存)MemoryRegion gpa->hpaFlatView:表示MR 树对应的地址空间FlatRange:存储不同MR对应的地址信息AddressSpace:不同类型的 MemoryRegion树RAMBlock总体简化图 QEMU 设备模拟 &#x…...
iEnglish全国ETP大赛:教育游戏助力英语习得
“seesaw,abacus,sword,feather,frog,lion,mouse……”11月18日,经过3局的激烈较量,“以过客之名队”的胡玲、黄长翔、林家慷率先晋级“玩转英语,用iEnglish”第三届全国ETP大赛的16强,在过去的周末中,还有TIK徘徊者队、不负昭华队、温柔杀戮者队先后晋级。据悉,根据活动规则,在…...
租车系统开发/多功能租车平台微信小程序源码/汽车租赁系统源码/汽车租赁小程序系统
源码介绍: 多功能租车平台微信小程序源码,作为汽车租赁、摩托车租车平台系统源码,是小程序系统。基于微信小程序的汽车租赁系统源码。 开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclip…...
Nevron Vision for .NET 2023.1 Crack
Nevron Vision for .NET 适用于桌面和 Web 应用程序的高级数据可视化 Nevron Vision for .NET提供最全面的组件,用于构建面向 Web 和桌面的企业级数据可视化应用程序。 该套件中的组件具有连贯的 2D 和 3D 数据可视化效果,对观众产生巨大的视觉冲击力。我…...
基于Python的新浪微博爬虫程序设计与实现
完整下载:基于Python的新浪微博爬虫程序设计与实现.docx 基于Python的新浪微博爬虫程序设计与实现 Design and Implementation of a Python-based Weibo Web Crawler Program 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 研究目的 5 1.3 研究意义…...
Java架构师发展方向和历程
目录 1 导论2 架构师的三观培养3 架构师的遇到的困难4 架构师职责5 架构师之路6 架构师的发展方向7 应用领域架构师8 业务架构师9 系统架构师和企业架构师10 技术路线和演进规划11 一线大厂的技术生态拓张案例12 如何推进项目落地想学习架构师构建流程请跳转:Java架构师系统架…...
CUDA与GPU编程
文章目录 CUDA与GPU编程1. 并行处理与GPU体系架构1.1 并行处理简介1.1.1 串行处理与并行处理的区别1.1.2 并行处理的概念1.1.3 常见的并行处理 1.2 GPU并行处理1.2.1 GPU与CPU并行处理的异同1.2.2 CPU的优化方式1.2.3 GPU的特点 1.3 环境搭建 CUDA与GPU编程 1. 并行处理与GPU体…...
C# 执行Excel VBA宏工具类
写在前面 在Excel文档的自动化处理流程中,有部分值需要通过已定义的宏来求解,所以延伸出了用C# 调用Excel中的宏代码的需求。 首先要从NuGet中引入Microsoft.Office.Interop.Excel 类库 using Excel Microsoft.Office.Interop.Excel; 代码实现 /// &l…...
acwing算法基础之数学知识--求组合数基础版
目录 1 基础知识2 模板3 工程化 1 基础知识 (一) 组合数 C n k C_n^k Cnk的计算公式, C n k n ⋅ ( n − 1 ) ⋯ ( n − k 1 ) 1 ⋅ 2 ⋯ k C_n^k\frac{n\cdot(n-1)\cdots(n-k1)}{1\cdot 2\cdots k} Cnk1⋅2⋯kn⋅(n−1)⋯(n−k1) …...
SpringBoot中的classpath都包含啥
一句话总结:classpath 等价于 main/java main/resources 第三方jar包的根目录。下面详细解释。 参考:SpringBoot中的classpath...
新王加冕,GPT-4V 屠榜视觉问答
当前,多模态大型模型(Multi-modal Large Language Model, MLLM)在视觉问答(VQA)领域展现了卓越的能力。然而,真正的挑战在于知识密集型 VQA 任务,这要求不仅要识别视觉元素,还需要结…...
python之TCP的网络应用程序开发
文章目录 版权声明python3编码转换socket类的使用创建Socket对象Socket对象常用方法和参数使用示例服务器端代码客户端代码 TCP客户端程序开发流程TCP服务端程序开发流程TCP网络应用程序注意点socket之send和recv原理剖析send原理剖析recv原理剖析send和recv原理剖析图 多任务版…...
Axios 拦截器 请求拦截器 响应拦截器
请求拦截器 相当于一个关卡,如果满足条件就放行请求,不满足就拦截 响应拦截器 在处理结果之前,先对结果进行预处理,比如:对数据进行一下格式化的处理 全局请求拦截器 axios.interceptors.request.use(config > { /…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
