标签 Touch 下的文章

touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。

让我们来看看 touch 命令的语法和选项:

语法

# touch {选项} {文件}

touch 命令中使用的选项:

touch-command-options

在这篇文章中,我们将介绍 Linux 中 9 个有用的 touch 命令示例。

示例:1 使用 touch 创建一个空文件

要在 Linux 系统上使用 touch 命令创建空文件,键入 touch,然后输入文件名。如下所示:

[root@linuxtechi ~]# touch devops.txt
[root@linuxtechi ~]# ls -l devops.txt
-rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt

示例:2 使用 touch 创建批量空文件

可能会出现一些情况,我们必须为某些测试创建大量空文件,这可以使用 touch 命令轻松实现:

[root@linuxtechi ~]# touch sysadm-{1..20}.txt

在上面的例子中,我们创建了 20 个名为 sysadm-1.txtsysadm-20.txt 的空文件,你可以根据需要更改名称和数字。

示例:3 改变/更新文件和目录的访问时间

假设我们想要改变名为 devops.txt 文件的访问时间,在 touch 命令中使用 -a 选项,然后输入文件名。如下所示:

[root@linuxtechi ~]# touch -a devops.txt

现在使用 stat 命令验证文件的访问时间是否已更新:

[root@linuxtechi ~]# stat devops.txt
  File: 'devops.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324178    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-29 23:03:10.902000000 -0400
Modify: 2018-03-29 22:39:29.365000000 -0400
Change: 2018-03-29 23:03:10.902000000 -0400
 Birth: -

改变目录的访问时间:

假设我们在 /mnt 目录下有一个 nfsshare 文件夹,让我们用下面的命令改变这个文件夹的访问时间:

[root@linuxtechi ~]# touch -m /mnt/nfsshare/
[root@linuxtechi ~]# stat /mnt/nfsshare/
  File: '/mnt/nfsshare/'
  Size: 6               Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 2258        Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:mnt_t:s0
Access: 2018-03-29 23:34:38.095000000 -0400
Modify: 2018-03-03 10:42:45.194000000 -0500
Change: 2018-03-29 23:34:38.095000000 -0400
 Birth: -

示例:4 更改访问时间而不用创建新文件

在某些情况下,如果文件存在,我们希望更改文件的访问时间,并避免创建文件。在 touch 命令中使用 -c 选项即可,如果文件存在,那么我们可以改变文件的访问时间,如果不存在,我们也可不会创建它。

[root@linuxtechi ~]# touch -c sysadm-20.txt
[root@linuxtechi ~]# touch -c winadm-20.txt
[root@linuxtechi ~]# ls -l winadm-20.txt
ls: cannot access winadm-20.txt: No such file or directory

示例:5 更改文件和目录的修改时间

touch 命令中使用 -m 选项,我们可以更改文件和目录的修改时间。

让我们更改名为 devops.txt 文件的更改时间:

[root@linuxtechi ~]# touch -m devops.txt

现在使用 stat 命令来验证修改时间是否改变:

[root@linuxtechi ~]# stat devops.txt
  File: 'devops.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324178    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-29 23:03:10.902000000 -0400
Modify: 2018-03-29 23:59:49.106000000 -0400
Change: 2018-03-29 23:59:49.106000000 -0400
 Birth: -

同样的,我们可以改变一个目录的修改时间:

[root@linuxtechi ~]# touch -m /mnt/nfsshare/

使用 stat 交叉验证访问和修改时间:

[root@linuxtechi ~]# stat devops.txt
  File: 'devops.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324178    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-30 00:06:20.145000000 -0400
Modify: 2018-03-30 00:06:20.145000000 -0400
Change: 2018-03-30 00:06:20.145000000 -0400
 Birth: -

示例:7 将访问和修改时间设置为特定的日期和时间

每当我们使用 touch 命令更改文件和目录的访问和修改时间时,它将当前时间设置为该文件或目录的访问和修改时间。

