美文网首页
mv、cp、mkdir、touch、find-linux

mv、cp、mkdir、touch、find-linux

作者: 成功的失败者 | 来源:发表于2018-10-19 16:09 被阅读21次
    find

    1.递归查询当前目录下以.txt结尾的文件和文件夹

    find . -name '*.txt'
    

    2.递归查询当前目录下以file1-file6开头的文件和文件夹

    find . -name 'file[1-6]*'
    

    3.递归查询当前目录文件权限为755的文件和文件夹有哪些

    find . -perm -755
    

    4.递归查询当前目录文件权限为644的文件有哪些,如果查看文件夹就换f为d

    find . -perm -644 -type f
    

    5.递归查询当前目录一天内修改过的文件和文件夹有哪些,如果-1换成+1就表示一天前修改过的文件有哪些。

    find . -mtime -1
    

    7.递归查询当前目录下大于1k的文件

    find . -size +1024c
    
    mkdir (选项)(参数)

    指定要创建的目录列表,多个目录之间用空格隔开。

    -Z:设置安全上下文,当使用SELinux时有效;
    -m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
    -p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
    --version 显示版本信息。
    

    1.在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问。

    mkdir -p-m 750 bin/os_1
    
    touch

    命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

    -a:或--time=atime或--time=access或--time=use  只更改存取时间;
    -c:或--no-create  不建立任何文件;
    -d:<时间日期> 使用指定的日期时间,而非现在的时间;
    -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
    -m:或--time=mtime或--time=modify  只更该变动时间;
    -r:<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
    -t:<日期时间>  使用指定的日期时间,而非现在的时间;
    --help:在线帮助;
    --version:显示版本信息。
    
    cp

    命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

    -a:此参数的效果和同时指定"-dpR"参数相同;
    -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
    -f:强行复制文件或目录,不论目标文件或目录是否已存在;
    -i:覆盖既有文件之前先询问用户;
    -l:对源文件建立硬连接,而非复制文件;
    -p:保留源文件或目录的属性;
    -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
    -s:对源文件建立符号连接,而非复制文件;
    -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
    -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
    -b:覆盖已存在的文件目标前将目标文件备份;
    -v:详细显示命令执行的操作。
    

    1.如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.或点点..的形式。例如,下面的命令将指定文件复制到当前目录下:

    cp ../mary/homework/assign .
    

    2.所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。将文件file复制到目录/usr/men/tmp下,并改名为file1

    cp file /usr/men/tmp/file1
    

    3.将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

    cp -r /usr/men /usr/zh
    

    4.交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中

    cp -i /usr/men m*.c /usr/zh
    
    cp aaa/* /bbb
    复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
    cp -r aaa/* /bbb
    这次依然需要按Y来确认操作,但是没有忽略子目录。
    cp -r -a aaa/* /bbb
    依然需要按Y来确认操作,并且把aaa目录以及子目录和文件属性也传递到了/bbb。
    \cp -r -a aaa/* /bbb
    成功,没有提示按Y、传递了目录属性、没有略过目录。
    
    mv(选项)(参数)
    --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
    -b:当文件存在时,覆盖前,为其创建一个备份;
    -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
    -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
    --strip-trailing-slashes:删除源文件中的斜杠“/”;
    -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
    --target-directory=<目录>:指定源文件要移动到目标目录;
    -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
    

    1.将文件ex3改名为new1

    mv ex3 new1
    

    2.将目录/usr/men中的所有文件移到当前目录(用.表示)中:

    mv /usr/men/* .
    

    相关文章

      网友评论

          本文标题:mv、cp、mkdir、touch、find-linux

          本文链接:https://www.haomeiwen.com/subject/khxuzftx.html