本文主要挑选出读者有必要首先学习的 11 个 Linux 命令,若是不熟悉的读者能够在虚拟机或云服务器上实操下,对于开发人员来讲,能熟练掌握 Linux 作一些基本的操做是必要的!java
事不宜迟,这里有 11 个 Linux 命令行技巧,可使你的生活工做更轻松。react
$ grep "some string" file
grep 命令在每一个文件中搜索,它还会寻找由换行符分隔的模式,而且 grep 会打印与模式匹配的每一行。服务器
使用 grep 命令查找文件中的全部 React 关键字:cookie
该 -i 选项使咱们可以在给定文件中不区分大小写地搜索字符串。它匹配 "REACT"、"REact" 和 "react" 之类的词。app
$ grep -i "REact" file
咱们可使用 -c (count)标志找到与给定字符串/模式匹配的行数。编辑器
$ grep -c "react" index.js
这是在网上找到的关于 grep 命令有趣且有教育意义的漫画。工具
$ ls
ls 列出当前活动路径中的文件和目录。若是路径名是文件,ls 则根据请求的选项在文件上显示信息。若是路径名是目录,则 ls 显示有关文件和其中的子目录的信息。学习
使用 ls 命令显示当前目录中的全部文件:url
你可能已经注意到文件显示为灰色,而文件夹为蓝色。这是为了帮助咱们区分文件夹和文件。操作系统
$ pwd
打印出当前工做目录(pwd):
pwd 命令是用于打印当前工做目录的命令行实用程序。输出会将当前工做目录的完整系统路径打印到标准输出。默认状况下,pwd 命令会忽略符号连接,尽管可使用选项显示当前目录的完整物理路径。
$ cat somefile.js
该cat命令具备与文本文件有关的三个相关功能:
cat 的最多见用法是读取文件的内容,而且 cat 一般也是最方便读取文件的命令。
在如下示例中,使用输出重定向运算符(由向右指向的尖括号表示)将 cat 的标准输出重定向到 file2:
$ cat somefile > somefile2
用 cat 建立文件:
$ echo "some text"
Linux 中的命令用于显示做为参数传递的一行文本/字符串。这是一个内置命令,主要用于 Shell 脚本和批处理文件中,以将状态文本输出到屏幕或文件。
$ touch somefile
touch 命令用于建立没有任何内容的文件。当用户在建立文件时没有要存储的数据时,可使用 touch 命令。
touch 建立新文件:
咱们是如何使用 touch 来建立文件和 cat 查看文件内部的。因为新建立的 index2.js 文件是空,所以 cat 不返回任何内容。
如下是 cat 和 touch 之间的主要区别:
$ mkdir some-directory
如您所料,mkdir 在当前活动路径中建立一个新的空目录。使用此命令建立新文件夹,而不是在文本编辑器或 GUI 中四处单击。
使用 mkdir 建立一个新目录:
$ rm someFile
rm 表明 remove,它会执行删除文件操做。
使用 rm 命令删除文件:
默认状况下,rm 命令不会删除目录。你须要传递 -rf 标志以删除目录。
$ rm -rf some-directory
使用 rm 命令删除目录:
$ rmdir some-directory
rmdir 若是目录内没有内容,该命令将删除目录。
使用 rmdir 删除空目录:
$ tail somefile
tail 命令读取文件并输出文件的最后部分。
输出最后的 num 行:
tail 在查看崩溃报告或之前的历史记录日志时,该命令颇有用,如下是使用 tail 命令查询文件日志的示例。
[root@wupx ~]# tail -20f /sell/logs/sell.log 2019-12-09 20:35:40,024 - INFO #[operation,,,]# [http-nio-8111-exec-2] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:537]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,024 - INFO #[sell,,,]# [http-nio-8111-exec-2] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:538]: 查询接口:/products/projects/engineerType/count/range 2019-12-09 20:35:40,085 - INFO #[sell,,,]# [http-nio-8111-exec-9] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,085 - INFO #[sell,,,]# [http-nio-8111-exec-9] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查询接口:/products/projects/active/count 2019-12-09 20:35:40,145 - INFO #[sell,,,]# [http-nio-8111-exec-7] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,145 - INFO #[sell,,,]# [http-nio-8111-exec-7] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查询接口:/products/projects/active/count 2019-12-09 20:35:40,246 - INFO #[sell,,,]# [http-nio-8111-exec-8] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,246 - INFO #[sell,,,]# [http-nio-8111-exec-8] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查询接口:/products/projects/active/count 2019-12-09 20:35:40,313 - INFO #[sell,,,]# [http-nio-8111-exec-5] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,313 - INFO #[sell,,,]# [http-nio-8111-exec-5] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查询接口:/products/projects/active/count 2019-12-09 20:35:40,401 - INFO #[sell,,,]# [http-nio-8111-exec-4] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:306]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,401 - INFO #[sell,,,]# [http-nio-8111-exec-4] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:307]: 查询接口:/products/projects/new/statics 2019-12-09 20:35:40,490 - INFO #[sell,,,]# [http-nio-8111-exec-1] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:279]: 查询参数:BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]} 2019-12-09 20:35:40,490 - INFO #[sell,,,]# [http-nio-8111-exec-1] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:280]: 查询接口:/products/projects/liveness/statics
$ wget someurl
GNU Wget 是一个免费软件包,用于使用 HTTP,HTTPS,FTP 和 FTPS(最普遍使用的Internet协议)检索文件。这是一个非交互式命令行工具,所以能够很容易地从脚本、CRON 做业,不支持 X-Windows 的终端等中调用它。
wget 获取有关网页的信息:
GNU Wget 具备许多使检索大型文件或镜像整个 Web 或 FTP 站点变得容易的功能,包括:
$ find path -name filename
find 命令使你能够快速查找文件或目录。当你正在处理具备数百个文件和多个目录的大型项目时,此功能颇有用。
查找全部名为 index.js 的文件:
搜索特定类型的文件
find 命令还容许您在目录(及其子目录)中搜索相同类型的文件。例如,如下命令将搜索 .js 当前工做目录中的全部文件。
$ find . -name "*.js"
在 components 目录中查找全部.js文件:
$ mv somefile /to/some/other/path
mv 命令将文件或目录从一个位置移动到另外一个位置。mv 命令支持移动单个文件,多个文件和目录。
将 some 目录从组件移动到 utils 目录:
这篇文章主要是介绍经常使用的 11 个 Linux 命令,感谢你的阅读,但愿你能从中学到了一些知识。