文件及目录操作 - touch、tree

1、touch:创建文件或更改文件时间戳

touch命令的功能说明

touch命令用于创建新的空文件或改变已有文件的时间戳属性。

touch命令的语法格式

touch [OPTION]... FILE...
touch [参数选项] [文件]

touch命令的选项说明

touch 选项不常用,就不细说了:

touch命令的实践操作

范例1: 创建文件(文件事先不存在的情况)

[root@oldboyedu  ~]# mkdir -p /test
[root@oldboyedu  ~]# cd /test
[root@oldboyedu  /test]# ls
[root@oldboyedu  /test]# touch oldboy.txt
[root@oldboyedu  /test]# ls
oldboy.txt
[root@oldboyedu  /test]# touch a.txt b.txt
[root@oldboyedu  /test]# ls
a.txt  b.txt  oldboy.txt
[root@oldboyedu  /test]# touch stu{1..4}          <-->利用{ }有序序列批量创建文件
[root@oldboyedu  /test]# ls
a.txt  b.txt  oldboy.txt  stu1  stu2  stu3  stu4

范例1: 更改文件的时间戳属性

[root@oldboyedu  /test]# stat oldboy.txt
  File: ‘oldboy.txt’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d  Inode: 51524120    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-04-06 19:00:34.447304058 +0800
Modify: 2019-04-06 19:00:34.447304058 +0800
Change: 2019-04-06 19:00:34.447304058 +0800
 Birth: -
[root@oldboyedu  /test]# touch -a oldboy.txt            <--> -a 参数只更改文件的最后访问时间
[root@oldboyedu  /test]# stat oldboy.txt
  File: ‘oldboy.txt’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d  Inode: 51524120    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-04-06 19:04:20.967284353 +0800
Modify: 2019-04-06 19:00:34.447304058 +0800     <-->时间变了
Change: 2019-04-06 19:04:20.967284353 +0800
 Birth: -
[root@oldboyedu  /test]# touch -m oldboy.txt          <--> -m 参数只更改文件的最后修改时间
[root@oldboyedu  /test]# stat oldboy.txt
  File: ‘oldboy.txt’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d  Inode: 51524120    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-04-06 19:04:20.967284353 +0800      <-->时间变了
Modify: 2019-04-06 19:05:13.179279812 +0800
Change: 2019-04-06 19:05:13.179279812 +0800
 Birth: -

范例2: 指定时间属性创建/修改文件(不常用,了解即可)

