精华内容
下载资源
问答
  • linux - 有没有办法让mv创建要移动的目录,如果它不存在?所以,如果我在我的主目录中并且我想将foo.c移动到〜/ bar / baz / foo.c,但那些目录不存在,是否有某种方法可以自动创建这些目录,以便 你只需输入mv foo....

    linux - 有没有办法让mv创建要移动的目录,如果它不存在?

    所以,如果我在我的主目录中并且我想将foo.c移动到〜/ bar / baz / foo.c,但那些目录不存在,是否有某种方法可以自动创建这些目录,以便 你只需输入

    mv foo.c ~/bar/baz/

    一切都会成功吗? 看起来你可以将mv改为一个简单的bash脚本,它会检查这些目录是否存在,如果不存在则会调用mkdir然后调用mv,但我想我会检查是否有人有更好的想法。

    12个解决方案

    215 votes

    这个单行(在bash中)怎么样:

    mkdir --parents ./some/path/; mv yourfile.txt $_

    打破这种情况:

    mkdir --parents ./some/path

    创建目录(包括所有中间目录),之后:

    mv yourfile.txt $_

    将文件移动到该目录($ _展开到传递给前一个shell命令的最后一个参数,即:新创建的目录)。

    我不确定这在其他炮弹中会有多大作用,但它可能会给你一些关于要寻找什么的想法。

    以下是使用此技术的示例:

    $ > ls

    $ > touch yourfile.txt

    $ > ls

    yourfile.txt

    $ > mkdir --parents ./some/path/; mv yourfile.txt $_

    $ > ls -F

    some/

    $ > ls some/path/

    yourfile.txt

    KarstenF answered 2019-03-11T11:39:21Z

    47 votes

    mkdir -p `dirname /destination/moved_file_name.txt`

    mv /full/path/the/file.txt /destination/moved_file_name.txt

    Billmc answered 2019-03-11T11:39:38Z

    19 votes

    保存为名为mv或mv.sh的脚本

    #!/bin/bash

    # mv.sh

    dir="$2"

    tmp="$2"; tmp="${tmp: -1}"

    [ "$tmp" != "/" ] && dir="$(dirname "$2")"

    [ -a "$dir" ] ||

    mkdir -p "$dir" &&

    mv "$@"

    或者放在〜/ .bashrc文件的末尾,作为替换每个新终端上的默认mv的函数。 使用函数允许bash保持内存,而不是每次都必须读取脚本文件。

    function mv ()

    {

    dir="$2"

    tmp="$2"; tmp="${tmp: -1}"

    [ "$tmp" != "/" ] && dir="$(dirname "$2")"

    [ -a "$dir" ] ||

    mkdir -p "$dir" &&

    mv "$@"

    }

    这些基于Chris Lutz的提交。

    Sepero answered 2019-03-11T11:40:17Z

    12 votes

    你可以使用mkdir:

    mkdir -p ~/bar/baz/ && \

    mv foo.c ~/bar/baz/

    一个简单的脚本自动执行(未经测试):

    #!/bin/sh

    # Grab the last argument (argument number $#)

    eval LAST_ARG=\$$#

    # Strip the filename (if it exists) from the destination, getting the directory

    DIR_NAME=`echo $2 | sed -e 's_/[^/]*$__'`

    # Move to the directory, making the directory if necessary

    mkdir -p "$DIR_NAME" || exit

    mv "$@"

    strager answered 2019-03-11T11:40:50Z

    5 votes

    可能是以下shell脚本?

    #!/bin/sh

    if [[ -e $1 ]]

    then

    if [[ ! -d $2 ]]

    then

    mkdir --parents $2

    fi

    fi

    mv $1 $2

    这是基本的部分。 您可能希望添加一些内容来检查参数,如果目标存在,或者源目录存在,或者不存在(或者不覆盖不存在的内容),您可能希望更改行为。

    Chris Lutz answered 2019-03-11T11:41:24Z

    3 votes

    这听起来像答案是没有:)。 我真的不想创建一个别名或func只是为了这样做,通常是因为它是一次性的,我已经在键入mv命令的中间,但我发现了一些适用于此的东西:

    mv *.sh shell_files/also_with_subdir/ || mkdir -p $_

    如果mv失败(dir不存在),它将生成目录(这是上一个命令的最后一个参数,因此$_具有该目录)。 所以只需运行此命令,然后重新运行它,这次mv应该会成功。

    Pat answered 2019-03-11T11:41:58Z

    2 votes

    Sillier,但工作方式:

    mkdir -p $2

    rmdir $2

    mv $1 $2

    使用mkdir -p创建包含共享目标文件名的临时目录的目录,然后使用简单的rmdir删除该文件名目录,然后将文件移动到新目标。我认为使用dirname的答案可能是最好的。

    Blarn Blarnson answered 2019-03-11T11:42:33Z

    2 votes

    最简单的方法是:mkdir [directorie name] && mv [filename] $_

    假设我下载了位于我的下载directorie中的pdf文件(〜/ download),我想在一个没有退出的导演中移动所有文件(让我们说“my_PDF”)。

    我将输入以下命令(确保我当前的工作目录os~ / download):

    mkdir my_PDF && mv *.pdf $_

    如果你想像这样创建子目录,你可以向mkdir添加-p选项:(假设我想创建一个名为“python”的子目录):

    mkdir -p my_PDF/python && mv *.pdf $_

    Abdoul Seibou answered 2019-03-11T11:43:24Z

    1 votes

    你甚至可以使用大括号扩展:

    mkdir -p directory{1..3}/subdirectory{1..3}/subsubdirectory{1..2}

    它创建了3个目录(directory1,directory2,directory3),在每个子目录中都有两个子目录(子目录1,子目录2),并且在每个子目录中有两个子子目录(subsubdirectory1和subsubdirectory2)。

    你必须使用bash 3.0或更新版本。

    Stefan Gruenwald answered 2019-03-11T11:44:20Z

    0 votes

    $what=/path/to/file;

    $dest=/dest/path;

    mkdir -p "$(dirname "$dest")";

    mv "$what" "$dest"

    cab404 answered 2019-03-11T11:44:39Z

    0 votes

    我的一个解决方案:

    test -d "/home/newdir/" || mkdir -p "/home/newdir/" && mv /home/test.txt /home/newdir/

    Andrey answered 2019-03-11T11:45:04Z

    0 votes

    码:

    if [[ -e $1 && ! -e $2 ]]; then

    mkdir --parents --verbose -- "$(dirname -- "$2")"

    fi

    mv --verbose -- "$1" "$2"

    例:

    参数:“d1”“d2 / sub”

    mkdir: created directory 'd2'

    renamed 'd1' -> 'd2/sub'

    John Doe answered 2019-03-11T11:45:33Z

    展开全文
  • 场景:一个目录下存在30G的文件(文件类型zip、若干文件夹) 操作:将此目录中某个文件通过mv移动到另外一个目录 这个操作是否会失败 延伸问题:mv什么特殊情况下会失败
  • mv(选项)(参数) 剪切,或在同目录下移动重命名1....如果源文件为多个,则目标必须是目录,并且统一移动到目录下-b:当目标文件存在时,先进行备份在覆盖[root@bogon admin]# mv -b a/aa b/mv: overwrite `b/aa'? y...

    mv(选项)(参数)    剪切,或在同目录下移动重命名

    1.如果目标文件是文件夹,则源文件直接移动到该文件夹内,名字还是源文件的名字。

    2.如果目标文件时文件,则源文件移动的同时也会更改名字

    3.如果源文件为多个,则目标必须是目录,并且统一移动到目录下

    -b:当目标文件存在时,先进行备份在覆盖

    [root@bogon admin]# mv -b a/aa b/

    mv: overwrite `b/aa'? y

    [root@bogon admin]# ls b

    aa aa~ bb

    -f:当目标文件存在时,强制覆盖

    [root@bogon admin]# mv -f a/aa b/

    [root@bogon admin]# ls b

    aa bb

    -i:默认选项,当目标文件存在时,提示是否覆盖

    [root@bogon admin]# mv -i a/aa b/

    mv: overwrite `b/aa'? y

    [root@bogon admin]# ls b

    aa bb

    -t:先指定目标,在制定源

    [root@bogon admin]# mv -t b/ a/aa

    mv: overwrite `b/aa'? y

    [root@bogon admin]# ls a b

    a:

    bb

    b:

    aa bb

    -v:显示过程

    [root@bogon admin]# mv -fv a/aa b/

    `a/aa' -> `b/aa'

    展开全文
  • 基本命令: ls命令 - list directory contents 下面介绍几个常用选项 -a 显示目录下的所有内容,可以查看到隐藏文件夹和文件 ...2.如果后面接的文件名存在,则更新文件的时间标记 rm命令...

    基本命令:

    ls命令 - list directory contents 

    下面介绍几个常用选项

    -a 显示目录下的所有内容,可以查看到隐藏文件夹和文件

    -A 显示目录下的所有内容,可以查看到隐藏文件夹和文件,但是不会显示..和.这两个文件

    -l 显示目录内容的详细信息

    -h 以人看的懂的方式显示,通俗的讲就是文件大小用K,M,G来显示

    touch命令 - change file timestamps

    1.新建一个空文件

    2.如果后面接的文件名存在,则更新文件的时间标记

    rm命令 - remove files or directories 删除文件或目录

    格式:rm [选项] 文件或目录

    -f 强行删除文件或目录,不进行提醒

    -r 递归删除整个目录树

    mv命令 - move (rename) files 移动或重命名文件

    格式: mv [选项] 源文件或目录 目标目录

    1.重命名文件,当后面的目标文件不存在的时候,就是将源文件或目录重命名

    2.移动文件(剪切) 当后面的目标目录存在的时候,就是将源文件或目录移动到目标目录

    cp命令 - copy files and directories

    格式; cp [选项] 源文件或目录 目标目录

    1.复制单个文件到目录

    2.复制多个文件到目录

    3.复制单个目录到另一个目录

    4.复制多个目录到另一个目录

    注意:复制目录的时候需要添加选项 -r

    通配符介绍:

    * 代表任意个任意字符串

    ? 代表一位任意字符串

    上面的cp和mv都可以使用通配符

    tree命令 -  list  contents  of directories in a tree-like format.

    查看目录的结构,把当前目录的结构,以一棵树的形式显示出来

    file命令 — determine file type

    查看文件是什么类型

    相对路径

    不是以/开头的,以当前所在路径作为参照物

    .代表当前目录

    ..代表上一级目录

    比如: cd  ../../hunan/changsha 表示以相对路径进入根目录下的hunan下的changsha这个目录

    绝对路径

    从/开始的,一层一层往下走,根当前所在的路径没有关系,绝大多数命令都可以接路径,推荐使用绝对路径,因为层次关系清晰,不易出错。

    比如:cd   /china/anhui 表示以绝对路径进入根目录下的china下的anhui这个目录

    展开全文
  • mv带有重命名的功能 同一目录下 ...mv file1 /~ 当目标目录不存在时,文件被移动到/目录下,更名为~ [注意] 重要的事情说三遍!!! 当在/目录下查看~文件时,vi ~ 结果看到空白,是因为文件最末尾...

    mv带有重命名的功能

    同一目录下

    mv file1 file2    file1被重命名为file2

     

    mv file1 /home/   file1被移动到/home 目录下

     

    mv file1  /~     当目标目录不存在时,文件被移动到/目录下,更名为~

    [注意]  重要的事情说三遍!!!

    当在/目录下查看~文件时,vi ~  结果看到空白,是因为文件最末尾是空白的,导致误认为不是目标文件,找了半天,好醉,最后使用gedit查看后发现就是目标文件

    当在/目录下查看~文件时,vi ~  结果看到空白,是因为文件最末尾是空白的,导致误认为不是目标文件,找了半天,好醉,最后使用gedit查看后发现就是目标文件

    当在/目录下查看~文件时,vi ~  结果看到空白,是因为文件最末尾是空白的,导致误认为不是目标文件,找了半天,好醉,最后使用gedit查看后发现就是目标文件

     

    转载于:https://www.cnblogs.com/my-ShowTime/p/5399846.html

    展开全文
  • Linux下的路径问题 环境配置,是大家学习Linux的一大难关,特别是其中的各种路径配置,更是让人头大。 今天我们就简单聊一聊,PATH两三事。 1、首先什么是路径? PATH,计算机系统里的路径是针对文件来说的。 有绝对...
  • 选项与参数: -f :force 强制癿意忠,如果目标档案已经存在,丌会询问而直接覆盖;  -i :若目标档案 (destination) 已经存在时,就会询问是否覆盖!  -u :若目标档案已经存在,丏 source 比较新,才会...
  • mv命令和cp命令类似,但是它复制文件/目录。这个命令默认安装在Linux系统中,不管你使用的什么发型版。下面列举了mv命令的基本使用。#1) 移动文件把 test.jpg 文件移动到 ~/Pictures 目录:$mv test.jpg ~/...
  • Linux mv命令:重命名文件

    千次阅读 2020-11-11 09:51:44
    Linux mv命令介绍、使用和注意事项。
  • 功能描述mv 可移动文件或目录,或是更改文件或目录的名称。命令语 法mv [-bfiuv][--help][--version][-S ][-V ][源文件或目录][目标文件或目录]选项含义选项含义-b若需覆盖文件,则覆盖前先行备份。-f若目标文件或...
  • mv 可移动文件或目录,或是更改文件或目录的名称。 命令语 法 mv [-bfiuv][–help][–version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录] 一、选项含义 -b 若需覆盖文件,则覆盖前...
  • [root@zen tmp]# mv hellp x/ ...[root@zen x]# mv hellp /y2 #这个相对路径写错了,还能执行报错。 [root@zen x]# cd y2/ [root@zen y2]# ls z find遍及/ 所有文件夹都没找到文件hellp,太可怕
  • Linux 文件的路径以及管理

    万次阅读 多人点赞 2018-06-02 16:15:57
    1.linux系统的结构类似windows中的文件夹,在Linux中叫做目录,linux是一个倒树形结构,最大目录为“/”称为根目录;/根目录下成为二级目录多为系统在安装过程中建立的目录;以下式二级目录以及主要作用:/bin #常用...
  • mv命令1.作用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中...如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。-f:禁止交...
  • linuxmv命令的使用

    千次阅读 2020-04-21 22:28:44
    mv简介:move的缩写,见名知意,就是移动的意思,移动什么呢?文件或者目录 mv的作用:移动文件或目录、重命名文件或目录 mv的格式:mv原文件或目录 目标文件或目录 现在有如下目录结构: 我通过几个例子来...
  • 添加盘: Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders Units = cylinders of 16065 * 512 = ...所以,mount磁盘之前,最好检查下路径下的文件。有用的mv,没用的rm。
  • 查阅文件属性的指令 ls 完整文件名为:/bin/ls(这是绝对路径), 会不会觉得很奇怪:『为什么可在任何地方执行/bin/ls 这个指令呢? 』 为什么在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找到该 /bin/ls...
  • Linux系统入门之文件系统与路径

    千次阅读 2019-04-02 22:12:50
    1.文件的寻址 相对路径: 相对与当前系统所在... 此名称以“/”开头 此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值 绝对路径: 绝对路径是文件在系统的真实位置 此命令是以“/”开头的 ...
  • Linuxmv的使用方法

    千次阅读 2017-04-28 12:26:49
    不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。来看一下 mv 命令在日常操作中的一些例子。 1、移动文件 移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将...
  • Linux rm、mv命令

    2019-05-05 11:53:27
    mv [源文件名称或目录名称1] [源文件名称或目录名称2] [源文件名称或目录名称3] [目标路径] 常用选项: -f:若目标文件存在,会被覆盖   -i:有提示信息   -n:若目标文件存在覆盖   -u:若源文件比...
  • Linux mv --文件或目录改名,移动位置

    千次阅读 2016-04-08 10:40:48
    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。 1.命令格式:  mv [选项] 源文件或目录 目标文件或目录 2.命令功能: ...
  • 如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。 实例: mv ex3 new1 # ex3重命名为 new1 mv /usr/men/* . #将目录/usr/men中的所有文件移到当前目录(用.表示)中 参数说明: --...
  • Linux C/C++语言头文件、库文件的查找路径  在程序设计中,文件包含是很有用的。一个大的程序可以分为多个模块,由多个程序员分别编程。有 些公 用的符号常量或宏定义等可单独组成一个文件,在其它文件的...
  • ... 1.基于文本的Linux为什么没有回收站?
  • cp/rm/mv等命令强制覆盖操作方式实现

    千次阅读 2021-05-12 14:21:26
    cp/rm/mv等命令强制覆盖操作方式实现转载:http://www.92csz.com/14/1240.html习惯了FreeBSD里的cp/rm/mv等命令遇到同名文件时直接覆盖操作,而在linux中(一定是全部,可能是我使用的几种),使用cp/rm/mv命令覆盖...
  • 不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。 来看一下 mv 命令在日常操作中的一些例子。 1.移动文件 移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将...
  • 如果是绝对路径,它应该像下面这样: mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt 重命名目录 mv directory_1/ directory_2/ 打印移动信息 mv -v *.txt /home/pungki/office...
  • 不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。来看一下 mv 命令在日常操作中的一些例子。 [root@localhost tmp]# mv --help Usage: mv [OPTION]... [-T] SOURCE DEST  or: mv [OPTION]....
  • 1、到Oracle官网下载最新版本oracle,目前是Oracle 11g R2版本,根据操作系统下载32位或者64位系统2、用filezilla将下载的oracle上传到Linux的root根目录,ftp的22端口传输数据,设置如图3、连接ftp站点,将下载的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,399
精华内容 30,159
关键字:

linuxmv路径不存在

linux 订阅