linux debian, recursive chmod code example
Example 1: bash how to change the permissions on all directories and subdirectories
# Basic syntax:
find /path/to/directory -type d -exec chmod 775 {} \;
# This changes the permissions on the "directory" directory and all
# subdirectories within it.
# Note, this is usually better than "chmod -R 775 /path/to/directory"
# which changes the permissions on the subdirectories and *all files*
# Note, here's how permissions work. You specify three decimal digits
# which specify the read, write, and execute permissions for yourself,
# the group, and others respectively. The way this works is that each
# decimal you specify is converted to a three digit binary equivalent
# where 1 = true (permission granted) and 0 = false. The
Decimal Binary Permission Permission meaning
7 111 rwx read, write, and execute
6 110 rw- read and write
5 101 r-x read and execute
4 100 r-- read only
3 011 -wx write and execute
2 010 -w- write only
1 001 --x execute only
0 000 --- none
Example 2: change file recursively
shopt -s globstar
for f in **/*.t1; do
mv "$f" "${f%.t1}.t2"
done