Skip to content

Instantly share code, notes, and snippets.

@k8scat
k8scat / harbor_delete_tags.rs
Created December 3, 2021 17:46
自动清理 harbor 镜像
use std::collections::HashMap;
use std::ops::Sub;
use std::str::FromStr;
use chrono::Duration;
use chrono::prelude::*;
use reqwest::header::{HeaderMap, HeaderName, HeaderValue};
extern crate base64;
const HARBOR_BASE_API: &str = "";
@k8scat
k8scat / main.py
Created December 4, 2021 20:17
华为4G无线路由器2 Pro 自动修改密码
import random
import string
import time
from selenium import webdriver
from selenium.webdriver.chrome.webdriver import WebDriver
from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webelement import WebElement
LOGIN_PASSWORD = ''
@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
@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 <[email protected]>
// @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 / 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
# 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!!!" [email protected] < $log
exit 2
}
# How to report a step along the process
function status_report() {
message=$1
@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'
@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 / 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",

Linux 命令行编辑快捷键

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

  • 命令行快捷键:
    • 常用:
      • Ctrl L :清屏
  • Ctrl M :等效于回车