假设我们想要将特定的日期和时间设置为文件的访问和修改时间,这可以使用 touch 命令中的 -c-t 选项来实现。

日期和时间可以使用以下格式指定:

{CCYY}MMDDhhmm.ss

其中:

  • CC – 年份的前两位数字
  • YY – 年份的后两位数字
  • MM – 月份 (01-12)
  • DD – 天 (01-31)
  • hh – 小时 (00-23)
  • mm – 分钟 (00-59)

让我们将 devops.txt 文件的访问和修改时间设置为未来的一个时间(2025 年 10 月 19 日 18 时 20 分)。

[root@linuxtechi ~]# touch -c -t 202510191820 devops.txt

使用 stat 命令查看更新访问和修改时间:

stat-command-output-linux

根据日期字符串设置访问和修改时间,在 touch 命令中使用 -d 选项,然后指定日期字符串,后面跟文件名。如下所示:

[root@linuxtechi ~]# touch -c -d "2010-02-07 20:15:12.000000000 +0530" sysadm-29.txt

使用 stat 命令验证文件的状态:

[root@linuxtechi ~]# stat sysadm-20.txt
  File: ‘sysadm-20.txt’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324189    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2010-02-07 20:15:12.000000000 +0530
Modify: 2010-02-07 20:15:12.000000000 +0530
Change: 2018-03-30 10:23:31.584000000 +0530
 Birth: -

注意:在上述命令中,如果我们不指定 -c,如果系统中不存在该文件那么 touch 命令将创建一个新文件,并将时间戳设置为命令中给出的。

示例:8 使用参考文件设置时间戳(-r)

touch 命令中,我们可以使用参考文件来设置文件或目录的时间戳。假设我想在 devops.txt 文件上设置与文件 sysadm-20.txt 文件相同的时间戳,touch 命令中使用 -r 选项可以轻松实现。

语法:

# touch -r {参考文件} 真正文件
[root@linuxtechi ~]# touch -r sysadm-20.txt devops.txt

示例:9 在符号链接文件上更改访问和修改时间

默认情况下,每当我们尝试使用 touch 命令更改符号链接文件的时间戳时,它只会更改原始文件的时间戳。如果你想更改符号链接文件的时间戳,则可以使用 touch 命令中的 -h 选项来实现。

语法:

# touch -h {符号链接文件}
[root@linuxtechi opt]# ls -l /root/linuxgeeks.txt
lrwxrwxrwx. 1 root root 15 Mar 30 10:56 /root/linuxgeeks.txt -> linuxadmins.txt
[root@linuxtechi ~]# touch -t 203010191820 -h linuxgeeks.txt
[root@linuxtechi ~]# ls -l linuxgeeks.txt
lrwxrwxrwx. 1 root root 15 Oct 19  2030 linuxgeeks.txt -> linuxadmins.txt

这就是本教程的全部了。我希望这些例子能帮助你理解 touch 命令。请分享你的宝贵意见和评论。


via: https://www.linuxtechi.com/9-useful-touch-command-examples-linux/

作者:Pradeep Kumar 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

电子邮件App是迄今为止Ubuntu Touch上面最受关注的应用之一,并且,激烈的战役正在前端打响。 最近,一个设计者针对这个app设计了一套外观,并在Google+上面分享了样例。

所有Ubuntu Touch用户都在等待很快到来的那个email客户端,不过现在,它可以提前让我们眼前一亮了,因为Andrea Del Sarto发布了一个样例,它看起来美极了!

当谈及email客户端时,用户的体验较为局限,我们所知的一切关于email app的外观和工作原理的知识都是来自于Blackberry, Android, 或者 iOS。然而摆在Ubuntu开发人员的面前的,是一条艰难的道路,因为他们是从头开始,并且他们总得令Ubuntu相较于其他系统有一些不同的体验。

