Android Framework | Linux 基础知识:入门指南

Android Framework | Linux 基础知识:入门指南

进行Android Framework开发需要具备基本的Linux基本知识,下面是一份Linux基础知识入门指南,希望对你有所帮助!

1. 简介

Linux 是一种免费、开源的操作系统,它是由芬兰程序员 Linus Torvalds 在 1991 年开发的。Linux 操作系统具有很高的自由度和可定制性,广泛应用于服务器、嵌入式系统、移动设备等领域。

Linux 的历史可以追溯到 1991 年,当时的 Linus Torvalds 开始着手开发一种新的操作系统内核,这个内核最初被称为“Freax”,后来改名为 Linux。随着开源运动的兴起,Linux 逐渐成为了一个庞大的开源项目,吸引了全球范围内的许多程序员和用户的参与。

Linux 在计算机领域的应用非常广泛,它被用作服务器操作系统、桌面操作系统、嵌入式系统、移动设备操作系统等。其中,Linux 在服务器领域的应用尤为广泛,据统计,目前全球约有三分之二的 Web 服务器都采用 Linux 操作系统。此外,Linux 还被广泛应用于科学计算、云计算、人工智能等领域,成为了现代计算机领域中不可或缺的一部分。

下面给出一个简单的示例代码,展示如何使用 Linux 命令行获取当前日期和时间:

date

该命令会输出当前的日期和时间,例如:

Mon Jan 24 15:33:21 CST 2022

可以看到,Linux 操作系统提供了许多强大的命令行工具,它们可以帮助我们完成各种任务,提高工作效率。

2. Linux 文件系统

文件和目录是 Linux 文件系统中最基本的组成部分。在 Linux 中,一切皆文件,包括文本文件、二进制文件、目录等。

文件和目录的基本概念:

  • 文件:在 Linux 中,文件是数据的有序集合,可以存储文本、图像、音频等各种类型的数据。文件可以分为普通文件和特殊文件(如设备文件、链接文件等)。
  • 目录:目录是用来组织和存储文件的容器,它可以包含文件和其他目录。根目录是 Linux 文件系统的顶级目录,所有文件和目录都从根目录开始构建。

Linux 文件系统的层次结构:
Linux 文件系统采用了一种层次化的结构,被称为“树状目录结构”。下面是常见的 Linux 文件系统层次结构:

  • /:根目录,位于文件系统的最顶层。
  • /bin:存放系统执行文件的目录。
  • /etc:存放系统配置文件的目录。
  • /home:存放用户主目录的目录。
  • /lib:存放系统库文件的目录。
  • /tmp:存放临时文件的目录。
  • /usr:存放用户程序和文件的目录。
  • /var:存放可变数据文件的目录。

常用的文件和目录操作命令:

  • ls:显示目录内容。
  • cd:切换工作目录。
  • pwd:显示当前工作目录的路径。
  • mkdir:创建目录。
  • touch:创建空文件或更新文件的访问和修改时间。
  • cp:复制文件或目录。
  • mv:移动文件或目录,也可用于文件和目录的重命名。
  • rm:删除文件或目录。
  • cat:查看文件内容。
  • grep:在文件中搜索指定的模式。
  • chmod:修改文件或目录的权限。
  • chown:修改文件或目录的所有者。
  • chgrp:修改文件或目录的所属组。

下面是一个示例代码,演示如何使用 Linux 命令行创建一个名为 “example” 的目录:

mkdir example

通过执行上述命令,将在当前工作目录下创建一个名为 “example” 的目录。您可以通过运行 ls 命令来查看目录是否成功创建:

ls

该命令将显示当前目录下的文件和目录列表,包括新创建的 “example” 目录。

3. Linux Shell

Shell 是 Linux 操作系统中的命令行解释器,它充当用户与操作系统内核之间的接口。Shell 可以理解和执行用户输入的命令,并将其传递给内核进行处理。

Shell 的概念和作用:
Shell 是一个用于与操作系统交互的命令行界面。它接收用户输入的命令并将其传递给内核执行,然后将执行结果返回给用户。Shell 还提供了一些功能强大的编程特性,如变量、条件语句、循环等,使用户能够编写脚本来自动化任务。

