Linux命令行技巧

 Linux入门必备

  • 了解bash:没有必要钻研长篇累牍的bash使用手册,通过man bash学习即可。
  • 了解vi:你在工作中也许会使用Emacs或Eclipse,但vi不可替代。
  • 了解ssh:学习无密码验证的基础知识。
  • bash作业管理基础知识:如使用&、Ctrl-C、fg、bg、Ctrl-Z、jobs和kill等。
  • 文件管理命令:如硬链接和软链接,权限等。
  • 网络管理命令:如ifconfig等。
  • 如何使用正则表达式,如何使用grep、sed等。
  • 学习使用apt-get和yum管理软件包。

提升日常工作效率

  • 在bash中,可以使用Ctrl+R命令搜索命令行历史记录。
  • 在bash中,可以使用Ctrl+W删除最后一个单词,使用Ctrl+U删除整行。
  • 使用cd -命令返回之前的工作目录,使用cd ..命令返回上层目录。
  • 学习如何使用xargs:
  1. $ find . -name *.py | xargs grep some_function  
  2. $ cat hosts | xargs -I{} ssh root@{} hostnameX 
  • 使用pstree -p命令查看进程树。
  • 了解不同的信号。例如,使用kill -STOP [PID]终止进程。详细的信号列表可以在man 7 signal中查看。
  • 如果你想让进程永远在后台运行,可以使用nohup和disown命令。
  • 使用netstat -lntp命令查看侦听进程,并参考lsof命令。
  • 在bash脚本中使用subshells对命令进行分组:
  1. #do something in current dir  
  2. (cd /some/other/dir; other-command)  
  3. #continue in original dir 
  • 字符串修剪(Trimming Strings):${var%suffix}和${var#prefix}。例如if var=foo.pdf then echo ${var%.pdf}.txt prints "foo.txt"。
  • 命令的输出可以当做文件使用。例如,比较本地和远程的/etc/hosts文件:
  1. diff /etc/hosts <(ssh somehost cat /etc/hosts) 
  • 了解bash中的“here documents”。
  • 了解标准输出和标准错误重定向。
  • 了解ASCII代码表。可以在终端中运行man ascii命令作为参考。
  • 当通过ssh远程工作时,可以使用screen 或 dtach保存回话。
  • 对Web开发者而言,curl、wget等命令非常实用。
  • 将HTML页面转化文本文件:
  1. lynx -dump -stdin 
  • 如果要掌握XML,xmlstarlet命令是非常好的工具。
  • 了解ssh端口映射。
  • 使用Alt+shift+3快捷键可以在行前添加注释“#”。

数据处理

  • 了解sort和uniq命令。
  • 了解cut、paste和join命令。
  • 了解如何对文本文件做交集、并集和差集:
  1. cat a b | sort | uniq > c # c is a union b  
  2. cat a b | sort | uniq -d > c # c is a intersect b  
  3. cat a b b | sort | uniq -u > c # c is set difference a – b 
  • 对文本文件的第二列做摘要,下面的代码要比同样的Python代码更精炼、快速(3倍):
  1. awk '{ x += $2 } END { print x }' 
  • 了解字符串和grep命令。
  • 文件分割:了解split(按大小分割)和csplit(按匹配分割)命令。

系统诊断

  • 使用iostat、netstat、top和dstat命令查看磁盘、处理器和网络的状态。
  • 使用free、vmstat等命令了解系统内存状态。
  • 使用mtr网络诊断工具。
  • 使用iftop、nethogs等工具查看占用带宽的进程和带宽。
  • 使用ab工具快速洞悉Web服务器的性能。
  • 以wireshark和tshark命令应对复杂网络诊断。
  • 学习如何使用strace,并用于诊断运行的进程。这对分析程序运行错误的原因,非常有帮助。
  • 使用ldd命令查看共享库文件。
  • 了解如何使用gdb连接到运行中的进程,并进行堆栈跟踪。
  • 有关/proc的知识非常重要。
  • 如何诊断已发生的错误?Sar命令是一种很好的选择,它可以收集、保存并报告系统信息。
阅读更多
个人分类: linux
上一篇Linux的时间与时区
下一篇管理处理器的亲和性(affinity)
想对作者说点什么? 我来说一句

快乐的Linux命令行

2017年08月29日 1.72MB 下载

Linux命令行与shell脚本编程大全

2017年11月09日 12.38MB 下载

提高linux命令行下工作效率.

2012年02月18日 27KB 下载

Linux命令行技术大全.pdf 高清带书签

2018年04月13日 175.27MB 下载

Linux命令行技术大全

2009年08月16日 362KB 下载

快乐的Linux命令行.pdf

2015年02月06日 2.33MB 下载

没有更多推荐了,返回首页

关闭
关闭