首页 > 编程知识 正文

linux tar命令详解(chgrp命令的用法)

时间:2023-05-04 02:23:19 阅读:66997 作者:396

在unix和linux上,chmod命令用于更改文件和目录的权限。 这是unix和linux用户必须熟悉的基本命令之一。 在本unix命令教程中,您将学习如何使用chmod命令更改文件权限,以及在unix上什么是文件权限。 您还将学习如何在unix上使用chmod命令更改文件目录及其子目录的权限,以及如何在unix上使用chmod命令更改可执行文件的权限。 在直接进入这些示例之前,让我们花一点时间了解一下unix上的权限是指什么,以及为什么需要更改文件权限。

在unix上,每个文件都有三种权限属性:读、写和运行,以及文件所有者、所有者组和其他三种类型的属性。 因此,授予每个文件的权限是文件的权限属性和类型属性的组合。 可以使用

ls命令显示个人文件和目录的权限。 例如,以下文件:

example @ localhost~~/testls-lrt stock _ trading _ systems

- rwxrwxrwx1exampledomainusers0jul 1511336042 stock _ trading _ systems *

的所有用户、组成员和其他都具有读取、写入和执行权限。 通过我发布的《指导新手了解unix文件权限》,您可以了解更多的文件权限知识。 有关unix和linux权限的详细信息,请参阅《unix文件和目录权限教程》文章。

看看unix上实用且常见的chmod命令的示例

在chmod命令实例unix上使文件属性为只读

此chmod命令的示例说明如何确保一个文件只对所有者具有只读权限。 以下示例还可以向组成员和其他类型的成员授予读取权限,并向文件所有者授予写入权限:

example @ localhost~~/testls-lrt stock _ trading _ systems

- rwxrwxrwx1exampledomainusers0jul 1511336042 stock _ trading _ systems *

#在这里,您可以看到所有用户类型都具有读取、写入和执行名为stock_trading_systems的文件的权限

example @ localhost~~/test chmod 400 stock _ trading _ systems

#400表示100,000,000,这意味着只有r-- --- ---文件的所有者才有权限阅读

example @ localhost~~/testls-lrt stock _ trading _ systems

----1 exampledomainusers0jul 1511336042 stock _ trading _ systems

#目前文件只有阅读属性。 而且只有文件的所有者才能阅读它。

chmod命令实例2 :仅更改所有者、其所属组成员或其他类的权限

此chmod命令的示例说明如何在所有者、所属组和其他类型的级别更改文件权限。 也可以轻松更改这些任意类型成员对文件的权限。 使用文本格式时,“u”表示文件的所有者,“o”表示其他类型,“g”表示所属组。 同时“r”表示可读,“w”表示可写,“x”表示可执行。 表示添加权限,-表示删除权限。

example @ localhost~~/testls-lrt chmod _ examples

----1 exampledomainusers0jul 1511336042 chmod _ examples

example @ localhost~~/testchmoduwchmod _ examples

example @ localhost~~/testls-lrt chmod _ examples

- rw----1exampledomainusers0jul 1511336042 chmod _ examples

让我们使用chmod命令只更改组成员的文件权限

example @ localhost~~/testls-lrt chmod _ examples

- rw----1exampledomainusers0jul 1511336042 chmod _ examples

example @ localhost~~/testchmodgwchmod _ examples

example @ localhost~~/testls-lrt chmod _ examples

- rw---- w---1 exampledomainusers0jul 1511336042 chmod _ examples

此chmod示例仅更改文件的其他类型的权限,但不影响文件所有者和所有者所属组的权限。

example @ localhost~~/testls-lrt chmod _ examples

-r

w--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命令来移除文件的权限

在这个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命令来改变目录权限以及递归改变子目录的权限

这是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使用方法的例子,请和我们分享。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。