目录与路径

相对路径与绝对路径

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

绝对路径:路径的写法一定是由根目录(/)写起的,例如:/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. 【Linux】VMware安装VMware Tools工具

    VMware Tools是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(Sun VirtualBox Guest Additions),是VMware提供的增强虚拟显 ...

  2. 开源作品-PHP写的Redis管理工具(单文件绿色版)-SuRedisAdmin_PHP_1_0

    前言:项目开发用到了Redis,但是在调试Redis数据的时候,没有一款通用的可视化管理工具.在网络找了一些,但是感觉功能上都不尽人意,于是决定抽出一点时间,开发一个用起来顺手的Redis管理工具.秉 ...

  3. SAP computer之architecture

    Simple-As-Possible computer introduces all the cruicial ideas behind computer operation without bury ...

  4. 【技术累积】【点】【java】【18】URLEncode

    基础概念 由于以URL的形式传递信息给服务器时,不允许URL中出现一些特殊字符和空格的,所以需要对URL进行编码处理. 原理是: 将要转码的字符转变为16进制: 从右到左,每两位前面加% 哪些字符是需 ...

  5. appium处理app与web页面的转换

      测微信页面的时候使用谷歌app,进入微信页面的链接 def setUp(self): print("set up env for android testing...") se ...

  6. 【Python基础】while循环语句

    Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句…… 执行语句可以是单个语句或语句 ...

  7. APICloud开发小技巧(二)

    1.apicloud中 json.字符串之间的互转 $api.jsonToStr(ret); $api.strToJson(ret)  2.页面的来回跳转 例如已经打开了一个页面,跳转走,改变数据在跳 ...

  8. CentOS6.9下NFS配置说明

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  9. XX-Net的完整教程

    1.下载谷歌浏览器,安装. 2.百度搜索github,github中搜索XX-Net,下载稳定版 3.解压缩下载的文件夹,运行start.vbs文件.如果弹出管理员请求权限请允许,弹出防火墙警告,请允 ...

  10. ios开发——runtime

    首先,最重要的一点,学runtime能干嘛? 1.使用runtime改变变量值 2.使用runtime交换方法 3.使用runtime添加方法 4.使用runtime给分类扩展属性 学了runtime ...