Linux基础03 绝对路径/相对路径, 切换目录cd, 创建目录mkdir, 创建文件touch, 树状显示tree, 复制cp

文件路径定位

1.绝对路径
完整的路径,以'/'开头的路径,都是绝对路径
2.相对路径
不以'/'开头的路径

. :当前目录
.. :上级目录

#相对路径
[root@oldboyedu usr]# cd ./local/
[root@oldboyedu /etc/sysconfig]# cd ../ssh/
[root@oldboyedu /etc/ssh]# cd ../../bin

#绝对路径
[zls@oldboyedu local]$ cd ~/oldboy/ # cd /root/oldboy

#绝对路径
[root@db04 /]# ls /home/oldboy/
[root@db04 /]# ls /root/
[root@db04 /]# ls ~/file1
[root@db04 /]# ls ~/zls/file1

#相对路径
[root@db04 /]# ls abc
[root@db04 /]# ls ../abc
[root@db04 /]# ls abc/file1

切换目录 cd命令

cd
cd [目录名]
cd -    : 返回上一次进入的目录
cd ~    :进入当前用户家目录
cd .    :进入当前目录
cd ..    :返回上一级目录
cd    :进入当前用户的家目录
cd ~/oldboy

创建目录 mkdir命令

语法:
    mkdir [选项] 目录名  #make directory
    注意:不加任何选项的情况下,只能在已有的目录下创建目录
    建议:创建目录时尽量加上-p选项(就算存在该目录也不会覆盖)
        -m,     创建目录时,指定权限(很少用,几乎不用)
        -p,     如果目录已存在则不报错,递归创建
        -v,     打印出创建过程信息
        
    权限:
        r:read     读
        w:write 写
        x:exec     执行
    目录权限:755
    文件权限:644
    mkdir -m 644 /dir111    # 创建644权限的目录
            
    /oldboy/oldboy1/你的名字
    
    #创建多个目录
    [root@oldboyedu ~]# mkdir /dir1 /dir2 /dir3
    [root@oldboyedu ~]# mkdir /dir{4..10}        # 创建dir4到10多个文件夹
    [root@oldboyedu ~]# mkdir /home/zls/{dir1,dir2,dir3}    # 或者是 /dir{1,2,3}
    [root@oldboyedu ~]# mkdir /home/zls/dir{1..3}/oldboy1 -pv
    mkdir: created directory ‘/home/zls/dir1’
    mkdir: created directory ‘/home/zls/dir1/oldboy1’
    mkdir: created directory ‘/home/zls/dir2’
    mkdir: created directory ‘/home/zls/dir2/oldboy1’
    mkdir: created directory ‘/home/zls/dir3’
    mkdir: created directory ‘/home/zls/dir3/oldboy1’
    mkdir /home/{zls,abc/{1..3}/zls} /abc -pv    # 创建/home/zls, /home/abc/1..., /abc

    #报错
    [root@oldboyedu ~]# mkdir /dir4
    mkdir: cannot(不能) create(创建) directory(目录) ‘/dir4’: File(文件) exists(存在)
    
    [root@oldboyedu ~]# mkdir /dir11/oldboy            #没有这个文件 或者 目录
    mkdir: cannot create directory ‘/dir11/oldboy’: No such file or directory

创建文件 touch命令

touch
语法: touch [选项]... 文件名...
    
    [root@oldboyedu ~]# touch abc

    [root@oldboyedu ~]# touch  /oldboyedu1/abc
    touch: cannot touch ‘/oldboyedu1/abc’: No such file or directory

    1.创建的文件,必须在已存在的目录下
    2.文件已存在的情况下,不会报错,会修改文件的创建时间
    3.源文件内容不会被覆盖
    4.对目录也可以操作,不会报错,修改创建时间(Linux中,一切皆文件)
    
    [root@oldboyedu ~]# touch 123 456 789
    [root@oldboyedu ~]# touch def hig /usr/local/src/abc
    [root@oldboyedu ~]# touch /usr/local/src/{abc,def,hig}

以树状形式显示目录结构tree

tree
    -L:指定层级(level)
    -d:只查看目录
    如果没有需要安装:yum install tree -y
    [root@oldboyedu ~]# tree
    .
    ├── 123
    ├── 456
    ├── 789
    ├── abc
    ├── anaconda-ks.cfg
    ├── check_student.sh
    ├── def
    ├── hig
    ├── oldboy
    ├── student.txt
    └── zls
        └── zls1
            └── zls2
            
    [root@oldboyedu ~]# tree -L 2 /usr/local/    # 看两层结构
    /usr/local/
    ├── abc
    ├── bin
    ├── etc
    ├── games
    ├── include
    ├── lib
    ├── lib64
    ├── libexec
    ├── sbin
    ├── share
    │   ├── applications
    │   ├── info
    │   └── man
    └── src
        ├── abc
        ├── def
        ├── hig
        └── zls123
    [root@oldboyedu ~]# tree -L 2 -d /usr/local/    # -d只显示目录

复制cp

cp:复制(copy)
    -r:递归拷贝,拷贝目录
    -p:保持源文件的属性(例如时间属性)
    -a:拷贝目录并保持属性,递归复制(代替-rp参数)
    -v:显示复制的过程
    -t:交换目标和源文件的位置
    
    语法:
       cp [OPTION]... 源文件 目标
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

    [root@oldboyedu ~]# cp oldboy /usr/
    cp: omitting directory ‘oldboy’
    [root@oldboyedu ~]# cp -v 123 456 789 /opt/    # 把123,456,789拷贝到/opt/文件夹中
    ‘123’ -> ‘/opt/123’
    ‘456’ -> ‘/opt/456’
    ‘789’ -> ‘/opt/7891.cp可以修改名字,指定的目录不存在,即改名

    cp /tmp/a1/{abc,ccc}    # 等于 cp /tmp/a1/abc /tmp/a1/ccc
    cp /tmp/a1/abc{,.txt}    # 等于 cp /tmp/a1/{abc,abc.txt},复制一个abc.txt文件
    cp /tmp/a1/abc{,-txt}    # 等于 cp /tmp/a1/{abc,abc-txt},复制一个abc-txt文件
原文地址:https://www.cnblogs.com/ludingchao/p/15347288.html