基本命令

1. 进入插入模式:

  • i:在光标前插入
  • a:在光标后插入
  • o:在当前行下方插入新行

2. 退出插入模式:

  • Esc:退出插入模式回到普通模式

文件操作

3. 保存文件:

  • :w:保存文件
  • :w filename:另存为指定文件名

4. 退出 vim:

  • :q:退出 vim(如果文件已修改,需要使用 :q! 强制退出)
  • :wq:保存并退出

5. 撤销和重做:

  • u:撤销上一步操作
  • Ctrl-r:重做撤销的操作

文本操作

6. 全选文本:

  • ggVG:全选文件中的所有文本
    • gg:移动到文件开头
    • V:进入可视模式并选中整行
    • G:移动到文件末尾

7. 复制和粘贴:

  • y:复制选中的文本(在可视模式下)
  • yy:复制当前行
  • p:在光标后粘贴
  • P:在光标前粘贴

8.删除文本:

  • d:删除选中的文本(在可视模式下)
  • dd:删除当前行

9. 查找和替换:

  • /pattern:向前查找 pattern
  • ?pattern:向后查找 pattern
  • n:重复上一次查找(向前)
  • N:重复上一次查找(向后)
  • :%s/old/new/g:替换全文中的所有 old 为 new
  • :s/old/new/g:替换当前行中的所有 old 为 new

移动光标

10. 行内移动:

  • h:左移一个字符
  • j:下移一行
  • k:上移一行
  • l:右移一个字符

11. 单词间移动:

  • w:移动到下一个单词的开头
  • b:移动到上一个单词的开头
  • e:移动到当前/下一个单词的结尾

12. 行间移动:

  • 0:移动到行首
  • $:移动到行尾
  • gg:移动到文件开头
  • G:移动到文件末尾
  • :n:移动到第 n 行

可视模式

13. 进入可视模式:

  • v:字符可视模式
  • V:行可视模式
  • Ctrl-v:块可视模式

其他有用命令

14. 显示行号:

  • :set number:显示行号
  • :set nonumber:隐藏行号

15. 撤销和重做:

  • u:撤销上一步操作
  • Ctrl-r:重做撤销的操作

16. 删除到行尾:

  • D:删除从光标位置到行尾的所有内容

退出 vim

17. 退出 vim:

  • :q:退出 vim
  • :q!:强制退出,不保存修改
  • :wq:保存并退出

在 Git Bash 中,可以使用与 Linux 终端相同的命令来创建、删除文件夹和文件。以下是一些常用的命令:

文件夹操作

创建文件夹:

mkdir folder_name

删除文件夹:

rmdir folder_name          # 只适用于空文件夹
rm -r folder_name          # 删除非空文件夹及其内容

切换到另一个文件夹:

cd folder_name

返回上一级文件夹:

cd ..

显示当前路径:

pwd

列出文件和文件夹:

ls

文件操作

创建文件

touch filename              # 创建一个空文件
touch file1.html file2.css file3.js  # 同时创建多个文件

删除文件:

rm filename
rm file1.html file2.css file3.js  # 同时删除多个文件

复制文件:

cp source_file destination_file
cp source_file1 source_file2 destination_folder/  # 复制多个文件到目标文件夹

移动/重命名文件:

mv old_filename new_filename
mv filename destination_folder/
mv file1.html file2.css file3.js destination_folder/  # 移动多个文件

批量操作

批量创建文件夹:

mkdir folder1 folder2 folder3

批量删除文件夹:

rm -r folder1 folder2 folder3

批量创建文件:

touch file1.html file2.css file3.js

批量删除文件:

rm file1.html file2.css file3.js

其他有用命令

查看文件内容:

cat filename

编辑文件(使用内置编辑器,例如 nano):

nano filename

查找文件:

find . -name "filename"

概述

  • 开发者:Git for Windows(Git 社区)
  • 初次发布:2007年(作为 Git for Windows 的一部分)
  • 平台:Windows
  • 基础:基于 Unix Shell(例如 Bash)
  • 目的:提供在 Windows 上使用 Git 和类 Unix 环境的工具

