bash tips
- Showing file/directory size on the current directory.
du -sh * | sort -h
- Show device-type about current directory.
df . | awk 'NR==2{print $1}' | sed 's|/dev/||' | xargs -I{} sh -c 'echo -n "{}: " && awk "{print (\$1==0?\"SSD\":\"HDD\")}" /sys/block/{}/queue/rotational'
- send data with bandwidth limit 0.5G.
rsync -aHAX --info=progress2 --delete --partial --bwlimit=524288 -e "ssh -p 22" /path/to/src user@ip:~/projects/
- archive
# freeze
tar cvzf mydata.tar.gz mydata
# extract
tar xvzf mydata.tar.gz
# check
tar tvf mydata.tar.gz
- efficient archive
# freeze
tar -I 'zstd -T0 -1' -cf mydata.tar.zst mydata
# extract
tar --zstd -xvf mydata.tar.zst
# outout path
tar --zstd -xvf mydata.tar.zst -C /path/to/output
- exfat
# latest version
apt install exfat-fuse exfatprogs
# old
apt install exfat-fuse exfat-utils
- external ssd via usb
# check USB recognition
dmesg | tail -30
# e.g. sd 8:0:0:0: [sde] ... ; sde: sde1 sde2
# list block devices
lsblk
# e.g. sde, sde1, sde2
# show filesystem type
lsblk -f
# e.g. sde2 exfat
# install exfat support if needed
sudo apt update
sudo apt install exfat-fuse exfat-utils
# e.g. if mount fails with "unknown filesystem type 'exfat'"
# create mount point
sudo mkdir -p /mnt/ssd
# mount partition
sudo mount /dev/sde2 /mnt/ssd
# e.g. /dev/sde2 -> /mnt/ssd
# verify mount
df -h
# e.g. /dev/sde2 ... /mnt/ssd
# ....
# safely unmount
sync
sudo umount /mnt/ssd