Skip to content

Instantly share code, notes, and snippets.

View k8scat's full-sized avatar
🇨🇳

K8sCat k8scat

🇨🇳
View GitHub Profile
@k8scat
k8scat / port_forwarding.sh
Created September 1, 2023 03:32
ssh port_forwarding functions
# read in zsh is different from bash
# https://superuser.com/questions/555874/zsh-read-command-fails-within-bash-function-read1-p-no-coprocess
# in bash, read -p "prompt" var
# but in zsh, read "var?prompt"
function port_forwarding_local() {
echo "port forwarding to remote server"
read "local_host?local_host (default is empty): "
read "local_port?local_port: "
if [[ -z "${local_port}" ]]; then
@k8scat
k8scat / docker-delete-volume-force.sh
Created December 13, 2022 09:34
[Docker] Delete volume force
volume=""
err=$(docker volume rm $volume 2>&1)
echo "err: $err"
container_ids=$(echo $err | awk -F'[' '{print $2}' | awk -F']' '{print $1}')
echo "ids: $ids"
IFS=', '
for container_id in $container_ids; do
echo "delete container: $container_id"

Linux 命令行编辑快捷键

初学者在Linux命令窗口(终端)敲命令时,肯定觉得通过输入一串一串的字符的方式来控制计算是效率很低。 但是Linux命令解释器(Shell)是有很多快捷键的,熟练掌握可以极大的提高操作效率。 下面列出最常用的快捷键,这还不是完全版。

  • 命令行快捷键:
    • 常用:
      • Ctrl L :清屏
  • Ctrl M :等效于回车
@k8scat
k8scat / es-query.json
Last active November 30, 2022 09:55
TooManyClauses[maxClauseCount is set to 1024]
{
"fields": [
"uuid",
"owner_uuid",
"team_uuid",
"project_uuid",
"reference_id",
"reference_type",
"type",
"ext_id",
@k8scat
k8scat / Makefile
Created November 21, 2022 18:14 — forked from isaacs/Makefile
# Hello, and welcome to makefile basics.
#
# You will learn why `make` is so great, and why, despite its "weird" syntax,
# it is actually a highly expressive, efficient, and powerful way to build
# programs.
#
# Once you're done here, go to
# http://www.gnu.org/software/make/manual/make.html
# to learn SOOOO much more.
@k8scat
k8scat / ssh-connect-failed.txt
Created October 26, 2022 16:10
SSH connect failed
$ ssh -vvv xxx-dev
OpenSSH_9.0p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/k8scat/.ssh/config
debug1: /Users/k8scat/.ssh/config line 4: Applying options for *
debug1: /Users/k8scat/.ssh/config line 76: Applying options for xxx-dev
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug2: resolve_canonicalize: hostname 113.13.120.21 is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/k8scat/.ssh/known_hosts'
# What to do when mysqldump fails
function report_mysqldump_fail() {
cat $scratch/${filename}_raw.err >> $log
mailx -s "mysqldump failed for DB $db_name on $HOSTNAME!!!" emailme@none.com < $log
exit 2
}
# How to report a step along the process
function status_report() {
message=$1
@k8scat
k8scat / sync_home.sh
Last active April 21, 2022 04:51
Sync user home between two remote servers.
#!/bin/bash
# server1 and server2 are defined in ~/.ssh/config
users=$(ssh server1 "ls /home")
for user in ${users}; do
user_home_found=$(ssh server2 "ls /home" | grep "${user}")
if [[ -n "${user_home_found}" ]]; then
echo "user home already created: ${user}"
continue
fi
@k8scat
k8scat / github.js
Last active February 24, 2022 02:41 — forked from ye11ow/github.js
Add a "Copy link" button to Github issue and pull requests
// ==UserScript==
// @name Copy Link for GitHub Issues and PRs
// @namespace http://tampermonkey.net/
// @version 0.2
// @description Add a "Copy link" button to Github issue and pull requests
// @author ye11ow, K8sCat <k8scat@gmail.com>
// @match https://github.com/*
// @include https://github.com/*/issues/*
// @include https://github.com/*/pull/*
// @icon https://www.google.com/s2/favicons?domain=github.com
@k8scat
k8scat / gist:213820c0204f452d5c67295c406b78fd
Created January 9, 2022 13:05 — forked from cdown/gist:1163649
Bash urlencode and urldecode
urlencode() {
# urlencode <string>
old_lc_collate=$LC_COLLATE
LC_COLLATE=C
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:$i:1}"
case $c in