分类 技术 下的文章

在几个月前我买了一个安装了iOS 7系统的iPhone 5手机。当我试着把iPhone或者iPad连接到Linux电脑(Ubuntu和Linux Mint)上时,它能够被识别,会提示我:“是否信任这台电脑”?

然后我心中默念“我会的”,选择了“信任”,在等待了几秒后,它又重新提示我“是否信任这台电脑”?我继续点了“信任”。然后又提示同样的问题。我感觉我的手机陷入了一个while(true)的死循环。在Ubuntu而在我的Ubuntu电脑上,它只是提示我的iPhone被锁定了,所以我不能访问上面的文件。

在网络上搜索了一会,我才知道这个iOS 7在Linux系统上是否信任这台电脑的死循环是一个已知的问题

这实际上是iOS 7系统的一个新安全特性,针对解决假冒的iPhone充电器问题。既然这样,那这篇文章在说什么?有没有办法解决iOS 7在Linux系统中的“信任这台电脑”的问题libimobiledevice库希望在1.1.6版本中去解决这个问题,只不过稳定版本却一直遥遥无期。 不过别灰心,你仍然可以使用libimobiledevice的非稳定版本,然后轻松地连接你的iPhone和Ubuntu。让我来告诉你,怎么把iPhone手机连接到Ubuntu 13.10或者Linux Mint 16上,而不会有“信任这台电脑”的麻烦。

在Ubuntu 12.04上解决iOS 7的“信任这台电脑”问题:

如果你安装的是Ubuntu 12.04 LTS(32位或64位)或者Linux Mint 13 Maya,你可以添加下面Ingo Haschler的PPA源:

sudo apt-add-repository ppa:ingo/ios7support
sudo apt-get update
sudo apt-get upgrade

之后,libimobiledevice库(已经安装过)会升级到不稳定的1.6版本,然后重启你的电脑,再重新连接iPhone。现在,它应该可以正常使用了。

说明:

如果你碰到“锁定错误”,那么再试试下面的命令:

sudo mkdir /var/lib/lockdown
sudo chmod 777 /va7Lib/lockdown

在Ubuntu 13.10上解决iOS 7的“信任这台电脑”问题:

对于资深的Linux用户,你可以从GitHub上下载源码然后自己编译。对于使用Ubuntu 13.10 64位Linux Mint 16 64位系统的用户,有个Iuri Diniz编译好的Debian包可以用,你可以下载安装这个.deb包,然后就可以很轻松地在Ubuntu 13.10 64位系统上看到你的iPhone了。

双击下载后的.deb文件进行安装。提醒一下,因为Ubuntu和Linux Mint默认已经安装了这个库,所以你看到的会是升级库libimobiledevice,而不是安装它。

在装好后,你的iPhone或者iPad应该可以正常连接电脑了。下面是一张我把我的iPhone连接到一台Ubuntu 13.10电脑上的截图。

我可以访问手机上的文件,还可以从Ubuntu传送文件到iPhone。它还会被Rythembox软件认到并开始同步歌曲。这不是第一次,我在把移动设备接到Ubuntu上碰到问题。上次,我写过怎么连接Kindle Fire HD和Ubuntu

我希望这个快速教程也可以解决你可能碰到的“信任这台电脑”的死循环问题。如果这个方法管用,或者你仍然还是不能把你的饿iPhone连接到Ubuntu上,都可以联系我。Ciao


via: http://itsfoss.com/mount-iphone-ipad-ios-7-ubuntu-13-10/

译者:zpl1025 校对:wxy

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

Vim (Vi IMproved)是一款在程序员之间非常受欢迎的文本编辑器。它在执行不同的快捷命令操作上有它自己的特长。

从Vim访问剪切板

比如,要拷贝高亮的文本,我们使用‘y’命令,并用‘x’来剪切。但是,vim(不是gVim)剪切板的内容默认情况下是不能被其他的vim实例访问的。

Vim版本信息中使用‘+’表示启用了系统剪切板。你可以运行‘vim ­­–version’,如果你看不到像“+xterm\_clipboard”而是显示“­xterm\_clipboard“,那么会使用内部剪切板,其将不能被其它的vim实例访问。

安装gvim和parcellite

为了访问vim剪切板的内容,你需要安装gvim包。gVim是vim编辑器的GUI模式,它的剪切板选项默认启用。

# yum install -y gvim

然后,使用RPMForge 仓库安装parcellite 包。Parcellite是一款轻量级,小巧而免费的Linux剪切板管理工具。

# yum install -y parcellite

一旦安装后,运行下面的命令。这里的参数‘&’是使parcellite以后台进程运行。

# parcellite &

检查选项已经在gvim中启用。

# gvim --version

确保“+xterm\_clipboard”选项显示在下面的输出中。

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr  5 2012 10:12:08)
Included patches: 1-411
Modified by <[email protected]>
Compiled by <[email protected]>
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra +perl +postscript 
+printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax 
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse 
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual 
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup 
+X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save

打开用户的.bashrc文件。

# vim ~/.bashrc

加入别名并保存文件(按下‘i’来插入行并按下ESC,接着运行:wq来保存并退出)。

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vim='gvim -v'
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

这个alias是内置的用于将一些命令绕到其他命令上。这样每次当vim命令运行时,相应的别名会启动默认带剪切板的gVim。

现在,用类似的方式编辑你的‘.vimrc’文件(以防你没有 .vimrc文件,生成这样一个文件然后再回来)。

# vim ~/.vimrc

追加下面这行并保存文件。

autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")

现在在vim中打开任何文件并高亮部分文本(使用'v'命令)并按下'y'。尝试在vim外面的任何地方粘帖(关不关vim都行),你就发现vim里面复制的内容被粘帖出来了。

附:生成 .vimrc 文件

运行下面的命令来生成.vimrc文件(如果你已做了就跳过这部分)。

# cd   [返回到你的主目录]       
# vim .vimrc

在vim中在按下ESC键后运行下面的命令(在vim中,每个命令是在按下ESC键后也就是带你进入命令模式后运行的)。

:r $VIMRUNTIME/vimrc_example.vim 
:w

via: http://www.tecmint.com/accessing-clipboard-contents-across-multiple-instances-of-vim-from-terminal/

译者:geekpi 校对: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中国 荣誉推出

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