unix及linux中chmod命令的十个例子

原文连接http://javarevisited.blogspot.com/2012/03/10-example-of-chmod-command-in-unix.htmlhtml

 

      在unix以及linux之中,chmod命令用来改变文件以及目录的权限。这是unix和linux用户所必须熟知众多基本的命令之一。在这个unix命令的教程之中,咱们将会学习到如何使用chmod命令来改变文件的权限,在unix之中文件权限指的什么。咱们还将会了解unix中怎么使用chmod命令来改变文件目录以及其子目录的权限,最后将会学习如何在unix中使用chmod命令改变可执行文件的权限。在直接进入这些例子以前,让咱们先花上几分钟的时间来了解一下权限在unix之中指的是什么以及为何咱们须要改变文件的权限。

example@localhost~/test ls -lrt stock_trading_systems
-rwxrwxrwx 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems*


unix及linux中的chmod命令实例

chmod命令实例1:在unix中使文件属性只读
在这个chmod命令的例子中咱们将会知道如何使得一个文件只对其拥有者有只读权限。在随后的例子之中,你也能够给予组成员或其余类型成员读的权限而文件拥有者有写的权限。
example@localhost~/test ls -lrt stock_trading_systems
-rwxrwxrwx 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems*
#这里能够看出 全部的用户类型对 stock_trading_systems这个文件拥有读、写及执行的权限
example@localhost~/test chmod 400 stock_trading_systems
#400 表示 100 000 000,也就是指 r-- --- --- 便是只有文件拥有者有读的权限
example@localhost~/test ls -lrt stock_trading_systems
-r-------- 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems
#如今文件只有读的属性,而且只有文件拥有者才能读它 “ -r--------"
chmod命令实例2:只对拥有者、所在组成员或者其余类的权限进行修改

在这个chmod命令例子之中,咱们将会知道如何在拥有者、所在组和其余类型的级别来改变文件权限。你也能够很简单的改变这其中任意类型的成员对文件的权限。若是你使用文本格式,那么’u‘表示文件文件拥有者,‘o’表示其余类型,‘g’表示所在组。同时‘r’表示可读,‘w’表示可写,‘x’表示可执行。+表示增长权限,-表示移除权限。
example@localhost~/test ls -lrt chmod_examples
-r-------- 1 example Domain Users 0 Jul 15 11:42 chmod_examples
example@localhost~/test chmod u+w chmod_examples
example@localhost~/test ls -lrt chmod_examples
-rw------- 1 example Domain Users 0 Jul 15 11:42 chmod_examples
下面让咱们使用chmod命令来只对组成员的文件权限进行修改
example@localhost~/test ls -lrt chmod_examples
-rw------- 1 example Domain Users 0 Jul 15 11:42 chmod_examples
example@localhost~/test chmod g+w chmod_examples
example@localhost~/test ls -lrt chmod_examples
-rw--w---- 1 example Domain Users 0 Jul 15 11:42 chmod_examples
在这个chmod例子中咱们将会仅改变其余类型对文件的权限但不影响文件拥有者以及拥有者所在组的权限
example@localhost~/test ls -lrt chmod_examples
-rw--w---- 1 example Domain Users 0 Jul 15 11:42 chmod_examples
example@localhost~/test chmod o+w chmod_examples
example@localhost~/test ls -lrt chmod_examples
-rw--w--w- 1 example Domain Users 0 Jul 15 11:42 chmod_examples
chmod命令实例3:对全部的类型成员(文件拥有者+所在组+其余)拥有的权限进行修改

在上一个unix的chmod命令例子中咱们知 道如何逐个为 文件拥有者、所在组及其余类型成员改变权限,可是有的时候会须要对全部的类型成员的权限进行修改而不只仅只是逐个修改其中之一。若是你使用文本格式,那么咱们食用‘a’来表示全部,‘u’用来表示文件拥有者。
example@localhost~/test ls -lrt linux_command.txt
-rw--w--w- 1 example Domain Users 0 Jul 15 11:42 linux_command.txt
example@localhost~/test chmod a+x linux_command.txt
example@localhost~/test ls -lrt linux_command.txt
-rwx-wx-wx 1 example Domain Users 0 Jul 15 11:42 linux_command.txt*
chmod命令实例4:使用chmod命令的数字格式来改变权限

在unix中,chmod命令不只仅容许使用可读性高的文本格式来改变权限,同时也容许使用数字格式中的八进制格式来表示权限组合。例如777中的第一个数字指文件拥有者、第二个是对用户所在组,而第三个则是对其余类型用户。如今若是你将第一个数字转换成二进制格式,那么它被写成如111,其中第一个数字表示读属性,第二个数字表示写属性第三个则表示可执行的权限。
example@localhost~/test ls -lrt unix_command.txt
-rw--w--w- 1 example Domain Users 0 Jul 15 11:42 unix_command.txt
example@localhost~/test chmod 777 unix_command.txt
example@localhost~/test ls -lrt unix_command.txt
-rwxrwxrwx 1 example Domain Users 0 Jul 15 11:42 unix_command.txt*


chmod命令实例5:使用chmod命令来移除文件的权限linux

