目录与路径

相对路径与绝对路径

上一章简单的提到绝对路径和相对路径

绝对路径:路径的写法一定是由根目录(/)写起的,例如:/home/user 这个目录

相对路径:路径的写法不是由根目录(/)写起,例如:我当前所在目录 /home/user,我要切换到/home/user2 目录下。那么写法就是 cd ../user2,其实相对路径指的意思是:相对于当前目录的路径。

## 目录的相关操作
###特殊的目录:
```
. //代表当前目录
.. //代表上一次目录
- //代表前一个工作目录(其实就是上一个操作的目录)
~ //代表当前用户的家目录,例如当前用户是user,那么user的家目录就是在/home/user下
~username //代表用户名为username的用户的家目录。
```


###常见的处理目录的指令
```
cd //切换目录
pwd //显示当前目录
mkdir //创建目录
rmdir //删除空目录,注意是空目录!不空的目录后面再讲
```
简单指令用法如下
```
cd /home/user //使用绝对路径切换目录
pwd //显示当前所在目录,只会显示绝对路径
mkdir dir //创建一个名为dir的目录(可以理解为文件夹)
rmdir dir //删除一个名为dir的空目录
```


##执行文件路径变量:$PATH
ls为查阅文件属性的指令,起对应完整文件名为:/bin/ls(这是绝对路径),那么为什么我们输入ls就会执行/bin/ls这个指令呢?这是因为环境变量PATH所致的。相当于我们Window下的环境变量path。
```
echo $PATH //打印PATH变量,$号后面接的是变量。
/home/vagrant/bin:/home/vagrant/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
```
可以看到每个目录中间用冒号(:)来隔开,每个目录都会有顺序之分。我们之所以可以执行ls命令,那是因为ls指令存在/bin目录下,我们可以看到$PATH有/bin这个目录,所以ls指令就可以直接执行啦。
例举常用添加环境变量的两种方式,需要把/home/vagrant添加到环境变量:
1.只对当前用户生效:
修改家目录下的 .bashrc文件,然后在文件的最下方加入:
```
export PATH=/home/vagrant:$PATH
///保存后执行
source ~/.bashrc
```

2.修改/etc/environment文件,直接使用vim命令在后面添加就可以了。

cat /etc/environment //查看该文件
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

# 文件与目录管理
文件与目录的管理,其实主要就是显示属性、复制、删除、移动等操作。
选项:
## 文件与目录的查看:ls
`ls`可以说是最常用的指令了,而`ls`指令一些常用的选项如下:
-a : 列出全部文件,包括隐藏文件(开头为 . 的文件)
-d : 仅列出目录本身,而不列出目录内的文件数据
-l : 列出的文件或目录,一个占一行,并且显示文件的属性、权限等等数据。
使用方式如下:
```
ls -[options]
```


##复制、删除与移动:cp,rm,mv
**cp(复制文件或目录)**
`cp`指令也非常重要,因为我们也经常进行文件的复制,所以也会常常用到这个指令。如果要去复制别人的文件,我们必须有read(读)权限。一般来说复制别人的文件后,该文件的拥有者就会变成自己的啦。
常用选项:
-i : 若文件已经存在时,询问是否需要覆盖文件。
-p : 把文件的属性(权限、用户、时间)一起复制过去。
-r :递归复制,例如复制非空的目录,就需要使用这个指令啦。

使用方式如下:

cp [-options] 源文件 目标文件
cp -i /usr/bin /tmp/bin //例子

**rm(移除文件和目录)**
选项:
-f : 忽略不存在的文件,不会出现警告信息
-i : 执行删除动作时会询问你是否真的需要删除
-r : 递归删除,常用在目录的删除上,使用这命令要再三确认啊。危险!

使用方式如下:

rm [-options] 文件或目录

**mv(移动/更名 文件或目录)**
相似于window下的剪切和重命名操作。
选项:
-f :如果文件已存在,不会询问而只是直接覆盖。
-i :如果文件已存在,则会询问是否需要覆盖。
-u :如果文件已存在,且复制的文件比已存在的文件新,就会覆盖。
```
mv -[options] 源文件 目标文件
mv /home/vagrant /tmp/vg //此命令就会把home下vagrant目录移动到tmp目录下,并且改名为vg啦。
```
扩展:其实更名还有一个命令,叫做rename。需要详细了解的话可以 man rename看一看。