-rw-r--r-- 1 root root 0 Apr  6 19:05 oldboy.txt
[root@oldboyedu  /test]# ls -lh oldboy.txt
[root@oldboyedu  /test]# touch -d 20201001 oldboy.txt         <--> -d 参数的用法
[root@oldboyedu  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Oct  1  2020 oldboy.txt
[root@oldboyedu  /test]# ls -lh a.txt
-rw-r--r-- 1 root root 0 Apr  6 19:00 a.txt
[root@oldboyedu  /test]# touch -r a.txt oldboy.txt            <--> -r 参数的用法
[root@oldboyedu  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Apr  6 19:00 oldboy.txt
[root@oldboyedu  /test]# touch -t 201904161914.50 oldboy.txt   <--> -t 参数的用法
[root@oldboyedu  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Apr 16  2019 oldboy.txt
[root@oldboyedu  /test]# ls -lh --full-time oldboy.txt              <-->查看结果
-rw-r--r-- 1 root root 0 2019-04-16 19:14:50.000000000 +0800 oldboy.txt

2、tree:以树形结构显示目录下内容

tree命令的功能说明

tree命令用于以树形结构列出指定目录下的所有内容,包括所有文件、子目录等。

tree命令的语法格式

tree [OPTION]... [directory ...]
tree [参数选项] [目录]

tree命令的选项说明

tree 选项很多,表1为 tree 命令的常用参数及说明:

表1: tree命令的常用参数及说明

参数选项 解释说明(带*的为重点)
-a 显示所有文件,包括隐藏文件
-d 只显示目录 *
-f 显示每个文件的全路径
-i 不显示树枝,常用参数-f配合使用
-L level 遍历目录的最大层数,level为大于0的正整数 *
-F 在不同类型文件结尾加各种表示

tree命令的实践操作

环境准备

[root@oldboyedu  ~]# rpm -qa tree                <-->查询tree命令是否安装
tree-1.6.0-10.el7.x86_64                                     <-->显示已经安装,若未安装,执行以下操作
[root@oldboyedu  ~]# yum install tree -y        <-->使用yum,进行安装tree命令
[root@oldboyedu  ~]# LANG=en_US.UTF-8    <-->临时调整系统字符集,防止树形显示乱码

范例1: 不加任何参数执行 tree命令

[root@oldboyedu  ~]# tree      <-->以实验环境为准
.
└── anaconda-ks.cfg

0 directories, 1 file

范例2: 以树形结构显示目录下的所有内容( -a 的功能)

[root@oldboyedu  ~]# tree -a    <-->以 . 开头的文件都显示出来
.
├── anaconda-ks.cfg
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .cshrc
├── .gem
│   ├── ruby
│   │   └── cache
│   │       └── paint-2.0.3.gem
│   └── specs
│       └── rubygems.org%443
│           ├── latest_specs.4.8
│           ├── prerelease_specs.4.8
│           ├── quick
│           │   └── Marshal.4.8
│           │       ├── lolcat-99.9.21.gemspec
│           │       ├── manpages-0.6.1.gemspec
│           │       ├── optimist-3.0.0.gemspec
│           │       ├── paint-2.0.0.gemspec
│           │       ├── paint-2.0.1.gemspec
│           │       ├── paint-2.0.2.gemspec
│           │       └── paint-2.0.3.gemspec
│           └── specs.4.8
├── .ssh
│   └── authorized_keys
├── .tcshrc
└── .viminfo

8 directories, 20 files

范例3: 只列出根目录下第一层目录结构( -L 的功能)

[root@oldboyedu  /test]# mkdir -p dir{1..2}/text{1..2}                <-->模拟环境,创建目录
[root@oldboyedu  /test]# touch dir{1..2}/text{1..2}/{1..2}.txt       <-->模拟环境,文件
[root@oldboyedu  /test]# tree                                                      <-->不加参数的结果
.
├── dir1
│   ├── text1
│   │   ├── 1.txt
│   │   └── 2.txt
│   └── text2
│       ├── 1.txt
│       └── 2.txt
└── dir2
    ├── text1
    │   ├── 1.txt
    │   └── 2.txt
    └── text2
        ├── 1.txt
        └── 2.txt

6 directories, 8 files
[root@oldboyedu  /test]# tree -L 1                   <-->加参数的结果
.
├── dir1
└── dir2

2 directories, 0 files

范例4: 只显示所有目录(但不显示文化)

[root@oldboyedu  /test]# tree -d dir1              <--> -d 只显示目录
dir1
├── text1
└── text2

2 directories
[root@oldboyedu  /test]# ls -l dir1
total 0
drwxr-xr-x 2 root root 32 Apr  6 19:52 text1                <-->text1和text2是目录文件
drwxr-xr-x 2 root root 32 Apr  6 19:52 text2
[root@oldboyedu  /test]# cd dir1
[root@oldboyedu  /test/dir1]# ls
text1  text2
[root@oldboyedu  /test/dir1]# ls text1/
1.txt  2.txt
[root@oldboyedu  /test/dir1]# ll text1/
total 0
-rw-r--r-- 1 root root 0 Apr  6 19:52 1.txt            <-->1.txt和2.txt是文件
-rw-r--r-- 1 root root 0 Apr  6 19:52 2.txt

范例4: 使用 tree命令区分目录和文件的方法(常用)

[root@oldboyedu  /test]# tree -L 3 -F                   <-->是目录的话后面加\
.
├── dir1/
│   ├── text1/
│   │   ├── 1.txt
│   │   └── 2.txt
│   └── text2/
│       ├── 1.txt
│       └── 2.txt
└── dir2/
    ├── text1/
    │   ├── 1.txt
    │   └── 2.txt
    └── text2/
        ├── 1.txt
        └── 2.txt

6 directories, 8 files
[root@oldboyedu  /test]# tree -L 1 -F /boot/ |grep /$    <-->过滤以斜线结尾的所有内容
/boot/
├── efi/
├── grub/
├── grub2/
[root@oldboyedu  /test]# tree -L 1 -d /boot/          <-->使用 -d参数只显示目录树
/boot/
├── efi
├── grub
└── grub2

3 directories

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

Shell命令-文件及目录操作之touch、tree的更多相关文章

  1. Shell命令-文件及目录操作之file、md5sum

    文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file ...

  2. Shell命令-文件及目录操作之ls、cd

    文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...

  3. Shell命令-文件及目录操作之mkdir、mv

    文件及目录操作 - mkdir.mv 1.mkdir:创建目录 mkdir命令的功能说明 mkdir命令用于创建目录,默认情况下,要创建的目录已存在,会提示文件存在,不会继续创建目录. mkdir命令 ...

  4. Shell命令-文件及目录操作之pwd、rm

    文件及目录操作 - pwd.rm 1.pwd:显示当前所在位置信息 pwd命令的功能说明 pwd命令用于显示当前工作目录的绝对路径,以便在各个目录间来回切换. pwd命令的语法格式 pwd [OPTI ...

  5. Shell命令-文件及目录操作之cp、find

    文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORY ...

  6. Shell命令-文件及目录操作之chattr、lsattr

    文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性, ...

  7. Linux操作系统常用命令合集——第一篇-文件和目录操作(40个命令)

    一.选项和参数的区别        在经过上一次的系统安装后我们已经成功登陆,登陆LInux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着“选项”(英文名:options)或“参数” ...

  8. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  9. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

随机推荐

  1. Java开发笔记(二十六)方法的输出参数

    前面介绍了方法的输入参数,与输入参数相对应的则为输出参数,输出参数也被称作方法的返回值,意思是经过方法的处理最终得到的运算数值.这个返回值可能是整型数,也可能是双精度数,也可能是数组等其它类型,甚至允 ...

  2. Android破解学习之路(八)—— 进化之地内购破解

    最近在TapTap闲逛,看到了进化之地这款游戏,TapTap上有两个进化之地,一个是在TapTap直接购买的,另外一个则是试玩版,玩到中间就会有个购买完整版. 试玩版连接:https://www.ta ...

  3. ios端的Safari浏览器中,输入框加入readonly之后,点击还能获取焦点的解决办法。

    事情的起因是,新增一个需求,原来的输入框点击不要出现系统自带的键盘,出现我们模拟的键盘.如果是一次性开发的话, 我肯定把这个输入框写成一个div或者其他的元素,然后点击之后出现我们的模拟键盘,这样就不 ...

  4. java泛型-泛型类,泛型接口,常用形式

    泛型简单使用: package com.etc; import java.util.ArrayList; import java.util.List; /* 泛型就相当于<>一个标签,泛化 ...

  5. 【20190405】JavaScript-正则式匹配与替换结果解析

    在正则式的应用中有三个函数使用得最多:exec().test()与字符串的replace(reg, options).其中test()最简单,只要字符串与正则式可以匹配,就返回true,否则返回fal ...

  6. Android为TV端助力 完全解析模拟遥控器按键

    public class VirturlKeyPadCtr { private static Instrumentation mInstrumentation; public static void ...

  7. 南京邮电大学java第三次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...

  8. ASP.NET MVC从空项目开始定制项目

    在上一篇net core的文章中已经讲过如何从零开始搭建WebSocket. 今天聊聊ASP.NET的文件结构,如何用自己的目录结构组织项目里的文件. 如果用Visual Studio(VS)向导或d ...

  9. DVWA 黑客攻防演练(一) 介绍及安装

    原本是像写一篇 SELinux 的文章的.而我写总结文章的时候,总会去想原因是什么,为什么会有这种需求.而我发觉 SELinux 的需求是编程人员的神奇代码或者维护者的脑袋短路而造成系统容易被攻击.就 ...

  10. 18-10-31 Scrum Meeting 3

    1.会议照片 2.每人的工作 昨天完成的工作   1 制定配置 修改配置 查询配置这三个接口   2 3 获取单词对应的中文释义   4 完成测验的部分接口   5 后端对接计划的接口   6 剩余的 ...