Linux目录文件管理

Linux目录文件管理

一、建立目录和文件

1、建立目录 :mkdir命令

mkdir命令可以一次建立一个或多个目录。也可以一次建立一个连续的目录。

  • mkdir — Make Directory
  • 格式:mkdir [选项 ] /路径/目录名…
    • 常用选项
      -p 连同父目录一起创建

      [root@nsd ~]# mkdir -p /vod/movie/cartoon #连同父目录一并创建
      [root@nsd ~]# ls -R  /vod                 #递归显示目录内容
      
      [root@nsd ~]# mkdir -p /opt/aa/bb/cc/dd #连同父目录一并创建
      [root@nsd ~]# ls -R /opt/aa    #递归显示目录内容
      
      [root@nsd ~]# mkdir /aaa
      [root@nsd ~]# ls /aaa/
      

2、建立一个空文件:touch

touch 这个命令非常简单,就是在touch命令后面加上要创建的文档名字就可以了。

  • touch

  • 格式: touch /路径/新建文件名

      [root@nsd ~]# touch  /aaa/1.txt     //在目录aaa下建立以.txt结尾名为1的文件。
      [root@nsd ~]# ls /aaa/
    

二、移动、复制、删除

1、移动和重命名:mv命令

mv命令类似于Windows系统中右键剪切的操作。

  • mv — move

  • 格式:mv 选项 目录或文件路径

      [root@nsd ~]# mkdir /opt/aaa/
      [root@nsd ~]# touch /opt/1.txt
      [root@nsd ~]# ls /opt/
      
      [root@nsd ~]# mv /opt/1.txt  /opt/aaa/
      [root@nsd ~]# ls /opt/
      [root@nsd ~]# ls /opt/aaa/
    
  • 重命名:路径不变的移动

      [root@nsd ~]# ls /opt/
      [root@nsd ~]# mv /opt/aaa   /opt/bbb
      [root@nsd ~]# ls /opt/
    
  • 在移动过程中有同名文件
    有一个比较好用的选项 -b

      [root@hello ~]# touch  /opt/1.txt
      [root@hello ~]# ls /opt/
      1.txt  bbb  
      [root@hello ~]# mv /opt/1.txt  /opt/bbb/1.txt 
      mv:是否覆盖"/opt/bbb/1.txt"? y
    

如果在 /opt/bbb/1.txt 文件中有一些内容,但刚刚建立的/opt/1.txt 文件中没有内容,这个操作就会将 /opt/bbb/1.txt覆盖掉。可能会造成一定程度的不方便。

	[root@hello ~]# echo  大家好 > /opt/bbb/1.txt    //在/opt/bbb/1.txt中书写‘大家好’
	[root@hello ~]# cat /opt/bbb/1.txt
	大家好
	[root@hello ~]# mv -b /opt/1.txt  /opt/bbb/1.txt     //加上-b选项后再次移动覆盖
	mv:是否覆盖"/opt/bbb/1.txt"? y
	[root@hello ~]# ls /opt/bbb/           //此时会在原先/opt/bbb/下的 1.txt后加上~
	1.txt  1.txt~
	[root@hello ~]# cat /opt/bbb/1.txt
	[root@hello ~]# cat /opt/bbb/1.txt~      //查看/opt/bbb/1.txt~  发现  内容就是原/opt/bbb/1.txt的内容
	大家好

2、复制:cp命令

