美文网首页
linux 文件管理类命令

linux 文件管理类命令

作者: Net夜风 | 来源:发表于2018-06-09 23:05 被阅读0次

    linux 文件管理类命令

    1. ls 命令:list directory contents;列出指定目录下的内容
      SYNOPSIS: ls [OPTION]... [FILE]...
      OPTION:
    • -a :--al显示所有文件,包括隐藏文件

    • -A :--almost-all:显示除 . 和 ..外的所有文件

    • -l :--long 长格式显示列表,即文件的详细属性信息

    • -d :查看目录自身而非其内部的文件列表;经常和-l 一起配合使用

    • -r :reverse,逆序显示

    • -R: recursive,递归显示

          [root@localhost ~]# ls -a /etc/lvm
          .  ..  archive  backup  cache  lvm.conf  lvmlocal.conf  profile
          [root@localhost~]# ls -A /etc/lvm
          archive  backup  cache  lvm.conf  lvmlocal.conf  profile
          [root@localhost ~]# ls -l /etc/lvm
          总用量 104
          drwx------. 2 root root  4096 5月   5 20:16 archive
          drwx------. 2 root root  4096 5月   5 20:16 backup
          drwx------. 2 root root  4096 5月   5 21:25 cache
          -rw-r--r--. 1 root root 83972 3月  23 2017 lvm.conf
          -rw-r--r--. 1 root root  2301 3月  23 2017 lvmlocal.conf
          drwxr-xr-x. 2 root root  4096 5月   2 04:59 profile
          [root@localhost ~]# ls -d /etc/lvm
          /etc/lvm
          [root@localhost ~]# ls -ld /etc/lvm
          drwxr-xr-x. 6 root root 4096 5月   2 04:59 /etc/lvm
      
    1. cd 命令:change directory
      SYNOPSIS: cd [PATH/TO/SOMEDIR]
    • cd: 切换回家目录

    • cd ~: 切换回自己的家目录

    • cd ~USERNAME: 切换至指定用户的家目录

    • cd -:在上一次目录和当前目录之间来回切换

      示例:
      [root@localhost apache2]# cd
      [root@localhost ~]# cd /var
      [root@localhost var]# cd /var/log
      [root@localhost log]# cd ~slackware
      [root@localhost slackware]# cd -
      /var/log
      [root@localhost log]# cd -
      /home/slackware

    1. mkdir:创建目录
      SYNOPSIS: mkdir [OPTION]... DIRECTORY...
    • -p:表示存在时不返回错误,不存在时,自动创建所需目录
    • -v:显示其过程详细信息
    • -m MODE: 创建目录是直接指定权限
    1. rmdir:删除目录
      SYNOPSIS: rmdir [OPTION]... DIRECTORY...
    • -v:显示执行过程

      示例:
      [root@localhost ~]# mkdir -pv /tmp/x/y/z
      mkdir: 已创建目录 "/tmp/x"
      mkdir: 已创建目录 "/tmp/x/y"
      mkdir: 已创建目录 "/tmp/x/y/z"
      [root@localhost ~]# rmdir -v /tmp/x/y/z
      rmdir: 正在删除目录 "/tmp/x/y/z"
      [root@localhost ~]# rmdir -v /tmp/x/y
      rmdir: 正在删除目录 "/tmp/x/y"
      [root@localhost ~]# rmdir -v /tmp/x
      rmdir: 正在删除目录 "/tmp/x"

    1. cat命令和tac命令:文件文本查看工具
      SYNOPSIS: cat [OPTION]... [FILE]...; tac [OPTION]... [FILE]...
      OPTION:
    • -n : 给显示的文本行编号

    • -E :显示行结束符
      tac和cat显示相反

      示例:
      [root@localhost ~]# cat /etc/fstab

        #
        # /etc/fstab
        # Created by anaconda on Wed May  2 04:48:00 2018
        #
        # Accessible filesystems, by reference, are maintained under '/dev/disk'
        # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
        #
        UUID=d7d511f0-74c6-4293-8311-ace822f60b26 /                       ext4    defaults        1 1
        UUID=c394a12c-bc82-4eee-a24e-9ae55b77a810 /boot                   ext4    defaults        1 2
        UUID=38540df9-d17e-4dba-ab6b-550054159993 swap                    swap    defaults        0 0
        tmpfs                   /dev/shm                tmpfs   defaults        0 0
        devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
        sysfs                   /sys                    sysfs   defaults        0 0
        proc                    /proc                   proc    defaults        0 0
        LABEL=MYREID              /backup       ext4    defaults,acl        0 0     
        [root@localhost ~]# tac /etc/fstab
        LABEL=MYREID              /backup       ext4    defaults,acl        0 0     
        proc                    /proc                   proc    defaults        0 0
        sysfs                   /sys                    sysfs   defaults        0 0
        devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
        tmpfs                   /dev/shm                tmpfs   defaults        0 0
        UUID=38540df9-d17e-4dba-ab6b-550054159993 swap                    swap    defaults        0 0
        UUID=c394a12c-bc82-4eee-a24e-9ae55b77a810 /boot                   ext4    defaults        1 2
        UUID=d7d511f0-74c6-4293-8311-ace822f60b26 /                       ext4    defaults        1 1
        #
        # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
        # Accessible filesystems, by reference, are maintained under '/dev/disk'
        #
        # Created by anaconda on Wed May  2 04:48:00 2018
        # /etc/fstab
        #
      
    1. 文件内容查看命令:more、less、head、tail
    • more: more [options] file [...]
      - -d:显示翻页及退出提示
    • -less :与more相反
    • -head:显示文件前几行内容 ;head [OPTION]... [FILE]...
      • -n # :指定获取前#行
      • -c # :指定获取后#行自己内容
    • tail :显示文件后几行的内容
      - -n # : 指定获取后#行,也可以是用-#
      - -c # : 指定获取后#字节内容
      - -f :动态显示文件新内容,如果要退出,可使用ctrl+c
    1. touch命令: change file timestamps;修改文件时间戳
      SYNOPSIS : touch [OPTION]... FILE...
    • -a : 仅修改access time

    • -m:仅修改modify time

    • -t [[CC]YY]MMDDhhmm[.ss]: 修改制定时间戳为某时间

    • -c:指定的文件路径不存在时不予创建;(当touch一个不存在的文件时,会先创建一个空文件)
      查看文件状态(属性信息或者元数据)命令:stat

        示例:
            [root@localhost ~]# ls /tmp
           keyring-HHoT1s  orbit-gdm  orbit-root  pulse-hnV6FdwMKJ2W  snap
           [root@localhost ~]# touch /tmp/test
           [root@localhost ~]# ls /tmp
           keyring-HHoT1s  orbit-gdm  orbit-root  pulse-hnV6FdwMKJ2W  snap  test
           [root@localhost ~]# stat /tmp/test 
             File: "/tmp/test"
             Size: 0           Blocks: 0          IO Block: 4096   普通空文件
           Device: 803h/2051d  Inode: 2621450     Links: 1
           Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
           Access: 2018-06-09 22:44:32.231994523 +0800
           Modify: 2018-06-09 22:44:32.231994523 +0800
           Change: 2018-06-09 22:44:32.231994523 +0800
           [root@localhost ~]# touch -at 201505051240.50 /tmp/test
           [root@localhost ~]# stat /tmp/test 
             File: "/tmp/test"
             Size: 0           Blocks: 0          IO Block: 4096   普通空文件
           Device: 803h/2051d  Inode: 2621450     Links: 1
           Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
           Access: 2015-05-05 12:40:50.000000000 +0800
           Modify: 2018-06-09 22:44:32.231994523 +0800
           Change: 2018-06-09 22:45:37.617998474 +0800
      
    1. cp命令:copy复制
      <1> cp [OPTION]... [-T] SOURCE DEST
      单源复制 :
      如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST
      如果DEST存在:
      如果DEST是非目录文件:则覆盖目标文件;
      如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

    <2> cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...
    多源复制:
    如果DEST不存在:错误;
    如果DEST存在:
    如果DEST是非目录文件:错误;
    如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;并且必须是用- r选项。
    <3>选项[OPTION]:

    • -i: 交互式复制,即覆盖之前提醒用户确认

    • -f:强制覆盖目标文件

    • -r:递归复制目录

    • -d:复制符号链接文件本身,而非其指向的源文件

    • -a:-dR --preserve=all,archive,用于实现归档

    • -v:显示过程

        示例:
            [root@localhost ~]# ls /tmp
            keyring-HHoT1s  orbit-gdm  orbit-root  pulse-hnV6FdwMKJ2W  snap  test
            [root@localhost ~]# cp /etc/fstab /tmp
            [root@localhost ~]# ls /tmp
            fstab  keyring-HHoT1s  orbit-gdm  orbit-root  pulse-hnV6FdwMKJ2W  snap  test
            root@localhost ~]# cp -r /etc/yum.repos.d/ /tmp
            [root@localhost ~]# ls /tmp
                        fstab  keyring-HHoT1s  log  orbit-gdm  orbit-root  pulse-hnV6FdwMKJ2W  snap  test  yum.repos.d
                        [root@localhost ~]# cp -f /etc/fstab /tmp/test
            cp:是否覆盖"/tmp/test"? y
            [root@localhost ~]# cat /tmp/test
            
            #
            # /etc/fstab
            # Created by anaconda on Wed May  2 04:48:00 2018
            #
            # Accessible filesystems, by reference, are maintained under '/dev/disk'
            # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
            #
            UUID=d7d511f0-74c6-4293-8311-ace822f60b26 /                       ext4    defaults        1 1
            UUID=c394a12c-bc82-4eee-a24e-9ae55b77a810 /boot                   ext4    defaults        1 2
            UUID=38540df9-d17e-4dba-ab6b-550054159993 swap                    swap    defaults        0 0
            tmpfs                   /dev/shm                tmpfs   defaults        0 0
            devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
            sysfs                   /sys                    sysfs   defaults        0 0
            proc                    /proc                   proc    defaults        0 0
            LABEL=MYREID              /backup       ext4    defaults,acl        0 0     
      
    1. mv命令:move,移动命令
      mv [OPTION]... [-T] SOURCE DEST
      mv [OPTION]... SOURCE... DIRECTORY
      mv [OPTION]... -t DIRECTORY SOURCE...
      常用选项:
      - -i:交互式
      - -f:强制force

    2. rm命令:remove,删除
      rm [OPTION]... FILE...
      常用选项:

    • -i:交互式
    • -f:强制
    • -r:recursive 递归
      注意:rm -rf /PATH/TO/DIR 是非常危险的,建议不要直接删除,而是移动至某个专用的目录

    bash的工作特性之命令执行状态返回值和命令展开

    命令执行的状态结果:bash通过状态返回值来输出此结果
    成功:0 失败:1-255
    命令执行完成之后,其状态返回值保存于bash的特殊变量 $? 中;
    可以使用'echo $?'查看最近一条命令的执行结果。

        示例:
            [root@localhost ~]# ls /var
            account  crash  db     ftp    gdm  local  log   nis  preserve  spool  www   yp
            cache    cvs    empty  games  lib  lock   mail  opt  run       tmp    wwww
            [root@localhost ~]# echo $?
            0
            [root@localhost ~]# ls /varr
            ls: 无法访问/varr: 没有那个文件或目录
            [root@localhost ~]# echo $?
            2
    

    命令行展开

    • ~:展开为用户的主目录
    • ~USERNAME: 展开为指定用户的主目录
    • {} : 可以承载一个以逗号分隔的列表,并将其展开为多个路径

    命令展开行练习题

    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

          [root@localhost ~]# mkdir -pv /tmp/{a,b}_{c,d}
            mkdir: 已创建目录 "/tmp/a_c"
            mkdir: 已创建目录 "/tmp/a_d"
            mkdir: 已创建目录 "/tmp/b_c"
            mkdir: 已创建目录 "/tmp/b_d"
    

    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │ └── grub
    ├── dev
    ├── etc
    │ ├── rc.d
    │ │ └── init.d
    │ └── sysconfig
    │ └── network-scripts
    ├── lib
    │ └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │ └── local
    │ ├── bin
    │ └── sbin
    └── var
    ├── lock
    ├── log
    └── run

         [root@localhost ~]# mkdir -pv /tmp/mylinux/{bin,boot/groub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
        mkdir: 已创建目录 "/tmp/mylinux"
        mkdir: 已创建目录 "/tmp/mylinux/bin"
        mkdir: 已创建目录 "/tmp/mylinux/boot"
        mkdir: 已创建目录 "/tmp/mylinux/boot/groub"
        mkdir: 已创建目录 "/tmp/mylinux/dev"
        mkdir: 已创建目录 "/tmp/mylinux/etc"
        mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"
        mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"
        mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"
        mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"
        mkdir: 已创建目录 "/tmp/mylinux/lib"
        mkdir: 已创建目录 "/tmp/mylinux/lib/modules"
        mkdir: 已创建目录 "/tmp/mylinux/lib64"
        mkdir: 已创建目录 "/tmp/mylinux/proc"
        mkdir: 已创建目录 "/tmp/mylinux/sbin"
        mkdir: 已创建目录 "/tmp/mylinux/sys"
        mkdir: 已创建目录 "/tmp/mylinux/tmp"
        mkdir: 已创建目录 "/tmp/mylinux/usr"
        mkdir: 已创建目录 "/tmp/mylinux/usr/local"
        mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"
        mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"
        mkdir: 已创建目录 "/tmp/mylinux/var"
        mkdir: 已创建目录 "/tmp/mylinux/var/lock"
        mkdir: 已创建目录 "/tmp/mylinux/var/log"
        mkdir: 已创建目录 "/tmp/mylinux/var/run"
    
    
        [root@localhost ~]# tree /tmp/mylinux/
                /tmp/mylinux/
                ├── bin
                ├── boot
                │   └── groub
                ├── dev
                ├── etc
                │   ├── rc.d
                │   │   └── init.d
                │   └── sysconfig
                │       └── network-scripts
                ├── lib
                │   └── modules
                ├── lib64
                ├── proc
                ├── sbin
                ├── sys
                ├── tmp
                ├── usr
                │   └── local
                │       ├── bin
                │       └── sbin
                └── var
                    ├── lock
                    ├── log
                    └── run
    

    相关文章

      网友评论

          本文标题:linux 文件管理类命令

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