原文地址: Here Are 11 Console Commands Every Developer Should Knowhtml
用这些控制台命令,提升平常的工做效率react
命令行使咱们的生活更加容易,由于咱们能够自动化一些普通的任务并使事情运行更顺畅。无需点击图形用户界面,咱们能够触发一些命令就能够完成工做。linux
Unix shell 是一个命令行解释器或者shell, 可为类Unix操做系统提供命令行用户界面。shell既是交互式命令语言又是脚本语言,而且操做系统使用它经过Shell脚原本控制系统的执行。web
Linux或者mac为基础的操做系统都默认安装了命令行工具,一般叫作终端。命令行工具使咱们能够轻松地移动、重命名文件,对数据进行排序以及在计算机上浏览。shell
事不宜迟,这里有11个命令行技巧可使你的生活更加容易。bash
grep "some string " file
复制代码
grep命令会对每个文件按照输入的字符进行搜索匹配。它也会匹配由换行符分隔的字符,grep会打印符合输入字符的行。 cookie
-i
选项可使咱们在给出的文件搜索字符串时大小不敏感。它匹配像"REACT","REact",和"react"之类的词编辑器
grep -i "REact" file
复制代码
咱们能够用-c
(count)标识来找到匹配给出的字符串或者模式的行的数量工具
grep -c "react" index.js
复制代码
我从网上找到一幅关于grep
命令的漫画,很是的有趣和具备教育意义。学习
另外,变体程序egrep
,fgrep
分别和grep -E
,grep -F
同样。这些变体已经被弃用,可是为了向后兼容而提供。
你能够用grep
作不少事情——深度学习请阅读文档
ls
复制代码
ls列出当前目录下全部的文件和目录。若是路径是一个文件,ls会根据请求的选项来展现文件的信息。若是路径是一个目录,ls会显示在其中的全部文件和子目录的信息。
你能够注意到一些文件显示灰色,一些文件夹显示蓝色。这帮助咱们区分哪些是文件夹,哪些是文件。
pwd
复制代码
pwd
命令是用来打印当前工做目录的命令行实用程序。输出会将当前工做目录当前完整的系统路径打印到标准输出。默认状况下,pwd
命令会忽略符号连接,尽管可使用选项展现出当前目录的完整五路路径。
cat somefile.js
复制代码
cat
命令有与文本文件相关的三个功能:
cat
的最终用法是读取文件的内容,cat
在这个用处上是常常是最方便的程序。
下面这个例子,使用输出重定向操做符(由右尖括号表示)将cat的标准输出重定向到file2上
cat somefile > somefile2
复制代码
echo "some text"
复制代码
echo
命令在linux中被用做展现做为参数传递的一行文本或字符串。echo
是一个内置命令,主要用在shell脚本和批处理文件中,以状态文本输出到屏幕或者文件。
touch somefile
复制代码
touch
命令用来建立空文件。当用户建立文件时没有要储存数据时,可使用touch
命令。
注意,咱们是如何使用touch
来建立文件,cat
来查看文件内容。因为新建立的index2.js
文件是空的,因此cat
不返回任何内容。
cat
和touch
的主要区别:
cat
—— 建立包含内容的文件touch
—— 建立没有任何内容的空文件。记住,使用touch
命令建立的文件是空的。这个命令在当用户在建立文件时没有任何数据存储时很是有用。mkdir some-directory
复制代码
就如你所猜测的,mkdir
在当前路劲下建立一个新的空目录。无需点击你的文本编辑器或者图形用户界面,使用命令来建立新的文件夹。
注意:咱们能够以前ls
命令来窥视目录里面。
rm someFile
复制代码
rm
表明删除,正如词意。移除或者删除某个文件。
rm
命令默认不会删除目录。你须要传递-rf
标识来删除目录
rm -rf some-directory
复制代码
注意:移除目录是无条件的,无论目录里面是否有内容。
rmdir some-directory
复制代码
rmdir
移除空的目录
tail somefile
复制代码
tail
读取文件而且输出最后一部分。
tail
命令在查看崩溃报告或者以前的历史日志时很是有帮助。下面是处理日志文件时有用的示例。
# tail /var/log/messages
Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*.
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd)
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4.
Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf
Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds.
Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
复制代码
wget someurl
复制代码
GNU Wget是一个免费软件包,经过HTTP,HTTPS,FTP和FTPS来检索文件(使用最普遍的网路协议)。它是一个非交互式的命令行工具,因此它能够轻松地被脚本,CRON做业,不支持X-Windows的终端调用。
GNU Wget有许多使检索大型文件或者镜像整个web或者FTP站点变得容易的功能,包括:
阅读GNU官方文档获取更多信息。
find path -name filename
复制代码
find
命令让你能快速地查找文件或者目录。当你处理上百个文件和多个目录的项目时很是有用。
搜索特定类型的文件
find
命令也能让你在一个目录(及它的子目录下)搜索同种类型的文件。好比,下面这条命令将会在当前目录下搜索全部.js
文件。
find path -name "*.js"
复制代码
mv somefile /to/some/other/path
复制代码
mv
命令用来将文件或者文件夹从一个地方移动到另外一个地方。mv
命令支持移动单个文件,多个文件和目录。
结论
感谢阅读,我但愿你能学到新的东西。若是你知道方便的命令行技巧,请发布在回复中,一块儿学习成长。
永远保持好奇与饥饿!