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

Tags:

Css Example