云服务器Linux文件和目录管理教程

发布时间:2017-10-26 15:50:41
本公司为腾讯云主机云服务器金牌代理、阿里云主机云服务器金牌代理,本站不但为用户提供腾讯云、阿里云、百度云,金山云优惠打折购买,还为用户提供服务环境配置、技术支持!
 
 
 
绝对路径和相对路径
视频地址: 链接: http://pan.baidu.com/s/1bnjdaZP 密码: ou4c
http://www.discuz.net/data/attachment/forum/vid/2-1file_path.wmv
 
在Linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在以前提到的 /root/.ssh/authorized_keys 这就是一个文件的路径。如果你告诉系统这个文件的路径,那么系统就可以找到这个文件。在Linux的世界中,存在着绝对路径和相对路径。
绝对路径:路径的写法一定由根目录“/”写起。例如 /usr/local/mysql 这就是绝对路径。
相对路径:路径的写法不是由根目录“/”写起。例如,首先用户进入到/, 然后再进入到home ,命令为 
# cd /home 
# cd test 
此时用户所在的路径为 /home/test 第一个cd命令后跟 ‘/home’ 第二个cd命令后跟 ‘test’, 并没有斜杠,这个 ‘test’ 是相对于 ‘/home’ 目录来讲的,所以叫做相对路径。
 
命令cd
视频地址:链接: http://pan.baidu.com/s/1c0jbbe4 密码: lppd
http://www.discuz.net/data/attachment/forum/vid/2-2cd.wmv
这个命令是用来变更用户所在目录的,后面如果什么都不跟,就会直接到当前用户的根目录下,我们做实验用的是root账户,所以运行 cd 后,会进入root账户的根目录 /root。 后面跟目录名,则会直接切换到指定目录下:
# cd /tmp/
# pwd
/tmp
# cd
# pwd
/root
pwd 这个命令打印出当前所在目录,cd 后面只能是目录名,而不能是文件名,如果跟了文件名会报错:
# cd /etc/passwd
-bash: cd: /etc/passwd: 不是目录
./ 表示当前目录,../ 表示当前目录的上一级目录:
# cd /usr/local/lib/
# pwd
/usr/local/lib
# cd ./
# pwd
/usr/local/lib
# cd ../
# pwd
/usr/local
上例中,首先进入到 /usr/local/lib/ 目录下,然后再进入 ./ 其实还是到当前目录下,用 pwd 查看当前目录,并没有发生变化,然后再进入 ../ 则是进入到了 /usr/local/ 目录下,即 /usr/local/lib 目录的上一级目录。
 
命令:mkdir
视频地址: 链接: http://pan.baidu.com/s/1jLcuE 密码: 5jqa
http://www.discuz.net/data/attachment/forum/vid/2-3mkdir+rmdir.wmv
它用来创建目录,这个命令在上一章节中用到过。 mkdir其实就是make directory的缩写。其语法为 mkdir [-mp] [目录名称] ,其中-m、-p为其选项, -m这个选项用来指定要创建目录的权限,不常用,阿铭不做重点解释。 -p这个选项很管用,先来做个试验,你会一目了然的:
# mkdir /tmp/test/123
mkdir: 无法创建目录 '/tmp/test/123': 没有那个文件或目录
# mkdir -p /tmp/test/123
# ls /tmp/test
123
当我们想创建 /tmp/test/123 目录,可是提示不能创建,原因是 /tmp/test 目录不存在,也许你会说,这个Linux怎么这样傻,/tmp/test 目录不存在就自动创建不就OK了嘛,的确Linux是有点傻,如果它发现要创建的目录的上一级目录不存在就会报错。然而Linux也并非那么傻,因为它也为我们想好了解决办法,即-p选项,这个选项可以帮我们创建一大串级联目录,这个选项还有一个好处,那就是当创建一个已经存在的目录时,不会报错:
# ls -ld /tmp/test/123
drwxr-xr-x. 2 root root 4096 5月 9 19:10 /tmp/test/123
# mkdir /tmp/test/123
mkdir: 无法创建目录 '/tmp/test/123': 文件已存在
# mkdir -p /tmp/test/123
# ls -ld /tmp/test/123
drwxr-xr-x. 2 root root 4096 5月 9 19:10 /tmp/test/123
在上一章节里,阿铭已经介绍过 ls 命令,但是并没有介绍它的-d选项,这个选项是针对目录的,通常都是和-l同时使用写成-ld。 它可以查看指定目录的属性,比如在本例中,它可以查看/tmp/test/123目录的创建时间,如果不加-d那么会显示该目录下的文件和目录的属性。 mkdir -p 后面跟一个已经存在的目录名时,它不会做任何事情,只是不报错而已。
 
命令:rmdir
 
它用来删除空目录,后面可以是一个也可以是多少,多个的话用空格分隔。该命令阿铭很少使用,因为它只能删除目录,不能删除文件,还有一个命令rm既可以删除目录又可以删除文件,阿铭用的比较多。rmdir有一个和mkdir一样的选项-p,同样可以级联删除一大串目录,但是级联的目录中其中一个目录里还有目录或者文件时就不好用了。
# ls /tmp/test
123
# rmdir /tmp/test/
rmdir: 删除 '/tmp/test/' 失败: 目录非空
# rmdir /tmp/test/123
# ls /tmp/test
#
所以,得出的结论是,rmdir只能删除空目录,即使加上-p选项也只能删除一串的空目录,可见这个命令有很大的局限性,偶尔用下还可以。
 
命令:rm
视频地址:链接: http://pan.baidu.com/s/1gdIMJkf 密码: 1zkm
http://www.discuz.net/data/attachment/forum/vid/2-4rm.wmv
 
这个命令是最常用的,rm同样也有很多选项。你可以通过命令“man rm”来获得详细帮助信息。在这里阿铭只介绍最常用的两个选项。
-r: 删除目录用的选项,等同于rmdir.
# mkdir -p /tmp/test/123
# rm -r /tmp/test/123
rm:是否删除目录 '/tmp/test/123'? y
但是和rmdir不同的是,使用 rm -r 删除目录时,会问一下是否删除,如果输入y则会删除,输入n则不删除。当然 rm -r 也不会向rmdir不能删除非空目录,它是可以删除非空目录的。
-f: 表示强制删除,不再提示是否要删除,而是直接就删除了,而后面跟一个不存在的文件或者目录时,也不会报错。如果不加 ‘-f’ 选项会报错。
# rm /tmp/test/123/123
rm: 无法删除 '/tmp/test/123/123': 没有那个文件或目录
# rm -f /tmp/test/123/123
要删除一个目录时,即使加上-f选项也会报错,所以删除目录一定要加-r选项。
# rm -f /tmp/test/123
rm: 无法删除 '/tmp/test/123': 是一个目录
# rm -rf /tmp/test/123
关于rm,阿铭使用最多便是-rf两个选项合用了。不管删除文件还是目录都可以。但是方便的同时也要多注意,万一你的手太快后边跟了/那样就会把您的系统文件全部删除的,这一点一定要注意!