Day6 文件目录的建立与删除

概述

  • 在windows中咱们常常用到建立文件和删除文件,操做方法也很简单,就是直接右键新建或删除,再或者直接拖入回收站。在linux的图形界面中,咱们也能够进行相似的操做。那么在命令行的界面中咱们该如何实现呢?本文就是要讲这个东西。
  • 在命令行的界面下,文件都是以字符的样子展现在咱们的面前。咱们不能直观的去用鼠标打开某个文件夹,因此要找到一个文件,就得找到文件存放的位置。而这个文件存放的位置,咱们称之为文件的路径,而在linux中路径分为绝对路径和相对路径
  • 在建立文件前,咱们须要肯定文件的位置,也就是文件的路径,须要的路径没有这么办。这就须要用到命令来建立目录(mkdir)了,有建立天然也就有删除目录(rmdir)

rmdir只能删除空目录,没法删除文件,这也正是它所局限的地方,因此通常不怎么用。
man命令是使用手册,经过man指令能够查看Linux中的指令帮助、配置文件帮助和编程帮助等信息,几乎全部命令都能man。ps:直接按Q键能够退出手册。mysql

  • 上面的注释里说了rmdir的不足的地方,它不行天然有顶替他的人,那我的就是rm(删除文件目录)
  • ps:文章中出现的其余命令:tree, cd, pwd, date,man,yum

相对和绝对路径

  • 绝对路径: 路径的写法是从更目录开始的,例如/usr/local/mysql
  • 相对路径: 路径的写法不是从根开始的

用法

pwd //查看当前所在路径
cd   //变动所在目录

cd后面只能跟目录名字,跟了好比文件就会报错linux

[root@localhost ~]# cd /etc/passwd
-bash: cd: /etc/passwd: 不是目录

cd命令 (change directory)

做用:用来变动用户所在目录,若是后面什么都不跟,就会直接进入当前用户的根目录下。sql

用法

  • cd //进入当前用户的根目录下
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# cd
[root@localhost ~]# pwd
/root
  • cd - //进入上一次所在的目录,有点像电视遥控器上面的返回键
[root@localhost tmp]# cd /tmp/
[root@localhost tmp]# cd /etc/
[root@localhost etc]# cd -
/tmp                                 //秘技:反复横跳
[root@localhost tmp]# cd -
/etc
  • cd ~ //进入用户的家目录(进入/root目录),进入主页快捷键
[root@localhost home]# cd ~
[root@localhost ~]# pwd
/root
  • cd .. //进入上一级目录.就是浏览网页时候的后退键的感受

一个点表明当前目录,两个点表明当前目录的上一级目录编程

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd 
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd ..
[root@localhost sysconfig]# cd . //一个点哈
[root@localhost sysconfig]# pwd
/etc/sysconfig
[root@localhost sysconfig]# cd ..
[root@localhost etc]# cd ..
[root@localhost /]# //一直后退的结果就是根咯,宇宙起源~~
  • man cd //查看cd的其余用法。经常使用的基本上就是上面说到的几个,可是打开是英文怎么办。别担忧!咱们贴心的放上了中文版的哦

http://fanyi.baidu.com/translate(很好的方法)
http://man.linuxde.net/cd(相关地址)windows

建立和删除目录 mkdir/rmdir

命令 mkdir (make directory)

mkdir:用于建立目录bash

mkdir命令的-m选项,用于指定建立目录的权限,如今不怎么用,了解为主.net

  • mkdir -p //一次建立多个目录
[root@localhost ~]# mkdir /tmp/test/123   //不加选项就会报错
mkdir: 没法建立目录"/tmp/test/123": 没有那个文件或目录
[root@localhost ~]# mkdir -p /tmp/test/123
[root@localhost ~]# ls /tmp/test/
123
  • mkdir -pv //建立目录可视化
[root@localhost ~]# mkdir -vp /tmp/test/123/3/2/1
mkdir: 已建立目录 "/tmp/test/123/3"
mkdir: 已建立目录 "/tmp/test/123/3/2"
mkdir: 已建立目录 "/tmp/test/123/3/2/1"
  • date //显示时间,看看时间咯
[root@localhost ~]# date
2018年 06月 04日 星期一 19:35:37 CST

命令 rmdir (remove directory)

  • rmdir //删除目录且只能删除空目录,很局限命令行

  • rmdir -p //级联删除空目录。用于删除空目录,后面能够使一个目录,也能够是多个目录(用空格分隔)code

级联删除路径要写完整,即便目录里有目录都是不能删除的(非空)。这里的级联删除,还好个人/tmp/里有东西否则,直接给删除了,真可怕呢ip

[root@localhost ~]# ls /tmp/test/123/
3
[root@localhost ~]# rmdir /tmp/test/123/
rmdir: 删除 "/tmp/test/123/" 失败: 目录非空
[root@localhost ~]# rmdir -p /tmp/test/123/
rmdir: 删除 "/tmp/test/123/" 失败: 目录非空
[root@localhost ~]# rmdir -p /tmp/test/123/3/2/
rmdir: 删除目录 "/tmp" 失败: 设备或资源忙
[root@localhost ~]# ls /tmp/test/123/
ls: 没法访问/tmp/test/123/: 没有那个文件或目录
[root@localhost ~]# ls /tmp/test
ls: 没法访问/tmp/test: 没有那个文件或目录

rm命令

man命令能够查他的其余用法,这里咱们只讲最经常使用的选项

  • rm -r //删除目录能够是非空目录

会询问哦,y是赞成;n是不一样意

  • rm -f //强制删除 而且不会询问
  • rm -rfv //可以看到删除过程
  • rm -rf //没有输入正确的文件名也不会报错

rm -rf后面不能加/,要是你加了而且还输入了,那么就能够跑路了,由于你把你的系统文件都删了

[root@localhost ~]# ls /tmp/test/123/
3
[root@localhost ~]# rm /tmp/test/123/  #不加的话就会报错
rm: 没法删除"/tmp/test/123/": 是一个目录
[root@localhost ~]# rm -r /tmp/test/123/
rm:是否进入目录"/tmp/test/123/"? y
rm:是否删除目录 "/tmp/test/123/3"?y
rm:是否删除目录 "/tmp/test/123/"?y
[root@localhost ~]# mkdir /tmp/test/123/
[root@localhost ~]# rm -f /tmp/test
rm: 没法删除"/tmp/test": 是一个目录
[root@localhost ~]# rm -rf /tmp/test/
[root@localhost ~]# ls /tmp/test/
ls: 没法访问/tmp/test/: 没有那个文件或目录
#删除时显示过程
[root@localhost ~]# mkdir -p /tmp/test/123/3 
[root@localhost ~]# rm -rfv /tmp/test/   
已删除目录:"/tmp/test/123/3"
已删除目录:"/tmp/test/123"
已删除目录:"/tmp/test/"

  • tree命令 //以树状结构显示文件或目录,后面要接目录或文件名
没有就先安一个
[root@localhost ~]# tree
bash: tree: 未找到命令...
[root@localhost ~]# yum install tree
[root@localhost ~]# tree /tmp/test/
/tmp/test/
└── 123
    └── 3

2 directories, 0 files

http://man.linuxde.net/tree (详解)

相关文章
相关标签/搜索