共计 1997 个字符,预计需要花费 5 分钟才能阅读完成。
想告诉大家,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{}也很好用。示例:
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 (写在圆括号里的)是一个很方便的方式来组合一些命令。一个常用的例子是临时地到另一个目录中,例如:
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 传文件):
o 如果你有输了个命令行,但是你改变注意了,但你又不想删除它,因为你要在历史命令中找到它,但你也不想执行它。那么,你可以按下 Alt-#,于是这个命令关就被加了一个 #字符,于是就被注释掉了。
以上就是小编今天为大家分享的关于想要成为 Linux 运维工程师 都需要学习哪些技能的文章,希望本篇文章能够对正在从 Linux 相关工作的小伙伴们有所帮助。想要了解更多 Linux 相关知识记得关注 马哥教育 的官网。最后祝愿小伙伴们工作顺利!
声明:文章来源于网络,侵删!