把目录或者文件移动到新的位置,用的是 mv 命令,它表示 move,移动的意思,你也可以使用这个命令去重命名目录或者是文件。使用的方法是 mv ,它后面有两个参数,第一个参数是要移动的源,第二个参数是移动到的位置,或者叫目标。
先进入到我的用户主目录下面的桌面上 .. cd ~/desktop ... 查看一下 project 这个目录里的东西 .. ls project
比如现在我想把 project 里面的 app 目录移动到当前我所在的位置上,可以这样,输入 mv .. 要移动的是 project 下面的 app ... 中间用一个空格分隔开 ... 然后指定一下要移动到的目标 ... 用一个点,加上一个斜线,表示移动到当前目录的下面。
如果你想返回 mv 命令的操作的结果,可以用一个 -v 参数,v 一般表示的就是 verbose,意思是显示详细的信息。
mv -v project/app ./
ls ... 查看一下当前目录下的东西,这里会有一个 app 目录,这个目录就是原来在 project 里面的那个 app 目录。把这个 app 目录再放到 project 里面,可以这样 .. mv -v ,要移动的是当前目录下面的 app ... 移动到的位置是在 project 这个目录的下面,注意这里目录的最后要用一个斜线结尾,表示要把 app 放到 project 这个目录的下面,而不是把 app 重命名为 project 目录。
mv -v app project/
下面我们再认识一个特别的符号, * ... 这个符号表示任意的字符。比如这里我在当前的目录下面创建一个新的文件 ... 命名为 htaccess.txt ... 这里我们用 touch 命令,去创建一个空白的文件 ... 注意默认在 Windows 系统上不能使用这个命令。
touch htaccess.txt ...
下面我要把这个文件重命名为 .htaccess ... 输入 mv ... 在后面,你可以指定这个文件的全名 ... 或者也可以这样 ... ht*
这里的 * 号可以表示文件名的后半部分,意思就是,我要移动的是 ht 开头的文件 ... 因为我的目录的下面,只有一个文件是 ht 开头的,所以它表示的就是 htaccess.txt 这个文件 ... 在后面再加上移动到的位置 ... 把它放在 project/app/ 下面,重命名为 .htaccess ...
mv ht* project/app/.htaccess
查看一下 ... ls project/app ... 你会看到一个 .htaccess 文件 ... 在命令里面配合使用这个 * 号,有时候会更方便一些。少输入一些东西。
下面我们再试一下批量的移动特定类型的文件 ... 同样先用 touch 命令去创建一些空白的文件 ... touch ... 文件名是 file- 开头的,后面是 01 到 10 这些数据 ... 可以把这个数字区间放到一组大括号里 ... 中间用两个点连接一下 ... 最后是这些文件的扩展名 ... .log ...
touch file-{01..10}.log
查看一下 ... 你会看到,当前目录下有一些 file 开头的 log 文件 ... 如果你想把这些文件移动到某个地方,比如放到 project 下面的 app 目录下面的 log 这个目录里面,先去创建这个目录 ... mkdir project/app/log
然后再用 mv 命令去移动文件 ... 这里要移动的文件可以这样写,用一个 *.log ,它表示所有的 .log 格式的文件 ... 要移动到的地方是 project/app/log/ ..
mv -v *.log project/app/log/
再查看一下这个 log 目录 ...
ls project/app/log
你会看到,刚才在桌面上的 log 文件全部都移动到了这个目录的下面。在使用 * 号的时候,要注意默认它不表示用 . 开头的文件 ... 用一个 * 号,默认它只表示所有的不是用点开头的文件或者目录 ... 这些隐藏的用点开头的文件或者目录,你需要手工去移动它们。