特点

  1. Unix-like 环境:在 Windows 上模拟 Unix Shell 环境,提供常见的 Unix 命令。
  2. 轻量级:安装包小,资源占用少,启动速度快。
  3. Git 集成:集成了 Git 命令行工具,方便开发者进行版本控制操作。
  4. 简单易用:对于熟悉 Unix/Linux 的用户,Git Bash 提供了熟悉的命令和环境。

常用命令

列出文件和文件夹:

ls

创建文件夹

mkdir folderName

删除文件夹

rmdir folderName           # 只适用于空文件夹
rm -r folderName           # 删除非空文件夹及其内容

复制文件:

cp sourcePath destinationPath

移动文件:

mv sourcePath destinationPath

查看文件内容:

cat filename

在CloudWatch控制台中,选择“Alarms”。
点击“Create alarm”按钮。
在“Select metric”中,选择“EC2” -> “Per-Instance Metrics” -> 选择你的实例 -> 选择“StatusCheckFailed”。
点击“Select metric”。
配置警报条件:
统计数据(Statistic):选择最小值(Minimum)。
周期(Period):选择5分钟。
条件(Conditions):大于(>)
阈值(Threshold):0
点击“Next”。
在“Configure actions”中,选择“Create new topic”或选择一个已有的SNS topic。
配置通知的接收邮箱。
点击“Next”并完成配置。

使用 curl 查询 IP 信息

curl http://ip-api.com/json/

使用 geoiplookup 工具

安装 geoiplookup

查询 VPS 的位置

geoiplookup $(curl -s ifconfig.me)

使用 whois 命令
whois 命令可以查询 IP 地址的注册信息,这通常包含地理位置。
安装 whois

sudo yum install whois

查询VPS的位置

whois $(curl -s ifconfig.me)

检查本地 DNS 配置
确认本地的 DNS 配置没有影响到结果。可以尝试使用不同的 DNS 服务器来验证地理位置。您可以使用 Google 的公共 DNS 服务器 8.8.8.8 和 8.8.4.4,或者 Cloudflare 的公共 DNS 服务器 1.1.1.1 和 1.0.0.1。

配置本地 DNS
编辑 /etc/resolv.conf 文件:

sudo vim /etc/resolv.conf

将内容修改为:

nameserver 8.8.8.8
nameserver 8.8.4.4

SSH动态端口转发(也称为SSH隧道或SOCKS代理)是一个非常强大的功能
它能够通过SSH连接将本地计算机连接到另一个网络上的服务器,并将该服务器用作网络请求的代理。这个功能不仅可以用于安全地浏览互联网。

安全浏览

绕过网络限制: 如果你处于一个限制了访问特定网站的网络中,通过SSH动态端口转发可以安全地访问这些网站。
匿名浏览: 使用SSH隧道可以提高你浏览网站时的隐私性,因为你的网络流量会通过远程服务器转发。

开发与测试

访问受限的开发环境: 如果你需要访问部署在受限网络环境中的开发服务器,可以使用SSH隧道安全地访问这些资源。
数据库管理: 通过SSH隧道连接到远程数据库服务器,可以在本地运行数据库管理工具进行操作,而不需要直接暴露数据库端口。

远程工作

安全访问内部工具: 对于远程工作人员,通过SSH隧道可以安全地访问公司内网中的内部工具和服务。
文件传输: 虽然SCP和SFTP是更常用的SSH文件传输方法,但通过SSH隧道,你也可以安全地使用基于HTTP的文件管理界面。

游戏与娱乐

游戏:在某些情况下,使用SSH隧道可以减少游戏延迟或访问地区限制内容。

命令与配置

一个基本的SSH动态端口转发命令如下所示:

ssh -D 8080 -C -q -N 用户名@远程服务器地址
  • D 8080 指定了本地端口(在这个例子中是8080),SSH客户端会监听这个端口,并将通过SSH连接转发的流量作为SOCKS代理服务。
  • C 启用压缩,可以提高传输速度并减少数据使用。
  • q 启用静默模式,减少日志输出。
  • N 表示不执行远程命令,只进行端口转发。