目录也是一个文件,它的唯一功能是用来保存文件及其相关信息。所有的文件,包括普通文件、设备文件和目录文件,都会被保存到目录中。

主目录

登录后,你所在的位置就是你的主目录(或登录目录),接下来你主要是在这个目录下进行操作,如创建文件、删除文件等。

使用下面的命令可以随时进入主目录:

$cd ~
$

这里 ~ 就表示主目录。如果你希望进入其他用户的主目录,可以使用下面的命令:

$cd ~username
$

返回进入当前目录前所在的目录可以使用下面的命令:

$cd -
$

绝对路径和相对路径

Linux 的目录有清晰的层次结构,/ 代表根目录,所有的目录都位于 / 下面;文件在层次结构中的位置可以用路径来表示。

如果一个路径以 / 开头,就称为绝对路径;它表示当前文件与根目录的关系。举例如下:

/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3

不以 / 开头的路径称为相对路径,它表示文件与当前目录的关系。例如:

chem/notes
personal/res

获取当前所在的目录可以使用 pwd 命令:

$pwd
/user0/home/amrood $

查看目录中的文件可以使用 ls 命令:

$ls dirname

下面的例子将遍历 /usr/local 目录下的文件:

$ls /usr/local

X11       bin          gimp       jikes       sbin
ace doc include lib share
atalk etc info man ami

创建目录

可以使用 mkdir 命令来创建目录,语法为:

$mkdir dirname

dirname 可以为绝对路径,也可以为相对路径。例如

$mkdir mydir
$

会在当前目录下创建 mydir 目录。又如

$mkdir /tmp/test-dir
$

会在 /tmp 目录下创建 test-dir 目录。mkdir 成功创建目录后不会输出任何信息。

也可以使用 mkdir 命令同时创建多个目录,例如

$mkdir docs pub
$

会在当前目录下创建 docs 和 pub 两个目录。

创建父目录

使用 mkdir 命令创建目录时,如果上级目录不存在,就会报错。下面的例子中,mkdir 会输出错误信息:

$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test";
No such file or directory
$

为 mkdir 命令增加 -p 选项,可以一级一级创建所需要的目录,即使上级目录不存在也不会报错。例如

$mkdir -p /tmp/amrood/test
$

会创建所有不存在的上级目录。

删除目录

可以使用 rmdir 命令来删除目录,例如:

$rmdir dirname
$

注意:删除目录时请确保目录为空,不会包含其他文件或目录。

也可以使用 rmdir 命令同时删除多个目录:

$rmdir dirname1 dirname2 dirname3
$

如果 dirname1、dirname2、dirname3 为空,就会被删除。rmdir 成功删除目录后不会输出任何信息。

改变所在目录

可以使用 cd 命令来改变当前所在目录,进入任何有权限的目录,语法为:

$cd dirname

dirname 为路径,可以为相对路径,也可以为绝对路径。例如

$cd /usr/local/bin
$

可以进入 /usr/local/bin 目录。可以使用相对路径从这个目录进入 /usr/home/amrood 目录:

$cd ../../home/amrood
$

重命名目录

mv (move) 命令也可以用来重命名目录,语法为:

$mv olddir newdir

下面的例子将会把 mydir 目录重命名为 yourdir 目录:

$mv mydir yourdir
$

点号(.)

一个点号(.)表示当前目录,两个点号(..)表示上级目录(父目录)。

ls 命令的 -a 选项可以查看所有文件,包括隐藏文件;-l 选项可以查看文件的所有信息,共有7列。例如:

$ls -la
drwxrwxr-x 4 teacher class 2048 Jul 16 17.56 .
drwxr-xr-x 60 root 1536 Jul 13 14:18 ..
---------- 1 teacher class 4210 May 1 08:27 .profile
-rwxr-xr-x 1 teacher class 1948 May 12 13:42 memo
$

