这篇文章不仅能帮助刚接触命令行的新手,而且对具有经验的人也大有裨益本文致力于做到覆盖面广(涉及所有重要的内容),具体(给出具体的最常用的例子),以及简洁(避免冗余的内容,或是可以在其他地方轻松查到的细枝末节)在特定应用场景下,本文的内容属于基本功或者能帮助您节约大量的时间,今天小编就来说说关于github如何提高活跃度?下面更多详细答案一起来看看吧!

github如何提高活跃度(命令行的艺术GitHub)

github如何提高活跃度

转自:GitHubgithub.com/jlevy/the-art-of-command-line/blob/master/README-zh.md熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧非常基础,而另一些则相当复杂,甚至晦涩难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了。这篇文章是许多作者和译者共同的成果。这里的部分内容 首次 出现 于 Quora, 但已经迁移到了 Github,并由众多高手做出了许多改进。如果你在本文中发现了错误或者存在可以改善的地方,请贡献你的一份力量

前言

涵盖范围:注意事项:

基础

日常使用

find . -name *.py | xargs grep some_function cat hosts | xargs -I{} ssh root@{} hostname

set -euo pipefail trap "echo error: Script failed: see failed command above " ERR

# do something in current dir (cd /some/other/dir && other-command) # continue in original dir

diff /etc/hosts <(ssh somehost cat /etc/hosts)

{ # 在这里写代码}

TCPKeepAlive=yes ServerAliveInterval=15 ServerAliveCountMax=6 Compression=yes ControlMaster auto ControlPath /tmp/%r@%h:%p ControlPersist yes

stat -c %A %a %n /etc/timezone

>>> 2 35

文件及数据处理

perl -pi.bak -e s/old-string/new-string/g my-files-*.txt

# 将文件、目录和内容全部重命名 foo -> bar: repren --full --preserve-case --from foo --to bar . # 还原所有备份文件 whatever.bak -> whatever: repren --renames --from (.*).bak --to *.bak # 用 rename 实现上述功能(若可用): rename s/.bak$// *.bak

mkdir empty && rsync -r --delete empty/ some-dir && rmdir some-dir

uconv -f utf-8 -t utf-8 -x ::Any-Lower; ::Any-NFD; [:Nonspacing Mark:] >; ::Any-NFC; < input.txt > output.txt

getfacl -R /some/path > permissions.txt setfacl --restore=permissions.txt

系统调试

单行脚本

一些命令组合的例子:

sort a b | uniq > c # c 是 a 并 b sort a b | uniq -d > c # c 是 a 交 b sort a b b | uniq -u > c # c 是 a - b

awk { x = $3 } END { print x } myfile

find . -type f -ls

egrep -o acct_id=[0-9] access.log | cut -d= -f2 | sort | uniq -c | sort -rn

function taocl() { curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README-zh.md| pandoc -f markdown -t html | iconv -f utf-8 -t unicode | xmlstarlet fo --html --dropdtd | xmlstarlet sel -t -v "(html/body/ul/li[count(p)>0])[$RANDOM mod last() 1]" | xmlstarlet unesc | fmt -80 }

冷门但有用

仅限 OS X 系统

以下是仅限于 OS X 系统的技巧。

仅限 Windows 系统

以下是仅限于 Windows 系统的技巧。

在 Winodws 下获取 Unix 工具

实用 Windows 命令行工具

Cygwin 技巧

更多资源

免责声明

除去特别小的工作,你编写的代码应当方便他人阅读。能力往往伴随着责任,你 有能力在 Bash 中玩一些奇技淫巧并不意味着你应该去做!;)授权条款本文使用授权协议 Creative Commons Attribution-ShareAlike 4.0 International License。,