技术献文-小白如何正确使用Linux(2-进阶篇)

2024-09-01 07:04

本文主要是介绍技术献文-小白如何正确使用Linux(2-进阶篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

先言

方面一:深入命令行与系统配置

摘要

主要讲解

正文

一、引言

二、深入命令行

(一)高级命令行工具

1. grep 与正则表达式

2. awk 和 sed

3. find 和 locate

(二)命令行脚本编写

1. 基础脚本结构

2. 函数定义与调用

3. 错误处理

(三)命令行快捷键与技巧

1. 历史命令的利用

2. 命令补全与路径补全

3. 管道与重定向

三、系统配置

(一)用户和权限管理

1. 理解用户和组

2. 文件和目录权限设置

(二)系统服务管理

1. 了解系统服务

2. 启动、停止和重启服务

3. 服务配置文件

(三)网络配置

1. IP 地址配置

2. 路由配置

3. 防火墙配置

四、总结

方面二:软件安装与服务管理

摘要

主要讲解

正文

一、引言

二、软件安装

(一)基于包管理器的安装

1. APT(Debian 系,如 Ubuntu)

2. YUM(Red Hat 系,如 CentOS)

(二)软件源的配置

1. 官方软件源

2. 第三方软件源

(三)从源代码安装

1. 获取源代码

2. 解压并配置

3. 编译与安装

三、服务管理

(一)服务的概念与类型

1. 系统服务

2. 应用服务

(二)服务的启动、停止与重启

systemctl (Systemd 系统)

service 命令

(三)服务的自启动设置

systemctl (Systemd 系统)

chkconfig (某些旧系统)

(四)服务的配置文件

四、总结

后言


先言

在上次的技术献文中,我们讲解了《小白如何正确使用Linux(1-基础篇)》,进阶篇也将从两个方面进行讲解!

方面一:深入命令行与系统配置

摘要

对于想要更深入了解和熟练使用 Linux 的小白用户来说,掌握命令行操作和系统配置是关键的进阶步骤。本文将详细介绍命令行的高级用法、系统配置的重要方面以及相关的实用技巧,帮助小白用户提升在 Linux 系统中的操作能力和效率。

主要讲解

Linux;命令行;系统配置;进阶

正文

一、引言

在初步接触 Linux 系统后,小白用户若想进一步提升自身的技能水平,从而更加高效、灵活地运用这一强大的操作系统,深入学习命令行和系统配置是必不可少的进阶之路。这不仅能让用户更深入地理解 Linux 的工作原理,还能显著提高工作效率和解决问题的能力。

二、深入命令行

(一)高级命令行工具
1. grep 与正则表达式

grep 命令是在文本中进行搜索的强大工具。对于小白用户来说,掌握基本的搜索模式已能满足一些日常需求,但要处理更复杂的文本匹配,就需要结合正则表达式。正则表达式是一种用于描述模式的规则语言,能够精确地定义所需的文本格式。

例如,要搜索包含特定格式的 IP 地址(如 192.168.0.1 这种形式),可以使用正则表达式 [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 与 grep 结合。同样,搜索有效的电子邮件地址格式也可以通过精心编写的正则表达式来实现。

2. awk 和 sed

awk 是一种用于文本处理和数据提取的工具。它可以根据指定的分隔符将每行文本分割成字段,并对这些字段进行操作。比如,可以轻松计算文本中某一列数字的总和、平均值,或者提取特定字段的内容。

sed 则专注于对文本进行流编辑,允许在不打开文件的情况下直接修改文件的内容。例如,将文件中所有出现的某个单词替换为另一个单词,或者删除特定行。

3. find 和 locate

在文件众多的 Linux 系统中,快速准确地找到所需文件至关重要。find 命令能够根据各种条件(如文件大小、修改时间、所有者等)在整个文件系统中进行深度搜索。

而 locate 则通过预先构建的数据库来快速定位文件,但其搜索结果可能不是实时的,对于新创建或最近修改的文件可能无法立即找到。

(二)命令行脚本编写
1. 基础脚本结构

一个完整的命令行脚本通常以 #!/bin/bash 开头,这告诉系统使用 Bash 解释器来执行脚本。接着,可以定义变量来存储数据,例如 my_variable="Hello, Linux" 。

条件判断语句(如 if-else )允许根据不同的条件执行不同的操作。例如, if [ $my_variable == "Hello, Linux" ]; then echo "Match"; else echo "No Match"; fi 。

循环结构(如 for 和 while )可以重复执行一段代码。 for item in "item1" "item2" "item3"; do echo $item; done 是一个简单的 for 循环示例。

2. 函数定义与调用

将经常使用的一系列操作封装为函数,可以大大提高脚本的可读性和可维护性。例如,定义一个函数来检查某个进程是否正在运行:

check_process() {pid=$(pgrep $1)if [ -z "$pid" ]; thenecho "$1 is not running"elseecho "$1 is running with PID: $pid"fi
}

然后在脚本的其他地方通过 check_process my_process_name 来调用该函数。

3. 错误处理

在脚本中,可能会遇到各种错误情况,如文件不存在、权限不足等。使用 set -e 可以使脚本在遇到错误时立即退出。

另外,还可以使用 trap 命令来捕获特定的信号(如 SIGINT 表示中断信号)并执行相应的处理代码,确保脚本在被意外中断时能进行必要的清理工作。

(三)命令行快捷键与技巧
1. 历史命令的利用

通过上下箭头键可以方便地浏览之前执行过的命令。使用 Ctrl + R 可以进行反向搜索,只需输入命令的部分关键字,就能快速找到相关的历史命令。

2. 命令补全与路径补全

按下 Tab 键,系统会尝试自动补全正在输入的命令或文件路径。如果有多个可能的选项,按两次 Tab 键会显示所有选项。

3. 管道与重定向

管道 | 允许将一个命令的输出作为另一个命令的输入,从而实现多个命令的串联操作,以完成复杂的任务。

重定向操作(如 > 用于覆盖输出、 >> 用于追加输出、 < 用于输入重定向)可以将命令的输出保存到文件,或者从文件读取数据作为命令的输入。

三、系统配置

(一)用户和权限管理
1. 理解用户和组

在 Linux 中,用户和组是进行权限控制的基础概念。每个用户都有唯一的用户名和用户 ID (UID) ,用户可以属于一个或多个组。

创建新用户可以使用 useradd 命令,同时可以指定用户的主目录、登录 shell 等属性。删除用户则使用 userdel 命令。

组的管理通过 groupadd 和 groupdel 命令进行,使用 usermod 命令可以将用户添加到或从组中移除。

2. 文件和目录权限设置

文件和目录的权限分为读(r)、写(w)和执行(x)三种。对于文件,读权限允许查看文件内容,写权限允许修改文件内容,执行权限对于脚本和程序才有意义。

对于目录,读权限允许列出目录中的文件,写权限允许在目录中创建、删除文件,执行权限允许进入目录。

可以使用 chmod 命令来修改权限,例如 chmod 755 file.txt 赋予文件所有者读、写、执行权限,组和其他用户读和执行权限。

使用 chown 命令可以更改文件或目录的所有者, chgrp 命令则用于更改所属组。

(二)系统服务管理
1. 了解系统服务

Linux 系统启动时会自动启动一系列服务,如网络服务、打印服务等。了解每个服务的功能和用途对于系统的优化和管理非常重要。

可以通过 systemctl list-units --type=service 命令查看系统中正在运行和已安装的服务。

2. 启动、停止和重启服务

使用 systemctl start service_name 启动服务, systemctl stop service_name 停止服务, systemctl restart service_name 重启服务。

还可以使用 systemctl enable service_name 使服务在系统启动时自动启动, systemctl disable service_name 禁止自动启动。

3. 服务配置文件

大多数服务都有相应的配置文件,通常位于 /etc 目录下。通过修改配置文件可以调整服务的行为,如更改监听端口、设置日志级别等。

(三)网络配置
1. IP 地址配置

可以使用 ifconfig 或 ip addr 命令查看网络接口的信息。静态 IP 地址的配置通常在 /etc/network/interfaces 文件(对于某些旧版本的系统)或通过 nmcli 命令(对于使用 NetworkManager 的系统)进行。

动态 IP 地址的获取可以通过 DHCP 服务自动完成,配置信息通常由网络中的 DHCP 服务器提供。

2. 路由配置

使用 route 命令可以查看和管理系统的路由表。添加、删除静态路由可以通过相应的命令参数实现。

3. 防火墙配置

Linux 系统中的防火墙通常使用 iptables 或 firewalld 进行配置。可以设置允许或拒绝特定的端口、IP 地址或网络协议的访问。

四、总结

对于小白用户来说,从基础操作迈向深入命令行和系统配置的进阶阶段是一个充满挑战但也极具收获的过程。通过掌握高级命令行工具、熟练编写脚本、有效利用快捷键和技巧,以及深入理解和管理系统配置,用户能够更加自如地驾驭 Linux 系统,充分发挥其强大的功能和灵活性。不断的实践和探索将进一步巩固这些技能,为在 Linux 世界中的更高级应用和创新奠定坚实的基础。

方面二:软件安装与服务管理

摘要

在 Linux 系统的使用中,软件安装与服务管理是进阶操作的重要环节。本文将针对小白用户,详细介绍 Linux 系统中软件安装的多种方法,包括包管理器的使用、源代码编译安装等,同时深入探讨服务管理的相关知识,如服务的启动、停止、自启动设置等,帮助小白用户更好地掌握 Linux 系统的软件安装与服务管理技能。

主要讲解

Linux;软件安装;服务管理;进阶技巧

正文

一、引言

随着对 Linux 系统的熟悉程度逐渐提高,小白用户需要掌握更深入的技能来满足各种需求。软件安装和服务管理是日常使用中经常遇到的操作,熟练掌握这些技能可以提高系统的可用性和功能性。

二、软件安装

(一)基于包管理器的安装

包管理器是 Linux 系统中用于安装、更新和管理软件包的工具,不同的 Linux 发行版通常会有自己特定的包管理器。

1. APT(Debian 系,如 Ubuntu)

APT(Advanced Packaging Tool)是 Debian 及其衍生发行版(如 Ubuntu)中常用的包管理器。它提供了一种方便、高效的方式来安装和管理软件。

首先,使用 sudo apt update 命令来更新软件源信息。这一步非常重要,因为它确保您获取到最新的软件包列表和可用版本信息。

然后,使用 sudo apt install package_name 命令来安装指定的软件包。例如,如果您想安装 Vim 文本编辑器,可以输入 sudo apt install vim 。

APT 还支持其他有用的操作,如 sudo apt remove package_name 用于删除软件包, sudo apt upgrade 用于升级已安装的软件包到最新版本。

2. YUM(Red Hat 系,如 CentOS)

在 Red Hat 及其衍生发行版(如 CentOS)中,YUM(Yellowdog Updater, Modified)是常用的包管理器。

类似于 APT ,在使用 YUM 进行安装之前,需要先运行 sudo yum update 命令来更新软件源。

要安装软件包,使用 sudo yum install package_name 命令。例如,安装 Apache 服务器可以输入 sudo yum install httpd 。

YUM 也支持删除软件包( sudo yum remove package_name )和升级软件包( sudo yum upgrade )等操作。

(二)软件源的配置

软件源是软件包的存储库,配置合适的软件源可以确保您能够获取到所需的软件以及最新的更新。

1. 官方软件源

大多数 Linux 发行版在安装时都会默认配置官方软件源。官方软件源通常经过发行版团队的测试和验证,稳定性较高。

然而,有时官方源中的软件版本可能不是最新的,特别是对于一些较新的或特定领域的软件。

2. 第三方软件源

为了获取最新的软件版本或特定的软件,用户可能需要添加第三方软件源。但在添加第三方源时需要格外小心,确保其来源可靠,以避免潜在的安全风险。

例如,一些流行的第三方软件源如 EPEL(Extra Packages for Enterprise Linux)为 CentOS 等系统提供了额外的软件包。

添加第三方软件源通常需要编辑相关的配置文件,如在 Ubuntu 中编辑 /etc/apt/sources.list ,在 CentOS 中编辑 /etc/yum.repos.d/*.repo 。

(三)从源代码安装

从源代码安装软件虽然相对复杂,但在某些情况下是必要的,例如获取最新的特性或满足特定的定制需求。

1. 获取源代码

用户可以从软件的官方网站或代码托管平台(如 GitHub)获取源代码压缩包。通常,源代码会以 .tar.gz 或 .tar.bz2 等格式提供。

2. 解压并配置

解压源代码后,进入解压后的目录。大多数源代码包都会包含一个 configure 脚本,用于检查系统环境和配置安装选项。

在终端中运行 ./configure 命令。这个过程中,它会检查系统是否具备所需的编译工具、库文件等,如果缺少某些依赖,configure 过程可能会报错,此时您需要根据提示安装相应的依赖。

3. 编译与安装

运行 make 命令进行编译。这一过程可能需要一些时间,具体取决于软件的大小和您的系统性能。

编译成功后,使用 sudo make install 命令进行安装。这将把软件安装到系统的指定位置。

但需要注意的是,这种方式需要用户具备一定的编译环境和依赖库的知识,否则可能会遇到各种问题。

三、服务管理

(一)服务的概念与类型

服务是在后台持续运行,为系统提供各种功能支持的程序。

1. 系统服务

系统服务是 Linux 系统本身所依赖的关键服务,如网络服务(负责网络连接和通信)、打印服务(管理打印任务)、SSH 服务(允许远程登录)等。

这些服务通常由系统自动启动,并在后台默默工作,以确保系统的正常运行和基本功能的可用。

2. 应用服务

由用户安装的应用程序可能也会作为服务运行,如数据库服务(如 MySQL 、PostgreSQL )、Web 服务器(如 Apache 、Nginx )等。

这些服务通常是为了支持特定的应用程序或提供特定的功能,用户可以根据自己的需求进行启动、停止和配置。

(二)服务的启动、停止与重启

在不同的 Linux 发行版中,可以使用不同的命令来管理服务。

  • systemctl (Systemd 系统)

在采用 Systemd 作为初始化系统的发行版(如较新的 Ubuntu 、CentOS 等)中,可以使用 systemctl 命令来管理服务。

启动服务: sudo systemctl start service_name

停止服务: sudo systemctl stop service_name

重启服务: sudo systemctl restart service_name

查看服务状态: sudo systemctl status service_name ,它会显示服务是否正在运行、启动失败的原因等详细信息。

  • service 命令

在一些较旧的发行版中,可能会使用 service 命令来管理服务。

启动服务: sudo service service_name start

停止服务: sudo service service_name stop

重启服务: sudo service service_name restart

(三)服务的自启动设置

很多服务需要在系统启动时自动启动,以确保相关功能随时可用。

  • systemctl (Systemd 系统)

启用自启动: sudo systemctl enable service_name

禁用自启动: sudo systemctl disable service_name

  • chkconfig (某些旧系统)

在一些使用 SysVinit 作为初始化系统的旧发行版中,可以使用 chkconfig 命令来设置服务的自启动。

例如, sudo chkconfig service_name on 启用自启动, sudo chkconfig service_name off 禁用自启动。

(四)服务的配置文件

大多数服务都有相应的配置文件,用于设置服务的参数和行为。

配置文件的位置通常因服务和发行版而异。例如,Apache 服务器的主要配置文件可能是 /etc/httpd/conf/httpd.conf ,MySQL 数据库的配置文件可能在 /etc/mysql/my.cnf 。

用户可以通过编辑这些配置文件来更改服务的监听端口、最大连接数、日志级别等参数。但在编辑配置文件时要格外小心,错误的配置可能导致服务无法正常启动。

四、总结

软件安装和服务管理是 Linux 系统使用中的重要技能。通过掌握基于包管理器的安装方法、源代码安装的步骤以及服务的管理操作,小白用户可以更加灵活和高效地配置自己的 Linux 系统,满足各种个性化的需求。同时,在进行这些操作时,要注意遵循最佳实践和安全原则,以确保系统的稳定和安全。随着不断的实践和经验积累,用户将能够更加熟练地驾驭 Linux 系统,充分发挥其强大的功能。

后言

进阶篇的难度不大,主要是在于操作系统的实践,在高级篇中,将展示应用的实践,如果我将的没有听懂,可以再次搜索,因为我的废话有亿点多。

这篇关于技术献文-小白如何正确使用Linux(2-进阶篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126269

相关文章

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain