บทนำ
เมื่อคุณทำงานกับคอมพิวเตอร์ตลอดวัน การค้นพบคำสั่งที่ใช้ซ้ำได้และติดป้ายกำกับไว้เพื่อใช้งานง่ายในภายหลัง ถือเป็นสิ่งที่ยอดเยี่ยม พวกมันทั้งหมดนิ่งๆ อยู่ใน ~/.bashrc (หรือ ~/.zshrc สำหรับผู้ใช้ Zsh) รออยู่เพื่อช่วยปรับปรุงวันของคุณ!
ในบทความนี้ ผมจะแบ่งปันคำสั่งช่วยเหลือโปรดของผมสำหรับสิ่งต่างๆ ที่ผมมักลืม บอกเลยว่า มันจะช่วยประหยัดเวลาและความหงุดหงิดของคุณได้มาก
แจ้งเตือนเมื่อเสร็จสิ้น
เมื่อผมใช้คำสั่งที่รันนาน ผมมักทำงานหลายอย่างพร้อมกัน แล้วต้องกลับไปตรวจสอบว่าการดำเนินการเสร็จสิ้นหรือยัง แต่นี่ก็ไม่เป็นปัญหาอีกต่อไป ด้วยการเรียกใช้ say ที่เป็นประโยชน์นี้ (นี่คือบน MacOS; เปลี่ยนเป็นตัวเทียบเท่าของระบบของคุณ):
function looooooooong {
START=$(date +%s.%N)
$*
EXIT_CODE=$?
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
RES=$(python -c "diff = $DIFF; min = int(diff / 60); print('%s min' % min)")
result="$1 completed in $RES, exit code $EXIT_CODE."
echo -e "\n⏰ $result"
( say -r 250 $result 2>&1 > /dev/null & )
}
คำสั่งนี้บันทึกเวลาเริ่มต้นและสิ้นสุดของคำสั่ง คำนวณนาทีที่ใช้ และอ่านออกเสียงคำสั่งที่เรียกใช้ เวลาที่ใช้ และรหัสการออก ผมพบว่ามันช่วยได้มากมายเมื่อแค่เสียงเตือนของคอนโซลไม่พอ
ลัดทางการติดตั้ง
ผมเริ่มใช้ Ubuntu ตั้งแต่ยุค Lucid และหนึ่งในสิ่งแรกที่ต้องเรียนรู้คือวิธีติดตั้งแพ็กเกจ และหนึ่งในอีลิอัสแรกที่ผมเพิ่มคือตัวช่วยสำหรับเรื่องนี้ (ตั้งชื่อจากมีมในสมัยนั้น):
alias canhas="sudo apt-get install -y"
การลงนาม GNU Privacy Guard (GPG)
ในโอกาสที่ผมต้องลงนามอีเมล GPG โดยไม่มีส่วนขยายหรือแอปพลิเคชันช่วย ผมจะลงไปใช้บรรทัดคำสั่งและใช้อีลิอัสที่ "เก่ง" อยู่แล้วนี้:
alias gibson="gpg --encrypt --sign --armor" alias ungibson="gpg --decrypt"
Docker
มีคำสั่ง Docker หลายคำสั่ง แต่มีคำสั่ง docker compose มากกว่านั้นอีก ผมเคยลืมแฟล็ก --rm บ่อยครั้ง แต่นี่ก็ไม่เป็นปัญหาอีกต่อไปด้วยอีลิอัสที่มีประโยชน์เหล่านี้:
alias dc="docker-compose" alias dcr="docker-compose run --rm" alias dcb="docker-compose run --rm --build"
gcurl ช่วยสำหรับ Google Cloud
อันนี้ค่อนข้างใหม่สำหรับผม แต่มีเอกสารมาก gcurl เป็นอีลิอัสที่ช่วยให้คุณได้แฟล็กที่ถูกต้องทั้งหมดเมื่อใช้คำสั่ง curl ท้องถิ่นกับส่วนหัวการรับรองความถูกต้องขณะทำงานกับ Google Cloud APIs
Git และ ~/.gitignore
ผมทำงานกับ Git มาก ดังนั้นผมจึงมีส่วนพิเศษสำหรับ Git helpers
หนึ่งใน helpers ที่มีประโยชน์ที่สุดคืออันที่ผมใช้โคลน GitHub repos แทนที่จะต้องรัน:
git clone git@github.com:org/repo /Users/glasnt/git/org/repo
ผมตั้งค่าฟังก์ชัน clone:
clone(){
echo Cloning $1 to ~/git/$1
cd ~/git
git clone git@github.com:$1 $1
cd $1
}
แม้ผมจะลืมเสมอและหัวเราะทุกครั้งที่ดูไฟล์ ~/.bashrc ของผม ผมก็มีคำสั่ง "refresh upstream":
alias yoink="git checkout master && git fetch upstream master && git merge upstream/master"
อีก helper หนึ่งสำหรับ Git-ville คือไฟล์ global ignore ใน git config --global --list คุณควรเห็น core.excludesfile หากไม่มี ให้สร้างหนึ่งแล้วเติมสิ่งที่คุณมักวางในไฟล์ .gitignore แต่ละอัน สำหรับนักพัฒนา Python บน MacOS ของผม คือ:
.DS_Store # ไฟล์ขยะของ macOS venv/ # ผมไม่ต้องการ commit virtualenv *.egg-info/* # ... และแพ็กเกจที่คอมไพล์ในเครื่อง __pycache__ # ... หรือ source *.swp # ... หรือไฟล์ที่เปิดอยู่ใน vim
คุณสามารถหาคำแนะนำอื่นๆ ได้ที่ Gitignore.io หรือ GitHub repo ของ Gitignore
คุณลองดูสิ
คำสั่งช่วยเหลือโปรดของคุณคืออะไร? โปรดแบ่งปันในความคิดเห็น