找个样例是一个良好的开端,坦白地讲,它看起来要比那些在其他平台上面已有的实现都要好。设计工作才刚刚开始,然而从这中间,我们能够看到的是,Ubuntu email客户端将会变的更加美观,以及它将充分利用了Ubuntu Touch最好的特性之一:即其底部无虚拟按键。

Ubuntu Touch Email Client Mockup Design Ubuntu Touch Email Client Mockup Design

Ubuntu Touch Email Client Mockup Design Ubuntu Touch Email Client Mockup Design


via: http://news.softpedia.com/news/Ubuntu-Touch-Email-Client-Mockup-Design-Looks-Fantastic-432758.shtml

译者:tomatoKiller 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

我们可能在 Linux 下运用 touch 命令创建一个空文件。当然我们也可以使用其他命令例如 vi, nano 或是任意一个编辑工具来实现。但是你可能需要更多的步骤来完成操作。其实你要知道 touch 命令的主要功能并不是为了创建一个空文件哦。

什么是 touch 命令

众所周知,每个文件都被附有时间戳。这个时间戳记包括访问时间和修改时间。而 Touch 命令主要就是用来修改文件的访问时间和修改时间。

为什么我们需要使用 touch 命令

既然 touch 命令描述的是改变时间戳,那么我们可能会想为什么我们需要去改变时间戳呢?这个问题会引发我们的深思。然而,我想有个理由可以解释为什么我们需要使用它。如果你参加了一个全球范围的开源项目,那么时间戳可能变得很重要。编译源代码文件可能需要同一地区的时间戳。如果未统一,程序可能会编译失败。(译注:有强迫症的同学也很喜欢这个命令——就看不得乱七八糟的时间,;>)

不带任何选项下运行 touch

最简单的使用 touch 命令。只需键入:

$ touch file_name

请观察下面的一张截图。

Touch command

File\_1.txt原来的时间戳是 12:42。在我们使用 touch 命令后,它改变为了 17:08。由此看出,默认情况下,touch 会将文件的时间戳改为当前时间。

只改变访问时间

正如我们之前提到的,每个文件都附有访问时间和修改时间。上面的时间戳是 17:08。我们可以看更多的细节。

Detail timestamp

我们发现访问时间和修改时间的值是相同的都是 17:08:35 ,还有它们属于同一时区 GMT +7。

如果现在我们要只改变访问时间,我们需要使用-a选项。

$ touch -a file_1.txt

Touch -a option

如你所见,访问时间变为了 17:51:37 ,但是修改时间仍为17:08:35。[译注:原文为 Change time(状态改变时间)应是作者笔误]

只改变修改时间

我们可以使用-m选项来实现。现在我们用file\_2.txt作个示例。

File_2.txt detail timestamp

$ touch -m file_2.txt

Touch -m option

现在修改时间从 12:42:20 改为了 17:57:20。请注意,当文件被访问或修改时,状态改变时间域的值总会对其记录。

更改为自定义时间戳

-a-m选项都会将文件的时间戳改为现在当前时间。当然我们也可以更改为自定义时间戳。使用-t选项实现。

从上面示例示例中的 file\_2.txt,我们看出它的时间戳是:

访问时间:12:42:20
修改时间:17:57:20
执行日期:2014-01-14

假如我们想要将访问时间和修改时间改为2014年1月12日 09:58:27。我们可以用下列命令来完成:

$ touch -t 201401120958.27 file_2.txt

Touch using -t option

-t 选项语法组成 :

[[CC]YY]MMDDhhmm [.SS]

CC - 年份的前两位 
YY - 年份的后两位 
MM - 月份 [01-12]
DD - 日期 [01-31]
hh - 时 [00-23]
mm - 分 [00-59]
SS - 秒 [00-61]

改变日期和时间的另一种方式

如果你觉得[[CC]YY]MMDDhhmm [.SS]格式不适合你,我们也可以使用 -d 选项。下面是-d选项使用的一个示例。

更改指定日期

举例来说,我们有个名为 file\_3.txt 的文件,它的相关属性在下面的截图中展示了。

