前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux基础(day6)

Linux基础(day6)

作者头像
运维小白
发布2018-02-06 10:37:21
6570
发布2018-02-06 10:37:21
举报
文章被收录于专栏:运维小白

2.6 相对和绝对路径

  • 每一个文件都会有一个从根开始的文件
  • 所有的文件都有一个自己的路径
  • 从根开始的都是绝对路径,不管你是在哪个目录下,都可以通过路径找到文件的路径为绝对路径
  • 不是由根开头,相对于你所在位置的路径,叫相对路径,就相对于当前目录来说的
代码语言:javascript
复制
[root@aminglinux-01 ~]# pwd		查看当前路径
/root
[root@aminglinux-01 ~]# ls .ssh/authorized_keys	这就是相对路径,相对于root
.ssh/authorized_keys
[root@aminglinux-01 ~]# cd /etc/sysconfig
[root@aminglinux-01 sysconfig]# ls network-scripts/ifcfg-eno16777736 	这也是一个相对路径,相对于/etc/sysconfig
network-scripts/ifcfg-eno16777736
[root@aminglinux-01 sysconfig]# pwd
/etc/sysconfig
  1. cd 等于change directory
  2. pwd 查看当前所在的路径,所在的目录在哪里

2.7 cd命令

cd 等于change directory

代码语言:javascript
复制
cd命令
    - 参数,"cd -"进入上一次所在目录
    只输入"cd",进入用户当前home目录下,也就是登陆系统时用户的家目录
    ~ 参数,"cd ~"表示切换到用户home目录,等于cd命令
    .. 参数,"cd .."表示切换到上层目录,逐级返回

cd -

cd -命令,就表示你上一次所在的目录在哪里

代码语言:javascript
复制
[root@hf-01 ~]# cd /etc/sysconfig
[root@hf-01 sysconfig]# cd -
/root
[root@hf-01 ~]# cd -
/etc/sysconfig
[root@hf-01 sysconfig]# pwd
/etc/sysconfig
[root@hf-01 sysconfig]# cd -
/root
[root@hf-01 ~]# pwd
/root
[root@hf-01 ~]# cd -
/etc/sysconfig
[root@hf-01 sysconfig]# pwd
/etc/sysconfig

cd和cd ~

cd和cd ~命令,都是返回用户的家目录

代码语言:javascript
复制
[root@hf-01 sysconfig]# cd
[root@hf-01 ~]# cd /tmp/
[root@hf-01 tmp]# cd
[root@hf-01 ~]# pwd
/root
[root@hf-01 ~]# cd ~	这个~则表示/root

cd ..

cd .. 命令,表示返回到上层目录

代码语言:javascript
复制
[root@hf-01 ~]# cd ..		返回的是根目录,到达根目录则无法返回了
[root@hf-01 /]# cd ..		
[root@hf-01 /]# cd /etc/sysconfig/network-scripts/
[root@hf-01 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@hf-01 network-scripts]# cd ..
[root@hf-01 sysconfig]# pwd
/etc/sysconfig
[root@hf-01 sysconfig]# cd ..		这里会看见逐级返回上层目录
[root@hf-01 etc]# pwd
/etc
[root@hf-01 etc]# cd ..
[root@hf-01 /]# pwd
/

当想查看cd的其他用法,可以man cd 查看所有cd的用法

2.8 创建和删除目录mkdir/rmdir

mkdir

  1. mkdir = make directory
  2. mkdir就是创建目录,不能级联创建目录
  3. date 显示当前时间 mkdir -p 可以级联创建目录 -v 使命令运行可视化
  • 创建目录时一定要注意绝对路径和相对路径,当前目录,一般使用的都是相对路径也就是没有 / 这个符号的开头的
代码语言:javascript
复制
[root@hf-01 ~]# mkdir /tmp/aminglinux
[root@hf-01 ~]# ls -ld /tmp/aminglinux/
drwxr-xr-x. 2 root root 6 10月 24 05:58 /tmp/aminglinux/
[root@hf-01 ~]# date		显示出当前时间
2017年 10月 24日 星期二 05:59:00 CST
[root@hf-01 ~]# mkdir /tmp/aminglinux/1/2/
mkdir: 无法创建目录"/tmp/aminglinux/1/2/": 没有那个文件或目录
就是说/tmp目录下存在/aminglinux目录,而不存在/1和/2目录
[root@hf-01 ~]# ls -l /tmp/aminglinux/
总用量 0
mkdir -p

mkdir -p 可以级联创建目录

代码语言:javascript
复制
[root@hf-01 ~]# mkdir -p /tmp/aminglinux/1/2/
[root@hf-01 ~]# ls -l /tmp/aminglinux/
总用量 0
drwxr-xr-x. 3 root root 14 10月 24 06:07 1
[root@hf-01 ~]# ls -l /tmp/aminglinux/1
总用量 0
drwxr-xr-x. 2 root root 6 10月 24 06:07 2
mkdir -pv

mkdir -pv 可以看见创建目录的可视化过程

代码语言:javascript
复制
[root@hf-01 ~]# mkdir -pv /tmp/aminglinux/2/3/4
mkdir: 已创建目录 "/tmp/aminglinux/2"
mkdir: 已创建目录 "/tmp/aminglinux/2/3"
mkdir: 已创建目录 "/tmp/aminglinux/2/3/4"

rmdir

  1. rmdir = remove directory
  2. rmdir命令能删除目录 ,但只能删除空的目录(目录中有文件无法删除)
  3. rmdir -p (parents)可以级联的删除空目录,容易误操作删错目录
  4. 特别是删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
  • 若发现删除不了的非空目录,可以使用tree命令查看目录的级联情况
  • 安装tree这个包yum install -y tree

