第十课(八) 目录的创建与删除命令
mkdir命令
功能创建一个目录(类似DOS下的md命令)
语法mkdir [选项] dirname
说明该命令创建由dirname命名的目录要求创建目录的用户在当前目录中(dirname的父目录中)具有写权限并且dirname不能是当前目录中已有的目录或文件名称
命令中各选项的含义为
m 对新建目录设置存取权限也可以用chmod命令设置
p 可以是一个路径名称此时若路径中的某些目录尚不存在 加上此选项后系统将自动建立好那些尚不存在的目录即一次可以建立多个目录
例如在当前目录中建立inin 和inin下的/mail目录也就是连续建两个目录
$ mkdir p m /inin/mail/
该命令的执行结果是在当前目录中创建嵌套的目录层次inin /mail权限设置为只有文件主有读写和执行权限
rmdir 命令
功能删除空目录
语法rmdir [选项] dirname
说明dirname表示目录名该命令从一个目录中删除一个或多个子目录项需要特别注意的是一个目录被删除之前必须是空的(注意rm r dir命令可代替rmdir但是有很大危险性)删除某目录时也必须具有对父目录的写权限
命令中各选项的含义为
p 递归删除目录dirname当子目录删除后其父目录为空时也一同被删除如果整个路径被删除或者由于某种原因保留部分路径则系统在标准输出上显示相应的信息
例如
$ rmdir p /usr/xu/txt
将/usr/xu/txt目录删除
改变工作目录显示目录内容命令
cd 命令
功能改变工作目录
语法cd [directory]
说明该命令将当前目录改变至directory所指定的目录若没有指定directory则回到用户的主目录为了改变到指定目录用户必须拥有对指定目录的执行和读权限
该命令可以使用通配符(通配符含义请参见第十章)
例如假设用户当前目录是/home/xu现需要更换到/home/xu/pro目录中
$ cd pro
此时用户可以执行pwd命令来显示工作目录
$ pwd /home/xu/pro
pwd 命令
在Linux层次目录结构中用户可以在被授权的任意目录下利用mkdir命令创建新目录也可以利用cd命令从一个目录转换到另一个目录然而没有提示符来告知用户目前处于哪一个目录中要想知道当前所处的目录可以使用pwd命令该命令显示整个路径名
语法pwd
说明此命令显示出当前工作目录的绝对路径
例$ pwd /home/xu
显示的路径名为/home/xu每个目录名都用/隔开根目录以开头的/表示
ls 命令
ls是英文单词list的简写其功能为列出目录的内容这是用户最常用的一个命令之一因为用户需要不时地查看某个目录的内容该命令类似于DOS下的dir命令
语法ls [选项] [目录或是文件]
对于每个目录该命令将列出其中的所有子目录与文件对于每个文件ls将输出其文件名以及所要求的其他信息默认情况下输出条目按字母顺序排序当未给出目录名或是文件名时就显示当前目录的信息
命令中各选项的含义如下
a 显示指定目录下所有子目录与文件包括隐藏文件
A 显示指定目录下所有子目录与文件包括隐藏文件但不列出和
b 对文件名中的不可显示字符用八进制逃逸字符显示
c 按文件的修改时间排序
C 分成多列显示各项
d 如果参数是目录只显示其名称而不显示其下的各文件往往与l选项一起使用以得到目录的详细信息
f 不排序该选项将使lts选项失效并使aU选项有效
F 在目录名后面标记/可执行文件后面标记*符号链接后面标记@管道(或FIFO)后面标记|socket文件后面标记=
i 在输出的第一列显示文件的i节点号
l 以长格式来显示文件的详细信息这个选项最常用每行列出的信息依次是
文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
对于符号链接文件显示的文件名之后有—〉和引用文件路径名
对于设备文件其文件大小字段显示主次设备号而不是文件大小目录中的总块数显示在长格式列表的开头其中包含间接块
L 若指定的名称为一个符号链接文件则显示链接所指向的文件
m 输出按字符流格式文件跨页显示以逗号分开
n 输出格式与l选项相同只不过在输出中文件属主和属组是用相应的UID号和GID号来表示而不是实际的名称
o 与l选项相同只是不显示拥有者信息
p 在目录后面加一个/
q 将文件名中的不可显示字符用?代替
r 按字母逆序或最早优先的顺序显示输出结果
R 递归式地显示指定目录的各个子目录中的文件
s 给出每个目录项所用的块数包括间接块
t 显示时按修改时间(最近优先)而不是按名字排序若文件修改时间相同则按字典顺序修改时间取决于是否使用了c或u选顶缺省的时间标记是最后一次修改时间
u 显示时按文件上次存取的时间(最近优先)而不是按名字排序即将t的时间标记修改为最后一次访问的时间
x 按行显示出各排序项的信息
用ls l命令显示的信息中开头是由个字符构成的字符串其中第一个字符表示文件类型它可以是下述类型之一
普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
后面的个字符表示文件的访问权限分为组每组位第一组表示文件属主的权限第二组表示同组用户的权限第三组表示其他用户的权限每一组的三个字符分别表示对文件的读写和执行权限
各权限如下所示
r 读
w 写
x 执行对于目录表示进入权限
s 当文件被执行时把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)
t 设置标志位(留在内存不被换出)如果该文件是目录在该目录中的文件只能被超级用户目录拥有者或文件属主删除如果它是可执行文件在该文件执行后指向其正文段的指针仍留在内存这样再次执行它时系统就能更快地装入该文件
没有设置权限
例列出当前目录的内容
$ ls F bin/ lib/ var/ etc/ tmp/ index html
例列出某个目录的内容
$ ls –F /home/xu Mai/ mape/ mm/ ptr/ telnetd* fd/ mbox mount sobsrc tgz tmp/
例列出某个目录下所有的文件(包括隐藏文件)
$ s aF /home/xu / em/ netscape/ mape ptr/ / fvwinrc term/ mbox sobsrc tgz Xauthority kermrc Mai/ mm/ tenetd* bashhistory ncftp/ fd/ mount tmp/
例用长格式列出某个目录下所有的文件(包括隐藏文件)
$ s laF /home/xu total drwxrxrx l root root Nov : / drwxrxrx bbs bbs Jul : / rwrr yu users Ju : bashhistory drwx yu users May : em/ rw root root Jun l: mbox lrwxrwxrwx root root l Ju : mount>/mnt drwxrwxrx root root Ju : ptr/ rwrr root root Ju l :l sobsrc tgz rwxrxrx l root users Jun : telnetd* drwxrxrx root root Mar : tmp/
例用长格式列出某个目录下所有的文件包括隐藏文件和它们的i节点号并把文件属主和属组以UID号和GID号的形式显示
$ s ainF /home/xu tota drwxrxrx l l Nov : / drwxrxrx l Ju : / l rw l Jun : Xauthority rwrr l Jul : bashhistry l drwxr l May : em/
第十课(九) 改变文件或目录的访问权限命令
Linux系统中的每个文件和目录都有访问许可权限用它来确定谁可以通过何种方式对文件和目录进行访问和操作 文件或目录的访问权限分为只读只写和可执行三种以文件为例只读权限表示只允许读其内容而禁止对其做任何的更改操作可执行权限表示允许将该文件作为一个程序执行文件被创建时文件所有者自动拥有对该文件的读写和可执行权限以便于对文件的阅读和修改用户也可根据需要把访问权限设置为需要< 记忆像是倒在手心里的水,不论是摊平还是握紧,