美文网首页
2017-05-22 第一周第五次课

2017-05-22 第一周第五次课

作者: linux小白 | 来源:发表于2017-05-23 21:48 被阅读0次

    第一周第五次课

    日期:2017-05-22##

    2.1.1 创建和删除目录

    [TOC]

    mkdir 创建目录

    [root@bogon ~]# mkdir /tmp/123
    [root@bogon ~]# pwd
    /root
    [root@bogon ~]# mkdir 234
    [root@bogon ~]# ls -d /root/234
    /root/234
    [root@bogon ~]# 
    

    这里里面学会了相对路径和绝对路径;

    相对路径可以是相对当前用户的,也可以再某个目录下直接创建,也算是相对路径;“包含 ~/还有./ 以及../ 这些都是表示的相对路径。

    绝对路径是将目录一级一级都写清楚,通常直接以/ 开头。

    --help mkdir帮助文档
    [root@bogon tmp]# mkdir --help
    用法:mkdir [选项]... 目录...
    若指定目录不存在则创建目录。
    
    长选项必须使用的参数对于短选项时也是必需使用的。
      -m, --mode=模式     设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
      -p, --parents         需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
      -v, --verbose         每次创建新目录都显示信息
      -Z, --context=CTX     将每个创建的目录的SELinux 安全环境设置为CTX
          --help        显示此帮助信息并退出
          --version     显示版本信息并退出
    
    请向bug-coreutils@gnu.org 报告mkdir 的错误
    GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
    GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
    请向<http://translationproject.org/team/zh_CN.html> 报告mkdir 的翻译错误
    要获取完整文档,请运行:info coreutils 'mkdir invocation'
    [root@bogon tmp]# 
    
    mkdir -p 创建连串目录
    mkdir -v 创建过程可查看

    rmdir 只能删除空目录

    --help rmdir帮助文档
    [root@bogon tmp]# rmdir --help
    用法:rmdir [选项]... 目录...
    删除指定的空目录。
    
          --ignore-fail-on-non-empty
                忽略仅由目录非空产生的所有错误
      -p, --parents     删除指定目录及其上级文件夹,例如"rmdir -p a/b/c'"
                与"rmdir a/b/c a/b a'" 基本相同
      -v, --verbose     输出处理的目录详情
          --help        显示此帮助信息并退出
          --version     显示版本信息并退出
    
    请向bug-coreutils@gnu.org 报告rmdir 的错误
    GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
    GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
    请向<http://translationproject.org/team/zh_CN.html> 报告rmdir 的翻译错误
    要获取完整文档,请运行:info coreutils 'rmdir invocation'
    [root@bogon tmp]# 
    
    -p 删除连串的空目录
    -v 可以查看删除的空目录
    [root@bogon ~]# mkdir /tmp/1/2/3
    mkdir: 无法创建目录"/tmp/1/2/3": 没有那个文件或目录
    [root@bogon ~]# man mkdir
    [root@bogon ~]# mkdir -pv /tmp/1/2/3
    mkdir: 已创建目录 "/tmp/1"
    mkdir: 已创建目录 "/tmp/1/2"
    mkdir: 已创建目录 "/tmp/1/2/3"
    [root@bogon ~]# 
    
    rmdir 删除空目录
    [root@bogon ~]# rmdir /tmp/123
    [root@bogon ~]# ls /tmp/
    1  yum.log  yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    [root@bogon ~]# tree
    -bash: tree: command not found
    [root@bogon ~]# 
    [root@bogon ~]# 
    [root@bogon ~]# yum install -y tree
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.sohu.com
     * extras: mirrors.163.com
     * updates: mirrors.sohu.com
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package tree.i686 0:1.5.3-3.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =====================================================
     Package  Arch     Version            Repository
                                                    Size
    =====================================================
    Installing:
     tree     i686     1.5.3-3.el6        base      36 k
    
    Transaction Summary
    =====================================================
    Install       1 Package(s)
    
    Total download size: 36 k
    Installed size: 63 k
    Downloading Packages:
    tree-1.5.3-3.el6.i686.rpm     |  36 kB     00:06     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : tree-1.5.3-3.el6.i686             1/1 
      Verifying  : tree-1.5.3-3.el6.i686             1/1 
    
    Installed:
      tree.i686 0:1.5.3-3.el6                            
    
    Complete!
    [root@bogon ~]# tree /tmp/1
    /tmp/1
    └── 2
        └── 3
    
    2 directories, 0 files
    [root@bogon ~]# 
    [root@bogon ~]# man rmdir
    [root@bogon ~]# cd /tmp/
    [root@bogon tmp]# rmdir -pv 1/2/3
    rmdir: 正在删除目录 "1/2/3"
    rmdir: 正在删除目录 "1/2"
    rmdir: 正在删除目录 "1"
    [root@bogon tmp]# 
    

    tree 命令可以查看文档结构

    需要使用yum install -y tree 来安装;

    --help tree帮助文档
    [root@bogon tmp]# tree --help
    usage: tree [-adfghilnpqrstuvxACDFNS] [-H baseHREF] [-T title ] [-L level [-R]]
        [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
        [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
        [--filelimit #] [<directory list>]
      -a            All files are listed.
      -d            List directories only.
      -l            Follow symbolic links like directories.
      -f            Print the full path prefix for each file.
      -i            Don't print indentation lines.
      -q            Print non-printable characters as '?'.
      -N            Print non-printable characters as is.
      -p            Print the protections for each file.
      -u            Displays file owner or UID number.
      -g            Displays file group owner or GID number.
      -s            Print the size in bytes of each file.
      -h            Print the size in a more human readable way.
      -D            Print the date of last modification.
      -F            Appends '/', '=', '*', or '|' as per ls -F.
      -v            Sort files alphanumerically by version.
      -r            Sort files in reverse alphanumeric order.
      -t            Sort files by last modification time.
      -x            Stay on current filesystem only.
      -L level      Descend only level directories deep.
      -A            Print ANSI lines graphic indentation lines.
      -S            Print with ASCII graphics indentation lines.
      -n            Turn colorization off always (-C overrides).
      -C            Turn colorization on always.
      -P pattern    List only those files that match the pattern given.
      -I pattern    Do not list files that match the given pattern.
      -H baseHREF   Prints out HTML format with baseHREF as top directory.
      -T string     Replace the default HTML title and H1 header with string.
      -R            Rerun tree when max dir level reached.
      -o file       Output to file instead of stdout.
      --inodes      Print inode number of each file.
      --device      Print device ID number to which each file belongs.
      --noreport    Turn off file/directory count at end of tree listing.
      --nolinks     Turn off hyperlinks in HTML output.
      --dirsfirst   List directories before files.
      --charset X   Use charset X for HTML and indentation line output.
      --filelimit # Do not descend dirs with more than # files in them.
    [root@bogon tmp]# 
    

    2.1.2 rm 删除文件

    rm 不仅可以删除文件也可以删除目录;

    --help rm帮助文档
    [root@bogon tmp]# rm --help
    用法:rm [选项]... 文件...
    删除 (unlink) 文件。
    
      -f, --force       强制删除。忽略不存在的文件,不提示确认
      -i            在删除前需要确认
      -I            在删除超过三个文件或者递归删除前要求确认。此选项比-i 提
                示内容更少,但同样可以阻止大多数错误发生
          --interactive[=WHEN]  根据指定的WHEN 进行确认提示:never,once (-I),
                    或者always (-i)。如果此参数不加WHEN 则总是提示
          --one-file-system     递归删除一个层级时,跳过所有不符合命令行参
                    数的文件系统上的文件
          --no-preserve-roo 不特殊对待"/"
          --preserve-root   不允许删除"/"(默认)
      -r, -R, --recursive   递归删除目录及其内容
      -v, --verbose     详细显示进行的步骤
          --help        显示此帮助信息并退出
          --version     显示版本信息并退出
    
    默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定
    的目录,以及其下所有的内容。
    
    要删除第一个字符为"-"的文件 (例如"-foo"),请使用以下方法之一:
      rm -- -foo
      rm ./-foo
    
    请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
    该文件的内容无法还原,请考虑使用shred。
    
    请向bug-coreutils@gnu.org 报告rm 的错误
    GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
    GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
    请向<http://translationproject.org/team/zh_CN.html> 报告rm 的翻译错误
    要获取完整文档,请运行:info coreutils 'rm invocation'
    [root@bogon tmp]# 
    
    -f --force 过滤提示信息,静默;
    -i 默认不提醒
    -r --recursive 删除目录
    -v 删除过程可视化
    [root@bogon tmp]# which rm
    alias rm='rm -i'
        /bin/rm
    [root@bogon tmp]# -f 忽略错我提示;-i 删除提示;-r 用于删除目录;-v 是可视化;--help 可以打印man文档^C
    [root@bogon tmp]# touch 1.txt
    [root@bogon tmp]# rm 1.txt
    rm:是否删除普通空文件 "1.txt"?y
    [root@bogon tmp]# touch 1.txt
    [root@bogon tmp]# ls
    1.txt    yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    yum.log
    [root@bogon tmp]# /bin/rm 1.txt
    [root@bogon tmp]# mkdir 123
    [root@bogon tmp]# /bin/rm 123
    /bin/rm: 无法删除"123": 是一个目录
    [root@bogon tmp]# rm 123
    rm: 无法删除"123": 是一个目录
    [root@bogon tmp]# rm -r 123
    rm:是否删除目录 "123"?y
    [root@bogon tmp]# ls
    yum.log  yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    [root@bogon tmp]# mkdir -p 123/234
    [root@bogon tmp]# rm -rv 123
    rm:是否进入目录"123"? y
    rm:是否删除目录 "123/234"?y
    已删除目录:"123/234"
    rm:是否删除目录 "123"?y
    已删除目录:"123"
    [root@bogon tmp]# mkdir -p 123/234
    [root@bogon tmp]# /bin/rm -frv 123
    已删除目录:"123/234"
    已删除目录:"123"
    [root@bogon tmp]# mkdir -p 123/234
    [root@bogon tmp]# /bin/rm -rv 123
    已删除目录:"123/234"
    已删除目录:"123"
    [root@bogon tmp]# rm -r 2
    rm: 无法删除"2": 没有那个文件或目录
    [root@bogon tmp]# rm -rfv 2
    [root@bogon tmp]# 
    

    02.1.3 cp 复制拷贝命令

    --help cp帮助文档
    [root@bogon tmp]# cp --help
    用法:cp [选项]... [-T] 源文件 目标文件
     或:cp [选项]... 源文件... 目录
     或:cp [选项]... -t 目录 源文件...
    将源文件复制至目标文件,或将多个源文件复制至目标目录。
    
    长选项必须使用的参数对于短选项时也是必需使用的。
      -a, --archive         等于-dR --preserve=all
          --backup[=CONTROL     为每个已存在的目标文件创建备份
      -b                类似--backup 但不接受参数
          --copy-contents       在递归处理是复制特殊文件内容
      -d                等于--no-dereference --preserve=links
      -f, --force           如果目标文件无法打开则将其移除并重试(当 -n 选项
                        存在时则不需再选此项)
      -i, --interactive     覆盖前询问(使前面的 -n 选项失效)
      -H                跟随源文件中的命令行符号链接
      -l, --link            链接文件而不复制
      -L, --dereference     总是跟随符号链接
      -n, --no-clobber      不要覆盖已存在的文件(使前面的 -i 选项失效)
      -P, --no-dereference      不跟随源文件中的符号链接
      -p                等于--preserve=模式,所有权,时间戳
          --preserve[=属性列表  保持指定的属性(默认:模式,所有权,时间戳),如果
                        可能保持附加属性:环境、链接、xattr 等
      -c                           same as --preserve=context
          --sno-preserve=属性列表   不保留指定的文件属性
          --parents         复制前在目标目录创建来源文件路径中的所有目录
      -R, -r, --recursive       递归复制目录及其子目录内的所有内容
          --reflink[=WHEN]      控制克隆/CoW 副本。请查看下面的内如。
          --remove-destination  尝试打开目标文件前先删除已存在的目的地
                        文件 (相对于 --force 选项)
          --sparse=WHEN     控制创建稀疏文件的方式
          --strip-trailing-slashes  删除参数中所有源文件/目录末端的斜杠
      -s, --symbolic-link       只创建符号链接而不复制文件
      -S, --suffix=后缀       自行指定备份文件的后缀
      -t,  --target-directory=目录    将所有参数指定的源文件/目录
                                               复制至目标目录
      -T, --no-target-directory 将目标目录视作普通文件
      -u, --update                 copy only when the SOURCE file is newer
                                     than the destination file or when the
                                     destination file is missing
      -v, --verbose                explain what is being done
      -x, --one-file-system        stay on this file system
      -Z, --context=CONTEXT        set security context of copy to CONTEXT
          --help        显示此帮助信息并退出
          --version     显示版本信息并退出
    
    默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
    被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
    --sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
    建为稀疏件。
    使用--sparse=never 参数禁止创建稀疏文件。
    
    当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
    情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。
    
    备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
    环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
    变量来选择。以下是可用的变量值:
    
      none, off       不进行备份(即使使用了--backup 选项)
      numbered, t     备份文件加上数字进行排序
      existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
      simple, never   永远使用普通方式备份
    
    有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
    是同一个已存在的一般文件的话,cp 会将源文件备份。
    
    请向bug-coreutils@gnu.org 报告cp 的错误
    GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
    GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
    请向<http://translationproject.org/team/zh_CN.html> 报告cp 的翻译错误
    要获取完整文档,请运行:info coreutils 'cp invocation'
    [root@bogon tmp]# 
    
    -r 用于连同目录一起复制
    -i 覆盖前询问

    例如:

    [root@bogon ~]# ls
    anaconda-ks.cfg  install.log  install.log.syslog
    [root@bogon ~]# cp install.log 123.txt
    [root@bogon ~]# ls
    123.txt          install.log
    anaconda-ks.cfg  install.log.syslog
    [root@bogon ~]# mkdir 111
    [root@bogon ~]# cp 111 222
    cp: 略过目录"111"
    [root@bogon ~]# cp -r 111 222
    [root@bogon ~]# ls
    111      222              install.log
    123.txt  anaconda-ks.cfg  install.log.syslog
    [root@bogon ~]# cp 123.txt 111/
    [root@bogon ~]# cp -rv 111/ 234
    "111/" -> "234"
    "111/123.txt" -> "234/123.txt"
    [root@bogon ~]# cp -r 用于拷贝目录;^C
    [root@bogon ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        16G  1.8G   14G  12% /
    tmpfs           947M     0  947M   0% /dev/shm
    /dev/sda1       194M   26M  158M  15% /boot
    [root@bogon ~]# df -h查看当前系统分区情况^C
    [root@bogon ~]# cp -rv /boot/grub/ /tmp/
    

    02.1.4 mv 移动和重命名

    --help mv帮助文档
    [root@bogon tmp]# mv --help
    用法:mv [选项]... [-T] 源文件 目标文件
     或:mv [选项]... 源文件... 目录
     或:mv [选项]... -t 目录 源文件...
    将源文件重命名为目标文件,或将源文件移动至指定目录。
    
    长选项必须使用的参数对于短选项时也是必需使用的。
          --backup[=CONTROL]       为每个已存在的目标文件创建备份
      -b                           类似--backup 但不接受参数
      -f, --force                  覆盖前不询问
      -i, --interactive            覆盖前询问
      -n, --no-clobber             不覆盖已存在文件
    如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
          --strip-trailing-slashes  去掉每个源文件参数尾部的斜线
      -S, --suffix=SUFFIX       替换常用的备份文件后缀
      -t, --target-directory=DIRECTORY  将所有参数指定的源文件或目录
                        移动至 指定目录
      -T, --no-target-directory 将目标文件视作普通文件处理
      -u, --update          只在源文件文件比目标文件新,或目标文件
                    不存在时才进行移动
      -v, --verbose     详细显示进行的步骤
          --help        显示此帮助信息并退出
          --version     显示版本信息并退出
    
    备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
    环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
    变量来选择。以下是可用的变量值:
    
      none, off       不进行备份(即使使用了--backup 选项)
      numbered, t     备份文件加上数字进行排序
      existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
      simple, never   永远使用普通方式备份
    
    请向bug-coreutils@gnu.org 报告mv 的错误
    GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
    GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
    请向<http://translationproject.org/team/zh_CN.html> 报告mv 的翻译错误
    要获取完整文档,请运行:info coreutils 'mv invocation'
    [root@bogon tmp]# 
    
    -i 覆盖前询问
    -v 可视化显示进行的步骤
    [root@bogon tmp]# ls
    yum.log  yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    [root@bogon tmp]# mv yum.log 123.txt
    [root@bogon tmp]# cp 123.txt yum.log
    [root@bogon tmp]# ls
    123.txt  yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    yum.log
    [root@bogon tmp]# mv 123.txt yum.log
    mv:是否覆盖"yum.log"? n
    [root@bogon tmp]#
    [root@bogon tmp]# mkdir -p 111/123
    [root@bogon tmp]# tree
    .
    ├── 111
    │   └── 123
    ├── 123.txt
    ├── yum.log
    └── yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    
    2 directories, 3 files
    [root@bogon tmp]# mv 111 222
    [root@bogon tmp]# tree
    .
    ├── 123.txt
    ├── 222
    │   └── 123
    ├── yum.log
    └── yum_save_tx-2017-02-22-13-5628OmsB.yumtx
    
    2 directories, 3 files
    [root@bogon tmp]# 
    

    跨分区挪动文件需要划分的时间比较常。这里涉及当磁盘的块分区;

    rename 用于重命名

    相关文章

      网友评论

          本文标题:2017-05-22 第一周第五次课

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