分类 技术 下的文章

现在的计算机一般都使用着多处理器或四核单处理器。在服务器端,更多的处理器或核心意味着更强的能力,但另一方面,应用程序也需要更高的能耗。你还可能遇到过这样的场景:当你的cpu利用率很高时你却感觉自己根本没有运行任何程序。以上种种情况,在Linux系统上,你可以使用 mpstate 来监控这样的活动。

什么是mpstat

mpstat 用于监控你的系统上cpu的利用率。如果你的系统有多个处理器,它会发挥更大的作用。 第一个处理器会被标记为CPU 0。第二个会被标记为CPU 2,以此类推。在操作手册中,如下描述mpstat:

mpstat命令把每个可用的处理器的状态写到标准输出,默认第一个处理器为processor 0。所有处理器的全局平均状态也会以报告形式给出。mpstat命令可以用于SMP和UP的机器上,但是在UP机器上,只有全局平均状态会被打印出来。如果没有选择具体行为,默认将报告CPU的利用率

如何运行mpstat

只需在你的终端输入 mpstat 就可以运行mpstat.

$ mpstat

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:29:29 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:29:29 PM all 6.30 0.06 1.94 3.75 0.00 0.06 0.00 0.00 87.88

如果你发现譬如 命令找不到或者类似的错误,说明你可能没有安装mpstat。

如果你使用的是 CentOS, RedHat or Fedora,运行下列命令来安装mpstat

# yum install sysstat

如果你使用的是 Debian, Ubuntu or 它的衍生版, 运行下列命令来安装mpstat

# apt-get install sysstat

下面是如何理解上面显示出来的信息。

  • 03:29:29 PM : 指mpstat运行的时间
  • all : 指所有CPU
  • %usr : 显示在用户级别(例如应用程序)执行时CPU利用率的百分比
  • %nice :显示在拥有nice优先级的用户级别执行时CPU利用率的百分比
  • %sys : 现实在系统级别(例如内核)执行时CPU利用率的百分比
  • %iowait : 显示在系统有未完成的磁盘I/O请求期间CPU空闲时间的百分比
  • %irq : 显示CPU服务硬件中断所花费时间的百分比
  • %soft : 显示CPU服务软件中断所花费时间的百分比
  • %steal : 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
  • %guest : 显示运行虚拟处理器时CPU花费时间的百分比
  • %idle : 显示CPU空闲和系统没有未完成的磁盘I/O请求情况下的时间百分比

打印每个处理器的CPU利用率

正如上面的命令结果所示,我们的系统有两个CPU。如果你愿意,你可以使用参数 -P 然后紧跟CPU编号得到指定CPU的利用率。

$ mpstat -P 0

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

$ mpstat -P 1
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:53:58 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:53:58 PM 1 16.52 0.20 4.48 0.46 0.00 0.04 0.00 0.00 78.30

打印所有CPU的利用率

你也可以在一页里打印每个处理器的CPU利用率,只需使用 -P ALL 参数来指定。

$ mpstat -P ALL

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:07:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:07:36 PM all 6.02 0.04 1.72 2.99 0.00 0.05 0.00 0.00 89.17
04:07:36 PM 0 3.84 0.01 1.15 3.72 0.00 0.06 0.00 0.00 91.21
04:07:36 PM 1 13.55 0.15 3.66 0.46 0.00 0.03 0.00 0.00 82.15

使用时间间隔打印CPU利用率

如果你想观察CPU的利用率变化,你可以使用时间间隔,下面是一个例子。

$ mpstat 3 4

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:27:11 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:27:14 PM all 0.67 0.00 0.34 0.00 0.00 0.00 0.00 0.00 98.99
04:27:17 PM all 1.17 0.00 0.33 1.33 0.00 0.00 0.00 0.00 97.17
04:27:20 PM all 0.84 0.00 0.17 0.00 0.00 0.00 0.00 0.00 98.99
04:27:23 PM all 1.00 0.00 0.17 1.51 0.00 0.00 0.00 0.00 97.32
Average: all 0.92 0.00 0.25 0.71 0.00 0.00 0.00 0.00 98.12

上面的命令会每隔3秒显示CPU利用的4个报告

打印mpstat的版本

最后,为了打印mpstat的版本,使用参数 -V

$ mpstat -V