File_3.txt detail timestamp

现在我们要将日期2014年1月14日改为2013年12月20日。可以使用下列命令:

$ touch -d '10-December-2013' file_3.txt

Change date using -d option

不出意料,访问时间和修改时间的日期已经改为了2013年12月10日。

改变时区

如果我们想改变指定GMT的时间,我们也可以使用-d选项。先让file\_3.txt 移回当前时间。

$ touch file_3.txt

Reset file_3.txt timestamp

不难发现 file\_3.txt 的时区为 GMT +0700。要改为 GMT3 时区,我们只需要键入如下命令:

$ touch -d GMT3 file_3.txt

Change into GMT3 timezone

好的,现在时间已经改为了 10:00:00 AM。

结合参数下使用-d选项

还可以用很酷的方式使用-d选项。请观察下面的图片。

Change date using keyword

我们可以将单词 next Sunday 和 GMT 3合成一个值,而 touch 命令仍然能识别它。日期已经改为了2014年1月21日,而当前的日期为2014年1月14日。

还有另一个-d选项的示例。 首先,我们要将file3\_3.txt重置到当前日期和时间。

$ touch file_3.txt

Reset file_3.txt timestamp

然后我们尝试这个命令:

$ touch -d '1 year ago 13:43:07' file_3.txt

Change date using keyword

太震撼了,Touch 甚至能识别单词‘1 year ago’。现在的日期以及时间已经改为了2013年1月14日,13:43:07。

创建一个空文件

当你运行 touch 命令目标文件不存在时,touch 会创建一个同名的空文件。

$ touch file_10.txt

Create an empty file

同时创建多个文件

你可以用空格将目标文件分割开来,以此来创建多个文件。

$ touch doc_10.txt doc_20.txt doc_30.txt

Create multiple files

总结

如果你要处理关于文件或目录的时间戳问题,那么 Touch 会对你很有用的。一如既往得你也可以键入man touchtouch --help来显示帮助页面了解更多细节。


via: http://linoxide.com/linux-command/linux-touch-command/

译者:Luoxcat 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Ubuntu Touch 13.10是Canonical公司针对手机新推出的一款操作系统,但是相对于桌面而言,它安装到手机并不是那么容易。

Canonical提供了安装Ubuntu Touch 13.10所有必要的工具。这真是个好消息,因为手动安装操作系统可是相当麻烦的。

首先提醒,此操作系统并非任何手机都能使用。因开发原因,Canonical限制其只能使用在Nexus 4设备上(代号金枪鱼和灰鲭鲨) ,而且手机必须已被解锁。

要安装工具,你将需要在终端输入几个简单的命令:

sudo add-apt-repository ppa:phablet-team/tools

sudo apt-get update

sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

用户还必须确保他们的手机已被设置成开发使用。进入“设置项/关于手机”,点击“软件版本”7次。如果你操作正确,将会收到一条提示消息。

你必须从新菜单——“开发者选项”中启用USB调试,该菜单通过前面的方法已被解锁。在手机上勾选该选项时,会出现一条消息,通知用户正在配对。同意,那么你准备得差不多了。

在开始安装前的最后一步是备份你的Android系统。同样使用adb工具。只要打开终端,输入以下命令:

adb backup -apk -shared -all

如果你要重新安装原来的Android系统,打开一个终端,运行以下命令:

adb restore backup.ab

最后的命令至关重要,你应该使用sudo运行,以确保正确执行该命令。打开一个终端,输入以下命令:

sudo phablet-flash ubuntu-system --no-backup

运行过程中应该没有任何问题,设备将最终引导到Ubuntu Touch。不要停止终端也不要中断此过程。

以上就是你需要遵照的简单步骤,这样,在所支持的设备上运作应该没有任何问题了。

来源于: http://news.softpedia.com/news/How-to-Install-Ubuntu-Touch-13-10-On-Your-Phone-392828.shtml

译者:coolpigs 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出