分类 技术 下的文章

继续上篇文章11个鲜为人知的实用Linux命令在本文中,我们将关注其他几个不为人知的Linux命令,有些在管理桌面和服务器方面被证明是非常有用的。

12. <空格> 命令

你在终端上键入的每个命令都会记录到history,也能用history命令重新调用。

如何骗过history 命令呢?呵呵,你可以轻而易举地做到。在终端,只需要在键入命令之前输入一个或多个空格,这样你的命令就不会被记录了。

让我们体验一下吧,先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如** ls, pwd, uname, echo “hi”** 和 who),然后检查这些命令是不是记录在历史中。

avi@localhost:~$  ls
avi@localhost:~$  pwd
avi@localhost:~$  uname
avi@localhost:~$  echo “hi”
avi@localhost:~$  who

现在运行 history 命令来查看上面已执行的命令是否已经被记录了.

avi@localhost:~$ history
   40  cd /dev/ 
   41  ls 
   42  dd if=/dev/cdrom1 of=/home/avi/Desktop/squeeze.iso 
   43  ping www.google.com 
   44  su

你看到没有最后执行的命令没有被记录。我们也可以用另一个命令cat | bash欺骗history,结果跟上面一样。

13. stat 命令

Linux中的stat命令用来显示文件或文件系统的状态信息。当用文件名作为参数时,stat将会展示文件的全部信息。状态信息包括文件 大小、块、权限、访问时间、修改时间、状态改变时间等。