常见的 Linux Shell 类型:
Linux 中存在多种不同的 Shell 类型,每种类型都具有不同的特点和语法。以下是一些常见的 Linux Shell 类型:

  • Bourne Shell (sh):最早的 Unix Shell,具有基本的命令解释功能。
  • Bash (Bourne Again Shell):在 sh 的基础上进行扩展和改进,是目前大多数 Linux 系统默认使用的 Shell。
  • C Shell (csh):在语法和特性上类似于 C 语言,提供了更多的交互特性。
  • Korn Shell (ksh):结合了 sh 和 csh 的特点,提供了更强大的编程功能。
  • Zsh (Z Shell):在 Bash 的基础上进行扩展,提供了更多的功能和配置选项。

基本的 Shell 命令和语法:
Shell 命令由命令名称和选项组成,可以接受参数并执行相应的操作。以下是一些常见的 Shell 命令和语法示例:

  • ls:列出当前目录的文件和子目录。
  • cd:切换工作目录。
  • pwd:显示当前工作目录的路径。
  • echo:将指定的内容输出到终端。
  • grep:在文本文件中搜索指定的模式。
  • chmod:修改文件或目录的权限。
  • if-else 语句:用于条件判断,根据条件执行不同的命令。
  • for 循环:用于重复执行一系列命令。
  • 变量赋值和引用:使用变量存储和引用数据。

下面是一个示例代码,演示如何使用 Bash Shell 创建一个名为 “hello.sh” 的脚本,并输出 “Hello, World!”:

#!/bin/bash
echo "Hello, World!"

通过执行上述代码,将创建一个名为 “hello.sh” 的脚本文件,并使用 echo 命令输出 “Hello, World!” 到终端。您可以使用以下命令运行脚本:

bash hello.sh

执行上述命令后,将会在终端输出 “Hello, World!” 的结果。

4. 用户和权限管理

Linux 允许多个用户同时使用系统,并为每个用户提供独立的文件和目录。为了保护系统的安全性和数据的完整性,Linux 使用了基于用户和权限的访问控制机制。

用户和用户组的概念:
Linux 中的用户是指使用系统的人或程序,每个用户都有一个唯一的用户名和密码。用户组是一组相关用户的集合,可以将一组用户赋予同样的文件和目录访问权限。

用户和用户组管理命令:
以下是一些常见的 Linux 用户和用户组管理命令:

  • useradd:用于添加新用户。
  • passwd:用于更改用户密码。
  • usermod:用于修改用户帐户的属性。
  • userdel:用于删除用户。
  • groupadd:用于添加新用户组。
  • groupmod:用于修改用户组的属性。
  • groupdel:用于删除用户组。

文件和目录权限的概念和设置:
在 Linux 中,每个文件和目录都有一组读、写和执行权限。以下是一些常见的文件和目录权限设置命令:

  • chmod:用于修改文件和目录的权限。
  • chown:用于修改文件和目录的所有者。
  • chgrp:用于修改文件和目录的所属组。

文件和目录的权限由三组权限位组成,分别是文件所有者权限、所属组权限和其他用户权限,每组权限位包括读、写和执行三种权限,可以用数字或符号来表示。以下是一些示例:

  • chmod 755 file:将文件的所有者设置为读、写、执行权限,所属组和其他用户设置为读、执行权限。
  • chmod u+x file:将文件的所有者添加执行权限。
  • chown user:group file:将文件的所有者设置为 user,所属组设置为 group。

下面是一个示例代码,演示如何使用 Linux 命令行创建一个名为 “example.txt” 的文本文件,并将其所有者设置为当前用户:

touch example.txt
chmod 600 example.txt
chown $USER:$USER example.txt

通过执行上述命令,将在当前工作目录下创建一个名为 “example.txt” 的文本文件,并使用 chmod 命令将其权限设置为只能由所有者读写,然后使用 chown 命令将其所有者和所属组都设置为当前用户。

5. 进程管理

进程是计算机系统中正在运行的程序的实例。每个进程都有自己的内存空间,可以并发地与其他进程交互。Linux 提供了丰富的工具和命令来管理进程和监控系统资源。

进程的概念和特点:
进程是正在运行的程序的实例,每个进程都有自己的标识符、状态和内存空间。进程可以并发地与其他进程交互,从而实现多任务处理和并发执行的功能。