touch

  • touch命令 创建空白文件
  • 创建目录时,一定要注意,你所在的目录是哪里。
  • 可以使用命令查看当前位置 pwd
代码语言:javascript
复制
[root@hf-01 ~]# rmdir /tmp/aminglinux/2
rmdir: 删除 "/tmp/aminglinux/2" 失败: 目录非空
**这就表示rmdir可以删除目录,但前提是这个目录是空的**
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3/4	这时4目录就删除了
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt	这时在目录下创建一个文件
[root@hf-01 ~]# ls /tmp/aminglinux/2/3
1.txt
[root@hf-01 ~]# tree /tmp/aminglinux/	若没有tree命令,则yum install -y tree
/tmp/aminglinux/
├── 1
│   └── 2
└── 2
    └── 3
        └── 1.txt

4 directories, 1 file
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3
rmdir: 删除 "/tmp/aminglinux/2/3" 失败: 目录非空
这时发现也是不能删除,因为目录下有个文件
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3/1.txt
rmdir: 删除 "/tmp/aminglinux/2/3/1.txt" 失败: 不是目录
**若非要删除,则可以使用rm命令**

rmdir -p

rmdir -p (parents)可以级联的删除空目录

代码语言:javascript
复制
[root@hf-01 ~]# rmdir -p /tmp/aminglinux/1/2
rmdir: 删除目录 "/tmp/aminglinux" 失败: 目录非空
[root@hf-01 ~]# tree /tmp/aminglinux/		这里会发现/1/2这两个目录已经被删除了
/tmp/aminglinux/
└── 2
    └── 3
        └── 1.txt

2 directories, 1 file

2.9 rm命令

rmdir有一定的局限性,只能删除目录,不能删除文件

  • rm = remove
代码语言:javascript
复制
rm命令可以删除文件,还可以删除非空的目录		(单独使用rm命令会提示是否进行删除)
        -f 	(force)强制执行,只能删除文件,不能删除目录
	
        -r  等同于 -recursive 级联的把这些目录删掉  删除过程,就是有文件,先删除文件,之后在删除目录

        -v 使运行结果可视化

    使用时,最好带上  v 能可视化结果
rm -rfv 在加入-f选项后,若没有该文件或目录,不会产生任何提示

history 命令可以查看使用过的命令 使用 !后跟命令会去history中执行最近一次执行的这个命令

  • 通配符,表所有 例:rm -rf /tmp/hf/2/3/*.txt 会删除目录下所有的txt文件

当使用man命令的时候去查看某一相关字符,去搜索的时候,直接/加搜索的字符,空格后然后回车,要退出的时候,按q退出!

代码语言:javascript
复制
[root@hf-01 ~]# rm /tmp/aminglinux/2/3/1.txt
rm:是否删除普通空文件 "/tmp/aminglinux/2/3/1.txt"?y		    这里会提示是否删除文件
[root@hf-01 ~]# tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    └── 3
2 directories, 0 files
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/2.txt
[root@hf-01 ~]# rm /tmp/aminglinux/2/3/
1.txt  2.txt
按两次tab键,会列出目录下的文件  
[root@hf-01 ~]# rm /tmp/aminglinux/2/3/*.txt		
或者直接表示成rm /tmp/aminglinux/2/3/*
rm:是否删除普通空文件 "/tmp/aminglinux/2/3/1.txt"?n
rm:是否删除普通空文件 "/tmp/aminglinux/2/3/2.txt"?n
[root@hf-01 ~]# rm -f /tmp/aminglinux/2/3/*.txt            
若是嫌每次确认删除麻烦,则可以加入-f(force)强制删除
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    └── 3
2 directories, 0 files
(!tree表示历史命令中,上一次最近执行的tree命令)使用tree命令查看,发现目录下的文件已经被删除
[root@hf-01 ~]# rm -rf /tmp/aminglinux/2	
这里不会有提示,会直接删除文件和目录
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
0 directories, 0 files
[root@hf-01 ~]# mkdir -pv /tmp/aminglinux/2/3/	        
这时再来可视化级联新建目录
mkdir: 已创建目录 "/tmp/aminglinux/2"
mkdir: 已创建目录 "/tmp/aminglinux/2/3/"
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt	新建文件
[root@hf-01 ~]# touch /tmp/aminglinux/2/2.txt
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    ├── 2.txt
    └── 3
        └── 1.txt
2 directories, 2 files
[root@hf-01 ~]# rm -rfv /tmp/aminglinux/2/3/		
可视化强制删除
已删除"/tmp/aminglinux/2/3/1.txt"		
已删除目录:"/tmp/aminglinux/2/3/"
我们会发现删除目录下的文件,然后在删除目录
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    └── 2.txt
1 directory, 1 file
[root@hf-01 ~]# rm -rfv /tmp/aminglinux/2/3/	        若删除一个不存在的目录,会发现什么提示都没有
这就是因为加入了-f选项,代表着强制删除,不管它是否存在
[root@hf-01 ~]# rm -rv /tmp/aminglinux/2/3/	    去除-f的时候,会发现提示目录不存在
rm: 无法删除"/tmp/aminglinux/2/3/": 没有那个文件或目录
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.6 相对和绝对路径
  • 2.7 cd命令
    • cd -
      • cd和cd ~
        • cd ..
        • 2.8 创建和删除目录mkdir/rmdir
          • mkdir
            • rmdir
              • touch
                • rmdir -p
                • 2.9 rm命令
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档