Changing permissions with chmod (numbers)
If you own a fi le, you can use the chmod command to change the permission on it as you
please. In one method of doing this, each permission (read, write, and execute) is assigned
a number —
r=4,
w=2, (important)
x=1
— and you use each set’s total number to establish the
permission. For example, to make permissions wide open for yourself as owner, you would
set the fi rst number to 7 (4+2+1), and then you would give the group and others read-only
permission by setting both the second and third numbers to 4 (4+0+0), so that the fi nal
number is 744. Any combination of permissions can result from 0 (no permission) through
7 (full permission).
chmod 777 file
Changing permissions with chmod(letters)
you can change permission for the
user (u),
group (g),
other (o),
and all users(a).
What you would change includes the
read (r),
write (w), and
execute (x) bits
Metacharacters in file matching
* — Matches any number of characters.
? — Matches any one character.
[...] — Matches any one of the characters between the brackets, which can
include a hyphen-separated range of letters or numbers.
Redirection in Linux Terminal:
< — Directs the contents of a file to the command. In most cases, this is the
default action expected by the command and the use of the character is optional
> — Directs the standard output of a command to a file. If the file exists, the
content of that file is overwritten.
2> — Directs standard error (error messages) to the file.
&> — Directs both standard output and standard error to the file.
>> — Directs the output of a command to a file, adding the output to the end of
the existing file.
Using brace expansion characters
By using curly braces ({}), you can expand out a set of characters across fi lenames,
directory names, or other arguments you give commands. For example, if you want to
create a set of files such as memo1 through memo5, you can do that as follows:
$ touch memo{1,2,3,4,5}
$ ls
memo1
memo2
memo3
memo4
memo5
The items that are expanded don’t have to be number or even single digits. For example,
you could use ranges of numbers or digits. You could also use any string of characters,
as long as you separate them with commas. Here are some examples:
$ touch {John,Bill,Sally}-{Breakfast,Lunch,Dinner}
$ ls
Bill-Breakfast Bill-Lunch
John-Dinner Sally-Breakfast
Bill-Dinner
John-Breakfast John-Lunch
Sally-Dinner
$ rm -f {John,Bill,Sally}-{Breakfast,Lunch,Dinner}
$ touch {a..f}{1..5}
$ ls
a1 a3 a5 b2 b4 c1 c3 c5 d2 d4 e1 e3 e5 f2 f4
a2 a4 b1 b3 b5 c2 c4 d1 d3 d5 e2 e4 f1 f3 f5
Sally-Lunch
In the first example, the use of two sets of braces means John, Bill, and Sally each have
filenames associated with Breakfast, Lunch, and Dinner. If I had made a mistake, I could
easily recall the command and change touch to rm -f to delete all the files. In the next
example, the use of two dots between letters a and f and numbers 1 and 5 specifies the
ranges to be used. Notice the files that were created from those few characters.
If you own a fi le, you can use the chmod command to change the permission on it as you
please. In one method of doing this, each permission (read, write, and execute) is assigned
a number —
r=4,
w=2, (important)
x=1
— and you use each set’s total number to establish the
permission. For example, to make permissions wide open for yourself as owner, you would
set the fi rst number to 7 (4+2+1), and then you would give the group and others read-only
permission by setting both the second and third numbers to 4 (4+0+0), so that the fi nal
number is 744. Any combination of permissions can result from 0 (no permission) through
7 (full permission).
chmod 777 file
Changing permissions with chmod(letters)
you can change permission for the
user (u),
group (g),
other (o),
and all users(a).
What you would change includes the
read (r),
write (w), and
execute (x) bits
Metacharacters in file matching
* — Matches any number of characters.
? — Matches any one character.
[...] — Matches any one of the characters between the brackets, which can
include a hyphen-separated range of letters or numbers.
Redirection in Linux Terminal:
< — Directs the contents of a file to the command. In most cases, this is the
default action expected by the command and the use of the character is optional
> — Directs the standard output of a command to a file. If the file exists, the
content of that file is overwritten.
2> — Directs standard error (error messages) to the file.
&> — Directs both standard output and standard error to the file.
>> — Directs the output of a command to a file, adding the output to the end of
the existing file.
Using brace expansion characters
By using curly braces ({}), you can expand out a set of characters across fi lenames,
directory names, or other arguments you give commands. For example, if you want to
create a set of files such as memo1 through memo5, you can do that as follows:
$ touch memo{1,2,3,4,5}
$ ls
memo1
memo2
memo3
memo4
memo5
The items that are expanded don’t have to be number or even single digits. For example,
you could use ranges of numbers or digits. You could also use any string of characters,
as long as you separate them with commas. Here are some examples:
$ touch {John,Bill,Sally}-{Breakfast,Lunch,Dinner}
$ ls
Bill-Breakfast Bill-Lunch
John-Dinner Sally-Breakfast
Bill-Dinner
John-Breakfast John-Lunch
Sally-Dinner
$ rm -f {John,Bill,Sally}-{Breakfast,Lunch,Dinner}
$ touch {a..f}{1..5}
$ ls
a1 a3 a5 b2 b4 c1 c3 c5 d2 d4 e1 e3 e5 f2 f4
a2 a4 b1 b3 b5 c2 c4 d1 d3 d5 e2 e4 f1 f3 f5
Sally-Lunch
In the first example, the use of two sets of braces means John, Bill, and Sally each have
filenames associated with Breakfast, Lunch, and Dinner. If I had made a mistake, I could
easily recall the command and change touch to rm -f to delete all the files. In the next
example, the use of two dots between letters a and f and numbers 1 and 5 specifies the
ranges to be used. Notice the files that were created from those few characters.
Comments
Post a Comment