Linux运维必备技能第二弹~

想告诉大家,Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化。如果你知道Linux有多强大,而这个强大完全来自于命令行。那么想要成为一名优秀的Linux运维工程师一定要学习一些技能,今天小编要跟大家分享的文章是想要成为Linux运维工程师都需要学习哪些技能?相信对你一定会有很大的帮助!

二、日常

o  在bash里,使用Ctrl-R而不是上下光标键来查找历史命令。

o  在bash里,使用Ctrl-W来删除最后一个单词,使用Ctrl-U来删除一行。请man bash后查找Readline Key Bindings一节来看看bash的默认热键,比如:Alt-.把上一次命令的最后一个参数打出来,而Alt-*则列出你可以输入的命令。

o  回到上一次的工作目录:cd– (回到home是cd ~)

o  使用xargs。这是一个很强大的命令。你可以使用-L来限定有多少个命令,也可以用-P来指定并行的进程数。如果你不知道你的命令会变成什么样,你可以使用xargs echo来看看会是什么样。当然,-I{}也很好用。示例:

想要成为Linux运维都需要学习哪些技能

o  pstree -p可以帮你显示进程树。

o  使用pgrep和pkill来找到或是kill某个名字的进程。(-f选项很有用)。

o  了解可以发给进程的信号。例如:要挂起一个进程,使用kill -STOP [pid].使用man 7 signal来查看各种信号,使用kill -l来查看数字和信号的对应表。

o  使用nohup或 disown如果你要让某个进程运行在后台。

o  使用netstat -lntp来看看有侦听在网络某端口的进程。当然,也可以使用lsof。

o  在bash的脚本中,你可以使用set -x来debug输出。使用set -e来当有错误发生的时候abort执行。考虑使用set -o pipefail来限制错误。还可以使用trap来截获信号(如截获ctrl+c)。

o  在bash脚本中,subshells (写在圆括号里的)是一个很方便的方式来组合一些命令。一个常用的例子是临时地到另一个目录中,例如:

想要成为Linux运维都需要学习哪些技能

o  在bash中,注意那里有很多的变量展开。如:检查一个变量是否存在: ${name:?error message}。如果一个bash的脚本需要一个参数,也许就是这样一个表达式input_file=${1:?usage: $0 input_file}。一个计算表达式:i=$(( (i + 1) % 5 ))。一个序列:{1..10}。截断一个字符串:${var%suffix}和${var#prefix}。示例:if var=foo.pdf, then echo ${var%.pdf}.txt prints“foo.txt”。

o  通过<(some command)可以把某命令当成一个文件。示例:比较一个本地文件和远程文件/etc/hosts:diff /etc/hosts <(ssh somehost cat /etc/hosts)。

o  了解什么叫 “here documents” ,就是诸如cat <<EOF这样的东西。

o  在bash中,使用重定向到标准输出和标准错误。如:some-command >logfile 2>&1。另外,要确认某命令没有把某个打开了的文件句柄重定向给标准输入,最佳实践是加上 “</dev/null”,把/dev/null重定向到标准输入。

o  使用man ascii来查看ASCII表。

o  在远端的ssh会话里,使用screen或dtach来保存你的会话。(参看《28个Unix/Linux的命令行神器》)

o  要来debug Web,试试curl和curl -I或是wget。我觉得debug Web的利器是firebug,curl和wget是用来抓网页的,呵呵。

o  把HTML转成文本:lynx -dump -stdin

o  如果你要处理XML,使用xmlstarlet

o  对于Amazon S3,s3cmd是一个很方便的命令(还有点不成熟)

o  在ssh中,知道怎么来使用ssh隧道。通过-L or -D (还有-R),翻墙神器。

o  你还可以对你的ssh做点优化。比如,.ssh/config包含着一些配置:避免链接被丢弃,链接新的host时不需要确认,转发认证,以前使用压缩(如果你要使用scp传文件):

想要成为Linux运维都需要学习哪些技能

o  如果你有输了个命令行,但是你改变注意了,但你又不想删除它,因为你要在历史命令中找到它,但你也不想执行它。那么,你可以按下Alt-#,于是这个命令关就被加了一个#字符,于是就被注释掉了。

以上就是小编今天为大家分享的关于想要成为Linux运维工程师都需要学习哪些技能的文章,希望本篇文章能够对正在从Linux相关工作的小伙伴们有所帮助。想要了解更多Linux相关知识记得关注马哥教育的官网。最后祝愿小伙伴们工作顺利!

声明:文章来源于网络,侵删!

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!