美文网首页
Shell | 文件和目录操作

Shell | 文件和目录操作

作者: shwzhao | 来源:发表于2020-11-10 23:04 被阅读0次

    一切皆文件


    1. 查看路径:pwd、realpath、basename、dirname
    2. 创建文件:mkdir
    3. 删除文件:rm、rmdir
    4. 文件移动和重命名:mv
    5. 文件复制:cp、scp
    6. 改变工作目录:cd

    1. 查看路径

    1.1 pwd

    • 功能:显示当前工作目录的绝对路径
    $ cd # 同 cd ~
    $ pwd
    /home/username
    

    1.2 realpath

    • 功能:用于获取指定目录或文件的绝对路径

    我说我的脚本为啥只能传绝对路径...现在不用担心了

    $ realpath test/a.txt
    /home/ug0457/test/a.txt
    

    1.3 basename

    • 功能:打印目录或者文件的基本名称
    $ basename test/a.txt
    a.txt
    $ basename test/a.txt .txt # .txt 为后缀,结果中会去掉后缀
    a
    $ basename test/a.txt t
    a.tx
    

    1.4 dirname

    $ dirname `realpath test/a.txt`
    /home/ug0457/test
    $ dirname test/a.txt train/software/
    test
    train
    

    2. 创建

    2.1 mkdir

    • 全拼:make directory
    • 功能:用于创建目录

    -p: 递归创建目录,若父目录不存在则依次创建

    mkdir dir #创建名为“dir”的目录
    mkdir -p data/genome_data #递归创建
    

    3. 删除

    3.1 rm

    • 全拼:remove
    • 功能:用于删除一个文件或者目录

    文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

    -r: 将【目录】及以下文件删除
    -f: 强制删除

    rm -rf file2 # 强制删除目录
    

    4. 移动

    4.1 mv

    全拼:move
    功能:将文件或目录转移、改名

    mv test/a.txt . # 将a.txt移动到当前目录
    mv test/a.txt ./b.txt 将a.txt移动到当前目录,并改名为b.txt
    

    5. 复制

    5.1 cp

    • 全拼:copy
    • 功能:复制文件或目录

    -r: 复制目录

    cp test/a.txt . # 将a.txt复制到当前目录
    cp test/a.txt ./b.txt # 将a.txt复制到当前目录,并改名为b.txt
    cp -r file2 file1 #复制目录时加选项-r
    

    5.2 scp

    • 全拼:secure copy
    • 功能:基于ssh登陆进行安全的远程文件拷贝

    人话就是将文件从一台服务器拷贝到另一台服务器

    -r: 递归复制整个目录

    scp -r ug0457@116.211.120.204:/home/ug0457/test/a.txt . # 将远程服务器中的a.txt文件拷贝到本地服务器当前目录
    

    6. 改变工作目录

    6.1 cd

    • 全称:change directory
    • 功能:修改工作目录

    平时使用cd等命令时注意灵活使用Tab键进行自动补全。

    cd #什么都不加,回到home目录
    cd / #到根目录
    cd ~ #回到用户home目录
    cd ../ #到上一层目录
    cd - #到上一个目录
    cd ../../ #上两层目录
    cd /home/username/file/ #cd加绝对路径,到指定目录
    

    相关文章

      网友评论

          本文标题:Shell | 文件和目录操作

          本文链接:https://www.haomeiwen.com/subject/grysbktx.html