Linux Quick Commands and Tips
PS1
PS1="┌──\u@\h:\w\n└─\$ "
┌──ubuntu@instance-20260728-0031:~ └─$
|
Temporarily allow the required algorithms directly in your SSH command
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa user@hostname
|
Convert line break CRLF to LF
Convert file encoding
file input.txt iconv -f UTF-16 -t UTF-8 input.txt -o output.txt
|
Rename files
find . -name "* *.md" -exec rename -f 's/ /-/g' {} \; find . -name "*[A-Z]*.md" -exec rename -f 'y/A-Z/a-z/' {} \;
|
Convert all characters to lowercase or uppercase in file context
find . -name "*.htm*" -exec sed -i '/src=\"\..*.\/img\/.*\"/s/src=.*/\L&/g' {} \; find . -name "*.htm*" -exec sed -i '/src=\"\..*.\/img\/.*\"/s/src=.*/\U&/g' {} \;
|
Log analysis
find . -name "*.gz" -exec gunzip {} \; find . -name "*.tar" -exec tar -xf {} \; find . -name "*.tar.bz2" -exec tar -jxf {} \;
find . -type f ! -regex '.*\.\(gz\|xz\|zip\|tgz\|bz2\|tar\)$' | xargs grep --color=always -Ei 'out of memory'
|
Search files and compress
find /mnt/e/Customers/Services/ -type f -name "*file*" | xargs -I {} zip -j /mnt/e/Temp/temp.zip "{}"
find /mnt/Packages/ -type f -name "kernel-*" -printf "%P\n" | xargs tar -zcvf kernel-3.10.0-957.tar.gz -C /mnt/Packages/
|
The -printf "%P\n" removes the /mnt/Packages/ prefix, giving relative paths.
Use -C with relative paths.
Search duplication files
find . -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate
|
Convert mp4 video HEVC encoding libx265 to libx264
ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 23 output.mp4
|
Rsync
rsync -e "ssh -p 2222" -av --delete --include="*/" --include="*.pdf" --exclude="*" /mnt/e/assets/res/ jove@192.168.3.112:/var/www/html/assets/res/
rsync -e "ssh -i ~/.ssh/oci-ssh-key -p 22122" -av --delete --exclude="assets/*" /mnt/e/butterfly/public/ ubuntu@161.118.194.94:/var/www/html/butterfly/ rsync -e "ssh -i ~/.ssh/oci-ssh-key -p 22122" -av --delete /mnt/e/assets/pic/ ubuntu@161.118.194.94:/var/www/html/butterfly/assets/pic/
|
Vim
Save file when forgot sudo.
Strace
lsof -i:8080 strace -f -p <pid> -e trace=network,poll -T 2>&1 | grep -v "1, 500)" curl 127.0.0.1:8080
|
Temp for Hexo Posts
find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/html"><i>/html">/' {} \; -exec sed -i 's/html">/html"><i>/' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/pdf"><i>/pdf">/' {} \; -exec sed -i 's/pdf">/pdf"><i>/' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/ <\/i><i/ <i/' {} \; -exec sed -i 's/ <i/ <\/i><i/' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i -E 's/">(.*?) </"><i>\1 </' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/<i><i>/<i>/' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/miss.sakurayumeno.top//g' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/^・ \*<a/・ <a/' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/a>\*$/a>/' {} \; find /mnt/e/butterfly/source/_posts -type f -name "*.md" -exec sed -i 's/^- \[/\[/' {} \;
while read -r file; do linkdoc.sh $file done < <(find /mnt/e/assets/res/dellemc/unity/ -maxdepth 1 -type f -name "*.pdf")
|