avi@localhost:~$ stat 34.odt 
  File: `34.odt'
  Size: 28822   Blocks: 64 IO Block: 4096   regular file 
Device: 801h/2049d  Inode: 5030293 Links: 1 
Access: (0644/-rw-r--r--)  Uid: ( 1000/ avi)   Gid: ( 1000/ avi) 
Access: 2013-10-14 00:17:40.000000000 +0530 
Modify: 2013-10-01 15:20:17.000000000 +0530 
Change: 2013-10-01 15:20:17.000000000 +0530

14. + . 和 + .

上面的组合键事实上不是一个命令,而是传递最后一个命令参数到提示符后的快捷键,以输入命令的倒序方式传递命令。按住 Alt或Esc再按一下 “.”。

15. pv 命令

电影里尤其是好莱坞电影你可能已经看见过模拟文本了,像是在实时输入文字,你可以用pv命令仿照任何类型模拟风的文本输出,包括流水线输出。pv可能没有在你的系统上安装,你需要用aptyum获取安装包,然后安装pv到你的机器。

root@localhost:# echo "Tecmint [dot] com is the world's best website for qualitative Linux article" | pv -qL 20

输出样式

Tecmint [dot] com is the world''s best website for qualitative Linux article

16. mount | colum -t

上面的命令用一个很不错的格式与规范列出了所有挂载文件系统。

avi@localhost:~$ mount | column -t

输出样式

/dev/sda1on  / type  ext3 (rw,errors=remount-ro) 
tmpfson  /lib/init/rw  type  tmpfs(rw,nosuid,mode=0755) 
proc on  /proc type  proc (rw,noexec,nosuid,nodev) 
sysfson  /sys  type  sysfs(rw,noexec,nosuid,nodev) 
udev on  /dev  type  tmpfs(rw,mode=0755) 
tmpfson  /dev/shm  type  tmpfs(rw,nosuid,nodev) 
devpts   on  /dev/pts  type  devpts   (rw,noexec,nosuid,gid=5,mode=620) 
fusectl  on  /sys/fs/fuse/connections  type  fusectl  (rw) 
binfmt_misc  on  /proc/sys/fs/binfmt_misc  type  binfmt_misc  (rw,noexec,nosuid,nodev) 
nfsd on  /proc/fs/nfsd type  nfsd (rw)

17. Ctr+l 命令

在进行下一步之前,我先问一下,你是如何清理你的终端?呵呵,你会在提示符后键入 “clear”。好的。用上面的命令执行清理终端都将成为过去。你只需要按下Ctr+l,看看它如何立即清理你的终端。

18. curl 命令

命令行下如何检查你的未读邮件?这个命令对于工作在没有图形界面的服务器的人佷有用。它会在运行期间再次要求输入密码,你不需要在上面一行硬编码你的密码,否则会有其它安全风险。

avi@localhost:~$ curl -u [email protected] --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print \t if //; print "$2\n" if /<(title|name)>(.*)<\/\1>/;'

输出样式

Enter host password for user '[email protected]': 
Gmail - Inbox for [email protected] 
People offering cars in Delhi - Oct 26 
    Quikr Alerts 
another dependency question 
    Chris Bannister 
    Ralf Mardorf 
    Reco 
    Brian 
    François Patte 
    Curt 
    Siard 
    berenger.morel 
Hi Avishek - Download your Free MBA Brochure Now... 
    Diya 
★Top Best Sellers Of The Week, Take Your Pick★ 
    Timesdeal 
aptitude misconfigure? 
    Glenn English 
Choosing Debian version or derivative to run Wine when resource poor 
    Chris Bannister 
    Zenaan Harkness 
    Curt 
    Tom H 
    Richard Owlett 
    Ralf Mardorf 
    Rob Owens

19.screen 命令

screen命令能断开一个会话下的一个长时间运行的进程并能再次连接,如有需要,也提供了灵活的命令选项

要运行一个长时间的进程,我们通常执行

avi@localhost:~$ ./long-unix-script.sh

缺乏灵活性,需要用户持续当前的会话,但是如果我们执行上面的命令是:

avi@localhost:~$ screen ./long-unix-script.sh

它能在不同会话间断开或重连。当一个命令正在执行时按“Ctrl + A”然后再按“d”来断开

重新连接运行:

avi@localhost:~$ screen -r 4980.pts-0.localhost

注解:在这里,这个命令的稍后的部分是screen id,你能用‘screen -ls’命令查看。欲了解更多关于screen命令和它们的用法,请阅读我们的一些帮助文章:10 个screen命令的示例

20. file

No!写上面的命令不是笔误. ‘file’是一个能提供关于文件类型信息的命令。

avi@localhost:~$ file 34.odt
34.odt: OpenDocument Text

21. id

上面的命令会打印真正的和有效的用户的id。

avi@localhost:~$ id

输出样式

uid=1000(avi) gid=1000(avi) 
groups=1000(avi),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth),117(scanner)

到此为止,鉴于这个系列的最新的这篇文章的成功,我将会尽快推出另外几部分文章继续鲜为人知的Linux命令。到时候,敬请关注Tecmint.不要忘记给我们提供你的反馈评论


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

译者:Luoxcat 校对:wxy

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

对于每一个你新安装的Ubuntu系统,你都会拥有一个可以让你办公的办公工具——LibreOffice。很多人都知道微软公司的的Word、Excel、PowerPoint和Outlook,但是很少有人知道LibreOffice。

LibreOffice靠来自全世界的志愿者来维护,由一个慈善基金会支持。它是Linux社区的一款主要的免费办公工具。它可以安装在Windows,Mac OS X和Linux等系统的计算机上。

就在5天前(译注:好吧,这个翻译稿拖了5天了~~,原文为“今天”。),一个新的版本将面向公众开放了。Windows,Mac OS X和Linux用户可以直接从下载页面下载最新版本了。

Ubuntu用户拥有添加LibreOffice软件仓库到自己的电脑来安装升级最新版的优势。如果你想要在最新版本可用时最快的得到它,这种方法将会很有用。

最新的LibreOffice套装版本是4.1。每一个后续的版本可以立即在4.1的仓库中找到,直到新的主线版本比如4.2的推出。

所以,为了在Ubuntu中自动的升级,请添加下面的软件仓库地址。

sudo add-apt-repository ppa:libreoffice/ppa 

接着,运行如下命令来升级最新的LibreOffice。

sudo apt-get update && sudo apt-get dist-upgrade 

这样就好了。当你添加上面的仓库然后升级系统,Ubuntu将会自动的下载安装最新的LibreOffice版本。

Windows和Mac OS X用户可以直接在程序套件中升级或者直接从网页中下载。

Enjoy!


via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsupdate-to-libreoffice-latest-in-ubuntu-via-ppa/

译者:SCUSJS 校对:wxy

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

通常,使用Ubuntu 13.10的用户会会对默认的程序、偏好和功能进行优化,才能得到更好的用户体验。

Ubuntu的用户体验是可以优化调整的,因此用户可以通过一些工具来修改和调整那些默认设置,比如使用Ubuntu Tweak。

默认情况下,Ubuntu禁用了内部菜单的图标,即,右键点击桌面打开右键菜单时,菜单中只包含文本而且没有相应的图标。

不过,在Ubuntu 13.10的菜单中添加图标是很简单的:

  • 安装Ubuntu Tweak

sudo add-apt-repository ppa:tualatrix/ppa

sudo apt-get update

sudo apt-get install ubuntu-tweak

  • 启动Ubuntu Tweak,并导航到Tweaks-->Miscellaneous
  • 选中 Menus have icons

结果:现在右键点击桌面,图标就会在菜单中显示, 图标显示也会在其他软件的右键菜单出现(例如, Nautilus, Firefox, Gedit中的菜单等等)。

这样在最常用的右键菜单中加上新增的图标,菜单会更加清晰和美丽,特别是使用单色图标菜单显示图标时。


via: http://iloveubuntu.net/how-add-icons-menus-ubuntu-1310

译者:Yu-Fei 校对:wxy

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

你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧。

grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-getRHEl/CentOS/Fedora系中的yum)。

 $ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep #RHEL/CentOS/Fedora 

我发现使用现实世界中的真实例子让你投身其中是让你接触grep命令的最容易方式。

1.搜索和寻找文件

假设你已经在你的电脑上安装了一个全新的Ubuntu,然后你打算卸载Python。你浏览网页寻找教程,但是你发现存在两个不同版本的Python在使用,而你不知道你的Ubuntu安装器到底在你的系统中安装了哪个版本的Python,也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令:

 $ sudo dpkg -l | grep -i python 

输出例子

   ii  python2.7         2.7.3-0ubuntu3.4 Interactive high-level object-oriented language (version 2.7)
   ii  python2.7-minimal 2.7.3-0ubuntu3.4 Minimal subset of the Python language (version 2.7)
   ii  python-openssl    0.12-1ubuntu2.1  Python wrapper around the OpenSSL library
   ii  python-pam        0.4.2-12.2ubuntu4 A Python interface to the PAM library

首先,我们运行dpkg -l列出你系统上安装的.deb包。接着,我们使用管道将输出结果传输给命令grep -i python,这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项,并返回结果。–i选项用于忽略大小写,因为 grep 是大小写敏感的。使用选项-i是个好习惯,除非你打算进行更细节的搜索。

2.搜索和过滤文件

grep还可以在一个或多个文件里用于搜索和过滤。让我们来看一个这样的情景:

你的Apache网页服务器出现了问题,你不得不从许多专业网站里找一个发帖询问。好心回复你的人让你粘贴上来你的/etc/apache2/sites-available/default-ssl文件内容。假如你能移除掉所有的注释行,那么对你,对帮你的人,以及所有阅读该文件的人,不是更容易发现问题吗?你当然可以很容易的做到!只需这样做就可以了:

 $ sudo grep -v "#" /etc/apache2/sites-available/default-ssl 

选项-v是告诉grep命令反转它的输出结果,意思就是不输出匹配的项,做相反的事,打印出所有不匹配的项。这个例子中,有#的是注释行(译注:其实这个命令并不准确,包含“#”的行不全是注释行。关于如何精确匹配注释行,可以了解更多的关于正则表达式的内容。)。

3.找出所有的mp3文件

grep命令对于过滤来自于标准输出的结果非常有用。例如,假设你的一个文件夹里面全是各种格式的音乐文件。你要找出艺术家jayZ的所有mp3格式的音乐文件,里面也不要有任何混合音轨。使用find命令再结合管道使用grep就可以完成这个魔法:

 $ sudo find . -name ".mp3" | grep -i JayZ | grep -vi "remix"" 

在这个例子中,我们使用find命令打印出所有以.mp3为后缀名的文件,接着将其使用管道传递给grep -i过滤和打印出名字为“JayZ”的文件,再使用管道传送给grep -vi以便过滤掉含有“remix”的项。

4.在搜索字符串前面或者后面显示行号

另外两个选项是-A和-B之间的切换,是用以显示匹配的行以及行号,分别控制在字符串前或字符串后显示的行数。Man页给出了更加详细的解释,我发现一个记忆的小窍门:-A=after、-B=before。

 $ sudo ifconfig | grep -A 4 etho $ sudo ifconfig | grep -B 2 UP 

5.在匹配字符串周围打印出行号

grep命令的-C选项和例4中的很相似,不过打印的并不是在匹配字符串的前面或后面的行,而是打印出两个方向都匹配的行(译注:同上面的记忆窍门一样:-C=center,以此为中心): $ sudo ifconfig | grep -C 2 lo

6.计算匹配项的数目

这个功能类似于将grep输出的结果用管道传送给计数器(wc程序),grep内建的选项可以达到同样的目的:

$ sudo ifconfig | grep -c inet6 

7.按给定字符串搜索文件中匹配的行号

当你在编译出错时需要调试时,grep命令的-n选项是个非常有用的功能。它能告诉你所搜索的内容在文件的哪一行:

$ sudo grep -n "main" setup.py 

8.在所有目录里递归的搜索

假若你要在当前文件夹里搜索一个字符串,而当前文件夹里又有很多子目录,你可以指定一个-r选项以便于递归的搜索: $ sudo grep -r "function" *

9.进行精确匹配搜索

传递-w选项给grep命令可以在字符串中进行精确匹配搜索(译注:包含要搜索的单词,而不是通配)。例如,像下面这样输入:

$ sudo ifconfig | grep -w “RUNNING” 

将打印出含有引号内匹配项的行。另外,你还可以试一下这个:

$ sudo ifconfig | grep -w “RUN” 

搜索这个匹配项时,若搜索的东西里面没有这样的一个单独的单词,将什么也不会返回。

10.在Gzip压缩文件中搜索

我们还要关注一下grep的衍生应用。第一个是zgrep,这个与zcat很相似,可以用于gzip压缩过的文件。它有与grep相似的命令选项,使用方式也一样:

$ sudo zgrep -i error /var/log/syslog.2.gz 

11.在文件中匹配正则表达式

egrep是另一个衍生应用,代表着“扩展全局正则表达式”。它可以识别更多的正则表达式元字符,例如at + ? | 和()。在搜索源代码文件时,egrep是一个非常有用的工具,还有其他的一些零碎代码文件的搜索需要,使得这样的搜索能力成为必需。可以在grep命令中使用选项-E来启用它。

$ sudo grep -E

12.搜索一个固定匹配字符串

fgrep用于在一个文件或文件列表中搜索固定样式的字符串。功能与grep -F同。fgrep的一个通常用法为传递一个含有样式的文件给它:

$ sudo fgrep -f file_full_of_patterns.txt file_to_search.txt 

这仅仅是grep命令的开始,你可能已经注意到,它对于实现各种各样的需求简直是太有用了。除了这种我们运行的这种只有一行的命令,grep还可以写成cron任务或者自动的shell脚本去执行。保持好奇心,试验一下man页的各个选项,为实现你的目的写出一些grep表达式吧。


via: http://www.tecmint.com/12-practical-examples-of-linux-grep-command/

译者:Linux-pdz 校对:jasminepeng

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

下面的教程会指导所有的Linux使用者如何在系统上安装SSH,以便通过安卓智能手机远程访问他们的电脑。

如今我们所有人都拥有一台平板或触屏手机,我们经常使用它们在深夜里看电影或电视节目,听歌或者阅读一本好书。你可以把这篇文章称作是为那些懒人们准备的教程,他们在大晚上会因为太过疲惫而懒得去开启他们电脑上的某些程序,更懒得去移动、删除、复制或重命名某些文件,甚至关掉PC。

的确,已经有各种各样的远程桌面解决方案,但是许多方案费用很高,或者实现效果很糟糕,无法像预期一样运行,逼得你最终还是得去电脑上做你原本想做的事情。

在这个教程里面,我们将使用一种简单、安全、高效的协议,它被称为SSH (Secure SHell),它很容易从默认的软件仓库中安装(在Arch linx中是openssh,在Ubuntu中时openssh-server)。

配置SSH服务器

在安装完成后,你需要为SSH服务器进行基本配置。为此,你需要使用文本编辑器编辑/etc/ssh/sshd\_config这个文件。

1.在文件尾部添加下面一行(下面的yourusername使用你的Linux机器上实际存在的用户名代替)

AllowUsers yourusername

2.取消"#PermitRootLogin"这行注释,把"no"替换成"yes":

PermitRootLogin no

3.为了安全起见,你需要修改SSH连接默认的22端口到一个更大编号的端口,譬如在我们的例子中是55441 (建议不要跟着我使用55441,这是我选择的,你可以找另一个四位或者五位数字)。因此,取消注释并编辑"#Port 22"如下(译注:你可以选择大于1024,小于65535的其它端口,前提是没有被其它服务所占用,为什么不试试你的幸运数字?):

Port 55441 

开启SSH服务器

在Ubuntu上,SSH服务通过下面的命令启动:

sudo /etc/init.d/ssh start 

当你每次修改上述配置文件时,都需要通过下面的命令重启:

sudo /etc/init.d/ssh restart 

在Arch Linux上,你可以使用下面的命令启动SSH服务:

sudo systemctl start sshd 

配置安卓设备上的SSH客户端

JuiceSSH似乎是安卓上最好的SSH客户端之一,而且是免费的。此外,如果你认为它的功能简单,也可以花费少量的钱得到更多高级的特性,譬如亚马逊 AWS/EC2 集成,团队协作,以及更多其它的特性。

一旦软件安装完毕,运行它,然后你会要求输入一个加密的密码以保证安全连接的安全。这个密码由AES-256进行加密,因此除非你的设备被偷,否则没有人能够获取他们。

现在,添加一个新连接,选择名称,你的电脑的IP地址,上面设定的端口号和一个需要被创建的身份。

这就是我的Arch Linux机器,可以通过我的安卓平板上的JuiceSSH客户端访问到。如果在这个教程中你遇到问题,请在下面进行评论。


via: http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml

译者:KayGuoWhu 校对:Caroline

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

这里有一些给新Ubuntu用户的小技巧。这一系列的小技巧是为了帮助Ubuntu新用户轻松地配置和管理他们的电脑。这不是面向专家用户的,只是为了那些刚刚开始使用Ubuntu的用户。

Ubuntu启动器是Ubuntu Unity桌面的关键部分。启动器是一个布满图标的垂直条,当你登陆的时候,它就会位于屏幕的左边栏。通过它您可以从桌面方便地打开或者启动程序,还可以让您快速访问应用、工作空间、可移动设备和垃圾桶。

默认情况下,这个启动器图标大小被设置为48X48px,即使是较小的屏幕上也如此。如果你需要调大或调小启动器的尺寸,那么请继续接下来的学习。

想调整Unity启动器尺寸的原因有很多。其中一个就是为了适应更小的屏幕。如果你的屏幕很小,默认尺寸不合适,那么你就需要改变它了。

如果图标默认尺寸太小,想要增大它,则可以调整启动器来增大图标,从而容易点击。

下面开始调整大小,点击右上角的齿轮按钮弹出菜单条,点击系统设置(System Settings...),如下图。

接下来,选择 外观(Appearance)

最后,使用滚动条来调整(增大\减小)启动器的图标尺寸。

这个改变会被自动应用。记住,如果你想要继续作用默认尺寸,移动到48.

这是另一个为Ubuntu新用户的小技巧。欢迎回来掌握更多的Ubuntu小技巧。如果你是一个老手并且想要做出贡献,就请在下面留言吧。

享受吧!

via: http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/

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

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