鸟哥的Linux私房菜笔记第六章(一)的更多相关文章

  1. 鸟哥的Linux私房菜笔记第六章(二)

    文件内容查询 直接查询文件内容 查阅一个文件的内容可以使用指令cat/tac/nl. # [cat|tac|nl] 文件 区别: 1.cat是直接把文件内容输出到屏幕上,并且从第一行开始输出到末行 2 ...

  2. 鸟哥的Linux私房菜笔记第四章

    前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...

  3. 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(二)

    Linux目录配置的依据--FHS 因为利用Linux来开发产品的公司太多,例如,CentOS.Ubuntu.ReHat...,导致了配置文件存放的目录没有统一的标准.后来就有了FHS(Filesys ...

  4. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

  5. 鸟哥的Linux私房菜——第十六章:学习Shell Scripts

    视频链接:http://www.bilibili.com/video/av10565321/ 1. 什么是 Shell Script       (shell写的脚本)1.1 干嘛学习 shell s ...

  6. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门

    今天在阿里云申请了一个centos系统的云服务器,以前对linux了解的只是皮毛,记了几个命令还给忘了,整了半天都弄不好,作为一个做过javaweb开发的coder实在是惭愧啊,决定从今天开始学习Li ...

  7. [置顶] 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道

    一.过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二.输入.输出.重定向 输入:过滤器的数据 ...

  8. 学习鸟哥的Linux私房菜笔记(17)——Linux引导流程

    一.系统引导流程 第一步:固件fireware(CMOS/BIOS)--POST加点自检(与操作系统无关) 这一步主要是检查硬盘等硬件是否能正常工作 CMOS:是固化在主板上,详细:http://sc ...

  9. 学习鸟哥的Linux私房菜笔记(16)——Ubuntu中建立ftp服务

    1.安装vsftpd,如下图所示:sudo apt-get install vsftpd 2.查看本机是否可以连接ftp 如上图所示,发现login failed了,怎么办呢?我们来看看vsftpd的 ...

随机推荐

  1. ASP.NET访问网络驱动器(映射磁盘)

    也许很多朋友在做WEB项目的时候都会碰到这样一个需求: 当用户上传文件时,需要将上传的文件保存到另外一台专门的文件服务器. 要实现这样一个功能,有两种解决方案: 方案一.在文件服务器上新建一站点,用来 ...

  2. WCF分佈式事務支持

    WCF分佈式事務對Binding有要求,不支持BasicHttpBinding,BasicHttpContextBinding,NetPeerTcpBinding 要支持分佈式事務,需要進行以下配置: ...

  3. Redis 之set集合结构及命令详解

    注:集合的元素具有唯一性,无序性 1.sadd  key   value1  value2  添加一个集合 2.smembers   key  获取一个集合的所有值 3.srem  key  valu ...

  4. Apache2.2 启动和停止命令

    1.启动:net start apache2.2 2.停止:net stop apache2.2

  5. python tips:最内嵌套作用域规则,闭包与装饰器

    在作用域与名字空间提到,python是静态作用域,变量定义的位置决定了变量作用的范围.变量沿着local,global,builtins的路径搜索,直觉上就是从里到外搜索变量,这称为最内嵌套作用域规则 ...

  6. 【剑指Offer】20、包含min函数的栈

      题目描述:   定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)).   解题思路:   使用两个stack,一个为数据栈,另一个为辅助栈.数据栈 ...

  7. 转载:Java中的Checked Exception——美丽世界中潜藏的恶魔?

    转自 Amber-Garden 的 博客 https://www.cnblogs.com/loveis715/p/4596551.html 在使用Java编写应用的时候,我们常常需要通过第三方类库来帮 ...

  8. PAT 1065. A+B and C

    Given three integers A, B and C in [-263, 263], you are supposed to tell whether A+B > C. Input S ...

  9. isap算法模板poj 1273gap+弧优化 最大流

    几个比较好的博客 http://www.renfei.org/blog/isap.html http://kenby.iteye.com/blog/945454 http://blog.csdn.ne ...

  10. 转载 - Pinyin4j的基本用法

    原文:http://blog.csdn.net/pathuang68/article/details/6692882 1.     简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理.比如在 ...