Windows 中复制后,还需要栽目标文件夹中点击粘贴。cp命令可以将复制粘贴同时完成。

  • cp — Copy

  • 格式:cp [选项]… 原文件… 目标路径

  • 常用命令选项
    -r:递归,复制目录时必须有此选项
    -b:对同名文件改名后复制,与mv的 -b选项功能相同

      [root@nsd ~]# cp /etc/passwd  /opt/
      [root@nsd ~]# ls /opt/
      
      [root@nsd ~]# cp /etc/shadow  /opt/
      [root@nsd ~]# ls /opt/
      
      [root@nsd ~]# cp /etc/group   /opt/
      [root@nsd ~]# ls /opt/
      
      [root@nsd ~]# cp -r /boot/  /opt/
      [root@nsd ~]# ls /opt/
      [root@nsd ~]# ls /opt/boot/
      
      [root@nsd ~]# cp -r /home  /opt/
      [root@nsd ~]# ls /opt/
      [root@nsd ~]# ls /opt/home
    
  • 复制时出现同名的数据,强制覆盖

      [root@nsd ~]# cp -r /boot/  /opt/    
    由于在上面的操作中已经执行过这条命令,所以重复执行,系统会提示是否覆盖。
    可是有时候文件太多。所以有了 -f  (force 强制)这个参数。
    按 Ctrl + c 结束 
      [root@nsd ~]# \cp -rf /boot/  /opt/   #临时在本次操作取消别名
      [root@B ~]# alias  cp  #查看别名的命令
      alias cp='cp -i'          
    

由于在系统中 已经为cp命令建立了一个别名 -i 这个选项的意思是交互,就是相当于在覆盖的时候给操作者一个提醒。
\cp -rf /boot/ /opt/ ##cp命令 前面的这个\ 反斜杠 就是临时取消别名的意思 在这里取消 -i 的提醒效果

  • 复制可以支持多个参数,永远会把最后一个参数作为目标路径,其他的所有参数都会作为源数据

      [root@nsd ~]# mkdir /linux2020
      [root@nsd ~]# cp -r /etc/passwd /etc/fstab  /etc/shadow  /etc/group /etc/shells  /boot/ /home/ /linux2020
      [root@nsd ~]# ls /linux2020
    
  • 复制可以与 “.” 点进行连用,将数据复制到当前目录下

      [root@nsd ~]# cd /opt/
      [root@nsd opt]# cp /etc/redhat-release  .
      [root@nsd opt]# ls
      [root@nsd /]# cd /etc/sysconfig/network-scripts/
      [root@nsd network-scripts]# cp  /etc/passwd   .
      [root@nsd network-scripts]# ls
    
  • 复制可以重新命名,目标路径的数据名称

      [root@nsd /]# cp /etc/redhat-release  /opt/red.txt
      [root@nsd /]# ls /opt/
      
      [root@nsd /]# cp -r /boot/  /opt/hehe
      [root@nsd /]# ls /opt/
      [root@nsd /]# ls /opt/hehe/
      
      [root@nsd /]# cp /etc/fstab  /opt/f.txt
      [root@nsd /]# ls /opt/
      
      [root@nsd /]# cp /etc/passwd  /opt/p.txt
      [root@nsd /]# ls /opt/
    

3、删除命令:rm命令 和 删除目录:rmdir命令

  • rm命令
    rm命令一次可以删除一个或多个文件,而且在Linux系统中不会讲删除的文件放到类似于Windows的回收站中。

  • rm — Remove
    格式:rm [选项]… 文件或目录…

  • 常用命令选项
    -r:递归删除目录下所有的文件和子目录。
    -f:强制删除

      [root@nsd ~]# ls /opt
      [root@nsd ~]# rm -rf  /opt/bbb    #执行这个命令不回给用户任何提醒,所有谨慎使用。
      [root@nsd ~]# ls /opt
    
  • rmdir命令
    rmdir命令用来删除目录。但是只能用来删除空目录。

      [root@B ~]# mkdir /opt/abc
      [root@B ~]# ls /opt
      abc  bbb  home  passwd  shadow
      [root@B ~]# rmdir /opt/abc/
      [root@B ~]# rmdir /opt/bbb/
      rmdir: 删除 "/opt/bbb/" 失败: 目录非空
    
发布了7 篇原创文章 · 获赞 2 · 访问量 171

猜你喜欢

转载自blog.csdn.net/weixin_40136446/article/details/104236390