每个开发人员都应该知道的11个Linux命令

本文主要挑选出读者有必要首先学习的 11 个 Linux 命令,如果不熟悉的读者可以在虚拟机或云服务器上实操下,对于开发人员来说,能熟练掌握 Linux 做一些基本的操作是必要的!

事不宜迟,这里有 11 个 Linux 命令行技巧,可以使你的生活工作更轻松。

1. grep

$ grep "some string" file

grep 命令在每个文件中搜索,它还会寻找由换行符分隔的模式,并且 grep 会打印与模式匹配的每一行。

使用 grep 命令查找文件中的所有 React 关键字:

该 -i 选项使我们能够在给定文件中不区分大小写地搜索字符串。它匹配 "REACT"、"REact" 和 "react" 之类的词。

$ grep -i "REact" file

我们可以使用 -c (count)标志找到与给定字符串/模式匹配的行数。

$ grep -c "react" index.js

这是在网上找到的关于 grep 命令有趣且有教育意义的漫画。

2. ls

$ ls

ls 列出当前活动路径中的文件和目录。如果路径名是文件,ls 则根据请求的选项在文件上显示信息。如果路径名是目录,则 ls 显示有关文件和其中的子目录的信息。

使用 ls 命令显示当前目录中的所有文件:

你可能已经注意到文件显示为灰色,而文件夹为蓝色。这是为了帮助我们区分文件夹和文件。

3. pwd

$ pwd

打印出当前工作目录(pwd):

pwd 命令是用于打印当前工作目录的命令行实用程序。输出会将当前工作目录的完整系统路径打印到标准输出。默认情况下,pwd 命令会忽略符号链接,尽管可以使用选项显示当前目录的完整物理路径。

4. cat

$ cat somefile.js

该cat命令具有与文本文件有关的三个相关功能:

  • 显示它们
  • 合并副本
  • 创造一个新的

cat 的最常见用法是读取文件的内容,并且 cat 通常也是最方便读取文件的命令。

在以下示例中,使用输出重定向运算符(由向右指向的尖括号表示)将 cat 的标准输出重定向到 file2:

$ cat somefile > somefile2

用 cat 创建文件:

5. echo

$ echo "some text"

Linux 中的命令用于显示作为参数传递的一行文本/字符串。这是一个内置命令,主要用于 Shell 脚本和批处理文件中,以将状态文本输出到屏幕或文件。

6. touch

$ touch somefile

touch 命令用于创建没有任何内容的文件。当用户在创建文件时没有要存储的数据时,可以使用 touch 命令。

touch 创建新文件:

我们是如何使用 touch 来创建文件和 cat 查看文件内部的。由于新创建的 index2.js 文件是空,因此 cat 不返回任何内容。

以下是 cat 和 touch 之间的主要区别:

  • cat:用于创建包含内容的文件。
  • touch:创建一个没有任何内容或空文件的文件。请记住,使用 touch 命令创建的文件为空。当用户在文件创建时没有要存储的数据时,此命令很有用。

7. mkdir

$ mkdir some-directory

如您所料,mkdir 在当前活动路径中创建一个新的空目录。使用此命令创建新文件夹,而不是在文本编辑器或 GUI 中四处单击。

使用 mkdir 创建一个新目录:

7.1 rm

$ rm someFile

rm 代表 remove,它会执行删除文件操作。

使用 rm 命令删除文件:

默认情况下,rm 命令不会删除目录。你需要传递 -rf 标志以删除目录。

$ rm -rf some-directory

使用 rm 命令删除目录:

7.2 rmdir

$ rmdir some-directory

rmdir 如果目录内没有内容,该命令将删除目录。

使用 rmdir 删除空目录:

8. tail

$ tail somefile

tail 命令读取文件并输出文件的最后部分。

输出最后的 num 行:

tail 在查看崩溃报告或以前的历史记录日志时,该命令很有用,以下是使用 tail 命令查询文件日志的示例。

[[email protected] ~]# 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

9. wget

$ wget someurl

GNU Wget 是一个免费软件包,用于使用 HTTP,HTTPS,FTP 和 FTPS(最广泛使用的Internet协议)检索文件。这是一个非交互式命令行工具,因此可以很容易地从脚本、CRON 作业,不支持 X-Windows 的终端等中调用它。

wget 获取有关网页的信息:

GNU Wget 具有许多使检索大型文件或镜像整个 Web 或 FTP 站点变得容易的功能,包括:

  • 可以使用 REST 和 RANGE 恢复中止的下载
  • 可以使用文件名通配符并递归镜像目录
  • 基于 NLS 的消息文件,适用于多种语言
  • 将下载的文档中的绝对链接转换为相对链接,以便下载的文档可以在本地彼此链接
  • 在大多数类似 UNIX 的操作系统以及 Microsoft Windows 上运行
  • 支持 HTTP 代理
  • 支持 HTTP cookie
  • 支持持久的 HTTP 连接
  • 无人值守/后台操作
  • 使用本地文件时间戳确定镜像时是否需要重新下载文档
  • GNU Wget 是根据 GNU 通用公共许可证发行的。

10. find

$ find path -name filename

find 命令使你可以快速查找文件或目录。当你正在处理具有数百个文件和多个目录的大型项目时,此功能很有用。

查找所有名为 index.js 的文件:

搜索特定类型的文件

find 命令还允许您在目录(及其子目录)中搜索相同类型的文件。例如,以下命令将搜索 .js 当前工作目录中的所有文件。

