files
This is an old revision of the document!
Files
File Types
$ ls -l # shows type in the first character of the file permissions column where type is: * - : regular file * d : directory * c : character device file * b : block device file * s : local socket file * p : named pipe * l : symbolic link
$ ls -F # appends symbols to filenames where symbol is: * @ : symbolic link (or that the file has extended attributes) * * : executable * = : socket * | : named pipe * > : door * / : directory
Soft link
$ ln -s filename linkname $ ln -s /media/john/Seagate\ Expansion\ Drive/ /seagate $ unlink /seagate
filename wildcards
$ rm *.?????[!3]?[!1].*.sql # delete all files not in march and not day 1 $ rm *.?????[!3][!0]?.*.sql # delete all files not in march and not day 11, 21, or 31
tree
$ tree # draw tree structure of folders
find
$ find . -name *.plugin
$ find . -name *.plugin 2>/dev/null
$ find /media/seagate/media/ -name Thumbs.db -exec rm {} \; # delete files across folders
$ find . -name "*.js" -exec java -jar compiler.jar --js {} --js_output_file new{} \;
$ find . -name "*.jpg" -exec convert {} -resize 1920x1080 ../assets_youtube/{} \;
find unique list of file types
$ find ../ -type f | awk -F. '!a[$NF]++{print $NF}'
find and execute command on files across files
$ find /media/seagate/media/ -name Thumbs.db -exec rm {} \; # delete files across folders
$ find ../ -type f \( -name "*.jpg" -o name "*.JPG" \) -exec rm {} \;
$ find ../ -type f -name "*.JPG" -exec rename s/JPG/jpg/ {} \;
find a file anywhere on the disk and ignore the “Permission denied” messages
$ find / -name Wire.h 2>&1 | grep -v "Permission denied"
grep
$ grep -r "progressive" .
rename
$ rename s/JPG/jpg/ *
copy files
$ mv SRC DEST $ cp SRC DEST $ scp SRC DEST $ rsync SRC DEST
synchronize two external hard disks, dry run, real thing, ending slash required
rsync --dry-run --itemize-changes -avh /media/john/My\ Passport/pub/ /media/john/Seagate\ Expansion\ Drive/pub/
rsync -avh /media/john/My\ Passport/pub/ /media/john/Seagate\ Expansion\ Drive/pub/
- -dry-run
- -itemize-changes
- -delete, delete extraneous files from destination (dest will mirror src)
- a –archive, equivalent to -rlptgoD
- r –recursive
- l –links, copy symlinks as symlinks
- p –perms, preserve permissions
- t –times, preserve modification times
- g –group, preserve group
- o –owner, preserve owner
- D preserve device files, preserve special files
- v –verbose
- h –human-readable number formats
sync songs from hard disk to phone, skipping the cover art
rsync --delete -avh -e "ssh -p 2222" --exclude '*.jpg' /media/passport/pub/songs/ '192.168.1.100:/storage/emulated/0/media/songs/'
files.1704543059.txt.gz · Last modified: 2024/01/06 07:10 by jhagstrand