Linux 3:Shell常用命令

news/2024/7/16 8:43:16 标签: linux, 运维, 服务器

1 常用命令

0常用命令

需求快捷键
补齐文件名test_1000TPS.jmxvi test[TAB]
找当前环境中有mk开头的命令mk[TAB][TAB]
想重新执行刚才输入的命令上键
按完上键、出来的命令很长,我又不想要了,不想一个一个字母的去删除 (向前删除字符:从最左处到光标位置的字符全部删除)

Ctrl +u

向后删除字符:从当前位置到最后的字符全删掉Ctrl +k
移动光标到最左边

Ctrl +a

比如本来是vi XXXXX.jmx

现在想改成cat XXXXX.jmx,就用Ctrl+a

移动光标到最右边Ctrl+e

1 命令别名alias

需求快捷键
列出当前的所有命令别名

alias

新增一个别名,只在本次terminal生效,新打开terminal不生效

比如:

alias j='cd /opt/jmeter/;ll'

alias h='history'

取消命令别名unalias j
新增一个别名,永远生效:不然我每次打开一个新terminal都需要配置一次,很麻烦

1 ls -al  

能看到4条bash相关的文件。

.bash_history

.bash_logout

.bash_profile

.bashrc

2 vi .bashrc

新增一条或多条数据,比如:

alias ud='ssh userName@IP'

alias uc='ssh userName@IP'

alias ur='scp userName@IP:/home/userName/result/* .'

3 重启让这个更改生效:

source ~/.bashrc

2 列出历史命令history

旧的记录被删除,仅保留最新的。那么具体可以保存多少条呢?取决于配置参数HISTSIZE。

需求         快捷键
列出历史命令

alias h='history'

h

结果是很多条数据:

id日期时间命令
10142024-07-04 23:00alias
10152024-07-04 23:02h

具体保存多少条history到~/.bash_history文件呢?

echo {$HISTSIZE}

值为1000

执行我上一次的执行命令

比如我最新的一次是h:那执行完后再显示history

1 按上键或者

2 !!  

执行第1014条命令

!1014

执行alias

执行最近一次:以al开头的命令

!al

就还是执行alias

同一账号同时多次登录最后注销的bash的history会被保存下来,之前bash的历史记录被刷新了,就不会被保存。
history -c删除当前Shell中的所有history记录

3 Putty免密码登录terminal

问题:每次登录都需要输入用户名密码,很不方便。

解决思路:设置免密登录,这样我每次双击下,就可以直接连接成功跳板机了。

解决方案:Putty通过session(会话),可以保存登录信息。设置好后,下次双击就可以登录,不用再输入用户名和密码了。

1 用putty提供的软件puttygen生成公钥和私钥。

2 把公钥放到远程服务器上。

先用账号密码的方式登录到服务器,然后执行命令

注意:双引号之间的内容就是自己的公钥

echo "ssh-rsa AAAAAAAAAAAAAAAAAAAAAa== www.puttylink.com" >>~/.ssh/authorized_keys

3 把私钥放到本地电脑。

点击"Save private key"保存到本地,比如C:\putty\privateKey.ppk

4 在putty中配置私钥

1 创建一个session,填写ip、端口、session名字,点击'Save'按钮。

2 左边Connection->Data:

Auto-login username: 工号、

when username is not specified: Prompt

3 putty配置私钥

左边Connection->SSH->Auth->Credential->Private key file for authorization: 选择上一步保存好的私钥。

4 操作完后,最后返回左上角的session,再次点击Save进行保存。

5 验证信息保存好了没?

左上角session,选中这个sessionName,点击Load按钮

- 去到Connection->Data,检查auto-login username对着没?

-Connection->SSH->Auth->Credential->Private key file for authorization:检查私钥路径好着没?

5 直接双击session名,就可以免密登录成功啦。

再也不用每次吭哧吭哧输入username和password了。

2变量

需求快捷键
打印出某个变量的值echo $Key
设置或修改变量的值

Key=Value

1 Key只能是字母、数字,且数字不能开头

2 Key/Value都不能带空格,如果变量要带空格:可以用单引号或双引号括起来、或者用\转义

-单引号里只能有一般字符,比如:

var='lang is $LANG'

echo $var      --->lang is $LANG

-双引号里可以带特殊字符,可保持原本特性。比如:

var="lang is $LANG"

echo $var      --->lang is en_US.UTF-8

-用\转义

var=lang\ is\ $LANG

echo $var      --->lang is en_US.UTF-8

3

再echo $KEY,就会返回我刚才设置的value


http://www.niftyadmin.cn/n/5542975.html

相关文章

Redis官方可视化管理工具

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl RedisInsight是一个Redis可视化工具,提供设计、开发和优化 Redis 应用程序的功能。RedisInsight分为免费的社区版和一个付费的企业版,免费版具有基本…

20240707 每日AI必读资讯

🧠中国生成式AI专利数量超过美国 6 倍 - 中国在2014年至2023年期间申请的生成式AI专利数量达到38210个,超过了美国的6倍。 - 腾讯、平安保险集团和百度是GenAI专利数量最多的中国公司。 - 中国的顶级学术机构和技术生态为生成式AI的发展提供了强大支持…

Go语言--复合类型之map、结构体

map Go 语言中的 map(映射、字典)是一种内置的数据结构,它是一个无序的 key-value 对的集合,比如以身份证号作为唯一键来标识一个人的信息。 格式 map [keyType]valueType 在一个 map 里所有的键都是唯一的,而且必须是支持和!操作符的类型…

Android SurfaceFlinger——创建EGLContext(二十五)

前面文章我们获取了 EGL 的最优配置,创建了 EGLSurface 并与 Surface 进行了关联,然后还需要获取 OpenGL ES 的上下文 Context,这也是 EGL 控制接口的三要素(Displays、Contexts 和 Surfaces)之一。 1)getInternalDisplayToken:获取显示屏的 SurfaceControl 令牌(Token…

C# Winform项目中简单使用Sqlite并在DataGridview中显示

1. SQLite概述 1.1 什么是 SQLite? SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 1.2 为什么要用 …

opencv_C++学习笔记(入门30讲)

文章目录 1.配置开发环境2.图像读取与显示3.图像色彩空间转换4.图像对象的创建与赋值5.图像像素的读写操作6.图像像素的算数操作7.滚动条-调整图像亮度8.滚动条-调整对比度和亮度9.键盘响应操作10.图像像素的逻辑操作11.图像的通道分离和合并12.图像色彩空间转换13.图像的像素值…

JVM专题之垃圾收集算法

标记清除算法 第一步:标记 (找出内存中需要回收的对象,并且把它们标记出来) 第二步:清除 (清除掉被标记需要回收的对象,释放出对应的内存空间) 缺点: 标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需 要分配较大对象时,无法找到…

开发一个微信小程序需要用到哪些技术?

开发一个微信小程序需要用到以下几种技术: 1. 基础技术 HTML: 用于定义小程序的页面结构。CSS: 用于页面的样式设计。JavaScript: 用于实现页面的交互功能。 2. 微信小程序专用技术 WXML(WeiXin Markup Language): 类似于HTML&#xff0c…