标签 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中国 荣誉推出

Linux Kernel 版本3.12.7主线已经发布了,而这篇简短教程将会向你展示怎样简单地在 Ubuntu 中升级。如果你正好运行 Ubuntu 13.10 或者更低版本,还碰巧你的系统还不是安装最新的内核,读完吧。

Linux Kernel 是 linux 操作系统的核心,包括了 Ubuntu。内核使 Ubuntu 可以与系统硬件(内存,CPU,设备等等)通信。内核管理资源并掌管你机器设备的所有重要部分。

没有 Linux Kernel, Ubuntu 只是一串幻想应用而不能连接硬件或者你机器所有的重要部分。这就是为什么Linux Kernel 如此的重要。

为什么升级你的 Ubuntu Kernel?

在升级你的系统内核之前,第一件需要知道的事情就是升级可能会破坏你的系统,使它无法使用。事实上,并不推荐你自己升级内核。Ubuntu 的总公司 Canonical 在 Ubuntu 内核升级上做得很好。

在新版本发布之前,他们测试并且确定内核的安装是兼容的。所以,如果你的设备工作良好,没有问题,你应该保持现有内核,不要升级。

另一方面,如果 Ubuntu 不能识别所有系统的元件或者你的设备功能不正确,升级 Linux kernel 也许会有帮助。

这是因为新的内核为你的新机器增加了新的驱动和功能。如果现在安装的内核不支持机器上的某些功能,你应该升级一下。

更多关于内核3.12.7,点这里阅读更新日志

现在升级 Linux Kernel

要想升级你的内核,运行下列命令来升级所有安装包和现存内核。

sudo apt-get update  
sudo apt-get dist-upgrade  
sudo apt-get autoremove

升级完成后,重启你的设备。在安装完系统包和内核后重启机器是一个好习惯。这样做是为了让新的内核能够被应用。

接下来,运行下列命令来下载 Linux Kernel 3.12.7

32位设备,运行下列命令

cd /tmp  
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.7-trusty/linux-headers-3.12.7-031207-generic_3.12.7-031207.201401091657_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.7-trusty/linux-headers-3.12.7-031207_3.12.7-031207.201401091657_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.7-trusty/linux-image-3.12.7-031207-generic_3.12.7-031207.201401091657_i386.deb

64位设备,运行下列命令

cd /tmp  
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.7-trusty/linux-headers-3.12.7-031207-generic_3.12.7-031207.201401091657_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.7-trusty/linux-headers-3.12.7-031207_3.12.7-031207.201401091657_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12.7-trusty/linux-image-3.12.7-031207-generic_3.12.7-031207.201401091657_amd64.deb

下载你的系统对应版本后,运行下列命令

sudo dpkg -i *.deb

安装完成后,重启你的设备,如果一切都按照上面描述一样进展顺利,你的系统应该拥有了最新稳定的内核版本。

卸载内核3.12.7版本,使用下列命令

sudo apt-get remove linux-headers-3.12.7-* linux-image-3.13.7-*

好好享受吧!


via: http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-linux-kernel-3-12-7-released-heres-how-to-upgrade-in-ubuntu/

译者:Vic\_\_\_ 校对:Caroline

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

嗨,各位 Linux 极客们,

在这篇简短教程中,我会指导你们如何在你的 Linux 机器上安装 .bin 文件。并不是一些可怕的终端命令,我保证!但是我同样会展示如何在终端上操作 。

什么是 .bin 文件?

.bin 文件是在 Linux 和类 Unix 操作系统上的自执行文件。在执行 .bin 文件之前,你需要给它执行权限。这可以通过命令行或者 gui 完成。如果你喜欢用命令行那么打开一个新的终端并运行如下的命令来给予文件执行权限。

chmod +x filename.bin

接着用下面的命令执行。

./filename.bin

确保你在运行上面的命令的时候是超级用户。

那又如何从 gui 来完成呢?进入 .bin 文件的目录并点击鼠标右键,接着如下图所示进入属性。

选择 Permissions 并勾选 Allow executing file as a program

双击文件后它就会执行。这样就完成了。


