> 文档中心 > Linux 的一些知识(3)

Linux 的一些知识(3)


Linux 的一些知识(3)

文章目录

  • Linux 的一些知识(3)
    • 1. chmod、chown、chgrp
      • chmod 命令
        • 1. 文字设定法
        • 2.数字设定法
      • chgrp 命令
      • chown 命令
    • 2.rcp命令
      • 语法
      • 参数
        • 示例
    • 3.scp命令传文件
      • 1. 基本语法
      • 2.具体用法
        • 1、从本地将文件传输到服务器
        • 2、从本地将文件夹传输到服务器
        • 3、将服务器上的文件传输到本地
        • 4、将服务器上的文件夹传输到本地

1. chmod、chown、chgrp

Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

​ 文件或目录的访问权限分为只读,可写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

​ 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

​ 每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

chmod 命令

chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。

该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

1. 文字设定法

chmod [who] [+ | - | =]  [mode] 文件名 命令中各选项的含义为:    操作对象who可以是下述字母中的任意一个或者它们的组合:    u 表示“用户(user)”,即文件或目录的所有者。    g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户    o 表示“其他(other)用户”    a 表示“所有(all)用户”。它是系统默认值 操作符号可以是:    + 添加某个权限    - 取消某个权限    = 赋予给定权限并取消其他所有权限(如果有的话)。 设置mode 所表示的权限可用下述字母的任意组合:    r 可读    w 可写    x 可执行    X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加X属性    s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式”u+s“设置文件的用户ID位,”g+s“设置组ID位    t 保护程序的文本到交换设备上。    u 与文件属主拥有一样的权限。    g 与和文件属主同组的用户拥有一样的权限    o 与其他用户拥有一样的权限 文件名:以空格分开的要改变权限的文件列表,支持通配符。    在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example    使同组和其他用户对文件example 有读权限。 

2.数字设定法

数字设定法中: 0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

chgrp 命令

功能:改变文件或目录所属的组。语法:chgrp [选项] group filename    该命令改变指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group 文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。该命令的选项含义为:- R 递归式地改变指定目录及其下的所有子目录和文件的属组。eg1:$ chgrp - R book /opt/local /book改变/opt/local /book及其子目录下的所有我呢见的属组为book。

chown 命令

功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户bai,为了让用户bai能够存取这个文件,root用户应该把这个文件的属主设为bai,否则,用户bai无法存取这个文件。语法:chown [选项] 用户或组 文件说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。    该命令的各选项含义如下:    - c 若该档案拥有着确实已经更改,才显示其更改动作    - f 若该档案拥有者无法被更改也不要显示错误讯息    - h 只对于连结(link)进行变更,而非该link真正指向的档案    - R 递归式地改变指定目录及其下的所有子目录和文件的拥有着。 - V 显示chown命令所做的工作    - help 显示辅助说明 - version 显示版eg1:把文件test.c 的所有者改为bai。    $ chown bai test.ceg2:把目录/tmp及其下的所有文件和子目录的属主改成bai,属组改成users    $ chown - R bai.users /tmp

2.rcp命令

rcp命令用于复制远程文件或目录,如同时指定两个以上的文件或目录,且最后的目标位置是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中,执行rcp命令以后不会有返回信息,仅需要在目标目录下查看文件或目录是否复制成功即可,rcp不提示输入密码,其通过rsh执行远程执行,并且需要相同的授权。

语法

rcp [options] [origin] [target]

参数

  • -r:递归地把源目录中的所有内容拷贝到目标目录中,要使用这个选项,目标位置必须是一个目录。
  • -p:保留源文件的修改时间和模式,包括拥有者、所属群组、权限与时间,忽略umask
  • -k:请求rcp获得在指定区域内的远程主机的Kerberos许可,而不是获得由krb_relmofhost确定的远程主机区域内的远程主机的Kerberos许可。
  • -x:为传送的所有数据打开DES加密,这会影响响应时间和CPU使用率,但是可以提高安全性。
  • -D:指定远程服务器的端口号。

示例

远程复制 test.txt 文件

rcp root@192.168.10.10:/test.txt /tmp

3.scp命令传文件

1. 基本语法

Linux scp命令用于Linux 之间复制文件和目录。

scp 是secure copy 的缩写,scp是linux 系统下基于 ssh 登录进行安全远程文件拷贝命令。

scp 是 加密的,rcp 是不加密的,scp 是rcp的加强版。

scp [本地或远程文件的路径] [服务器用户名]@[服务器地址][远程或本地文件的路径]-1:强制scp命令使用协议ssh1-2:强制scp命令使用协议ssh2-4:强制scp命令只使用IPv4寻址-6:强制scp命令只使用IPv6寻址-B:使用批处理模式(传输过程中不询问传输口令或短语)-C:允许压缩。(将 -C 标志传递给ssh,从而打开压缩功能)-p:保留原文件的修改时间,访问时间和访问权限。-q:不显示传输进度条。-r:递归复制整个目录。-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。-c cipher:以cipher将数据传输进行加密,这个选项将直接传递给ssh。-F ssh_config:指定一个替代的ssh配置文件,此参数直接传递给ssh。-i identity_file:从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。-l limit:限定用户所能使用的带宽,以Kbit/s 为单位。-o ssh_option:如果习惯于使用ssh_config(5)中的参数传递方式-P port:注意是大写的P,port是指定数据传输用到的端口号-S program:指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

2.具体用法

1、从本地将文件传输到服务器

格式:scp [本地文件的路径] [服务器用户名]@[服务器地址]:[服务器上存放文件的路径]eg:scp /tmp/test.txt root@192.168.10.10:/data

2、从本地将文件夹传输到服务器

格式:scp -r [本地文件的路径] [服务器用户名]@[服务器地址]:[服务器上存放文件的路径]eg:scp -r /tmp/test root@192.168.10.10:/data

3、将服务器上的文件传输到本地

格式:scp [服务器用户名]@[服务器地址]:[服务器上存放文件的路径] [本地文件的路径]eg:scp root@192.168.10.10:/data/test.txt /tmp

4、将服务器上的文件夹传输到本地

格式:scp -r [服务器用户名]@[服务器地址]:[服务器上存放文件的路径] [本地文件的路径]eg:scp -r root@192.168.10.10:/data/test /tmp

找手机网游