进程的创建、终止和管理:
Linux 允许用户创建、启动、停止和管理进程,以下是一些常用的进程管理命令:

  • ps:用于查看当前运行的进程。
  • top:用于实时监控系统资源和进程使用情况。
  • kill:用于终止进程。
  • pkill:用于根据名称或其他属性杀死进程。
  • nice:用于修改进程的优先级。
  • renice:用于修改已经运行的进程的优先级。
  • nohup:用于在后台运行进程,即使终端关闭也不受影响。

常用的进程管理命令:
以下是一些常用的进程管理命令及其示例:

  • ps -ef:列出当前所有进程的详细信息。
  • top:实时监控系统资源和进程使用情况。
  • kill PID:终止指定进程,其中 PID 是进程的标识符。
  • pkill -f process_name:根据名称或其他属性杀死进程。
  • nice -n 10 command:启动一个进程并将其优先级设置为 10。
  • renice 10 PID:修改已经运行的进程的优先级为 10。
  • nohup command &:在后台运行进程,即使终端关闭也不受影响。

下面是一个示例代码,演示如何使用 Linux 命令行启动一个名为 “example.sh” 的脚本,并在后台运行:

nohup ./example.sh > /dev/null 2>&1 &

通过执行上述命令,将使用 nohup 命令启动一个名为 “example.sh” 的脚本,并将其输出重定向到 /dev/null 中,从而将其所有输出都丢弃。最后,使用 & 符号将其放入后台运行。

6. 网络和通信

网络和通信是现代计算机系统不可或缺的一部分,Linux 提供了丰富的工具和命令来配置网络、建立网络连接,并提供各种网络服务和工具。

网络配置和网络连接命令:
Linux 允许用户配置网络接口、IP 地址、子网掩码、网关等,以下是一些常用的网络配置和连接命令:

  • ifconfig:用于查看和配置网络接口的信息。
  • ip:用于配置网络接口、路由和策略。
  • route:用于查看和配置路由表。
  • ping:用于测试与目标主机之间的连通性。
  • traceroute:用于跟踪数据包从源主机到目标主机的路径。
  • netstat:用于监控网络连接和统计信息。

基本的网络服务和网络工具:
Linux 提供了丰富的网络服务和工具,用于实现各种网络功能,以下是一些常见的网络服务和工具:

  • ssh:用于远程登录到其他计算机并执行命令。
  • scp:用于在本地计算机和远程计算机之间进行安全的文件传输。
  • ftp:用于在本地计算机和远程计算机之间进行文件传输。
  • curl:用于发送和接收数据的命令行工具。
  • wget:用于从 Web 上下载文件的命令行工具。
  • nslookup:用于查询 DNS 记录。
  • dig:用于执行 DNS 查询。

远程登录和文件传输:
通过使用 ssh 和 scp 命令,可以在 Linux 系统中实现远程登录和文件传输的功能。以下是一些示例:

  • 远程登录到其他计算机:
ssh username@hostname

其中,username 是要登录的远程计算机的用户名,hostname 是远程计算机的 IP 地址或主机名。

  • 从本地计算机复制文件到远程计算机:
scp local_file username@hostname:remote_directory

其中,local_file 是要复制的本地文件的路径,username 是远程计算机的用户名,hostname 是远程计算机的 IP 地址或主机名,remote_directory 是要将文件复制到的远程目录。

  • 从远程计算机复制文件到本地计算机:
scp username@hostname:remote_file local_directory

其中,username 是远程计算机的用户名,hostname 是远程计算机的 IP 地址或主机名,remote_file 是要复制的远程文件的路径,local_directory 是要将文件复制到的本地目录。

请注意,上述命令中的 username、hostname、local_file、remote_directory 和 remote_file 都需要根据实际情况进行替换。

7. 软件包管理

软件包管理是 Linux 中非常重要的一项任务,它允许用户轻松地安装、更新和卸载软件包,以及管理相关的依赖关系。Linux 提供了多种软件包管理工具,以满足不同用户的需求。

软件包的概念和作用:
软件包是一组相关文件和程序,通常包括可执行文件、库文件、配置文件、文档等。软件包可以方便地安装、更新和卸载,同时也可以管理软件包之间的依赖关系和冲突。