via: http://www.unixmen.com/execute-bin-files-linux/

译者:geekpi 校对:Caroline

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

了解了用 ls 命令在目录中列出条目后,现在我们要学习在 Linux 系统下创建目录。在 Linux 下,我们可以使用 mkdir 命令。Mkdir 是“make directory” 的缩写词。

mkdir 是什么呢

Mkdir 是一个用来在 Linux 系统下创建目录的命令。此命令属于内建命令。

运行 mkdir 命令

你可以在你的控制台直接键入 mkdir 来使用它。

$ mkdir

默认情况下,不带任何参数运行 mkdir 命令会在当前目录下创建目录。下面是参考示例:

mkdir command

从上图看出,我们创建了名为 office 的目录。当我们运行 mkdir 命令时,我们位于 /home/pungki 目录。所以这个新目录 office 创建在/home/pungki目录下。如果我们使用绝对路径 - 例如:/usr/local - , 则 Linux 会在 /usr/local目录下创建一个目录。

当 Linux 发现想要创建的目录已经存在, 那么 Linux 会提示我们 Linux 无法创建它。

mkdir directory exist

另外一个创建目录的首要条件是, 在想要创建目录的目标路径下你必须具有访问权限。当你无法取得权限时 mkdir 会报告这个错误。

mkdir permission denied

创建多个目录

我们也可以同时创建多个目录。比如我们要创建的目录有 ubuntu, redhat 和 slackware。那么语法会像这样子:

$ mkdir ubuntu redhat slackware

create multiple directories

添加包含子目录的目录 [译注:递归地创建目录]

当你要创建的目录包含子目录时,你需要使用 -p 参数。如果 mkdir 找不到父目录,那么这个参数会首先帮助创建父目录。比如说我们要创建名为 letter 的目录,在它的目录下包含有子目录 important。那么语法会像这样子:

$ mkdir -p letter/important

mkdir sub-directory

设置访问权限

使用 -m 参数,我们可以给即将生成的新目录设置权限。示例如下:

$ mkdir -m=r-- letter

上面的命令会创建一个名为 letter 的目录,同时为目录所有者、用户组和其他用户针对该目录赋予只读权限

mkdir set privilege

打印创建目录的过程信息

如果我们要查看信息,我们可以使用 -v 参数来实现。示例如下:

$ mkdir -v ubuntu redhat slackware

mkdir verbose

总结

Mkdir 命令也属于一个最基础的命令,对于想要学习 Linux 的朋友这个命令必须掌握。像往常一样,你可以键入man mkdirmkdir --help来显示 mkdir 的手册页面和更加深入的探讨。


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

译者:Luoxcat 校对:Mr小眼儿

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

对于那些使用Intel显卡台式机或者笔记本来运行 Ubuntu Linux 13.10 的用户来说,有件事可能想要完成——安装 Linux 版本的Intel图形安装程序。

Linux 版本的Intel图形安装程序允许用户方便地安装最新的Intel图形和视频驱动程序。现在之前,仍不支持 Ubuntu 13.10。

如果你想保持目前Intel卡在你机器中的最新驱动程序,你可能需要这个安装程序。它能增强、优化并提供Intel图形硬件最好的用户体验。

访问官网:https://01.org/linuxgraphics/downloads/2013/intelr-graphics-installer-1.0.3-linux

在 Ubuntu 中安装Intel图形安装程序

如果你确定你的计算机有Intel图形卡,而且你正在运行的版本是 Ubuntu 13.10,继续下面的学习如何安装这个包,

有些用户安装和配置驱动程序包后曾造成系统问题,所以你应该在安装前持谨慎态度,并备份你的系统。当你完成后,执行下面的命令来下载32位版本的软件包。

32位 Ubuntu Linux

cd /tmp && wget https://download.01.org/gfx/ubuntu/13.10/main/pool/main/i/intel-linux-graphics-installer/intel-linux-graphics-installer_1.0.3_i386.deb

对于那些运行64位的 Ubuntu,运行下面的命令来下载64位版本。

64位 Ubuntu Linux