在这个unix中使用chmod的例子中,咱们将知道如何从文件中移除各类权限。你能够很容易使用chmod命令的数字格式或者文本格式从文件中移除读、写或者执行的权限。下面的例子展现了使用 -x 的文本格式来移除可执行权限。
example@localhost~/test ls -lrt linux_command.txt
-rwx-wx-wx 1 example Domain Users 0 Jul 15 11:42 linux_command.txt*
example@localhost~/test chmod a-x linux_command.txt
example@localhost~/test ls -lrt linux_command.txt
-rw--w--w- 1 example Domain Users 0 Jul 15 11:42 linux_command.txt


chmod命令实例6:使用chmod命令来改变目录权限以及递归改变子目录的权限shell

这是chmod命令中最经常使用的例子,它为咱们提供了能够改变任何目录以及该目录包含全部内容包括子目录和文件的权限。在unix中的chmod命令能够经过使用 -R 这个命令参数递归的改变任何目录的权限,下面的例子中将会展现chmod例子。

example@localhost~/test ls -lrt 

total 8.0K

-rwxrwxrwx  1 example Domain Users    0 Jul 15 11:42 unix_command.txt*
drwxr-xr-x+ 1 example Domain Users    0 Jul 15 14:33 stocks/
example@localhost~/test chmod -R 777 stocks/
example@localhost~/test ls -lrt
total 8.0K
-rwxrwxrwx  1 example Domain Users    0 Jul 15 11:42 unix_command.txt*
drwxrwxrwx+ 1 example Domain Users    0 Jul 15 14:33 stocks/
example@localhost~/test ls -lrt stocks
total 0
-rwxrwxrwx 1 example Domain Users 0 Jul 15 14:33 online_stock_exchanges.txt*


chmod命令实例7:如何为所用类型用户从文件中移除读写权限学习

到目前为止咱们已经知道了为文件和目录增长读、写及执行的权限,接着咱们将学习相反的内容也就是移除读、写和执行权限。使用文本格式会很是简单,由于咱们只须要使用 - 来代替 +。就像 + 被用来表示增长权限同样,- 被用来移除权限。
example@localhost~/test ls -lrt stock_trading_systems
-rwxrwxrwx 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems*
example@localhost~/test chmod a-wx stock_trading_systems
example@localhost~/test ls -lrt stock_trading_systems
-r--r--r-- 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems


chmod命令实例8:只对目录设置可执行权限却不改变其包含文件的权限

不少时候咱们仅仅是想为目录或者子目录提供可执行的权限使得其能够被搜寻到,却不想改变在这些目录中的文件的权限。在我指导这个命令以前,我通常都是找到全部的目录而后改变它们的权限。可是在unix中咱们可使用chmod有一个更好地方法来作到。你可使用‘X’(大写的X)参数来仅仅改变文件目录的的权限而不影响到文件。让咱们从下面的例子中来看看这种用法。
example@localhost~/test ls -lrt
total 8.0K
-r--r--r--  1 example Domain Users    0 Jul 15 11:42 stock_trading_systems
drw-rw-rw-+ 1 example Domain Users    0 Jul 15 14:33 stocks/
example@localhost~/test chmod a+X *
example@localhost~/test ls -lrt
total 8.0K
-r--r--r--  1 example Domain Users    0 Jul 15 11:42 stock_trading_systems
drwxrwxrwx+ 1 example Domain Users    0 Jul 15 14:33 stocks/
记住使用大写的X,若是你使用的是小写将会影响到全部的文件和目录

chmod命令实例9:在unix和linux中 使用chmod命令改变一个文件或目录的多重权限

你能够在一条命令中使用 user+groups 或者 groups+other 组合来改变文件以及目录的权限。在下面的例子中,chmod命令作了与为拥有者和组成员提供可执行的权限相同的事情。
example@localhost~/test ls -lrt
total 8.0K
-r--r--r--  1 example Domain Users    0 Jul 15 11:42 stock_trading_systems
drwxrwxrwx+ 1 example Domain Users    0 Jul 15 14:33 stocks/
example@localhost~/test chmod u+x,g+x stock_trading_systems
example@localhost~/test ls -lrt stock_trading_systems
-r-xr-xr-- 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems*


chmod命令实例10:如何在unix中将一个文件的权限拷贝到另外一个文件

这是unix中chmod命令的一个很是有趣的例子,它能够将一个文件的权限而且赋予给另外一个。经过下面的例子你能够很容易的参考源文件权限同时拷贝这个文件全部的权限赋予给目标文件:
example@localhost~/test ls -lrt future_trading
-rwxrwxrwx 1 example Domain Users 0 Jul 15 15:30 future_trading*
example@localhost~/test ls -lrt stock_trading_systems
-r--r--r-- 1 example Domain Users 0 Jul 15 11:42 stock_trading_systems
example@localhost~/test chmod --reference=stock_trading_systems future_trading
example@localhost~/test ls -lrt future_trading
-r--r--r-- 1 example Domain Users 0 Jul 15 15:30 future_trading

这些都是unix和linux中chmod命令的经常使用实例。chmod命令跟find命令和grep命令同样有用,知道如何改变文件的权限是在unix中工做的必要技能。若是你有其余的咱们应该知道的chmod使用方法的例子,请和咱们分享。
相关文章
相关标签/搜索