使用.NET Core进行Linux编程3:简介和第2章
目录
背景
我希望实现的目标
介绍
这本书的封面是什么?
这本书是给谁的?
以应用为中心
这本书不是什么
这本书是什么
GitHub上的所有源代码
DotNet Core
MacOS奖金
第2章——进入.NET Core
Linux终端
测试dotnet可执行性
安装.NET Core SDK
我运行Ubuntu 18.04和Debian 10
Ubuntu 18.04或Debian 10
Linux Sudo(超级用户)
安装Sudo
将用户添加到Sudo文件
退出Root
注销/登录
安装.NET Core SDK
.NET Core运行时
一切都已安装
$ Prompt :Linux终端
Dotnet 是可执行的
我们需要一个代码编辑器
Visual Studio Code不是Visual Studio
安装Visual Studio Code(VSC)
运行Visual Studio Code的安装
Visual Studio Code安装完成
创建一个新项目
设置目录
Linux提示符显示什么
主目录
创建目录(mkdir)
主(Home)目录 (~) 确实有帮助
dotnet new
文件夹中的文件夹
Visual Studio Code
安装插件
带数字的小蓝色圆圈
这个程序是如何运行的?
System.Console库
像盒子一样的库
总结
- 从GitHub下载源代码-raddevus / ProgLinuxWDNC:《
使用.NET Core编程Linux》一书的源代码 [ ^ ]
背景
大约一年前,我建造了一台新的台式计算机,并安装了Win10和Ubuntu作为双启动计算机。
我很快迷上了Ubuntu和Linux。我已经有8个月没有在这台机器上启动Win10了。
自Win 3.1以来,我一直在Windows系统上运行和开发,因此这很重要。但是,我真的很喜欢Microsoft的开发环境和工作方式。当我最近发现自己可以编写在Windows和Linux上都可以运行的C#代码时,我感到非常兴奋。在Windows上编写代码,然后将其引入并在Linux上构建和运行它而无需做任何更改,这真是太神奇了。不,您仍然无法在Linux上构建Windows Form应用程序,但是看看其他的。在不需要Windows窗体或图形用户界面的情况下,还可以做很多其他事情。这就是为什么我决定写这本书的原因。我只想看看仅使用Visual Studio Code和.NET Core SDK可以做什么。
我希望实现的目标
我只是想写一本可访问(任何人都可以编码)的有趣的书,它使我和我的读者对使用.NET Core在Linux平台上可以做的事情有所了解。我希望它甚至可以追溯到K&R C-尽管我的肯定不会像那个伟大的小资源那样清晰和直接。最后,我希望我能提供一些有关Linux上的.NET和C#的入门知识,以激发读者从开发中获得乐趣。
介绍
这本书的封面是什么?
本书侧重于使用Visual Studio Code和Linux命令行基于DotNet Core 3.x创建和构建项目和应用程序。
所有程序都将用C#编写。当然,基于Web的项目可能包括TypeScript、JavaScript、CSS、HTML等。
这本书是给谁的?
本书非常快速地介绍了使用DotNet Core进行Linux编程。如果您是一个勇敢的初学者,则可以使用该书开始使用C#和DotNet Core 3.x库在Linux(我运行Ubuntu)上学习和编写软件。
我将尽我所能介绍资料,即使您是初学者,也可以按照以下步骤开始学习。但是,我可能会在某些话题上讲得很快,而你可能需要其他资源来在某些主题上获得更深入的了解。
本书的主要读者是具有一定开发经验的人。如果您已经进行了至少三到六个月的编码,并且喜欢编程,那么您会在这里做的很好。如果您有更多的经验,我相信您会发现这是对可以使用DotNet Core 3.x和相关技术在Linux上创建的各种事物的不错的介绍。
以应用为中心
我将提供涉及的所有主题的示例代码,但不仅限于示例代码。我们将通过至少三个完整的实用程序(通常是基于控制台的——文本用户界面TUI),以及一些适当的Web应用程序进行工作。
我不会关注用户界面问题。本书更多是关于代码的,而很少涉及用户界面(UI)。但是,我喜欢创建尽可能易于使用的应用程序,以便在适当和适用的地方,我将讨论如何创建良好的用户体验(UX),尽管图形UI可能并不总是如此。并且,当它是图形UI时,它可能是基于Web的UI。
这本书不是什么
再次,这本书是关于使用dotnet命令行和Visual Studio Code学习在Linux环境中编程的。它是关于学习编码的,仅略微强调如何创建用户界面。如果您正在寻找创建WinForm应用程序的Linux版本,这并不是。
这本书是什么
但是,如果您有兴趣学习dotnet Core,C#,编写实用程序并了解有关Linux基础的更多信息,那么这里就是您的理想选择。
我真的认为这本书是一个业余爱好者在学习通过Linux运行的DotNet Core编程。它应该很有趣...但是我是一个极客。:)
GitHub上的所有源代码
我将在GitHub存储库(repo)中提供所有代码,并且所有代码都是开源的,可免费用于您自己的项目中。
DotNet Core
dotnet命令行(基于控制台)应用程序非常出色,并且非常易于使用。如果您是Linux用户,则可能还是习惯于使用命令行。本书将重点介绍使用dotnet控制台应用程序来做我们能做的所有事情。这包括创建项目,从源文件编译和构建,添加库以及其他所有内容。
那应该使您对本书的工作方式和学习内容有所了解。现在,让我们开始安装dotnet core,Visual Studio Code并编写我们的第一个控制台应用程序。
MacOS奖金
我也在MacMini上测试了这些程序。您可以安装Visual Studio Code,.NET Core SDK和.NET Core运行时,并在终端窗口中运行所有内容,即使Mac默认情况下运行zsh(shell)也是如此。
无论您运行的是Mac还是Linux,本书中遵循的命令都是相同的。仅供参考——安装Visual Studio Code和.NET SDK等时可能会有一些差异,但是这些差异足够容易,您可以找出它们。
第2章——进入.NET Core
- Linux终端(命令行)
- 安装.Net Core 3 SDK和运行时
- 安装Visual Studio Code
- 构建并运行我们的第一个控制台(终端)程序
Linux终端
我们要做的第一件事是打开一个终端,检查是否安装了dotnet。
如果在Linux机器上找不到终端,并且正在运行Gnome桌面(例如我在Ubuntu上),则可以单击“活动”菜单(有点像Win10的“开始”按钮),然后键入:terminal。
最后,只需单击“终端”图标,它将为您打开。
测试dotnet可执行性
出现命令提示符后,键入以下内容,然后按<ENTER>。
dotnet --version
如果您在尚未安装dotnet sdk的系统上,那么您会得到类似我的截图内容,找不到该命令。
安装.NET Core SDK
让我们安装dotnet。
打开您喜欢的Web浏览器(我的FireFox),然后转到:https://dotnet.microsoft.com/download。
您会看到类似以下内容:
继续并单击[Install .NET Core]按钮。
这将带您进入一个很长的页面,其中列出了可以在其上安装.NET Core的所有各种Linux发行版(在本书中,我可能会更改对dotnet core的引用方式)。
我运行Ubuntu 18.04和Debian 10
我实际上正在将Ubuntu 18.04 Desktop作为主机运行。但是,您可能会注意到我遵循的是Debian安装。那是因为我在一个VirtualBox实例中运行Debian(带有Gnome桌面),所以我可以指导您完成所有新的安装工作。经过测试后,我确定在Ubuntu 18.04和Debian 10上安装的命令完全相同,因此它们是可互换的。这是因为Ubuntu基于Debian。
Ubuntu 18.04或Debian 10
这是开始在Ubuntu 18.04上安装所需的第一步:
复制以下内容,将其粘贴到终端中,然后按<ENTER>键,它将开始运行。
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
-O packages-microsoft-prod.deb
完成后,复制下一行并将其粘贴到终端窗口中,然后按<ENTER>。
sudo dpkg -i packages-microsoft-prod.deb
您可以看到第一个命令已运行,现在终端正在等待我按下<ENTER>以启动第二个命令:
我实际上在运行dpkg命令时忘记添加sudo,然后出现错误。但是,这里是我在sudo下再次运行它时发生的事情。
键入密码后,我看到以下内容:
它提到了sudoers文件,该文件包含一个允许提升为超级用户状态的用户名。
Linux Sudo(超级用户)
这很重要,因为这本书也是关于学习Linux的,而且您一定会遇到这些问题。
让我们看看如何解决此问题。
键入su root并按<ENTER> 。
系统将提示您输入root密码。我希望你还记得。:)
我输入的是我的,现在您可以看到我以root用户身份登录,因为在下一个图像中,提示符具有显示已登录用户的root@debian前缀。
我们需要给我的用户帐户,raddev,sudo权限。对于您的情况,您需要赋予用户名sudo权限。
安装Sudo
为此,您可能需要像我一样安装sudo。
输入以下内容,然后按<ENTER>。
apt-get install sudo -y
将用户添加到Sudo文件
现在,您可以将用户添加到sudo文件。
输入以下内容,然后再次按<ENTER>。
sudo adduser raddev sudo
退出Root
现在,让我们从root用户退出。为此,请键入:
exit
然后按<ENTER>键。
您将重新使用您的用户帐户。现在,让我们尝试再次安装dotnet core sdk。
注销/登录
我的,没用工作。我再次尝试,发现您需要注销并重新登录(或重新启动),然后您的帐户才能拥有sudo权限,因此请继续注销并重新登录。那对我有用。
登录后,继续并再次打开终端,然后再次运行以下命令:
sudo dpkg -i packages-microsoft-prod.db
我的安装是成功的。
安装.NET Core SDK
.NET Core SDK是具有所有.NET Core功能的一组库,这些功能使您可以在.NET Core中编写程序。这是Microsoft创建的一组库,这些库包装了操作系统调用以创建文件,从用户获取输入,向用户显示输出以及数千种其他内容。SDK代表软件开发套件。
这是用于构建在.NET Core之上运行的自定义程序的工具包。
当您学习如何使用.NET Core SDK编写程序时,您将学习如何在.NET Core中进行编程。
现在,我们使用以下长的多行命令安装主要的dotnet sdk:
sudo apt-get update; \sudo apt-get install -y apt-transport-https && \sudo apt-get update && \sudo apt-get install -y dotnet-sdk-3.1
将其复制并粘贴到您的终端中,按<ENTER>,它将开始安装。
完成后,您将看到类似以下的内容:
.NET Core运行时
现在,我们需要安装DotNet Core运行时。.NET Core Runtime是实际将运行您编写的代码的应用程序。您将编写代码来调用.NET Core SDK中的函数,然后将代码构建为可执行文件并在.NET Runtime中运行该代码。
这是我们将在终端窗口中运行的命令:
sudo apt-get update; \sudo apt-get install -y apt-transport-https && \sudo apt-get update && \sudo apt-get install -y aspnetcore-runtime-3.1
结果如下:
一切都已安装
这就是dotnet Core sdk和运行时所需的一切。让我们检查一下,看看有什么。
$ Prompt :Linux终端
现在,我将仅向您显示$提示,然后输入您要输入的命令。
这样,我就不用再说了,输入<ENTER>。
它看起来像:
$命令的命令选项
$ ls -al
每当您看到该命令时,请按照显示的命令运行。当然,要在终端中提交任何命令,您必须按<ENTER>。
Dotnet 是可执行的
现在已经安装了.NET Core,我们可以运行dotnet命令。
如果我们将--version传递给dotnet命令,它将使我们知道安装了哪个版本。
转到终端并输入:
$ dotnet --version
注意:请记住,这些命令区分大小写,因此您需要完全按此处显示的方式键入它们。
我们将在许多方面使用dotnet,因此我们将在其中看到更多信息。我们将使用它来创建我们的项目,构建代码,运行我们的应用程序等等。但是,现在,我们需要一个代码编辑器。
我们需要一个代码编辑器
我们正在开发第一个应用程序。但是,我们需要一个使编写代码更容易的编辑器。当然,本书中使用的编辑器是免费提供的Visual Studio Code。
Visual Studio Code不是Visual Studio
请记住,Visual Studio Code是轻量级的编辑器(与Visual Studio相比)。
Visual Studio实际上不会在Linux上运行。有Mac版本的Visual Studio,但没有Linux版本。但这很好,因为Visual Studio Code是出色的编辑器,并且非常接近完整的IDE(集成开发环境)。
Visual Studio Code并没有Visual Studio拥有的所有项目模板和所有工具,但是我相信,一旦运行它,您会感到惊讶。
我们最终将学习如何添加调试器插件,使我们可以逐步完成代码。
安装Visual Studio Code(VSC)
要了解有关VSC的更多信息,只需将您喜欢的浏览器指向:https://code.visualstudio.com
但是,有一种比从站点下载Debian软件包更好的安装Visual Studio Code的方法。我将引导您完成在Linux上安装Visual Studio Code的最流畅、最佳方法。
是的,这是更多终端安装。运行以下命令:
$ sudo apt update
接下来,运行此命令:
$ sudo apt install software-properties-common apt-transport-https curl
它将确认您要安装软件包。键入y,然后按<回车>
现在,我们使用curl导入获取Microsoft应用程序所需的Microsoft GPG密钥(安全密钥)。
必须将Visual Studio Code存储库添加到我们的系统中,以便可以安装它。
注意:以下命令很长,以至于可以换行到下一行,但是该行中没有回车符。
$ sudo add-apt-repository "deb [arch=amd64]
https://packages.microsoft.com/repos/vscode stable main"
没有输出,它仅安装存储库并返回到提示。
运行以下命令:
$ sudo apt update
您可以看到新的Microsoft存储库列表已被读入。
运行Visual Studio Code的安装
现在,我们终于可以安装Visual Studio Code。
$ sudo apt install code
Visual Studio Code安装完成
Visual Studio Code已正式安装。
让我们开始吧。
单击活动,然后在搜索栏中键入“Visual”。您将看到Visual Studio Code图标。
单击该图标,Visual Studio Code将启动。
若要学习如何使用Visual Studio Code(VSC),我们需要创建一个项目,以便我们可以开始研究Visual Studio Code的许多功能。
创建一个新项目
让我们切换回终端窗口,并使用dotnet命令行工具创建一个项目。
设置目录
让我们花一点时间讨论如何设置目录以组织开发工作。
在主目录中,创建一个名为dev的目录。
在该目录下,我将拥有以我正在使用的各种技术类型命名的目录,例如webdev,dotnet,C ++等。
在本例中,我们将从主目录创建一个名为dev的目录,然后在该目录下创建一个dotnet目录。
Linux提示符显示什么
这是我在该目录中时的提示内容:
raddev@raddev-1:~/dev/dotnet$
这意味着用户raddev登录到名称为raddev-1的计算机上。
在冒号(:)之后,您可以看到当前路径,即~/dev/dotnet,最后有提示$。您键入的任何内容都会在$提示后出现。
主目录
请记住,~代表您的主目录。这意味着如果您给出命令:
$ cd ~
然后,您将被移到主目录。
但是,该目录的完整路径是/home/username,其中username是您的用户名。
打印工作目录(pwd)
如果您想查看所在目录的完整路径,可以发出以下pwd命令:
$ pwd
正如你所看到的,我做了更改目录(cd)到home ~然后我做了一个PWD,现在我在目录/home/raddev中。
现在,您将更好地了解Linux文件系统中的位置。
我在主目录下创建了一个dev目录。在dev目录下,我创建了一个dotnet目录。我将使用以下命令从home中移回目录:
$cd dev/dotnet
创建目录(mkdir)
您可以复制/粘贴下面的命令并立即运行它,然后您将拥有与我相同的目录结构。
$ mkdir -p ~/dev/dotnet
这将在您的home目录下创建dev目录,并在dev目录下创建dotnet目录。
-p参数创建可能不存在的任何父目录(dev)。
主(Home)目录 (~) 确实有帮助
~代表您的主目录/home/username非常酷,因为我不必知道您的用户名即可为您提供良好的mkdir命令。相反,我们只使用~来指代路径的那部分。
运行命令后,继续并将目录更改为目录。
$ cd ~/dev/dotnet
进入目录后,您将知道自己所在的位置,因为您会在$提示符之前看到路径。
我们准备创建一个新的dotnet项目。
我们将创建一个基于控制台(终端)的简单程序。这很容易做到。
我们要做的就是告诉dotnet两件事:
- 我们要创建什么类型的项目(控制台)
- 我们必须告诉它项目的类型,因为您将看到,您可以使用dotnet命令创建许多不同类型的.NET项目。
- 我们要为新项目命名的名称。
dotnet new
确保您位于正确的文件夹(~/dev/dotnet/)中。继续运行命令:
$dotnet new console -o FirstConsole
文件夹中的文件夹
在DOTNET命令中的-o告诉DOTNET项目的输出名称。这将在您当前所在的文件夹中创建一个新文件夹。这就是为什么要位于~/dev/dotnet文件夹中。创建项目后,您将拥有一个新文件夹~/deve/dotnet/FirstConsole/,该文件夹内将是dotnet命令创建的所有项目文件。
将目录更改为新的项目目录:
$ cd FirstConsole
列出目录(lsl):
$ ls -al
此项目中只有一个源文件(Program.cs)。另一个文件是项目文件。
我们现在可以构建程序。
$ dotnet build
该程序成功编译并生成,因为我们没有收到任何警告或错误。
现在,我们可以运行该程序了。
$ dotnet run
就是这样。仅一行输出。
顺便说一句,当您给出一个命令时,dotnet将为您构建并运行该应用程序:
$ dotnet run
这样,如果您只想运行该应用程序但已进行了更改,则只需给出一个命令,然后dotnet会为您完成所有工作。
Visual Studio Code
让我们在Visual Studio Code中打开该项目,并查看源代码以结束第一章。
如果VSC没有打开,请继续打开它。
您会在VSC中看到正常的起始页。
转到[文件]菜单,然后选择[打开文件夹...]菜单项。
选择菜单项后,将打开文件浏览器应用程序。
您将单击左侧的[主页],然后向下导航至dev/dotnet/,然后选择dotnet为您的项目创建的FirstConsole文件夹。
单击FirstConsole文件夹后,然后单击右上角的[确定]按钮。
Visual Studio Code将加载文件夹和文件,并将它们显示在左侧的文件视图中。
您会看到VSC标题栏包含项目的名称(FirstConsole)。
并且,在左侧,有七个图标(顶部为5,底部为2),可用于导航至其他VSC功能。
当前选择了文件视图图标。
放大镜是搜索功能。
三节点形状允许您访问版本控制软件Git。这使您可以跟踪源代码中的更改。
带有三角形的错误使您可以访问调试器。
带四个块的图标使您可以访问有助于扩展VSC功能的插件。其中之一对于使用至关重要,因为它将提供Intellisense功能(代码完成和信息),并允许我们逐行调试和逐步执行C#代码。
圆人图标可让您登录到Microsoft开发人员帐户。
最后,使用该工具可以访问VSC配置项,并检查更新和更多内容。
现在没有打开的文件,但是让我们继续,在文件导航器中单击Program.cs文件,以便我们可以编辑一些代码。
安装插件
当您单击该项目时,您将看到代码显示在右侧,而小的弹出对话框将出现在VSC的右侧。
VSC知道您打开了C#文件,因此它试图通过让您知道要安装C#插件来提供帮助,该插件将为您提供更多功能。继续并单击[安装]按钮。
完成后,它将开始安装。
请注意,现已选择插件图标(突出显示的白色)。您可以看到已安装了Linux版OmniSharp软件包(x64)。
再次单击文件浏览器图标(顶部图标),以便您可以再次看到C# Program.cs文件。
选择左侧的Program.cs文件,以便该文件在编辑器中打开。
让我们改变输出到控制台(终端)的文本,这样就不只是“Hello World!”,用户将看到“Hello, Linux-World!”。
您所要做的就是单击文件内部,然后在双引号之间键入该代码。
Console.WriteLine("Hello, Linux-World!");
带数字的小蓝色圆圈
您可能会在左上方的文档图标顶部看到一个带有数字的蓝色小圆圈。这表明该文件已更改但尚未保存。
继续并保存文件(CTRL + s),蓝色圆圈将消失。显然,要在运行程序时看到对源代码所做的更改,必须将它们保存到文件中。
转回您的终端。您仍应位于~/dev/dotnet/FirstConsole目录中。
运行以下命令,您将看到所做的更改。请记住,执行run命令时,如果发生更改,您还告诉dotnet构建源代码。
$ dotnet run
这个程序是如何运行的?
基本代码仅定义Main()方法或函数。这被认为是应用程序的入口点。那只是意味着一切开始。
这意味着当您告诉dotnet构建应用程序时,它会设置一些内部内容,以便操作系统知道从何处启动程序。
该程序启动时,只有一个命令可以运行(Console.WriteLine)。
System.Console库
该命令实际上是C#开发人员编写的函数。实际的函数名称是WriteLine,但他们将函数放在名为Console的库中。他们这样做是为了组织职能。实际上,库的全名是System.Console。
之所以看不到该System名称的一部分,是因为它已经添加到Program.cs文件的顶部(using System;),因此您不必每次都键入它。
像盒子一样的库
您可以将这些库视为盒子。当您要运行特定功能时,需要转到正确的盒子并在其中查看。某些盒子(库)中还有其他盒子。
在我们的例子中,我们查看了系统库(盒子)内部,找到了控制台库,然后在其中找到了一个名为WriteLine()的方法或函数,该方法或函数知道如何将消息输出到终端(控制台)窗口。
您可以查找此库并在Microsoft的开发人员网站上正常运行。它看起来像以下内容:
https://docs.microsoft.com/zh-cn/dotnet/api/system.console.writeline?view=netcore-3.1
注意,在左侧,您可以看到已选择该WriteLine方法,而在右侧,我们看到了说明该方法的主文档。
从顶部开始,我们看到名称Console.WriteLine,接下来是系统的命名空间(库或框)。我们接下来看到的是Assembly:System.Console.dll。这是我们安装的.NET Core SDK一部分的实际文件。这是一个特殊的文件,其中包含我们从程序中调用的功能(方法)。DLL代表动态链接库。这是一种幻想的表达方式,您可以根据需要(动态)将此特殊库链接到您的程序中,以便拥有Microsoft开发人员为您使用而创建的功能。
最后,在“重载”部分(这意味着有很多方法可以调用该WriteLine方法)下,我们看到了第二个选项WriteLine(String)和一个定义(以灰色突出显示)。
这是我们正在使用的WriteLine()方法的形式。我们给它传递一个String(用双引号引起的一个或多个字符表示一种String类型)。
当我们传递String时,它将其写入标准输出流(终端)。
在本书中,我们将介绍更多细节。现在,这是对第一个基本程序中正在发生的事情的很好的坚实理解。
总结
这是对编程领域和Linux领域的长期介绍。您已经学到了很多,现在您已经了解了:
- 如何使用Visual Studio Code
- 如何在Linux文件系统中移动
- 如何建立目录
- 如何使用dotnet命令创建、构建和运行项目
- 一个简单的控制台应用程序的功能及其如何执行的基础知识
请阅读下一篇的 使用.NET Core 3进行Linux编程:第3章 。
使用.NET Core进行Linux编程3:简介和第2章相关推荐
- linux编程是否含7,第7章Linux编程简介.ppt
第7章Linux编程简介 ARM 应用系统设计第7章 Linux编程简介 佘黎煌 东北大学信息科学与工程学院 电子信息工程研究所 嵌入式Linux概况 现在 Linux 广泛用于各类计算应用,不仅包括 ...
- Linux编程手册读书笔记第三章(20140407)
外壳函数执行一条中断机器指令(int 0x80),引发处理器从用户态切换到核心态,并执行系统中断0x80的中断矢量所指向的代码.(在2.6内核及glib 2.3.2之后的版本都支持sysenter指令 ...
- Linux编程手册读书笔记第五章(20140408)
改变已打开文件性质:fcntl() #include<fcntl.h> int fcntl(int fd, int cmd, -); (1) 调用失败返回-1 (2)fcntl函数有5种 ...
- Linux编程手册读书笔记第四章(20140407)
标准文件描述符定义在<unistd.h>中,STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO 打开一个文件:open() #include<s ...
- Linux编程基础案例:第4章Shell编程
案例4-1:已知/etc/passwd文件中的各项以:分隔,若使用awk命令处理/etc/passwd文件,提取其中的第1项和第3项,并使用空格分隔提取结果,则可以使用如下命令. awk -F: '{ ...
- Linux编程基础案例:第6章Linux进程管理
案例6-1:使用fork()函数创建一个进程,进程创建成功后使父进程与子进程分别执行不同的功能. test_fork.c #include <stdio.h> #include <s ...
- 使用.NET Core 3进行Linux编程:第3章
目录 第3章--数据类型和基本控制结构 在学习编写代码的过程中使用代码 重命名Main函数 学习处理错误 一步一步地完成每一步 错误代码 什么是函数签名? 重载函数:大量可接受的函数签名 修正您的Ma ...
- 编程实现linux中的who命令功能,Linux who命令简介及使用方法详解
玩蛇网推荐图文教程:python 列表 本文是关于Linux who命令简介及使用方法详解一文.如果你是一名系统管理员,可能需要需要在一个特定的时间点都有谁活跃在系统上.以便必须严密监视我们的服务器. ...
- linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...
一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash shell支持的Bourne变量 Bo ...
最新文章
- Linux服务器安装JDK、Tomcat配置web网站
- 1020 Tree Traversals (25 分) 【难度: 中 / 知识点: 哈希表建树 遍历树】
- java Jsoup不能获取完整响应内容
- centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)
- Srping MVC入门推荐
- 智慧交通day03-车道线检测实现05:透视变换+代码实现
- 《Dubbo迈出云原生重要一步-应用级服务发现解析》
- UIButton 的简单运用
- js图片滚动详细介绍
- Python基本操作(三)标准运算符与赋值
- 第 10 章 数组和指针
- LeetCode刷题(32)
- 黑莓 os6 html5,黑莓OS 6内置浏览器HTML5性能超越其他平台
- 1081 Rational Sum (20 分) 分数计算+最大公约数
- 华硕k5555l拆解图解_华硕k50id的拆机过程详解【图文教程】
- 恒压供水程序 三菱plc恒压供水程序,威纶触摸屏程序
- element-ui安装失败解决方法
- Android和风SDK,Android 和风天气SDK获取天气
- RK3566和S905X3/S905X4对比哪个好?
- 【建议背诵】2022下半年软考「高项」100题(2)
热门文章
- linux静态反汇编工具,源码恢复反汇编静态分析工具IDA pro
- 华为畅享20不能升级鸿蒙,华为mate20可以升级鸿蒙os吗-mate20能不能更新鸿蒙系统...
- openwrt打印机支持列表_共享打印机的三种安装连接方法
- java异常中return_求大神!!!!java 异常处理中return的意思
- mysql 修改字段长度 合并语句_mysql中利用sql语句修改字段名称,字段长度等操作...
- pythonnumpy矩阵详解_python常用模块numpy解析(详解)
- linux ntfs 用户权限,linux权限及ntfs文件系统权限的知识
- 想要高清壁纸,高图桌面壁纸网站值得收藏!
- lambda不是python的保留字_python-nonlocal关键字的使用,lambda表达式(学习到function到变...
- java知识点_JAVA面试必会知识点「mysql部分」