sysstat version 10.0.3
(C) Sebastien Godard (sysstat orange.

这就是在linux系统上快速使用mpstat的方法。想要了解更多细节,可以输入 man mpstat来查看mpstat的手册。


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

译者:KayGuoWhu 校对:Mr小眼儿

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

下面的教程将指导 Linuxer 在 VirtualBox 中全新安装 SteamOS GNU/Linux。

如你已经了解的那样,SteamOS Linux 已经在12月13日正式发布了。作为一款基于 Debian GNU/Linux 的操作系统,它默认使用了 GNOME 作为桌面环境,当然这是可选的。

如果硬件上没有问题的话,比如你的电脑拥有强大游戏显卡,且支持UEFI的,那么安装 SteamOS 将是一件非常容易的事情,然而,因为 Valve 并没有发布 SteamOS 的 ISO 镜像,在安装过程中可能并不是那么顺利。

下面的教程由两个重要的部分组成,第一部分将会帮助你用 Valve 官方的 SteamOSInstaller.zip 来创建一个 ISO 镜像;如果你不希望在自己的电脑上真正安装,那么第二部分将会告诉你如何在 VirtualBox 中来体验 SteamOS。

在一开始你需要一个已经正确安装的最新的 VirtualBox。当然,你还需要一款叫做GNUxorriso的软件用来制作 ISO 镜像。

第一步,制作 SteamISO 镜像

从 Softpedia 下载 SteamOSInstaller.zip,将它保存到你的 home 目录下并解压缩。完毕之后你将会看到 SteamOSInstaller 文件夹。现在,从终端里打开它并执行下面的命令(译注:命令较长,请勿敲错):

xorriso -as mkisofs -r -checksum_algorithm_iso md5,sha1 -V 'Steam OS' -o ~/SteamOSInstaller.iso -J -joliet-long -cache-inodes -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot --efi-boot boot/grub/efi.img -append_partition 2 0x01 ~/SteamOSInstaller/boot/grub/efi.img -partition_offset 16 ~/SteamOSInstaller

稍等几秒钟之后,SteamOS.iso 文件将会在你的 home 目录下出现,大约有 1GB。好了,这一步就完成了,下面进入第二步。

第二步,在 VirtualBox 中安装 SteamOS

如果你已经正确安装了 VirtualBox 并且了解它的正确用法,那么我们下面需要来建立一个拥有 UEFI 支持的全新虚拟机。在 VirtualBox 的主窗口,点击 New 按钮来开始安装吧。

在 Name 框输入 SteamOS,在操作系统类型种选择 Linux,并在下拉框的版本列表中选择 Debain 64-bit,点击 Next 继续。Memory Size 中设置1024或者2048MB(当然,这取决于你的计算机实际内存大小),我们创建一个 VDI 格式的虚拟硬盘驱动器,将大小固定为15GB。点击 Continue 来继续,并等待创建过程结束。

Create a new virtual machine

创建一个新的虚拟机

Set the memory size

设置内存大小

现在我们的虚拟机已经创建完毕了,接下来让我们来为 SteamOS 做一些小小的调整。来到 Settings 选项,点击边栏的 System,然后在 Boot Order 中取消选择 "Floppy",并检查确认已经选择 "Enable EFI (special OSes only)" 选项。

Enable EFI and remove Floppy

允许 EFI 并移除 Floppy

接下来,点击边栏中的 Display 按钮,将 Video Memory 设置为128MB,并勾上 "Enable 3D Acceleration" 选项。然后,进入边栏的 Storage 部分,点击 "Controller: IDE" 下面的 "Empty",并点击 CD/DVD 驱动下拉栏旁边小 CD 图标来添加上一步制作的 SteamOSInstall.iso 镜像文件。当一切完成之后,点击 OK。

Set Video Memory size and 3D acceleration

设置 Video Memory 大小 和 3D 加速

那么现在,让我们按下主窗口中的 "Start" 按钮来启动虚拟机。你将会立即看到 SteamOS 启动画面。只需要高亮 "Automated install (WILL ERASE DISK)" 后按下 Enter 键即可。接下来可以稍微休息一下,直到我们的安装结束。整个安装过程可能需要一段时间,当然这取决于你的电脑。

Prepare to install SteamOS

准备安装 SteamOS

只要我们的安装过程结束,你就可以关闭虚拟机,然后从 Storage 中移除 ISO 镜像,然后启动进入全新的 SteamOS。但是,在我们正式进入 SteamOS 的世界之前,还需要安装 VirtualBox Guest Additions。先点击开始 SteamOS 虚拟机,选择 GRUB 启动器中的第二个选项(恢复模式),然后在 SteamOS 的命令行提示后输入下面的命令:

SteamOS boot loader

dpkg --get-selections | grep nvidia
apt-get purge 
rm /usr/share/X11/xorg.conf.d/55-nvidia.conf
dpkg-reconfigure xserver-xorg

进入到 Devices 中然后点击 Insert Guest Additions CD 镜像。根据提示来下载 Guest Additions 镜像,挂载它并执行下面的命令:

   sh /media/cdrom/VBoxLinuxAdditions.run

等待 Guest Additions 安装完驱动,用下面的命令来重启我们的虚拟机:

   shutdown now -r

SteamOS command-line shell prompt

SteamOS 命令行提示

接下来我们的虚拟机会重启,让它启动进入 SteamOS。当我们抵达登录提示界面之后,使用 desktop/desktop 或者 steam/steam 作为用户名和密码来登录。

如果您在安装过程中遇到了一些问题,请别犹豫,在下面评论中告诉我们。

SteamOS with GNOME 3

SteamOS 和 GNOME 3


via: http://news.softpedia.com/news/How-to-Install-SteamOS-in-VirtualBox-409363.shtml

译者:pandachow 校对:wxy

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

Ubuntu 是一个功能强大的现代化操作系统,并且它还允许你使用多种语言的桌面。在默认情况下,在你第一次安装 Ubuntu 的时候会预装几个语言包。但如果你想要你的 Ubuntu 能够支持更多语言的话,那你就必须安装额外的语言包。通常不是所有的语言都是支持的,但是大多数使用中的语言以及书面语言都能够被支持。下面是一个是简短教程,它将会展示如何去实现。

在安装语言包之后,你可以根据你的语言重命名标准文件夹,例如音乐、图片和文档。你必须注销系统然后重新登录来使变更生效。当你重新登录之后,你会看到一个弹窗并且询问你是否愿意重命名这些标准文件夹,从而使得文件名满足你的所选择的语言要求。

要想更改 Ubuntu 的使用语言,单击菜单栏右上角的 齿轮,并且选择 System Settings(系统设置)。在打开 System Settings(系统设置) 之后,选择 Language Support(语言支持)

如果提示要你安装额外的语言支持,那就直接安装。如果没有,那么就单击 Install / Remove (安装/删除)去安装新的语言包,然后,选择你想安装的语言来安装。最后,拖动新的语言到列表的顶端并且保存。这些更改只会应用在你的个人帐号上。如果你想应用在全局范围内,单击 Apply System-Wide(应用到全局设置)

拖动新的语言到列表的顶端。之后单击 Close。

关闭之后注销系统。然后重新登录,你就会看到更改生效了。

同样,语言包的更改只是应用在你的个人帐号上。如果你想全局更改的话,你必须单击 Apply System-Wide。

如果你选择了重命名标准文件夹,你必须重新登录才能看到变更。

好好享受吧!


via: http://www.liberiangeek.net/2013/10/daily-ubuntu-tipschange-the-language-you-use-in-ubuntu/

译者:hyaocuk 校对:Caroline

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

Linux 终端不仅是一个键入命令的地方。如若你能熟谙这些基础技巧,那么你会在绝大多数 Linux 发行版的默认使用的 Bash shell中游刃有余。

这是howtogeek.com 网站特供给初级用户升级打怪时不能忘记携带的七种武器——

1.Tab 补全

这样能节省时间,并且对于输入那些你不很确定其具体名称的文件和命令来说很方便。比如,当前目录下有一个名为“really long file name”的文件,你想要删除它。你可以输入完整的文件名,但是你必须确保正确地输入了空格和每个字母。若当前目录下还有许多以字母“r”开头的文件,(如果你没有正确地输入字符) Bash 将不知道你想要删除哪一个文件。

如果在当前目录下存在着另一个名为“really very long file name”的文件,你敲击了Tab键。Bash 将为所有以“r”开头的文件自动补充“really\ ”部分。此时继续敲击Tab键,你将得到匹配所有文件名的列表。

2.管道机制

这种机制允许你把一条命令的输出传送到另一条命令。按照 UNIX 哲学,每个程序都足够小,只做一件事并将之做到最好。例如,ls命令列出当前目录下的所有文件,grep命令搜索输入其中的指定检索项。

你可以通过管道机制(|字符)把二者结合起来,在当前目录下搜索文件。以下给出的命令(在当前文件夹下)搜索关键字为“word”的文件:

ls | grep word

3.通配符

“*”(星号)字符是一种匹配任意长度字符的通配符。比如,你想删除当前文件夹下名为“really long file name”和“really very long file name”的两个文件,你可以运行以下命令:

rm really*name

这条命令会删除所有以“really”开头以“name”结尾的文件。但是,如果你运行的是 rm * 这条命令,你将会删除文件夹下的所有文件。(译注:使用通配符时要小心,尤其是你的rm没有-f确认时!)

4.输出重定向

“>”字符可以把一条命令的输出重定向到一个文件或另一条命令。比如,下面这行命令执行完 ls 后会列出当前文件夹下的所有文件,其结果不是在终端显示,而是输出到当前文件夹下一个名为“file1”的文件中去:

ls > file1

5.历史记录

Bash 能记住你以前输入过的命令,上、下方向键可以逐行调出它们。使用 history 命令打印历史记录,以管道机制 grep 选择性地输出你想要的结果。

~
. 
..

“~”,也叫做波浪符,用来表示当前用户的主目录。相比通过 cd /home/name 到达你的主目录,你可以输入 cd ~ 来达到相同效果。这点也可以在相关路径上使用:比如 cd ~/Desktop 能够到达当前用户的 Desktop 目录。

同样,“.”代表当前目录,“..”代表当前目录的父目录。使用 cd .. 可以返回上一级目录。它们也可以用在相关路径上,举例说明:你当前处在 Desktop 文件夹下,通过 cd ../Documents 命令,你可以转到与 Desktop 共有同一父文件夹的 Documents 文件夹去。

(译注:“-”代表前一个目录,cd - 可以返回到前一个工作目录。)

6.后台命令

Bash 默认情况下会在当前终端下执行你键入的每条命令。通常这样是没有问题的,但是如果你想要在启动某个应用后继续使用终端呢?通过输入 firefox 启动火狐浏览器,你的终端将被错误提示等各种信息输出占据,直到你关闭火狐浏览器为止。在 Bash 中你可以通过在命令结尾添加“&”操作符来后台执行程序。

firefox &

7.条件执行

Bash 也可以连续执行两条命令。 第二条命令仅在第一条命令成功执行后才会开始执行。如要如此,你可以通过键入“&&”,也就是两个“&”字符进行分隔,在同一行输入两条命令。下面给出的命令会在等待 5 秒后运行 gnome-screenshot 工具:

sleep 5 && gnome-screenshot 

via: http://www.efytimes.com/e1/fullnews.asp?edid=123564

译者:SteveArcher 校对:wxy

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

操作系统上的时间也许只是当做一个时钟。特别在控制台下, 我们通常并不认为时间有什么重要的。但是对于管理员,这种认识是错误的。你知道错误的日期和时间会导致你不能编译程序么?

因为日期和时间很重要,这或许就是开发网络时间协议(NTP:Network Time Protocol)的原因。让我们了解下date命令是如何工作的。

显示系统日期

要显示系统日期,只要输入:

$ date
Thu Dec 5 22:55:41 WIB 2013

格式化显示日期

日期有很多格式。如果你不喜欢默认的格式,你可以换一种格式。你可能会想"为什么我需要改变格式? 默认的输出对我足够了。"

是的,你说的对,但是当你在编程时,默认输出或许无法满足你的需求,因此需要一些自定义输出。

RFC 2822 的日期与时间输出格式

$ date -R
Thu, 05 Dec 2013 23:40:53 +0700

RFC 2822 的格式像这样 : 星期, 日-月-年, 小时:分钟:秒 时区

时区 +0700 等同于 GMT +7。

默认上date使用的是定义在/etc/localtime的时区。有效时区数据定义在/usr/share/timezones

显示或者设置协调世界时

Wikipedia上, UTC 意思是

世界上主要的时钟和时间的标准。这是格林位置标准时间几个非常相近的替代者之一。

以UTC形式显示日期和时间, 使用 -u 参数

$ date -u
Thu Dec 5 16:45:58:UTC 2013

使用格式化选项

要自定义你的日期格式, 使用加号 (+)

$ date +”Day : %d Month : %m Year : %Y”
Day: 05 Month: 12 Year: 2013
$ date +%D
12/05/13

%D 格式是 年/月/日 的格式.

如果你想的话,你可以输出日期的名字。下面是一些例子:

$ date +”%a %b %d %y”
Fri 06 Dec 2013

$ date +”%A %B %d %Y”
Friday December 06 2013

$ date +”%A %B %d %Y %T”
Friday December 06 2013 00:30:37

$ date +”%A %B-%d-%Y %c”
Friday December-06-2013 12:30:37 AM WIB

还有很多的日期格式。只要输入:

$ date –help

或者

$ man date

来显示date命令的语法和参数。

基本上,date命令会翻译所有所有的百分号(%)开头的格式和输出在引号("")内所有的内容。

设置系统日期和时间

通常地,你希望你的系统日期和时间是自动设置的。如果由于一些原因,你想要手动修改它,我们可以使用这个命令。

# date –set=”20140125 09:17:00”

这会设置你当前的系统日期和时间到一月 25, 2014 and 09:17:00 AM。请注意,你必须拥有root特权来这么做。不然你会得到这样一个错误。

date: cannot set date: Operation not permitted
Sat Jan 25 09:17:00 WIB 2014

重置你的时间

如果你希望重置你的系统日期和时间到原始值,你可以用这个技巧。

# hwclock
Fri 06 Dec 2013 03:44:10 AM WIB -0.314082 seconds

这回设置你的系统日期和时间到hwclock命令的输出的样子。

在脚本中使用date命令

还记得我之前说为什么你需要改变date的输出么?一个答案是你或许需要编程。让我们看下bash脚本下的一个例子。

$ vi display.date

#! /bin/bash
DATETIME=$(date +”DATE: %a %b-%d-%Y TIME: %T WEEK NUMBER: %W”)
echo $DATETIME

保存并运行它:

$ ./display.date
DATE : Fri Dec-06-2013 TIME: 03:08:19 WEEK Number :40

如果你发现权限拒绝错误信息,输入:

$ chmod 755 display.date

在备份流程中使用date

另外一个例子是子你备份流程中使用date。

$ date +%F
2013-12-06

$ tar zcfv /daily_backup/backup-`date +%F`.tar.gz /home/pungki/Documents

它会压缩文件夹/home/pungki/Documents到一个位于/daily\_backup folder的文件backup-2013-12-06.tar.gz中。(译注:通过“ 命令 ”来在命令行内嵌其它命令,这个字符不是单引号,而是和波浪号~同一个键位的那个符号。)

总结

date可能被认为在某些方面不重要。但是date扮演了一个重要的角色。要想知道关于date命令更多的细节,在你的控制台下输入man date访问man页面。


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

译者:geekpi 校对:wxy

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

继续我们的"鲜为人知"系列,本系列的第四篇会让你了解一些有趣动态的命令。这里我们进入实际的教程,没有很多理论。

本系列的第四篇包含了另外的鲜为人知的Linux命令,这些值得去了解。也许你已经知道了这些命令,毫无疑问你是一个勇于探索的资深Linux用户。

32. strace Command

strace是一个调试工具并被主要用于Linux的故障排除。它可能在你的系统内没有默认安装,你可能需要apt 或者 yum 安装所需要的包。

使用strace命令追踪一个命令的执行。

root@tecmint [~]# strace pwd

示例输出

execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0
brk(0)                                  = 0x728000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0
mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0
mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000
mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0
mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000
mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000
....

strace命令有大量的参数和选项,请参考man页来获取详细信息。

33. disown -a && exit 命令

大多数系统管理员使用screen 命令来控制运行在终端后台的作业。让我们假设一下如果你有一个长期运行的作业并想要将它从终端中脱离,你可以用screen命令来这么做。但是如果你不知道如何使用screen,那么disown可以用来救急。

disown命令可以在后台持续运行任务,即使你关闭了终端会话。disown命令的语法是:

root@tecmint [~]# Command; disown -a && exit

为了在终端中再次脱离一个已经长期运行的任务(译注:可能已经bg运行了,但是并没有脱离终端),使用jobs命令来找出任务号,接着使用disown %n,这里的%n是作业号。为了验证作业确实在运行,使用ps 或者 top 命令nohup命令也是一个disown命令的替代品。

34. getconf LONG\_BIT 命令

上面的命令能显示你的机器架构是32 bit 或者 64 位?

root@tecmint [~]# getconf LONG_BIT

32

35. 终端上显示日期

下面的命令是几个命令的集合,确切地说是一个脚本。对于在shell或者终端下工作的人来说,没有GUI界面看到当前系统日期是一个乏味的工作。你可以用‘date‘命令查看今天的日期。

只要在提示符后输入如下的命令你就会在终端的右上角看到日期时间

root@tecmint [~]# while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &

在终端下显示日期

36. convert 命令

在写教程的时候,我经常需要生成输出,很多时候是图片格式的输出。上面的命令集合并不适合我。假设我需要tree命令的图片格式的输出(对 /etc/x11 目录 )。

root@tecmint:/etc/X11# tree | convert label:@- /home/avi/tree.png

上面命令的输出可以在一个特定的位置(这里是我的主目录)下看到,文件名是tree.png

37. watch -t -n1 “date +%T|figlet”

记住“figlet”命令在我们早期的文章“20 Funny Commands of Linux”中的描述。这个命令非常酷,这次我们会通过管道输出到‘figlet‘而在终端上显示一个动画电子钟。

你自己检查一下,记住你必须已经在系统上安装了figlet,用apt 或者 yum安装所需要的包。

root@tecmint [~]# watch -t -n1 "date +%T|figlet"

示例输出

 _  ___    ____   ___    _____ _  _                                                                                             Fri Nov 29 10:29:34 GMT 
/ |/ _ \ _|___ \ / _ \ _|___ /| || |
| | | | (_) __) | (_) (_) |_ \| || |_
| | |_| |_ / __/ \__, |_ ___) |__   _|
|_|\___/(_)_____|  /_/(_)____/   |_|

