7-实用指令 Part2

时间相关指令

  • date

    data指令可以用于查看时间以及修改时间

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    用法:date [选项]... [+格式]
    -s, --set=STRING set time described by STRING

    给定的格式FORMAT 控制着输出,解释序列如下:
    %Y 年
    %m 月 (01..12)
    %d 日(例如:01)
    %u 星期,1 代表星期一
    %H 时(00-23)
    %M 分(00..59)
    %S 秒(00-60)
    %a 当前locale 的星期名缩写(例如: 日,代表星期日)
    %A 当前locale 的星期名全称 (如:星期日)
    %b 当前locale 的月名缩写 (如:一,代表一月)
    %B 当前locale 的月名全称 (如:一月)
    %c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)

    # 例子
    zuo@zuo-VirtualBox:~$ date "+%Y/%m/%d %H:%M:%S"
    2018/07/19 17:19:44
    # 设置时间,只有root才能使用,为了避免麻烦就不改了
    zuo@zuo-VirtualBox:~$ date -s "2018-8-15 10:23"
    date: 无法设置日期: 不允许的操作
    2018年 08月 15日 星期三 10:23:00 CST
  • cal

    显示日历

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    cal [-m month] [year]

    # 例子
    zuo@zuo-VirtualBox:~/Sample$ cal
    七月 2018
    日 一 二 三 四 五 六
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31

    zuo@zuo-VirtualBox:~/Sample$ cal -m 4
    四月 2018
    日 一 二 三 四 五 六
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30

查找指令

  • find

    查找文件,会读取硬盘,因此可能会很慢,可以使用通配符*

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    find [PATH] [option] [action]

    -name filename :搜寻文件名称为 filename 的文件
    -regex pattern : 按照正则表达式搜索文件,不过要注意pattern必须是绝对路径
    比如:find / -regex "find" 这样子是找不到/usr/bin/find的, 要像这样find / -regex ".*find"
    -size [+-]SIZE :搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
    c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
    还要大的文件,就是『 -size +50k 』
    -user name :name 为使用者帐号名称
    -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件
    -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名

    # 例子,找出 符合 xxx.xxx 并且大小小于 100B 的文件
    zuo@zuo-VirtualBox:~/Sample$ find . -regex '.*/\w+\.\w+' -size -100c
    ./2/Src.cpp
    ./1/Src.cpp
    ./Temp.py
  • locate(比find快,推荐优先使用)

    同样是查找文件, locate 的使用更简单,直接在后面输入“文件的部分名称” 后,就能够得到结果。 同样可以使用通配符*

    举上面的例子来说,输入 locate passwd ,那么在完整路径名称当中,只要有 passwd 在其中, 就会被显示出来的

    这条指令要比 find 指令的速度快很多,因为它是在数据库当中进行查找。但也应如此,如果你的文件名在数据库当中不存在的话,就无法找到。

    数据库的创建默认是在每天运行一次 。手动升级 locate 数据库的方法非常简单,直接输入updatedb就可以了(root)

    另外,locate 没有指定目录的选项,要找就一定是全盘搜索。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Usage: locate [OPTION]... [PATTERN]...
    -i, --ignore-case 忽略大小写
    -r, --regexp REGEXP 使用正则表达式

    # 例子
    # 找不到,因为数据库未更新
    zuo@zuo-VirtualBox:~/Sample$ locate Temp.java
    # 更新数据库
    zuo@zuo-VirtualBox:~/Sample$ sudo updatedb
    [sudo] zuo 的密码:
    zuo@zuo-VirtualBox:~/Sample$ locate Temp.java
    /home/zuo/Sample/Temp.java
    # 通配符,指定目录
    zuo@zuo-VirtualBox:~/Sample$ locate /home/zuo/Sample/*.py
    /home/zuo/Sample/Temp.py

其他指令

  • echo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    echo: echo [-neE] [参数 ...]
    将参数写到标准输出。

    在标准输出上,显示用空格分割的 ARG 参数后跟一个换行。

    选项:
    -n 不要追加换行
    -e 启用下列反斜杠转义的解释
    -E 显式地抑制对于反斜杠转义的解释
  • history

    显示曾经执行的历史指令