The rsync program is used for synchronizing files over a network or local disks. To view or display only hidden files with ls command:
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | No |
Requirements | rsync / bash or ksh |
Time | 2m |
ls -ld ~/.??*
OR
ls -ld ~/.[^.]*
Sample outputs:
Fig:01 ls command to view only hidden files
rsync not synchronizing all hidden .dot files?
In this example, you used the pattern .[^.]* or .??* to select and display only hidden files using ls command. You can use the same pattern with any Unix command including rsync command. The syntax is as follows to copy hidden files with rsync:
rsync -av /path/to/dir/.??* /path/to/dest rsync -avzP /path/to/dir/.??* /mnt/usb rsync -avzP $HOME/.??* user1@server1.cyberciti.biz:/path/to/backup/users/u/user1 rsync -avzP ~/.[^.]* user1@server1.cyberciti.biz:/path/to/backup/users/u/user1
In this example, copy all hidden files from my home directory to /mnt/test:
rsync -avzP ~/.[^.]* /mnt/test
Sample outputs:
Rsync Copy Hidden Dot File Command Options
The options are as follows:
- -a – Archive mode copy. In this mode all given files are copied in recursive mode. Copy symlinks as symlinks, file permissions, date and time stapms, and much more.
- -v – Verbose copy. In other words, show what the rsync is doing.
- -z – Compress file data during the transfer.
- -P – Display progress bar
Conclusion
You learned how to to use the rsync command to copy hidden dot files including directories. See rsync man page here for more info or type the following man command:
man rsync
🐧 6 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Wouldn’t “.??*” leave out files like .a, .b, etc.?
Noop. Any details on ls version and Unix may help if you are not getting the same result.
root@node0 / # cd /tmp
root@node0 /tmp # ls -ld .??*
ls: cannot access .??*: No such file or directory
2 root@node0 /tmp # touch .a .b
root@node0 /tmp # ls -ld .??*
ls: cannot access .??*: No such file or directory
2 root@node0 /tmp # ls -ld .[^.]*
-rw-r–r–. 1 root root 0 Nov 11 23:07 .a
-rw-r–r–. 1 root root 0 Nov 11 23:07 .b
root@node0 /tmp # ls –version
ls (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Richard M. Stallman and David MacKenzie.
I love your website – Keep up the good work!
Maybe you are not using bash or a bash compatible shell?
Thanks!! Makes sense when you figure ~/.??* means anything that starts with a dot, has 2 more random chars, then everything after it (as to ignore . and .. ). Easy peasy, and will work for a million years! Thanks again!