$ find . -name "*.js"

在 components 目录中查找所有.js文件:

11. mv

$ mv somefile /to/some/other/path

mv 命令将文件或目录从一个位置移动到另一个位置。mv 命令支持移动单个文件,多个文件和目录。

将 some 目录从组件移动到 utils 目录:

总结

这篇文章主要是介绍常用的 11 个 Linux 命令,感谢你的阅读,希望你能从中学到了一些知识。

原文地址:https://www.cnblogs.com/wupeixuan/p/12019263.html

时间: 2024-08-07 11:24:46

每个开发人员都应该知道的11个Linux命令的相关文章

PDB文件:每个开发人员都必须知道的 PDB Files

PDB文件:每个开发人员都必须知道的 PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx PDB文件:每个开发人员都必须知道的 一 什么是PDB文件 大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的.但是他究竟是如何工作的呢,我们可能并不熟悉

每个Java开发人员都应该知道的4个Spring注释

这是每个Java开发人员都应该知道的最重要的Spring注解.感谢优锐课老师对本文提供的一些帮助. 随着越来越多的功能被打包到单个应用程序或一组应用程序中,现代应用程序的复杂性从未停止增长.尽管这种增长带来了一些惊人的好处,例如丰富的功能和令人印象深刻的多功能性,但它要求开发人员使用越来越多的范例和库.为了减少开发人员的工作量以及开发人员必须记住的信息量,许多Java框架都转向了注解. 特别是Spring,它以注解的使用而闻名,它使开发人员仅用少数几个注解就可以创建完整的表示状态转移(REST)

PDB文件:每个开发人员都必须知道的

PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx PDB文件:每个开发人员都必须知道的 一 什么是PDB文件 大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的.但是他究竟是如何工作的呢,我们可能并不熟悉.本文描述了PDB文件的存储和内容.同

系统管理员应该知道的 20 条 Linux 命令

如果您的应用程序不工作,或者您希望在寻找更多信息,这 20 个命令将派上用场. 在这个全新的工具和多样化的开发环境井喷的大环境下,任何开发者和工程师都有必要学习一些基本的系统管理命令.特定的命令和工具包可帮助开发者组织.排查故障并优化他们的应用程序,而且当出现错误时,也可以为运维人员和系统管理员提供有价值的分类信息. 无论你是新手开发者还是希望管理自己的应用程序,下面 20 条基本的系统管理命令都可以帮助您更好地了解您的应用程序.它们还可以帮助解决为什么应用程序可在本地正常工作但不能在远程主机上

你应该知道的16个linux命令

Linux常用命令很多比如cd.ls.pwd.du.df.tail.head.yum.mv.touch.mkdir.cp.tar等,根据工作内容不同,经常使用的命令也不同,比如运维人员使用tail.head.move.mkdir.cd.ls.cat.tar等,开发人员经常使用grep.mkdir.touch.ls.pwd.cat.echo.rm.tail.wget.find.mv等.下面我将简单说明一些常用的linux 1.cd cd命令常用于目录之间的切换,如:cd /opt 从当前目录切换到

对于JavaScript的函数.NET开发人员应该知道的11件事

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天小感冒今天重感冒,也不能长篇大论.如果你是.NET开发人员,在进入前端开发领域的时候,对于JavaScript的函数,应该知道这11件事情. 如果你是一个.NET开发人员,又不得不涉及前端开发的工作,那么应该会拿C#函数和JavaScript函数作比较.JavaScript函数是JavaScript编程的灵魂,所以对其正确的理解是非常重要的. Dhananjay Kumar就发表了两篇博文,给大

每个程序员都该知道的10大编程格言

每个程序员都该知道的10大编程格言 编程格言1:无风不起浪 (There is no smoke without fire) 编程格言2:预防为主,治疗为辅(An ounce of prevention is worth a pound of cure:) 编程格言3:不要把鸡蛋都放在一个篮子(Don't put all your eggs in one basket) 编程格言4:种瓜得瓜,种豆得豆(As you sow,so shoul you reap) 编程格言5:欲速则不达(Great

SAP成都研究院35岁以上的开发人员都去哪儿了?

2006年成立的SAP成都研究院,位于天府软件园B区.如今,因为研究院发展的不断壮大, 已经搬迁到天府软件园E区了,因此,发生在图片building各种充满悲欢离合的故事,已经成为一部分小伙伴脑海中难以磨灭的回忆,永远消逝于历史的长河之中. 我为什么要写这篇文章 SAP成都研究院有很多刚从大学毕业不久的年轻小伙伴加入.一起聊天时,有小伙伴悄悄向我打听,"咱们公司的开发人员们咋看起来都是年轻人?35岁以上的开发人员去哪儿了?难道程序员真是吃青春饭的?" 这些同学想的比较远,值得赞一个,看

极速彩源码搭建步骤 Java 开发者都应该知道的 5 个注解

自 JDK5 推出以来,注解已成为Java生态系统不可缺少的一部分.虽然开发者为Java框架(例如Spring的@Autowired)开发了无数的自定义注解,但编译器认可的一些注解非常重要. 在本文中,极速彩源码搭建bbs.yasewl.com我们将看到5个Java编译器支持的注解,并了解其期望用途.顺便,我们将探索其创建背后的基本原理,围绕其用途的一些特质,以及正确应用的一些例子.虽然其中有些注解比其他注解更为常见,但非初学Java开发人员都应该消化了解每个注解. 首先,我们将深入研究Java