![](https://img-blog.csdnimg.cn/bcc5427ef8f34c279135a9afc9e74047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 96
这个专栏收录了Linux的知识点,以及学习心得
Yawesh
劳动光荣,勤劳致富!
合作加V:YWS_yang
展开
-
【探索Linux】P.38(传输层 —— TCP协议通信连接管理机制简介 | TCP连接状态转换)
本文全面总结了TCP协议的通信连接管理机制,包括连接的建立和终止过程。文章详细描述了TCP的状态转换图,阐释了从LISTEN到CLOSED的各个状态及其转换过程。特别地,对TIME_WAIT状态进行了深入分析,解释了其在确保连接可靠终止和防止旧数据干扰中的重要性。同时,讨论了TIME_WAIT状态对系统资源的影响,并提出了优化措施,以提高网络通信的效率和稳定性。原创 2024-07-10 11:24:47 · 1062 阅读 · 26 评论 -
【探索Linux】P.37(传输层 —— TCP协议通信机制 | 确认应答(ACK)机制 | 超时重传机制)
本文深入剖析了TCP协议中的确认应答(ACK)机制和超时重传机制,这两个关键特性共同确保了数据传输的可靠性。确认应答机制通过序列号的使用,确保了数据的有序接收和完整性,同时允许检测和指示丢包情况。而超时重传机制则通过设置超时计时器,对未被确认的数据段进行重传,以应对可能的传输失败。文章还探讨了快速重传和拥塞控制等优化措施,以及这些机制对网络性能和数据传输可靠性的影响。原创 2024-07-05 11:49:15 · 1034 阅读 · 32 评论 -
【探索Linux】P.36(传输层 —— TCP协议段格式)
本文提供了TCP协议关键特性的简明总结,包括TCP段的基本结构、控制位的功能、接收窗口大小及其在流量控制和拥塞控制中的应用,以及紧急指针的作用,旨在帮助读者快速理解TCP协议如何确保网络通信的可靠性和效率。原创 2024-07-03 11:49:59 · 1474 阅读 · 32 评论 -
【探索Linux】P.35(传输层 —— UDP协议)
本文提供了对UDP协议的全面概览,从其基础的端格式到关键特点,再到缓冲区管理,以及基于UDP的多种应用层协议。UDP以其简单、快速的特性,在不保证数据顺序和可靠性的前提下,支持了广泛的实时和流媒体应用,展示了其在现代网络通信中不可或缺的作用。原创 2024-06-26 14:10:04 · 1421 阅读 · 41 评论 -
【探索Linux】P.34(HTTPS协议)
本文深入探讨了HTTPS及其加密机制,首先解释了HTTPS的基本概念,包括加密的定义、加密的必要性以及常见的加密方法,如对称加密和非对称加密。接着,文章详细介绍了证书认证,特别是CA(证书授权中心)的作用和重要性。最后,文章重点分析了HTTPS的加密底层原理,阐明了非对称加密、对称加密和证书认证三者如何协同工作,确保数据传输的安全性和完整性。通过这三个部分,读者可以全面了解HTTPS如何保护网络通信的安全。原创 2024-06-16 19:50:32 · 1670 阅读 · 36 评论 -
【探索Linux】P.33(HTTP协议)
本文概述了网络编程的核心概念,包括URL的结构、URL编码与解码、HTTP请求方法、状态码、常见请求头和响应头。最后,通过一个简单的示例,展示了如何创建一个基本的HTTP服务器,为初学者提供了网络编程的入门知识。原创 2024-04-30 20:47:45 · 1634 阅读 · 55 评论 -
运用自定义协议设计与实现“跨网络计算器”
本篇文章详细介绍了一个网络计算服务系统的构建过程,包括日志、协议、服务器和客户端四大模块的设计和实现。日志模块提供系统运行记录,协议模块定义数据交换格式,服务器模块处理计算请求,客户端模块负责与用户交互。文章还包含了Makefile文件的编写,以简化编译过程。整个系统的设计注重模块化和实用性,旨在提供高效的远程计算服务。原创 2024-04-27 00:01:10 · 1422 阅读 · 54 评论 -
【探索Linux】P.32(自定义协议)
本文介绍了自定义网络协议的基础知识,讨论了设计时的关键考虑因素,并以一个跨网络计算器协议为例,详细展示了自定义协议的设计和实现过程。文章首先解释了自定义协议的概念,然后强调了在设计协议时需要注意的事项,如数据完整性和安全性。通过分析Protocol.hpp中的代码,文章深入讲解了如何进行数据的序列化与反序列化,定义请求和响应的结构,并在实际的网络通信中应用这些自定义协议。最终,文章总结了自定义协议的重要性和其在特定场景下的应用价值。原创 2024-04-22 13:02:25 · 1443 阅读 · 46 评论 -
【探索Linux】P.31(守护进程)
本文首先介绍了守护进程的概念和特点,探讨了它作为后台运行并独立于用户控制的进程类型。随后重点讨论了如何使用C++语言创建守护进程的主要步骤,通过详细讲解实现原理和操作方法,读者将能够全面了解创建守护进程的过程。这篇文章旨在帮助读者掌握利用C++编程语言创建守护进程的技巧,以便在项目开发中灵活应用守护进程来实现各种功能需求。原创 2024-03-29 20:41:56 · 3063 阅读 · 64 评论 -
【探索Linux】P.30(序列化和反序列化 | JSON序列化库 [ C++ ] )
JSON作为一种常用的数据交换格式,在各种编程语言中得到广泛应用。对于C++开发者来说,选择合适的JSON序列化库可以极大地简化处理JSON数据的过程。本文将介绍三种常用的C++ JSON序列化库:RapidJSON、nlohmann/json和jsoncpp。我们将重点探讨它们的特点、使用方法及示例,帮助读者更好地了解如何在C++中处理JSON数据。通过本文的学习,您将能够更加灵活、高效地操作JSON数据,提升开发效率。原创 2024-03-27 11:04:12 · 1674 阅读 · 49 评论 -
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
本文将介绍一个基于C++语言实现的TCP网络程序模拟,主要包括TCP服务器端和客户端的开发。通过学习本文,您将了解如何使用线程池管理并发连接、编写makefile文件进行项目管理、实现日志记录和将进程转变为守护进程等功能。最终,您将掌握TCP协议在实际网络通信中的应用,为您打下坚实的网络编程基础。让我们开始这次有趣的学习之旅吧!原创 2024-03-22 15:24:43 · 1396 阅读 · 44 评论 -
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
本文将介绍如何使用UDP协议进行网络通信,并通过C++语言实现一个简单的UDP服务器端和客户端模拟。我们将学习如何编写makefile文件、实现日志记录,以及如何打开指定的终端设备文件作为标准错误输出的目标文件描述符。通过这些实例,您将更好地理解UDP协议的应用和实际工作原理。让我们开始探索UDP协议的世界吧!原创 2024-03-20 10:53:38 · 1987 阅读 · 46 评论 -
【探索Linux】P.27(网络编程套接字 —— UDP协议介绍 | TCP协议介绍 | UDP 和 TCP 的异同)
用户数据报协议(UDP,User Datagram Protocol)是一个简单的面向数据报的传输层协议,它在互联网协议族中与传输控制协议(TCP)并列,为应用程序提供了一种非常基础的服务:将应用程序数据报从一台主机发送到另一台主机。然而,与TCP不同的是,UDP不提供可靠性保证,也不实现数据包的顺序控制、重发机制或是拥塞控制。这种设计选择使得UDP在某些场景下比TCP更高效、更适用。原创 2024-03-15 02:05:37 · 3086 阅读 · 62 评论 -
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
这篇文章详细介绍了常见的 Socket API,包括各种函数的用途和功能。首先列出了这些常见函数,并逐一进行了详细介绍。其中包括了socket()用于创建套接字、bind()用于绑定地址、listen()用于监听连接等基本函数,以及sendto()、recvfrom()等用于数据传输的函数。此外,还介绍了一些与套接字操作相关的函数,如setsockopt()、getsockopt()以及地址转换函数inet_pton()等。通过该文章,读者可以全面了解这些常见 Socket 函数的作用和用法。原创 2024-03-08 16:46:13 · 2361 阅读 · 60 评论 -
【探索Linux】P.25(网络编程套接字基本概念 —— 预备知识)
这篇文章涵盖了网络编程中的关键概念和数据结构,包括套接字基础、IP地址、端口号、网络字节序以及 `sockaddr`、`sockaddr_in` 和 `in_addr` 结构的使用。通过该文章,读者可以了解如何处理地址和端口信息以实现网络通信。原创 2024-03-06 11:33:01 · 1829 阅读 · 48 评论 -
【探索Linux】P.24(网络基础)
这篇文章主要介绍了计算机网络的基本知识,包括网络发展历史、协议概念和初识、网络传输基本流程、数据包封装和分用以及网络中的地址管理。文章从网络的发展历史开始,讲述了网络技术的演变过程,接着介绍了协议的概念和作用,以及常见的OSI参考模型和TCP/IP协议族模型。然后,文章详细描述了同一网段内和跨网段主机的文件传输流程,以及数据包封装和分用原理。最后,文章介绍了IP地址和MAC地址的含义和作用,帮助读者更好地理解网络中的地址管理。原创 2024-03-03 13:17:30 · 1340 阅读 · 34 评论 -
【探索Linux】P.23(线程池 —— 简单模拟)
本文首先介绍了线程池的概念和作用,简单说明了线程池可以有效管理和重用线程,提高系统性能和响应速度。接着给出了在Linux下实现线程池的代码结构,包括Makefile文件、头文件(Task.hpp、thread.hpp、threadPool.hpp)和源文件(testMain.cpp)。最后,文章列举了线程池的优点,包括提高性能、控制并发度、提高响应速度、简化线程管理和控制资源占用等。通过本文的内容,读者可以了解线程池的基本原理、实现代码以及优点,为进一步学习和应用线程池提供了基础知识。原创 2024-02-24 22:14:28 · 1408 阅读 · 48 评论 -
【Linux | C++ 】基于环形队列的多生产者多消费者模型(Linux系统下C++ 代码模拟实现)
在本文中,我们将详细探讨基于环形队列的生产者消费者模型的设计和实现。我们将介绍环形队列的数据结构,分析生产者和消费者之间的同步机制,探索如何利用前文提到的POSIX信号量以及其他同步工具(如互斥锁)来实现生产者和消费者之间高效、安全的数据交换。通过具体的代码示例和案例分析,读者将能够深入理解生产者消费者模型的工作原理,掌握如何在实际项目中设计和实现基于环形队列的高效同步模型原创 2024-02-20 11:08:31 · 1619 阅读 · 39 评论 -
【探索Linux】 P.22(POSIX信号量)
POSIX信号量是一种用于进程或线程间同步的机制,它提供了一种控制资源访问的方法,确保在任何时刻只有特定数量的线程可以访问特定的资源。这在处理资源共享问题时尤其重要,比如,在操作系统、数据库管理系统等领域,正确的使用信号量可以有效避免死锁和竞态条件,保证系统的稳定运行。原创 2024-02-17 18:20:38 · 2004 阅读 · 56 评论 -
【Linux | C++ 】生产者消费者模型(Linux系统下C++ 代码模拟实现)
生产者消费者模型是多线程编程中的一个经典案例,它涉及到两类线程:生产者和消费者。生产者线程不断地生成数据,并将数据放入一个缓冲区中,消费者线程则不断地从缓冲区中获取数据,并进行相应的处理。在这个过程中,为了保证数据的完整性和正确性,需要使用同步机制来协调两类线程之间的操作,以避免数据竞争和死锁等问题的发生。本文将介绍如何使用条件变量来实现生产者消费者模型,帮助读者更好地理解多线程编程中的同步机制和技术。原创 2023-12-13 09:57:43 · 3429 阅读 · 60 评论 -
【探索Linux】P.21(多线程 | 线程同步 | 条件变量 | 线程安全)
这篇文章主要介绍了一些与多线程编程相关的概念,包括线程同步、条件变量、线程安全等。在多线程编程中,为了避免竞态条件和数据竞争等问题,需要使用锁定机制来保证共享资源的同步和互斥访问,从而实现线程安全。而条件变量则可以作为一种高级的同步机制,用于线程之间的通信和同步。此外,还介绍了可重入性和线程安全性之间的关系,以及全局变量对线程安全性的影响等问题。总之,本文为读者提供了一些基础的多线程编程知识和技巧,有助于更好地理解和应用多线程编程。原创 2023-12-10 00:25:57 · 2177 阅读 · 55 评论 -
【探索Linux】P.20(多线程 | 线程互斥 | 互斥锁 | 死锁 | 资源饥饿)
这篇文章涵盖了多线程编程中的关键概念,包括线程互斥、互斥锁、死锁和资源饥饿。在多线程编程中,线程互斥是确保多个线程安全访问共享资源的重要机制。互斥锁是一种常用的同步工具,用于实现线程互斥。然而,如果互斥锁使用不当,可能会导致死锁的发生,即多个线程相互等待对方释放资源而无法继续执行。此外,资源饥饿是另一个并发问题,指某些线程由于无法获取所需资源而陷入无法执行的状态。本文还提供了解决死锁和资源饥饿问题的方法,如预防死锁、避免死锁、检测与解除死锁以及公平性调度和优先级继承等。原创 2023-12-06 16:31:15 · 2468 阅读 · 54 评论 -
【探索Linux】P.19(多线程 | 线程的概念 | 线程控制 | 分离线程)
这篇文章介绍了多线程编程的基本概念、线程控制和分离线程等方面。多线程是一种并发编程模型,能够充分利用多核处理器的计算能力,提高程序的运行效率和响应速度。文章介绍了线程的概念,包括线程的创建、同步和互斥机制等基本概念。接着,文章介绍了线程控制,包括线程的启动、暂停、恢复和终止等操作。最后,文章介绍了分离线程,即在线程执行完毕后自动释放线程资源,避免资源泄漏和内存浪费。通过阅读这篇文章,读者可以了解多线程编程的基本知识和技巧,掌握线程的创建、控制和管理方法,以实现多任务编程和并发处理。原创 2023-12-03 01:31:26 · 2144 阅读 · 53 评论 -
【探索Linux】P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )
本文介绍了三个主题:信号捕捉、可重入函数与不可重入函数以及volatile关键字。在信号捕捉部分,讲解了内核实现信号捕捉的过程,并介绍了sigaction()函数的原型、参数、返回值以及使用方法。接着,文章对可重入函数和不可重入函数进行了对比,分别说明了它们的条件和特征。最后,提到了volatile关键字的作用。这些内容全面介绍了相关知识点,有助于读者理解和应用这些概念。原创 2023-11-30 03:17:18 · 4120 阅读 · 82 评论 -
【探索Linux】P.17(进程信号 —— 信号保存 | 阻塞信号 | sigprocmask() | sigpending() )
这篇文章主要介绍了与信号相关的常见概念,以及涉及到信号阻塞和信号集操作的函数。首先,文章解释了信号递达、信号未决、阻塞信号和忽略信号这些常见概念。然后,通过示意图展示了信号在内核中的表示方式。接着,介绍了sigset_t数据类型,它用于表示信号集。文章还列举了一些信号集操作函数,用于对信号集进行操作。接下来,文章详细介绍了sigprocmask()函数,该函数用于设置和修改进程的信号屏蔽字,从而实现信号的阻塞。最后,文章提及了sigpending()函数,该函数用于获取当前进程挂起的信号集。原创 2023-11-28 11:11:38 · 2519 阅读 · 63 评论 -
【探索Linux】P.16(进程信号 —— 信号产生 | 信号发送 | 核心转储)
本文介绍了信号的基本概念和产生方式。首先,介绍了信号是一种异步通知机制,用于在进程间传递消息或通知发生的事件。然后,提到了通过终端按键、调用系统函数(如kill()和abort())以及软件条件(如alarm())产生信号的方法。最后,提及了硬件异常产生信号的情况。通过本文,读者可以了解信号的基本概念和产生方式,以及其在进程间通信和错误处理中的应用价值。原创 2023-11-25 15:27:12 · 1959 阅读 · 57 评论 -
【探索Linux】P.15(进程间通信 —— system V共享内存)
本文主要介绍了System V IPC机制中的共享内存。首先,解释了System V的概念,并详细介绍了共享内存的概念、示意图和数据结构。接下来,给出了使用共享内存的步骤,包括包含头文件、获取键值、创建共享内存段、连接共享内存、访问共享内存和分离共享内存。然后,给出了一个共享内存的使用示例,涉及进程1创建共享内存并写入数据,进程2连接共享内存并读取数据。最后,总结了共享内存的优点和缺点,包括高效的数据交换、方便的数据共享以及需要开发者自行处理同步和互斥问题等。原创 2023-11-15 20:13:01 · 926 阅读 · 50 评论 -
【探索Linux】P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)
进程间通信(IPC)是操作系统中一个重要的概念,允许多个进程之间进行数据交换和协作。进程间通信的方式包括管道、消息队列、信号量、共享内存、套接字等,每种方式都有其特定的优势和适用场景。进程间通信对于构建分布式系统、实现并行计算、提高系统性能和可伸缩性等方面都具有重要意义。不同的应用需求和系统特点决定了选择哪种通信方式,在设计和实现过程中需要综合考虑诸如数据传输速度、可靠性、安全性和开销等因素。原创 2023-11-12 02:55:07 · 991 阅读 · 76 评论 -
【探索Linux】P.13(文件系统 | 软硬链接 | 动态库和静态库)
本文将深入讨论 Linux 系统中的文件系统、软硬链接、动态库和静态库等概念。首先,我们介绍了 Linux 文件系统的基本概念和组成部分,包括文件和目录的层次结构以及常见的文件系统类型。接着,我们探讨了软硬链接的区别和使用方法,解释了它们在 Linux 系统中的应用场景。然后,我们详细说明了动态库和静态库的概念、特点以及使用方式,帮助读者理解它们在程序开发和编译过程中的作用。通过本文的阐述,读者将对 Linux 系统中文件系统、软硬链接、动态库和静态库有更深入的了解,为其日后的应用和开发提供有价值的指导。原创 2023-11-05 23:07:55 · 1684 阅读 · 83 评论 -
【探索Linux】P.12(文件描述符 | 重定向 | 基础IO)
前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的一些知识,也学习了一些Linux的基本操作,也了解并学习了有关Linux开发工具vim 、gcc/g++ 使用、yum工具以及git 命令行提交代码也相信大家都掌握的不错,上一篇文章我们了解了基础IO,文件操作,今天博主带大家了解一下 ——文件描述符及重定向, 下面话不多说坐稳扶好咱们要开车了!!!😍。原创 2023-10-21 13:13:55 · 677 阅读 · 63 评论 -
【探索Linux】P.11(基础IO,文件操作)
根据上文的章节目录,本文主要介绍了 C 语言、C++ 和 Linux 系统中的文件操作实现方法。其中,C 语言提供了一组用于文件操作的标准库函数,如open()、write()、read()、close()等。C++ 的文件操作依赖于标准库中的fstream,使用fstream类可以方便地进行文件的打开、读取、写入和关闭等操作,并且文件流对象也提供了一些基本的文件操作函数。可以通过这些方法实现对文件的基本操作,例如创建、打开、读写等。原创 2023-10-16 02:51:15 · 1137 阅读 · 157 评论 -
【探索Linux】P.10(进程的控制——创建、终止、等待、程序替换)
本文介绍了进程的创建、终止、等待和程序替换等几个方面的内容。通过fork函数可以创建子进程,利用写时拷贝技术实现高效的进程创建。进程终止可通过调用exit函数、_exit函数、return语句或异常终止实现。父进程可以使用wait和waitpid函数等待子进程的退出,并获取子进程的状态。进程程序替换通过exec函数族实现,可以将当前进程的执行映像替换为新的可执行文件。学习了这些内容,有助于深入理解进程管理和编程的相关概念。原创 2023-09-25 03:31:08 · 1082 阅读 · 84 评论 -
【探索Linux】P.9(进程地址空间)
本文探讨了进程地址空间的概念、组成和设计原理,并介绍了地址空间在计算机系统中的重要性和优点。进程地址空间是每个进程独立拥有的内存空间,通过虚拟地址空间和页表等机制,实现了内存的虚拟化、隔离和保护。地址空间的存在提供了内存隔离、虚拟化内存、共享和交互、动态内存管理等优势。对于理解和应用计算机系统的内存管理有着重要的指导作用。原创 2023-09-17 19:29:18 · 2777 阅读 · 133 评论 -
【探索Linux】P.8(进程优先级、环境变量)
本文介绍了Linux操作系统中的两个重要概念:进程优先级和环境变量。在进程优先级方面,讨论了其概念,如何查看系统中的进程及其优先级信息,以及PRI和NI的作用。在环境变量方面,解释了环境变量的概念,如何查看环境变量的方法,环境变量的组织方式,以及通过代码获取环境变量的值。此外,还总结了进程优先级和环境变量的特点。通过对这些概念和方法的理解,可以更好地管理和配置系统,在程序开发中灵活应用。原创 2023-09-06 22:26:36 · 1954 阅读 · 64 评论 -
【探索Linux】P.7(进程 · 进程的概念)
本文主要介绍了进程相关的内容。首先介绍了进程的概念,即计算机中正在运行的程序的实例,并提到了进程标识符(PID)和进程相关的资源。接下来,介绍了PCB,它是操作系统用来管理和跟踪进程的数据结构,包含了进程的状态信息和其他重要信息。然后,讲解了如何查看进程列表,以获取当前系统中运行的进程的信息,以及不同操作系统下的查看进程的方法。接着,介绍了fork函数,它是在Unix和类Unix系统中常用的函数,用于创建一个新的进程,返回新进程的PID。然后,讨讨论了进程的几种状态。原创 2023-09-05 16:20:17 · 2145 阅读 · 60 评论 -
【探索Linux】P.6(调试器-gdb、项目自动化构建工具-make/Makefile)
本文介绍了调试器和自动化构建工具的基本概念和使用方法。调试器是一种帮助程序员诊断和修复程序错误的工具,常用的调试器是GDB,它提供了设置断点、单步执行、查看变量值等功能。自动化构建工具是一种用于管理项目构建的工具,常用的工具是make,它通过makefile文件定义构建规则和依赖关系,可以自动化执行编译、链接等操作。通过使用调试器和自动化构建工具,程序员可以更高效地调试和构建项目,提高开发效率和代码质量。原创 2023-08-19 17:50:59 · 1809 阅读 · 46 评论 -
【探索Linux】P.5(yum工具、git 命令行提交代码)
本文介绍了软件包管理器yum和Git命令行提交代码。yum是Linux操作系统中用于管理软件包的工具,它简化了软件安装和更新的过程。而Git是一个分布式版本控制系统,用于管理代码的开发和版本控制。本文提供了yum和Git的基本概念、常用指令和使用示例,帮助读者更好地管理软件包和进行代码提交。原创 2023-08-18 21:54:56 · 2231 阅读 · 36 评论 -
【探索Linux】P.4(编译器 gcc/g++ 使用)
本文介绍了编译的四大过程以及gcc和g++在Linux下的使用。编译的四大过程包括预处理、编译、汇编和链接,每个阶段都起着不同的作用,最终将源代码转换为可执行文件。gcc支持多种编程语言,包括C和C++。本文详细介绍了gcc的概念、主要特性和命令行选项。而g++则是gcc套件中的C++编译器,专注于编译和链接C++代码,并提供了与gcc类似的功能和选项。本文也涵盖了g++的概念以及常用的命令和选项。通过阅读本文,读者将对编译的过程有更深入的了解,并掌握在Linux下使用gcc和g++的基本技巧原创 2023-08-17 17:08:11 · 1505 阅读 · 63 评论 -
【探索Linux】P.3(Linux开发工具 vim)
Vim是一款功能强大的文本编辑器,被广泛用于Linux系统和其他操作系统。本文从三个方面介绍了Vim:概念、特点以及相关指令。首先,文章解释了Vim的概念,包括它的起源和演变。然后,文章介绍了Vim的特点,包括跨平台、高度可定制和支持插件等。接下来,文章详细描述了Vim的三种模式及其相关指令:命令模式、插入模式和末行模式。最后,文章提及了简单的Vim配置,这使得用户可以根据自己的需求进行个性化设置。通过本文的介绍,读者将对Vim有一个全面的了解,从而能够更加高效地使用这款编辑器。原创 2023-08-15 20:15:44 · 2379 阅读 · 51 评论 -
【探索Linux】P.2(Linux下基本指令)
本文介绍了一些Linux下的几个基本指令包含:ls 指令、pwd命令、cd 指令、touch指令、mkdir指令、rmdir指令、rm 指令、man指令、cp指令、mv指令、cat指令、more指令、less指令、head指令、tail指令、时间相关的指令、Cal指令、find指令、grep指令、zip/unzip指令、tar指令、bc指令、uname –r指令、重要的几个热键、关机指令原创 2023-08-07 15:42:13 · 3515 阅读 · 83 评论