Linux目录管理

来自CloudWiki
(重定向自Linux文件和目录管理
跳转至: 导航搜索

目录管理

查看当前目录 - pwd 命令

用途:查看工作目录(Print Working Directory)

[root@localhost benet]# pwd
/home/benet
</nowiki>

切换目录 - cd 命令

用途:切换工作目录(Change Directory)

格式:cd [目录位置]

切换到一个绝对路径:

[root@maxin ~]# cd /etc/sysconfig #切换到一个绝对路径

切换到一个相对路径:

 <nowiki>[root@maxin etc]# cd network-scripts
[root@maxin httpd]# ls
conf  conf.d  logs  modules  run
 #切换到一个相对路径

返回上级目录:

[root@cloud17 Desktop]# cd .. #切换到它的上级结构

[root@localhost benet]# pwd /home/benet

切换到用户主目录

[root@maxin /]# cd ~ [root@maxin ~]# pwd /root </nowiki>

这里要注意 绝对路径和相对路径。

创建目录 - mkdir命令

用途:创建新的目录(Make Directory)

格式:mkdir [/路径/]目录名 #表示创建单层目录

mkdir [-p] [/路径/]目录名 #表示创建多层目录

[root@localhost ~]# mkdir mydir
[root@localhost ~]# mkdir -p mydir2/level1/level2
[root@localhost ~]# ls -R mydir2
mydir:
level1
mydir/level1:
level2
mydir/level1/level2:

思考:如何创建多层目录 ?

显示目录内容 - ls命令

用途:列表(List)显示目录内容

格式:ls [选项]... [目录或文件名]

[root@localhost zhangsan]# ls /
[root@localhost zhangsan]# ls /bin
[root@localhost zhangsan]# ls .  #列出当前目录
[root@localhost zhangsan]# ls .. #列出上级目录

常用命令选项

-l :以长格式显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-d:显示目录本身的属性
-A:类似于“-a”,但不显示“.”和“..”目录的信息
-h:以更易读的字节单位(K、M等)显示信息
-R:递归显示内容
--color:以颜色区分不同类型文件

显示隐藏文件

[root@localhost ~]# ls -a
.          .chewing  .gnome     install.log.syslog    .tcshrc
..         .cshrc    .gnome2    .lesshst    .Trash      ……


显示目录本身属性

[root@maxin ~]#  ls -dl /etc
drwxr-xr-x. 4 root root 4096 Mar  4 22:18 /etc/httpd

显示特定文件

[root@maxin conf]# cd ~

[root@localhost ~]# ls install.log* //星号通配符

install.log  install.log.syslog

[root@localhost ~]# ls -lh install.??? //问号通配符

-rw-r--r-- 1 root root 37K 09-08 16:46 install.log

定义命令别名

[root@localhost ~]# alias myls='ls -alh' //定义命令别名

[root@localhost ~]# myls /usr/src

 总计 32K
drwxr-xr-x  4 root root 4.0K 09-08 16:40 .
drwxr-xr-x 14 root root 4.0K 09-08 16:28 ..
drwxr-xr-x  3 root root 4.0K 09-08 16:33 kernels    ……

注意不同选项的作用。

查看目录空间占用情况 - du命令

du命令

用途:统计目录及文件的空间占用情况(estimate file space usage)

格式:du [选项]... [目录或文件名]

常用命令选项

-a:统计时包括所有的文件,而不仅仅只统计目录 
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用空间总的大小
[root@localhost ~]# du -sh /etc

184K    /etc/httpd/

[root@maxin ~]# du -ah /etc
16K     /etc/httpd/conf/magic
36K     /etc/httpd/conf/httpd.conf
56K     /etc/httpd/conf

思考:不同的选项分别代表什么含义 ?

删除目录命令 - rmdir 命令

rmdir 命令

格式:rmdir [选项] 目录路径

功能:删除指定路径下的子目录。

例如:删除创建的mydoc和lifeng子目录

[root@maxin ~]# mkdir newdir
[root@maxin ~]# rmdir newdir 

思考若执行rmdir命令来删除某个已存在的目录,但无法成功,可能的原因是什么呢?

  (1)此目录可能不存在;  (2)目录不为空;

  (3)目录中有隐含文件存在;

  (4)目录被设置了权限,解决方法:先修改权限,在使用rm_r命令删除。