cd /tmp && wget https://download.01.org/gfx/ubuntu/13.10/main/pool/main/i/intel-linux-graphics-installer/intel-linux-graphics-installer_1.0.3_amd64.deb

下载完成后,运行以下命令进行安装。

sudo dpkg -i intel-linux-graphics-installer*.deb; sudo apt-get -f install 

安装程序安装完毕后,进入 Unity Dash 搜索安装程序。打开后继续。它会为你的设备搜索并确定正确的驱动程序。

为了让你的系统信任Intel图形安装程序,您必须运行下面命令来添加 key 到 Ubuntu 的软件库中。

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg -O - | sudo apt-key add -

就这么简单。如果你按照以上步骤做了,你的机器应该能正确运行Intel驱动程序。如果不是,可能是你的显卡不兼容,或者是不支持。


via: http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-intel-graphics-installer-1-0-3-released-supports-ubuntu-13-10/

译者:乌龙茶 校对:Caroline

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

将一个特定页面抓取为一张png图片的最简单的方法是使用CutyCapt,这是一种在Linux下的方便地将HTML网页转化成矢量图形和位图图像格式的命令行工具(比如,SVG, PDF, PS, PNG, JPEG, TIFF, GIF)。CutyCapt内部使用WebKit渲染引擎来导出网页渲染输出到图片文件中。它使用Qt构建,CutyCapt实际上是一个也可以在Windows上使用的跨平台应用。(译注:也有一个基于IE内核的 IECapt 可以作此用途)

在本篇教程中,我会描述如何将一个HTML网页使用CutyCapt转化成png图片

在Linux上安装 CutyCapt

这是在特定Linux发行版上的安装命令。

在Debian, Ubuntu 或者 Linux Mint 安装 CutyCapt

$ sudo apt-get install cutycapt 

在Fedora上安装 CutyCapt

$ sudo yum install subversion qt-devel qtwebkit-devel gcc-c++ make
$ svn co svn://svn.code.sf.net/p/cutycapt/code/ cutycapt
$ cd cutycapt/CutyCapt 

在Fedora上编译前,你需要在源码上打上补丁

使用文本编辑器打开CutyCapt.hpp,并且加入在文件的开头加上下面的两行。

#include 
#include 

最后,如下编译并安装CutyCapt。

$ qmake-qt4
$ make
$ sudo cp CutyCapt /usr/local/bin/cutycapt 

在CentOS 或者 RHEL安装 CutyCapt

首先在你的Linux上启用EPEL仓库。接着和在Fedora上一样使用相同的步骤编译安装。

使用CutyCapt将 HTML 转化成 PNG

将一个HTML页面截图成一个png图片,只要使用下面的格式运行CutyCapt。

$ cutycapt --url=http://www.cnn.com --out=cnn.png

要将HTML页面保存成不同的格式(比如,PDF),只要适当地指定输出文件。

$ cutycapt --url=http://www.cnn.com --out=cnn.pdf

下图显示了CutyCapt命令选项。

在一台不含X的服务器上使用CutyCapt将HTML转换成PNG

虽然CutyCapt是一个命令行工具,但是它需要X服务运行。如果你尝试在不含X服务的机器上运行,你会得到下面这个错误:

cutycapt: cannot connect to X server :0

如果你要不含X的服务器上运行CutyCapt,你可以在服务器上安装Xvfb(轻量级“假的”X11 服务)。这样CutyCapt就不会报错了。

要在Debian, Ubuntu 或者 Linux Mint 上安装Xvfb:

$ sudo apt-get install xvfb 

要在Fedora, CentOS 或者 RHEL 上安装Xvfb:

$ sudo yum install xvfb 

在安装Xvfb之后,接下来像这样运行CutyCapt。

$ xvfb-run --server-args="-screen 0, 1280x1200x24" cutycapt --url=http://www.cnn.com --out=cnn.png 

它首先会运行Xbfb服务,接着使用CutyCapt来抓取网页。因此它可能会花费更长的时间。如果你想要截图多张截图,你可能事先需要将Xvfb作为后台守护进程启动。


via: http://xmodulo.com/2014/02/convert-html-web-page-png-image-linux.html

译者:geekpi 校对:wxy

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