1、功能上的区别
mv:用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中。
cp: 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。
2、从inode角度来区分
mv:会将存储于indoe索引节点上的文件元信息也移动到新文件中。
cp : 只会复制文件数据,不会复制inode索引节点上的文件元信息。
测试效果如下图所示,注意看inode号的变化。mv命令执行后,test的inode号变成了1.txt的inode号,而cp命令执行后,test、1.txt两个文件的inode号没有发生变化 。
❷ Linux文本界面中,指令cp,cd,mv,rm,df,vi都是些什么意思还有哪些指令各什么意思谢谢
cp:是复制命令,用来复杂文件的,它可以见文件或者目录复杂到其他目录中。
cd"命令是用来改变当前的工作目录的",cd /是回到整个系统的根目录,而cd /home是回到home目录。
mv:是用来移动文件的。像mv /etc /代表的是把etc文件夹移动奥根目录中(/“根目录”)
rm:是一个删除命令,用例删除文件和目录。参数有-i 会提示你是否删除。-f会不提示直接删除,-r会删除整个文件夹或者目录以及属下的所有文件。
另外还有个rmdir的命令是用来删除目录的。
df:是检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
vi是一个编辑器,可以用来进行编写程序,和一些服务器的配置信息等等。使用vi会直接创立一个文件到你指定的路径中,在进入vi后想退出使用按insert,然后:wq!保存退出。
❸ linux的cp,mv命令疑惑。
根据 cp 指令的 man page,可知标准格式为:“cp 参数 来源 目的”或“cp 来源 目的”
至于参数能不能摆在指令的最后,这我没亲自试过,不便评论。
* 字符的作用和 Windows 系统里的一样,代表通配字符。
./ 复合字符代表当前路径,这个东西有可能会牵涉到环境变量的设置。不是很清楚你用哪种 shell,有些 shell 如果没有将 ./ 纳入环境变量,那么你说的两道指令,如果少了 ./ 带头,可能不会有任何作用,甚至可能会报错。
test 就是名为 test 的文件
test/ 结尾多了个斜线就是 test 目录
test/* 就是 test 目录底下的所有文件
./test/* 就是当前路径 test 目录底下的所有文件
所以回到你最后一个问题
“mv ./test/*./test1”、“mv test test1”,这两者的本质还是有差异。前者明确的指出“来源 test 目录下的所有文件”,而后者确是“来源可能只是个 test 文件”,“目的也可能只是个 test1 文件”。
若是从这个背景来看,你这两条指令有可能无法互通,后者常用来变更文件名。