38. host 和 dig 命令

虽然“host” 和 “dig”命令不那么鲜为人知,仍然很少使用。host命令是一个DNS查询工具。

root@tecmint [~]# host www.google.com

www.google.com has address 173.194.66.147
www.google.com has address 173.194.66.105
www.google.com has address 173.194.66.99
www.google.com has address 173.194.66.104
www.google.com has address 173.194.66.106
www.google.com has address 173.194.66.103
www.google.com has IPv6 address 2a00:1450:400c:c03::68

(译注:事实上,我觉得dig命令是最强大的,自从有了dig,我就再也不用 nslookup 了。)

root@tecmint [~]# dig www.google.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

39. dstat 命令

dstat是一个多用途的工具,它会依据系统资源生成统计。默认情况下你的系统可能没有安装‘dstat‘。在使用这个彩色的描述系统信息的生成器前使用apt 或者 yum来安装。

root@tecmint [~]# dstat

dstat 命令

40. bind -p 命令

bind -p‘会显示所有的BASH shell可用的快捷方式。

root@tecmint [~]# bind -p

"\C-g": abort 
"\C-x\C-g": abort 
"\e\C-g": abort 
"\C-j": accept-line
"\C-m": accept-line 
# alias-expand-line (not bound) 
# arrow-key-prefix (not bound) 
# backward-byte (not bound) 
"\C-b": backward-char 
"\eOD": backward-char 
"\e[D": backward-char 
"\e!": complete-command 
"\e/": complete-filename 
"\e@": complete-hostname 
"\e{": complete-into-braces 
"\e~": complete-username 
"\e$": complete-variable 
# copy-backward-word (not bound)
# copy-forward-word (not bound) 
# copy-region-as-kill (not bound)
....
....

41. touch /forcefsck

下面的命令会在root目录下创建一个空的文件夹'forcefsck'。这会强制Linux系统在下次启动时检查文件系统。

root@tecmint [~]# touch /forcefsck

今天这些就是全部。因为你们爱‘鲜为人知的命令‘ ,因此我们将继续这个系列,本系列的下一篇文章将很快发布。

不要走开继续关注Tecmint。不要忘记在评论栏里留下你们有价值的反馈。帮我们一个忙,喜爱、分享我们的文章,并帮我们传播。


via: http://www.tecmint.com/10-lesser-known-effective-linux-commands-part-iv/

译者:geekpi 校对:wxy

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