常见的 Linux 软件包管理工具:
Linux 中有多种软件包管理工具可供选择,以下是一些常见的工具:

  • dpkg:Debian 系统中的基本软件包管理工具,用于安装、更新和卸载软件包。
  • apt:Debian 系统中的高级软件包管理工具,提供自动依赖关系解析和更新检查等功能。
  • yum:Red Hat 系统中的主要软件包管理工具,提供自动依赖关系解析和更新检查等功能。
  • dnf:Fedora 和 CentOS 等系统中的软件包管理工具,是 yum 的后继者,提供更快的性能和更好的依赖关系解析。
  • pacman:Arch Linux 系统中的软件包管理工具,提供快速的软件包安装和更新。
  • zypper:openSUSE 系统中的软件包管理工具,提供自动依赖关系解析和更新检查等功能。

软件包的安装、更新和卸载:
Linux 中的软件包管理工具允许用户轻松地安装、更新和卸载软件包,以下是一些常用的命令:

  • 安装软件包:
sudo apt install package_name

其中,package_name 是要安装的软件包的名称。

  • 更新软件包:
sudo apt update
sudo apt upgrade

第一条命令用于更新可用的软件包列表,第二条命令用于更新已安装的软件包。

  • 卸载软件包:
sudo apt remove package_name

其中,package_name 是要卸载的软件包的名称。

请注意,上述命令中的 package_name 都需要根据实际情况进行替换。

8. 系统日志和故障排除

系统日志是系统中非常重要的一部分,它记录了系统运行时发生的各种事件和错误信息,对于故障排除和系统性能监控非常有帮助。在 Linux 系统中,有一些常见的系统日志文件用于记录不同类型的信息。

系统日志的重要性和作用:
系统日志记录了系统运行时的各种事件、警告和错误信息,它可以帮助管理员了解系统的运行状况,及时发现问题并进行处理,同时还可以用于系统性能监控和安全审计等方面。

常见的系统日志文件:
在 Linux 系统中,有一些常见的系统日志文件用于记录不同类型的信息,以下是一些常见的日志文件:

  • /var/log/messages:记录了系统的一般信息和事件。
  • /var/log/syslog:记录了系统的一般信息和事件,通常包括来自各个服务的消息。
  • /var/log/auth.log:记录了用户认证和授权相关的信息,例如登录和 su/sudo 操作。
  • /var/log/kern.log:记录了内核相关的信息和事件。
  • /var/log/dmesg:记录了系统启动过程中内核的消息。

故障排除和基本的故障处理方法:
当系统出现故障或问题时,管理员可以通过查看系统日志文件来定位和解决问题,同时还可以采取一些基本的故障处理方法,例如:

  • 查看日志文件:
tail -f /var/log/messages

可以通过 tail 命令查看最新的系统日志信息,使用 -f 选项可以实时查看日志文件的更新。

  • 检查服务状态:
systemctl status service_name

可以通过 systemctl 命令查看特定服务的状态,如果发现服务异常,可以尝试重启或重新加载服务。

  • 检查网络连接:
ping target_address

可以通过 ping 命令测试与目标主机之间的连通性,如果网络连接存在问题,可以尝试重新配置网络接口或检查网络设备。

请注意,上述命令中的 service_name 和 target_address 都需要根据实际情况进行替换。

9. 常用的 Linux 工具和技巧

常见的文本处理工具:
在 Linux 系统中,有一些常见的文本处理工具,用于对文本文件进行查找、替换、过滤等操作,以下是一些常见的文本处理工具:

  • grep:用于在文本中搜索指定模式的行,并输出匹配的结果。
  • sed:用于对文本进行流式编辑,可以进行替换、删除、插入等操作。
  • awk:用于按行处理文本并进行特定的操作,可以用于数据提取和报表生成等任务。

Shell 脚本编程基础:
Shell 脚本是一种用于自动化执行一系列命令的脚本语言,它可以帮助用户批量执行任务、编写自定义工具等。以下是一个简单的 Shell 脚本示例,用于打印当前目录下的所有文件和文件夹:

#!/bin/bash
for item in *; do
    echo $item
done

