各位朋友们,大家好!今天我们要学习Linux系统目录相关的知识啦!前面[ Linux系统基础学习——1.Linux系统简介(2)]我们提到,Linux系统中一切皆文件,因此Linux中目录也是文件(一种路径映射文件),但这里我们把目录先拿出来单独学习,之后再来学习纯粹的文本文件。
我们将从以下几方面走进目录管理:首先了解一些目录、路径相关的概念,包括目录命名原则、相对路径和绝对路径,然后开始学习如何查看、访问、新建、复制、移动及删除目录等操作,最后我们再接触一些目录权限方面的概念(后续章节将详细介绍权限管理)。
一、目录命名原则及路径概念
在Linux系统中目录及文件的命名规则如下:
(1)除了字符‘/’外,所有字符均可使用。(建议不要使用某些特殊字符)
(2)目录名(以及文件名)的长度不能超过255个字符。
(3)目录名(以及文件名)区分大小写。
(4)文件的拓展名对Linux系统没有特殊含义。(即Linux系统区分大小写,不区分后缀名;而windows相反,不区分大小写但区分后缀名)
路径包括绝对路径和相对路径两种。绝对路径指从文件系统的根节点开始到要查找的对象(目录或文件)所必须遍历的每一个目录的名称。通俗点讲,绝对路径就是从根(/)开始到目标目录的所有路径都要写出来,例如home目录下的Cat下的cat1:/home/Cat/cat1 。相对路径指从当前目录到要查找的目录或文件所必须遍历的每一个目录名称,例如home目录下的Cat的cat1:cat1(若当前目录为Cat)。(路径间用‘/’连接)
二、目录管理
(1)目录查看
我们可以通过 ls、pwd 这两个命令及其选项来查看目录列表和当前所处目录。
pwd命令(printworking directory的缩写):查看当前所处的位置。pwd用法简单,不需要其他选项和参数。
例:先添加一用户xiaosheng(添加用户在随后的用户管理章节将会介绍,先不用着急哟!),之后我们再利用普通用户xiaosheng来学习目录管理
[root@localhost ~]# useradd xiaosheng #新建一用户xiaosheng [root@localhost ~]# passwd xiaosheng #为xiaosheng设置密码 [root@localhost ~]# su – xiaosheng #切换至xiaosheng用户
[xiaosheng@localhost ~]$ pwd #pwd命令查看当前所处位置,登陆系统时默认在家目录中 /home/xiaosheng
ls命令(list的缩写):列出当前目录(默认为当前目录)或指定目录中的内容。
ls使用格式:ls [option(s)] [directory(ies)]
ls命令常用选项:
-l #详细显示当前目录或指定目录内容 -h #以人类易懂的方式显示(通常与-l同时使用) -a #显示隐藏文件(以.开头的文件)和非隐藏文件 -A #显示除.和..外的隐藏文件及非隐藏文件(.代表当前目录,..代表上一级目录) -F #显示所列出文件的文件类型(/:表示目录;*:表示可执行文件;无特殊显示:表示纯文本文件或ASCII码文件;@:表示符号链接) -R #列出目录及其子目录信息
(2)目录访问
cd命令(change directories的缩写):切换目录
cd命令常用用法:
cd #切换回用户家目录 cd ~ #切换回用户家目录 cd - #返回上次所在目录 cd 相对路径or绝对路径 #进入指定目录
(3)新建目录
mkdir命令(make directory的缩写):创建目录
mkdir命令使用格式:mkdir 目录 #目录可为相对路径,或绝对路径
mkdir常用用法:
mkdir –p 目录 #若父目录不存在,先创建父目录 mkdir –v 目录 #显示创建的详细性息
补充:install –d directory #另一个可用于新建目录的命令
(4)复制目录
cp命令(copy的缩写):将一个文件或目录从一个位置复制到另一个位置
cp命令使用格式:cp [-option(s)] source(s) target
source:可以是一个或多个文件或目录
target:可以是一个文件或一个目录
cp命令常用选项:
-r(或R) #(recursive)递归复制目录及以下的文件(复制目录必须要此参数) -i #(interactive)交互式操作 -f #(force)强制执行 -p #(perserve)不改变属主、属组及时间戳等信息复制 -a #(all)保留文件所有属性复制、常用于备份 -d #保持链接复制
(5)移动目录
mv命令(move的缩写):可在不同目录间移动目录或文件,也可重新命令文件和目录。
(6)删除目录
rmdir命令(remove directory的缩写):删除空目录
rm –r 目录 #递归删除目录 rm –rf 目录 #强制递归删除目录
三、目录权限
当使用ls –l(或ll)命令列出目录时,我们将看到如下界面:
上图各字段意义:d:代表目录;rwx:代表可读可写可执行(-代表无此权限),三个rwx分别表示用户、组及其他用户的权限;2代表目录硬链接的次数为2次;2之后的用户名分别表示文件的属主及属组;6表示文件大小;之后为时间戳(最近一次被修改的时间);最后为文件名。
权限(rwx)三种表示方法:(1)数字0-7表示[---:0;--x:1;-w-:2;-wx:3;r--:4;r-x:5;rw-:6;rwx:7];(2)属主(u)、属组(g)、其他(o)=权限;(3)u、g、o±权限
用户在创建目录(mkdir命令)时,可使用-m选项修改用户权限。
mkdir –m 666 file1 mkdir –m ugo=r— file1 mkdir –m ugo-wx file1 #这三条命令效果相同,创建权限为r—r—r—的目录
以上是我接触到的目录管理的内容,不足之处请大家批评指正!谢谢^_^
参考资料:Linux从入门到精通、马哥Linux