一、文件复制命令cp
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2
二、文件移动命令mv
命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
拓展资料:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
‘贰’ linux下移动非空文件夹的命令都有什么 使用mv命令的时候会提示: Directory not empty
具体操作如下:
‘叁’ 我自己在mv虚拟机上创建一个linux cent os6的虚拟机 到最后的它说我没有权限操作这是为
VMware?
截图
‘肆’ linux中用户权限 -rw-rw-r-x是表示什么意思
用户权限 -rw-rw-r-x的意思是定义用户权限,普通文件具有读写权限,文件主具有读写权限,组用户具有读权限,其他用户具有可执行的权限。
Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。
(4)mv权限linux扩展阅读
chmod命令用于改动文件或目录的访问权限。用户用他控制文件或目录的访问权限。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程式的文本到交换设备上。
u 和文件属主拥有相同的权限。
g 和和文件属主同组的用户拥有相同的权限。
o 和其他用户拥有相同的权限。
‘伍’ linux 命令 mv无权限为什么
有可能是在源文件的目录没有“写”权限,也有可能是在目标目录没有“写”权限,这两种情况都会提示mv命令“无权限”,因为mv命令是移动文件,所以在移动的两个方向都需要写权限,你用ls -l命令查看一下权限信息,应该能找到原因。
‘陆’ 如何在Linux下设置访问控制列表(ACL)来控制用户的权限
Linux下的访问控制列表(ACL)主要用来控制用户的权限,可以做到不同用户对同一文件有不同的权限,那么具体要如何操作呢?下面小编就教你如何在Linux下设置访问控制列表(ACL)来控制用户的权限。
使用拥有权限控制的Liunx,工作是一件轻松的任务。它可以定义任何user,group和other的权限。无论是在桌面电脑或者不会有很多用户的虚拟Linux实例,或者当用户不愿意分享他们之间的文件时,这样的工作是很棒的。然而,如果你是在一个大型组织,你运行了NFS或者Samba服务给不同的用户,然后你将会需要灵活的挑选并设置很多复杂的配置和权限去满足你的组织不同的需求。
Linux(和其他Unix等POSIX兼容的操作系统)有一种被称为访问控制列表(ACL)的权限控制方法,它是一种权限分配之外的普遍范式。例如,默认情况下你需要确认3个权限组:owner、group和other。而使用ACL,你可以增加权限给其他用户或组别,而不单只是简单的“other”或者是拥有者不存在的组别。可以允许指定的用户A、B、C拥有写权限而不再是让他们整个组拥有写权限。
ACL支持多种Linux文件系统,包括ext2, ext3, ext4, XFS, Btfrs, 等。如果你不确定你的文件系统是否支持ACL,请参考文档。
在文件系统使ACL生效
首先,我们需要安装工具来管理ACL。
Ubuntu/Debian 中:
$ sudo apt-get install acl
CentOS/Fedora/RHEL 中:
# yum -y install acl
Archlinux 中:
# pacman -S acl
出于演示目的,我将使用ubuntu server版本,其他版本类似。
安装ACL完成后,需要激活我们磁盘分区的ACL功能,这样我们才能使用它。
首先,我们检查ACL功能是否已经开启。
$ mount
你可以注意到,我的root分区中ACL属性已经开启。万一你没有开启,你需要编辑/etc/fstab文件,在你需要开启ACL的分区的选项前增加acl标记。
现在我们需要重新挂载分区(我喜欢完全重启,因为我不想丢失数据),如果你对其它分区开启ACL,你必须也重新挂载它。
$ sudo mount / -o remount
干的不错!现在我们已经在我们的系统中开启ACL,让我们开始和它一起工作。
ACL 范例
基础ACL通过两条命令管理:setfacl用于增加或者修改ACL,getfacl用于显示分配完的ACL。让我们来做一些测试。
我创建一个目录/shared给一个假设的用户,名叫freeuser
$ ls -lh /
我想要分享这个目录给其他两个用户test和test2,一个拥有完整权限,另一个只有读权限。
首先,为用户test设置ACL:
$ sudo setfacl -m u:test:rwx /shared
现在用户test可以随意创建文件夹,文件和访问在/shared目录下的任何地方。
现在我们增加只读权限给用户test2:
$ sudo setfacl -m u:test2:rx /shared
注意test2读取目录需要执行(x)权限
让我来解释下setfacl命令格式:
-m 表示修改ACL。你可以增加新的,或修改存在的ACLu: 表示用户。你可以使用 g 来设置组权限test 用户名:rwx 需要设置的权限。
现在让我向你展示如何读取ACL:
$ ls -lh /shared
你可以注意到,正常权限后多一个+标记。这表示ACL已经设置成功。要具体看一下ACL,我们需要运行:
$ sudo getfacl /shared
最后,如果你需要移除ACL:
$ sudo setfacl -x u:test /shared
如果你想要立即擦除所有ACL条目:
$ sudo setfacl -b /shared
最后,在设置了ACL文件或目录工作时,cp和mv命令会改变这些设置。在cp的情况下,需要添加“p”参数来复制ACL设置。如果这不可行,它将会展示一个警告。mv默认移动ACL设置,如果这也不可行,它也会向您展示一个警告。
总结
使用ACL让在你想要分享的文件上拥有更多的能力和控制,特别是在NFS/Samba服务。此外,如果你的主管共享主机,这个工具是必备的。
上面就是Linux下设置访问控制列表来控制用户权限的方法介绍了,因为ACL的配置和使用较为复杂,初学者在使用的时候容易出现错误,希望本文介绍的方法能够帮助到你。
‘柒’ Linux特殊文件权限
文件权限和安全
1.stat命令, IO/Block 簇,文件系统最小的读写分配单位 查询系统的该值可用stat命令
3.文件的隐藏属性
创建:chattr
显示:lsattr
两个特殊的命令:
i使文件不可更改,无论任何人。
a追加权限
4.八进制权限:r-4 ; w-2; x-1
5.suid:对象-二进制文件, 八进制-4
定义:如果A用户对属于他的二进制文件设置了这种权限,那么其他用户在执行这个文件的时候就拥有了A的权限。
在修改一个文件的所有权时,相应的suid也将会被清除。
chmod 4721 filename
chmod u+s filename
6.guid:对象 目录或文件 八进制-2
7.sticky bit (Sbit) 对象-目录
定义:在具有sbit的目录下,用户在该目录下具有w及x权限,则当用户在该目录下创建文件或目录时,只有文件拥有者与root才能有权限删除(可记忆为:各扫门前雪)
8.umask 一般系统默认值为022,最安全值为177。范围000-777
9.硬链接(hard link)
ln -d existfile newfile
通过索引节点(inode,该值可用stat命令查询)来查询硬链接的数目。
局限:
a.不能给目录创建硬链接
b.只能在同一文件系统中的文件之间才能创建硬链接。
在同一文件系统中,有几个目录项具有相同的inode,我们就说这几个文件有几个硬链接
不同文件系统中,具有相同inode值的文件,不具有任何关系。
查询硬链接的命令有:ls -i
通过inode来查询文件
find -inum inode_value
查询硬链接数目大于2的文件:
find / -links +2 -type f
一旦源文件删除后,硬链接文件将变成普通的文件存在。
10.软连接(symbolic link)
ln -s source_path target_path
形同于windows下的快捷方式,源文件删除后,链接所产生的将不可用
11.acl
定义:对某个文件设置该文件具体的某些用户的权限,即通过acl对文件权限做扩展,可以做到不同用户对文件有不同的权限。
命令:
修改权限:setfacl
增加
setfacl -m u:username:权限
setfacl -m g:groupname:权限
删除:
setfacl -x 用户名 文件名
setfacl -x 组名 文件名
显示权限:getfacl
注意一些命令对于acl权限的影响
mv star cp-p---保留acl权限
cp tar————不保留acl权限。
‘捌’ 如何在Linux下设置访问控制列表来控制用户的权限
ACL支持多种Linux文件系统,包括ext2, ext3, ext4, XFS, Btfrs, 等。如果你不确定你的文件系统是否支持ACL,请参考文档。
在文件系统使ACL生效
首先,我们需要安装工具来管理ACL。
Ubuntu/Debian 中:
$ sudo apt-get install acl
CentOS/Fedora/RHEL 中:
# yum -y install acl
Archlinux 中:
# pacman -S acl
出于演示目的,我将使用ubuntu server版本,其他版本类似。
安装ACL完成后,需要激活我们磁盘分区的ACL功能,这样我们才能使用它。
首先,我们检查ACL功能是否已经开启。
$ mount
你可以注意到,我的root分区中ACL属性已经开启。万一你没有开启,你需要编辑/etc/fstab文件,在你需要开启ACL的分区的选项前增加acl标记。
现在我们需要重新挂载分区(我喜欢完全重启,因为我不想丢失数据),如果你对其它分区开启ACL,你必须也重新挂载它。
$ sudo mount / -o remount
干的不错!现在我们已经在我们的系统中开启ACL,让我们开始和它一起工作。
ACL 范例
基础ACL通过两条命令管理:setfacl用于增加或者修改ACL,getfacl用于显示分配完的ACL。让我们来做一些测试。
我创建一个目录/shared给一个假设的用户,名叫freeuser
$ ls -lh /
我想要分享这个目录给其他两个用户test和test2,一个拥有完整权限,另一个只有读权限。
首先,为用户test设置ACL:
$ sudo setfacl -m u:test:rwx /shared
现在用户test可以随意创建文件夹,文件和访问在/shared目录下的任何地方。
现在我们增加只读权限给用户test2:
$ sudo setfacl -m u:test2:rx /shared
注意test2读取目录需要执行(x)权限
让我来解释下setfacl命令格式:
-m 表示修改ACL。你可以增加新的,或修改存在的ACLu: 表示用户。你可以使用 g 来设置组权限test 用户名:rwx 需要设置的权限。
现在让我向你展示如何读取ACL:
$ ls -lh /shared
你可以注意到,正常权限后多一个+标记。这表示ACL已经设置成功。要具体看一下ACL,我们需要运行:
$ sudo getfacl /shared
最后,如果你需要移除ACL:
$ sudo setfacl -x u:test /shared
如果你想要立即擦除所有ACL条目:
$ sudo setfacl -b /shared
最后,在设置了ACL文件或目录工作时,cp和mv命令会改变这些设置。在cp的情况下,需要添加“p”参数来复制ACL设置。如果这不可行,它将会展示一个警告。mv默认移动ACL设置,如果这也不可行,它也会向您展示一个警告。
‘玖’ linux MV移动命令带来灾难后果,请教高手
深表同情!
引用你说的话:在一个建好的目录,看网上资料说是移动到当前目录的
先说mv的用法,mv [OPTION]... SOURCE... DIRECTORY
你说的移到当前目录,就是你说的那个新建的目录中,应该你进入你建的这个目录,然后运行
mv /var/www/yaowei/* .
注意:最后是有个点的!这个点代表当前目录,而且是必须有的!你好像是少了这个.了。
你建的那个目录是不是在/var/www/yaowei/include下?
上面的英语的意思是说不能够把/var/www/yaowei/include这个目录移动到它自己的子目录里!
overwrite就是改写、覆盖的意思,你输入了Y,也就是说你@#$@#$,哎……
‘拾’ linux目录命令,文件命令,权限设置命令
一、目录操作命令
cd
cd命令功能
在每一个操作系统中,都需要有改变目录的工作,Linux也不例外,在Linux操作系统中,是通过cd命令来改变工作目录的。
cd命令的命令格式及用法
命令格式:cd
命令用法
例:现在的工作目录为:/home/development,想改变当前工作目录,进入下一层目录temp,应使用cd命令。
[development@www ~]$ pwd ————可以通过pwd命令查看当前工作目录。
/home/development ————当前工作目录为:/home/development
[development@www ~]$ cd temp/ ————通过cd temp命令改变当前目录为/home/development/temp
[development@www temp]$ pwd ————再次使用pwd命令查看当前工作目录
/home/development/temp ————可知当前工作目录为:/home/development/temp
在Linux的目录结构中“.”表示当前目录,“..”表示当前目录的父目录,“/”表示根目录。
二、常用文件命令。
1、文件处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
2、文件处理命令:cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [ 目录]
功能描述:切换目录
范例:$ cd / 切换到根目录
$ cd .. 回到上一级目录
3、文件处理命令:pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前所在的工作目录
范例:$ pwd
/etc/rc5.d
4、文件处理命令:touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
范例:$ touch newfile
5、文件处理命令:mkdir
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir [ 目录名]
功能描述:创建新目录
范例:$ mkdir newdir
三、权限命令。
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+ :添加某个权限
- :取消某个权限
= :赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
例如:为同组用户增加对文件a.txt的读写权限:
chmod g+rw a.txt