10个有用的Linux命令行补齐命令

在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令。这并不新鲜,很可能你已经知道了这个。这个功能被称作命令补全。默认情况下,bash命令行可以自动补全文件或目录名称。不过,我们可以使bash命令行补全执行更多的操作,通过补全命令可以让它成就下一个辉煌。

这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable completion)把自动补全的功能应用于选项或者命令行参数。

例如:在输入write 命令之后,如果你按两次TAB按键,自动补全功能会提供执行write操作的列表。

$ write [TAB][TAB]
bala      raj
jason    randy
john      ritu
mayla    thomas
nisha    www-data

在下面的例子中,输入telnet命令将会显示可用了主机名:

$ telnet [TAB][TAB]
localhost  dev-db  fileserver

要让可编程命令补全功能在你的终端起作用 ,你只需要执行/etc/bash_completion即可,就像下面展示出来的操作:

# . /etc/bash_completion

你也可以取消/etc/bash.bashrc(对于Ubuntu Linux 13.04系统)下面的注释,这样,你就可以不需要执行上面的命令了,

enable bash completion in interactive shells
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi

如果你没有发现这些代码,也没有找到/etc/bash_completion文件,那么你只需要通过使用apt-get命令来安装bash_completion 包即可。

1、查看现有的bash补全命令

启用可编程的bash命令行补全功能,就可以定义一套bash补全命令。命令行补全可以用来定义bash补全命令。

来看一下现有的bash补全功能,使用完整的命令,如下:

complete -p | less

选项 -p 是可选择的。

2、Bash中标准补全的列表

Bash为linux用户默认提供了下面的标准补全命令。

变量名补全(Variablename completion)
用户名补全(Username completion)
主机名补全(Hostname completion)
Path路径补全(Pathname completion)
文件名补全(Filename completion)
3、为获取命令定义补全命令

使用-c参数定义一个补全命令来获得可使用的命令列表。在下面的例子中,为which命令定义了补全命令,

$ complete -c which

$ which [TAB][TAB]
Display all 2116 possibilities? (y or n)

就像上面看到的,如果按”y”,所有的命令都会显示出来。

4、为获得目录定义补全命令

使用参数d,定义一个只获得目录名称的补全命令,下面的例子中,定义了ls的补全命令

$ ls
countfiles.sh  dir1/          dir2/          dir3/

$ complete -d ls

$ ls [TAB][TAB]
dir1/          dir2/          dir3/

就像上面看到的,连续按两次TAB,就可以看到目录名称。

5、为获得后台作业名称获得补全命令

通过使用complete命令,把获得job名称作为参数是允许的。参数j用来把job名称作为参数传到命令行,展示如下:

$ jobs
[1]-  Stopped                cat
[2]+  Stopped                sed ‘p’

$ complete -j ./list_job_attrib.sh

$ ./list_job_attrib.sh [TAB][TAB]
cat  sed

IT人员在云计算时代所必备的10项技能

IT专业人员需要不断的学习,才能确保他们的工作能力跟上时代的步伐。那么云计算时代IT专业人员需要具备哪些技能呢?Forbes.com博主Joe McKendrick给我们列举了8项关键技能,我补充2条:

1. 商业和金融技能

技术和商业的融合始终是成功的绝对法宝,尤其在云计算时代。

2. 技术技能

自从有了云计算,企业或者其他机构可以精简他们的IT资源,卸载大部分的日常系统和应用程序管理,但这并不意味着IT将无所事事,你需要有一项编程语言技能,以便能快速构建运行在互联网上的应用程序。

3. 企业架构和业务需求分析

云计算要求IT专业人员最好具备交叉学科知识,特别是面向服务的体系结构。

4. 项目管理技能

企业或者组织不能因为云计算的灵活性而大意,导致项目延期或者目标模糊,这将让云计算的成本优势化为乌有。

5. 合同和供应商的谈判技巧

熟悉服务等级协议(SLA)以及涉及到违反SLA的问题,IT专业人员需要具备一定的合同和供应商谈判的经验。

6. 安全性和遵从性

IT专业人员处理云计算项目时候,必须完全掌握相关行业的安全协议和相关的法规,不论在不在美国。

7. 数据集成和分析技能

IT专业人士可能不是专业的数据科学家,但是你需要帮助这些数据科学家顺利的连接大数据、内部ERP、数据仓库和其他数据系统,除此之外,你还必须与业务那边合作,以便有效利用大数据。

8. 移动应用开发和管理

企业或组织需要了解他们通过云提供给客户的移动体验的效果如何,如何改善。

9. 熟悉开放混合云的知识

IT不是千篇一律的,你的云计算模式也同样如此, IT专业人士需要了解如何在一个开放的平台上构建和扩展公司的云计算基础设施。

10. 了解OpenStack

为了构建上面提到的那种灵活的、安全的、可互操作的云基础设施,IT专业人士必须对所需的技术有很深的理解,OpenStack是关键部分。OpenStack社区汇聚众多云计算开发人员和技术专家团队,由一系列的项目组成,为云基础设施解决方案提供各种组件。

云主机产品价格直降公告!

云主机产品价格直降公告

尊敬的客户您好:

    感谢您对YUNVM的长期信赖与支持!现推出特惠套餐组合价格直降50%!所有配件价格下降10-50%不等!

入门型

1核 512M 30GB存储 1M带宽(上海电信) 55/月 550/年

1核 512M 50GB存储 1M带宽(上海BGP) 78/月 780/年

1核 512M 50GB存储 1M带宽(香港新世界) 88/月 880/年

标准型

2核 2GB 100GB存储 10M带宽(上海电信) 388/月 3880/年

2核 2GB 100GB存储 10M带宽(上海BGP) 598/月 5980/年

2核 2GB 100GB存储 5M带宽(香港新世界) 388/月 3880/年

企业型A

4核 4GB 120GB存储 15M带宽(上海电信) 588/月 5880/年

4核 4GB 120GB存储 15M带宽(上海BGP) 1188/月 11880/年

4核 4GB 120GB存储 5M带宽(香港新世界) 588/月 5880/年

企业型B

4核 6GB 200G存储 20M带宽(上海电信) 888/月 8880/年

4核 6GB 200G存储 20M带宽(上海BGP) 1588/月 15880/年

4核 6GB 200G存储 5M带宽(香港新世界) 788/月 7880/年

豪华型A

8核 8GB 350G 存储 30M带宽(上海电信) 1388/月 13880/年

8核 8GB 350G 存储 30M带宽(上海BGP) 2588/月 25880/年

8核 8GB 350G 存储 5M带宽(香港新世界) 1188/月 11880/年

豪华型B

8核 8GB 500G存储 100M带宽(上海电信) 5888/月 58880/年

8核 8GB 500G存储 100M带宽(上海BGP) 7998/月 79980/年

8核 8GB 500G存储 10M带宽(香港新世界) 2188/月 21880/年

YUNVM始终秉持为用户提供最好用!性价比最高的云服务而努力!YUNVM不断努力提高运营效率,降低成本来回馈广大用户!只要我们成本能下降,我们就会主动给用户降价,保证用户使用的是最具性价比的产品!

                                                                                           YUNVM运营团队

                                                                                            2014年3月21日