Create multiple directories at once mkdir

สั้น !!
ความน่ารักและมีประโยชน์ของ Bash ก็คือบางอย่างเราก็สามารถลดเวลาได้ด้วยการทำ Script สั้น ๆ เช่นกรณีนี้ ต้องการสร้าง Directory ตามโครงสร้างนี้

├── config
│   └── webui
├── data
│   ├── director
│   ├── storage
│   └── webui
├── mysql
│   ├── data
│   └── log

เราสามารถใช้คำสั่งสั้น ๆ ข้างล่าง เพื่อสร้างโฟลเดอร์

mkdir -p {data/{director,storage,webui},config/webui,mysql/{data,log}}

และกรณีอื่น ๆ อีก ไปลองกันได้ว่าผลลัพธ์จะได้ออกมายังไง

mkdir test{1..50}
mkdir -p test{1..50}/sub{1..50}
mkdir {a-z}12345 
mkdir {1,2,3}
mkdir test{01..10}
mkdir -p `date '+%y%m%d'`/{1,2,3} 
mkdir -p $USER/{1,2,3}

จบปิ๊ง !!

transfer.sh – Easy file sharing from the command line

transfer.sh เป็นบริการ file sharing แบบต้องใช้ command line ตอนนี้ก็รองรับทั้งการฝากไฟล์ที่อยู่ในเครื่อง (local file) s3 (Amazon S3) และ gdrive (Google Drive) โดยฟีเจอร์หลัก ๆ ก็มี

  • ผ่าน shell command ได้ (Powershell ด้วย)
  • ขนาดไฟล์สูงสุดได้ 10 GB
  • ฝากไฟล์ได้ 14 วัน
  • เข้ารหัสไฟล์ได้
  • กำหนดเงื่อนไข (จำนวน) การดาวน์โหลด
  • ฟรี 👏👏👏

ตัวอย่างแบบเบสิคเลย

# Uploading is easy using curl
$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt
https://transfer.sh/66nb8/hello.txt

$ curl -H "Max-Downloads: 1" -H "Max-Days: 5" --upload-file ./hello.txt https://transfer.sh/hello.txt
https://transfer.sh/66nb8/hello.txt
# Download the file
$ curl https://transfer.sh/66nb8/hello.txt -o hello.txt

หรือจะเป็นการ Backup MySQL ก็ทำได้เหมือนกัน

# Backup, encrypt and transfer
$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt

* ถ้าใครสนใจลองเข้าไปใช้งานได้ที่เว็บ transfer.sh ส่วนตัวแล้วเป็นบริการที่ชอบเลย ด้วยความที่เป็นอะไรที่ใช้งานง่ายและมีประโยชน์จริง ๆ

** โปรเจคอยู่บน github (https://github.com/dutchcoders/transfer.sh) จะเอามาทำใช้เองก็ได้มี Docker ให้ด้วย