003. Linux基础三 P1(文件操作、文件通配符、touch)

1. 文件操作命令
  • pwd #显示当前工作目录
  • 绝对路径和相对路径
  • basename #基名 只取文件名而不要路径
  • dirname #目录名 只取路径,不要文件名
  • cd ##更改目录
    • cd..
    • cd -
    • cd 路径
  • 相关环境变量:
    PWD:当前目录路径
    OLDPWD:上一次目录路径
  • ls 列出目录内容
    • -a 包含隐藏文件
    • -l 显示额外的信息
    • -R 目录递归
    • -ld 目录和符号链接信息
    • -1 文件分行显示
    • -S 按从大到小排序
    • -t 按mtime排序
    • -u 配合-t选项,显示并按atime从新到旧排序
    • -U 按目录存放顺序显示
    • -X 按文件后缀排序
  • stat 查看文件状态

    • 每个文件有三个时间戳:

    access time 访问时间,atime,读取文件内容
    modify time 修改时间,mtime,改变文件内容(数据)
    change time 改变时间,ctime,元数据发生改变

  • file 查看文件内容

2. wildcard pattern 文件通配符

1. 常见通配符

* 匹配0个或多个字符,但不匹配.开头的文件,即隐藏文件
? 匹配任何单个字符


~ 当前用户家目录
~mage 用户mage家目录
~+ OR . 当前工作目录
~- 前一个工作目录


[0-9] 匹配数字范围
[a-z] 小写字母
[A-Z] 大写字母
[xxx] 匹配列表中的任何的一个字符
[^xxx] 匹配列表中的所有字符以外的字符


2.预定义的字符类:man 7 glob
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母,表示 a-z
[:upper:]: 任意大写字母,表示 A-Z

[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符

通配符练习

1)显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录列表

[root@centos7 dir1]# touch /etc/lx93xx
[root@centos7 dir1]# ls /etc/l*[1-9]*[a-z]
/etc/lx93xx

2)显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录列表

[root@centos7 dir1]# touch /etc/1xxxxx
[root@centos7 dir1]# ls /etc/[1-9]*[^1-9]
/etc/1xxxxx

3)显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录列表

[root@centos7 dir1]# touch /etc/2a
[root@centos7 dir1]# touch /etc/2a1
[root@centos7 dir1]# ls /etc/[^[:alpha:][:alpha:]]*
/etc/1xxxxx  /etc/2a  /etc/2a1

4)显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录列表

[root@centos7 ~]#  ls /etc/rc[0-6]*  -d
/etc/rc0.d  /etc/rc1.d  /etc/rc2.d  /etc/rc3.d  /etc/rc4.d  /etc/rc5.d  /etc/rc6.d

5)显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录列表

[root@centos7 ~]# ls /etc/[m,n,r,p]*[.conf] -d
/etc/magic        /etc/mke2fs.conf  /etc/nsswitch.conf  /etc/resolv.conf  /etc/rsyslog.conf
/etc/man_db.conf  /etc/my.cnf       /etc/python         /etc/rpc

6)只显示/root下的隐藏文件和目录列表

[root@centos7 ~]# ls /.* -ad
/.  /..

* * *

[root@centos7 ~]# l. /etc
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  /etc  .lesshst  .tcshrc  .viminfo
[root@centos7 ~]# alias l.
alias l.=‘ls -d .* --color=auto‘

7)只显示/etc下的非隐藏目录列表

ls -d /etc/*/

3 创建文件和刷新时间

touch #创建文件 or 刷新时间
选项:
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建

003. Linux基础三 P1(文件操作、文件通配符、touch)

上一篇:linux磁盘阵列raid详解


下一篇:003. Linux基础三 P3(目录操作)