linux 文件管理类命令

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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容