前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >鸟哥的Linux私房菜笔记第六章(一)

鸟哥的Linux私房菜笔记第六章(一)

作者头像
Johnson木木
修改2019-08-21 09:48:53
4890
修改2019-08-21 09:48:53
举报
文章被收录于专栏:猿小俊猿小俊

目录与路径

相对路径与绝对路径

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

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

目录的相关操作

特殊的目录:

代码语言:javascript
复制
.   //代表当前目录
..  //代表上一次目录
-   //代表前一个工作目录(其实就是上一个操作的目录)
~   //代表当前用户的家目录,例如当前用户是user,那么user的家目录就是在/home/user下
~username   //代表用户名为username的用户的家目录。

常见的处理目录的指令

代码语言:javascript
复制
cd     //切换目录
pwd    //显示当前目录
mkdir  //创建目录
rmdir  //删除空目录,注意是空目录!不空的目录后面再讲

简单指令用法如下

代码语言:javascript
复制
cd /home/user //使用绝对路径切换目录
pwd           //显示当前所在目录,只会显示绝对路径
mkdir dir     //创建一个名为dir的目录(可以理解为文件夹)
rmdir dir     //删除一个名为dir的空目录

执行文件路径变量:$PATH

ls为查阅文件属性的指令,起对应完整文件名为:/bin/ls(这是绝对路径),那么为什么我们输入ls就会执行/bin/ls这个指令呢?这是因为环境变量PATH所致的。相当于我们Window下的环境变量path。

代码语言:javascript
复制
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文件,然后在文件的最下方加入:

代码语言:javascript
复制
export PATH=/home/vagrant:$PATH
///保存后执行
source ~/.bashrc

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

代码语言:javascript
复制
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 : 列出的文件或目录,一个占一行,并且显示文件的属性、权限等等数据。 使用方式如下:

代码语言:javascript
复制
ls -[options]

复制、删除与移动:cp,rm,mv

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

使用方式如下:

代码语言:javascript
复制
cp [-options] 源文件 目标文件
cp -i /usr/bin /tmp/bin //例子

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

使用方式如下:

代码语言:javascript
复制
rm [-options] 文件或目录

mv(移动/更名 文件或目录) 相似于window下的剪切和重命名操作。 选项: -f :如果文件已存在,不会询问而只是直接覆盖。 -i :如果文件已存在,则会询问是否需要覆盖。 -u :如果文件已存在,且复制的文件比已存在的文件新,就会覆盖。

代码语言:javascript
复制
mv -[options] 源文件 目标文件
mv /home/vagrant /tmp/vg  //此命令就会把home下vagrant目录移动到tmp目录下,并且改名为vg啦。

扩展:其实更名还有一个命令,叫做rename。需要详细了解的话可以 man rename看一看。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录与路径
    • 相对路径与绝对路径
      • 目录的相关操作
        • 特殊的目录:
        • 常见的处理目录的指令
      • 执行文件路径变量:$PATH
      • 文件与目录管理
        • 文件与目录的查看:ls
          • 复制、删除与移动:cp,rm,mv
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档