zoukankan      html  css  js  c++  java
  • 鸟哥的Linux私房菜笔记第六章(一)

    目录与路径

    相对路径与绝对路径

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

    绝对路径:路径的写法一定是由根目录(/)写起的,例如:/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看一看。
  • 相关阅读:
    指针类型强制转换
    Spark大师之路:广播变量(Broadcast)源代码分析
    [Python]sqlite3二进制文件存储问题(BLOB)(You must not use 8-bit bytestrings unless you use a text_factory...)
    把字符串转化成整型显示
    一张图让你看清Java集合类(Java集合类的总结)
    Java读书笔记三(字符串)
    Afinal载入网络图片及下载文件用法
    netfilter/iptables 结构要点
    OpenGL 实现Interpolation插值算法
    GPU 编程入门到精通(五)之 GPU 程序优化进阶
  • 原文地址:https://www.cnblogs.com/Johnson-lin/p/10935051.html
Copyright © 2011-2022 走看看