Shell命令-文件及目录操作之touch、tree

文件及目录操作 - touch、tree

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

touch命令的功能说明

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

touch命令的语法格式

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

touch命令的选项说明

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

touch命令的实践操作

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

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

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

[[email protected]  /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: -
[[email protected]  /test]# touch -a oldboy.txt         <--> -a 参数只更改文件的最后访问时间
[[email protected]  /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: -
[[email protected]  /test]# touch -m oldboy.txt       <--> -m 参数只更改文件的最后修改时间
[[email protected]  /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: 指定时间属性创建/修改文件(不常用,了解即可)

[[email protected]  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Apr  6 19:05 oldboy.txt
[[email protected]  /test]# touch -d 20201001 oldboy.txt              <--> -d 参数的用法
[[email protected]  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Oct  1  2020 oldboy.txt
[[email protected]  /test]# ls -lh a.txt
-rw-r--r-- 1 root root 0 Apr  6 19:00 a.txt
[[email protected]  /test]# touch -r a.txt oldboy.txt                         <--> -r 参数的用法
[[email protected]  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Apr  6 19:00 oldboy.txt
[[email protected]  /test]# touch -t 201904161914.50 oldboy.txt   <--> -t 参数的用法
[[email protected]  /test]# ls -lh oldboy.txt
-rw-r--r-- 1 root root 0 Apr 16  2019 oldboy.txt
[[email protected]  /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命令的实践操作

环境准备

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

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

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

0 directories, 1 file

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

[[email protected]  ~]# 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 的功能)

[[email protected]  /test]# mkdir -p dir{1..2}/text{1..2}                <-->模拟环境,创建目录
[[email protected]  /test]# touch dir{1..2}/text{1..2}/{1..2}.txt       <-->模拟环境,文件
[[email protected]  /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
[[email protected]  /test]# tree -L 1                                                 <-->加参数的结果
.
├── dir1
└── dir2

2 directories, 0 files

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

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

2 directories
[[email protected]  /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
[[email protected]  /test]# cd dir1
[[email protected]  /test/dir1]# ls
text1  text2
[[email protected]  /test/dir1]# ls text1/
1.txt  2.txt
[[email protected]  /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命令区分目录和文件的方法(常用)

[[email protected]  /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
[[email protected]  /test]# tree -L 1 -F /boot/ |grep /$    <-->过滤以斜线结尾的所有内容
/boot/
├── efi/
├── grub/
├── grub2/
[[email protected]  /test]# tree -L 1 -d /boot/                 <-->使用 -d参数只显示目录树
/boot/
├── efi
├── grub
└── grub2

3 directories

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

原文地址:https://blog.51cto.com/14068656/2378025

时间: 2024-08-04 05:57:32

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

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

文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname]file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...] file命令的选项说明 file

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

文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE]...ls [参数选项] [文件或目录] ls命令的选项说明 ls 选项很多,表1为ls命令的参数及说明: 表1:ls命令的参数及说明 参数选项 解释说明(带*的为重点) -l 长格式显示文件属性* -a 显示所有字目录和文件(包含隐藏文件)* -d 只显示目录* -i 显示Inode号 -h 人

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

文件及目录操作 - pwd.rm 1.pwd:显示当前所在位置信息 pwd命令的功能说明 pwd命令用于显示当前工作目录的绝对路径,以便在各个目录间来回切换. pwd命令的语法格式 pwd [OPTION]... pwd [参数选项] pwd命令的选项说明 pwd 选项就两个,不常用,就不细说了: pwd命令的实践操作 范例1: 不使用任何参数执行 pwd命令 [[email protected] ~]# pwd /root <-->绝对路径 [[email protected] ~]# cd

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

文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORYcp [参数选项] [源文件或源目录] [目标文件或目录] cp命令的选项说明 cp 选项就几个,表1为 cp命令的参数及说明: 表1: cp命令的参数及说明 参数选项 解释说明(带*的为重点) -r 复制目录 * -p 保持文件或目录属性 -a 相当于同时使用参数-d,-p,-r * -i 提示是

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

文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途. b:不更新文件或目录的最后存取时间. c:将文件或目录压缩后存放. d:将文件或目录排除在倾倒操作之外. i:不得任意更动文件或目录. s:保密性删除文件或目录. S:即时更新文件或目录. u:预防意外删除. chattr命令的语法格式 c

【Linux命令详解】2、文件和目录操作管理

2.文件和目录操作管理 本节主要学习在Linux下如何使用命令对文件和目录进行操作,这些命令pwd.cd.ls等. 2.1 pwd:显示工作目录路径 使用pwd命令可以显示当前用户所处的工作目录的绝对路径. 2.1.1命令语法: pwd[选项] 2.1.2参数选项: 选项 选项含义 -L 目录链接时,输出链接路径 -P 输出物理路径 2.1.3实例: 例1:显示用户当前工作目录路径. [[email protected] ~]# pwd /root //用户当前的工作路径是root 例2:显示用

python文件和目录操作函数小结

本文主要介绍python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isf

python文件和目录操作函数总结

有关python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出

Python文件和目录操作实例代码

对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这些函数无论是在Unix.Windows还是Macintosh平台上,它们的使用方式是完全一致的. 本文将详细解释这些函数的使用方法.首先,介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文件名对应的是一个标准文件.目录还是链接,以及提取文件大小和日期的方法.之后,还将介绍如何删除文件和目录