linux的学习系列 3---目录的更多相关文章

  1. Linux 系统化学习系列文章总目录(持续更新中)

    本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...

  2. Linux基础学习系列目录导航

    Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...

  3. [linux基础学习]默认的目录介绍

    以下用一个表格来罗列linux默认的目录或文件及其用途: 目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - / ...

  4. Python学习系列:目录

    Python学习系列(二)Python 编译原理简介 Python学习系列(三)Python 入门语法规则1 Python学习系列(四)Python 入门语法规则2

  5. linux的学习系列 10---vi

    Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能. ...

  6. Linux快速学习系列

    这篇文章会随着学习的进行,不断的更新!!! 总结 操作系统引入的抽象概念 进程(process) 地址空间(address space) 虚拟内存(virtual memory) 操作系统引入的cah ...

  7. ASP.NET Core on K8S 入门学习系列文章目录

    一.关于这个系列 自从2018年底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等.我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工 ...

  8. Linux Shell 学习笔记 一 目录结构

    以Red Hat Enterprise Linux 各版本为例,RHEL中目录具体作用如下, /bin       存放普通用户使用的命令 /sbin     存放管理员可以执行的命令 /home   ...

  9. linux的学习系列 9--网络通信

    ping 命令 ping 命令会向网络上的主机发送应答请求,根据响应信息可以判断远程主机是否可用. ping 命令的语法: $ping hostname or ip-address 如果网络畅通,很快 ...

  10. linux的学习系列 8---进程管理

    当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中的程序 ...

随机推荐

  1. setsockopt、getsockopt详细介绍(转)

    本文只讲解socket编程中的 setsockopt.getsockopt两个函数.关于其它函数的介绍可以参考下面链接:http://blog.sina.com.cn/s/blog_a459dcf50 ...

  2. 取URL得值

    有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段JS程序提取URL中的各个GET参数(参 ...

  3. Arch最小化安装X

    Xorg xorg-server 安装xorg-server pacman -S xorg-server 可选:xorg-server-utils pacman -S xorg-server-util ...

  4. 关于socket客户端接收不定长数据的解决方案

    #!/usr/bin/env python3.5 # -*-coding:utf8-*- """ 本实例客户端用于不断接收不定长数据,存储到变量res "&qu ...

  5. 【Loadrunner】初学Loadrunner——参数化设置(Table类型关联数据库)

    参数化输入是Loadrrunner里面一个强大的功能,属于Loadrunner的高级使用技巧. 我们在登录系统的时候,需要输入一组定义的用户名和密码,比如有5个虚拟用户同时登陆系统,则这五个用户都用这 ...

  6. erlang四大behaviour之一gen_server

      来源:http://www.cnblogs.com/puputu/articles/1701017.html erlang程序设计里面有个设计原则就是把你的进程构造成树,把共用代码提出来,特定功能 ...

  7. ECOS-Ecstore 后台管理地址修改

    ECStore默认出厂的后台管理地址是: http://域名/index.php/shopadmin http://域名/shopadmin [配置过rewrite后,并开启伪静态] 如果想要更个性的 ...

  8. 使用timer定时器,防止事件重入

    首先简单介绍一下timer,这里所说的timer是指的System.Timers.timer,顾名思义,就是可以在指定的间隔是引发事件.官方介绍在这里,摘抄如下: 1 2 Timer 组件是基于服务器 ...

  9. wcf中的使用全双工通信

    wcf中的契约通信默认是请求恢复的方式,当客户端发出请求后,一直到服务端回复时,才可以继续执行下面的代码. 除了使用请求应答方式的通信外,还可以使用全双工.下面给出例子: 1.添加一个wcf类库 2. ...

  10. DOM操作-根据name获取网页中的全部复选框

    描述: 与id不同,多个元素可以使用相同的name属性,如果需要获取这一类元素的DOM对象,就需要使用getElementsByName()函数 代码: <!DOCTYPE html> & ...