Linux 命令行技巧和快捷键:
在 Linux 命令行中,有一些常用的技巧和快捷键可以提高工作效率,例如:

  • 使用 Tab 键自动补全命令和文件名。
  • 使用 Ctrl+C 终止当前命令的执行。
  • 使用 Ctrl+Z 将当前命令放入后台暂停运行。
  • 使用 Ctrl+D 退出当前的 shell 会话。
  • 使用历史命令:
    • 使用上下箭头键浏览历史命令。
    • 使用 !n 重新执行第 n 条历史命令。

通过掌握这些技巧和快捷键,可以更高效地在 Linux 命令行中工作。

10. 总结与扩展

Linux 学习资源推荐:
学习 Linux 的过程中,有一些优质的学习资源可以帮助你更好地掌握和理解 Linux 系统,以下是一些推荐的学习资源:

  • 官方文档:Linux 发行版的官方文档提供了详细的说明和指南,可以作为学习的重要参考资料。
  • 在线教程和课程:有许多在线平台提供了丰富的 Linux 学习资源,例如 Coursera、edX、Udemy 等。
  • Linux 社区和论坛:加入 Linux 相关的社区和论坛,与其他 Linux 爱好者交流、分享经验和解决问题。

拓展学习主题和进阶话题建议:
一旦掌握了基本的 Linux 知识,你可以进一步拓展学习其他相关的主题和进阶话题,以提升自己在 Linux 领域的技术水平。以下是一些建议:

  • 网络管理和安全:学习如何配置网络、防火墙和安全策略,了解常见的网络攻击和防御技术。
  • Shell 脚本高级编程:深入学习 Shell 脚本编程,包括函数、流程控制、错误处理等高级技术。
  • 系统性能优化:了解如何通过调整内核参数、优化磁盘和内存使用等手段来提高系统性能。
  • 自动化和配置管理:学习使用工具如 Ansible、Puppet、Chef 等来实现自动化部署和配置管理。
  • 容器和容器编排:探索 Docker 和 Kubernetes 等容器技术,了解容器化应用部署和管理的方法。
  • 云计算和虚拟化:学习如何在云环境下部署和管理 Linux 系统,了解虚拟化技术和云平台的使用。

通过深入学习这些主题和进阶话题,你可以更全面地了解和掌握 Linux 系统,为自己的职业发展打下坚实的基础。记住,持续学习和实践是提升技能的关键!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/290824.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Java SSM框架实现固定资产管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现固定资产管理系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&a…

【科研绘图】手把手教你Origin安装以及汉化,附带网盘链接

Origin安装 1.下载文件压缩包2.(软件安装部分)解压,以管理员身份运行,.exe,下一步3. (软件设置部分)打开软件无需更改,点OK4. (破解部分),找到刚才…

基于gitlab 12.8.0版本的完整镜像过程

目前已在一台服务器上安装了gitlab 12.8.0,并且稳定运行了有几年了,其上面也创建了大量的项目。目前要求对该gitlab及其上面的所有仓库做一个完整的镜像。具体操作过程如下: 1、确认现有的gitlab的版本号 2、到gitlab官网下载相同版本号的gi…

生活中危险的气体:一氧化碳与二氧化碳中毒的症状及安全预防措施

一氧化碳和血红蛋白亲和力超过氧气,会占用血红蛋白,导致缺氧。 二氧化碳会和血浆结合,导致血液pH值不正常,抑制呼吸,导致窒息。 通俗点说:一氧化碳是中毒,二氧化碳则是窒息。 一氧化碳中毒 …

d3dcompiler_43.dll丢失怎么修复?怎么解决

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到d3dcompiler_43.dll文件”。那么,d3dcompiler_43.dll是什么文件?它的作用是什么?如果缺失了该如何修复呢?本文将详细介绍d3dcompiler_…

一款神仙级SpringCloud微服务开源项目,接私活吊到不行!(附源码)

今天给大家推荐一个牛逼的接私活项目,SpringCloud微服务架构项目! 一个由商业级项目升级优化而来的微服务架构,采用SpringBoot 2.7 、SpringCloud 等核心技术构建,提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租…

CDD文件的制作

CDD文件 1、核查诊断调查表2、制作CDD3、Diva测试 1、核查诊断调查表 ECU级别:包括文档相关、控制器的诊断ID和时间参数,支持的服务,DTC、DID、刷写流程。 2、制作CDD 2.1、cddt编辑思路(每一步都要根据调查表进行操作&#xf…

【Netapp数据恢复】Netapp存储lun被删除如何恢复数据?

Netapp存储数据恢复环境&故障情况: 某单位一台Netapp存储,该Netapp存储内共有数十块SAS硬盘。 工作人员误操作删除了Netapp存储中12个lun,删除的数据包括客户信息和其他重要数据。 Netapp存储数据恢复过程: 1、将故障存储中所…

在Go语言中处理HTTPS请求

随着互联网的发展,安全性变得越来越重要。HTTPS作为安全的HTTP协议,已经被广泛使用。在Go语言中,处理HTTPS请求需要一些特定的步骤。本文将详细介绍如何在Go语言中处理HTTPS请求。 首先,确保你已经安装了Go语言的开发环境&#x…

【Python机器学习】评估模型

以鸢尾花数据为例,将测试数据中的每朵鸢尾花进行预测,并将预测结果与已知标签结果进行对比,可以计算精度来衡量模型的优劣。精度就是品种预测正确的结果占比。 import numpy as np from sklearn.datasets import load_iris from sklearn.mod…

炼石白小勇:免改造数据安全技术,破局信创安全升级难点

2023年7月13日,由中国计算机学会主办,中国计算机学会抗恶劣环境计算机专委会、江苏省企业联合会、江苏省互联网协会、中国计算机学会南京会员活动中心联合承办的“2023(第六届)CCF自主可控计算机大会”在江苏南京盛大开幕。本次会…

深度学习中的大模型「幻觉」问题:解析、原因及未来展望

如何解决大模型的「幻觉」问题? 什么是大模型「幻觉」 大模型幻觉是指在深度学习领域中,尤其是涉及大型神经网络时,模型展现出在理论上不应具备的性能或能力。这种现象可能导致误导性的结果,表现为在训练数据上过度拟合&#xff0…

无线温振传感器在石油石化行业设备状态监测的使用场景

石油石化行业作为全球能源供应的重要支柱,在生产和加工过程中依赖大量设备和机械设施。为了确保设备的正常运行和生产的连续性,设备状态监测显得尤为关键。无线温振传感器作为一种先进的智能传感技术,为石油石化行业设备状态监测提供了全新的…

FBL刷写

刷写 1、刷写需求的理解2、刷写流程2.1、预编程阶段:保证在编程阶段的动作能够正常操作,控制器给响应。整车功能不会出现问题 刷写某一控制器时,避免其他控制器集DTC,85控制DTC; 28 通信控制.保证总线负载率不要过高(下…

死锁的处理策略“避免死锁”-第三十八天

目录 什么是安全序列? 不安全情况 安全情况 安全序列 系统的不安全状态 银行家算法 寻找安全序列 寻找不安全序列 代码实现 重点回顾 什么是安全序列? 偷图小能手 不安全情况 安全情况 安全序列 概念:指如果系统按照这种序列分配…

从零开始学习Nginx

下载 nginx下载地址:http://nginx.org/en/download.html 启动 双击nginx.exe。打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe ,回车即可 PS:如果安装目录是中文的情况,打开exe文件时会报…

外汇天眼:交易如何突破“知行合一”这关?

接触交易之后有无数次想要放弃交易,在交易中的失败实在是太痛苦了,有时候这种失败是打击的作为一个人的最根本的自信,这种失败让我质疑我自己“本就是个普通人,不要想太美的事情”“为什么学习这么多还是不能盈利,我真…

SpringBoot配置文件

文章目录 配置文件配置文件的格式.properties格式.yml格式配置信息读取 .properties VS .yml 配置文件 配置文件是用来配置整个项目中的重要数据的,像最基本项目的启动端口、数据库的连接信息等等。对于一个完整的SpringBoot项目而言,配置文件是必不可少…

外包干了3年,技术水平倒退明显。。。

前言 简单说下我的情况吧!普通本科的科班生,19年的时候通过校招进了一家小自研,工资还凑合,在里面带了一年多,公司没了,疫情期间找工作很麻烦,后面就开始自己近3年的外包生涯,这三年…