linux
愚公搬程序
一切有为法,如梦幻泡影,如露亦如电,应作如是观。
展开
-
ubuntu使用实现爬虫
安装Python:Ubuntu默认安装了Python,但需要确认是否已安装。编写爬虫代码:在安装所需的库后,您可以使用Python编写爬虫代码。以下是一个简单的代码示例,可用于获取指定页面的标题。requests库用于发送HTTP请求和获取响应,beautifulsoup4库用于解析HTML和XML文件。要在Ubuntu上实现爬虫,您需要安装Python和一些相关库和工具。请注意,爬虫的使用需要遵守法律法规,不得侵犯他人的隐私和权益。该代码将获取Google主页的标题,并将其打印到控制台中。原创 2023-11-27 12:55:00 · 2091 阅读 · 0 评论 -
ubuntu下安装火狐浏览器及快捷图标
现在可以在Unity Dash中找到一个名为“Firefox”的图标,点击它将启动火狐浏览器。安装完成后,可以在应用程序菜单中找到火狐浏览器图标并启动。按Ctrl + X, 输入Y并按回车键保存文件。原创 2023-11-24 11:33:43 · 4026 阅读 · 0 评论 -
Ubuntu安装任何版本的 Firefox
如果要安装其他特定版本的 Firefox,请打开Mozilla网站的下载页面,找到您想要的版本并下载.tar.bz2文件。其中,[版本编号]是您下载的 Firefox 版本的编号。例如:firefox-88.0.1.tar.bz2。现在您应该能够通过在终端中输入 firefox 命令来启动您下载的特定版本的 Firefox。将下载的.tar.bz2文件提取到您选择的目录中。例如,提取到 /opt/firefox。打开终端(按Ctrl + Alt + T)。原创 2023-11-24 11:31:15 · 2063 阅读 · 0 评论 -
Linux make/makefile自动化构建工具
make是一个用于自动化代码构建的工具,而makefile则是定义了构建过程的文件。makefile包含了一系列规则,指定了源文件、目标文件和如何生成目标文件的方法。下面我们来实现一个简单的makefile。即可自动构建我们的可执行文件。如果想要清理生成的文件,可以输入。,我们需要编译生成一个可执行文件。现在,我们只需要在终端中输入。假设我们有两个源文件。原创 2023-11-22 09:12:36 · 42 阅读 · 0 评论 -
Linux下的编译器gcc/g++ | 认识动静态库
动态库是在运行时加载到内存中的库,它的文件后缀名为.so。在编译时,编译器只将库的链接信息嵌入到可执行文件中,而不是将代码包含在可执行文件中。由于库的代码只有在运行时才被加载,因此可执行文件的大小相对较小。静态库是在编译时链接到可执行文件中的库,它的文件后缀名为.a。这意味着可执行文件中包含了所有库的代码,因此可执行文件的大小相对较大。其中,-L选项指定库文件所在的目录,-Wl,-rpath选项指定运行时加载库的搜索路径。使用动态库的优点是,多个程序可以共享同一个库,从而节省内存空间。原创 2023-11-22 09:16:51 · 69 阅读 · 0 评论 -
Linux-IO文件操作(文件fd)针对被打开的文件
在上面的代码中,首先使用open()函数打开了一个名为test.txt的文件,并且指定了文件操作的权限。文件描述符是一个非负整数,它代表了被打开的文件的抽象句柄。每个进程都有一个独立的文件描述符表,它包含了当前进程打开的文件描述符。写入文件:使用write()函数向文件中写入数据时,需要指定文件描述符。读取文件:使用read()函数从文件中读取数据时,需要指定文件描述符。打开文件:使用open()函数打开文件时,会返回一个文件描述符。关闭文件:使用close()函数关闭文件时,需要指定文件描述符。原创 2023-11-21 09:03:31 · 73 阅读 · 0 评论 -
Linux环境变量
在Linux系统中,环境变量是一些可以用来设置操作系统或应用程序运行环境的值。Linux系统中的环境变量可以包含系统路径、语言设置、系统支持的文件格式等信息。在Linux系统中,环境变量的设置通常存储在bashrc文件中。对于系统级别的环境变量,可以在/etc/profile和/etc/environment文件中设置。source 文件名 : 在当前Shell中读取并执行文件中的环境变量。export 变量名=值 : 设置环境变量的值。echo $变量名 : 查看指定环境变量的值。原创 2023-11-21 09:04:58 · 35 阅读 · 0 评论 -
Linux进程优先级|进程并发概念|在vim中批量化注释
Linux系统中,进程的优先级通常是通过“nice值”来表示的。nice值的范围通常是-20到+19,其中-20表示最高优先级,+19表示最低优先级。在Linux系统中,可以使用nice命令来改变进程的优先级。进程并发指的是多个进程同时运行的能力。在多进程系统中,操作系统可以同时运行多个进程,并且这些进程之间可以交互、共享资源等。进程并发可以提高系统的资源利用率和处理能力,但也会带来一些问题,如竞争条件和死锁等。d. 按下Shift+i,进入Insert模式,并输入需要添加的注释符,如“//”原创 2023-11-21 09:06:15 · 48 阅读 · 0 评论 -
Linux从0到1实现一个进度条小程序
在Linux中,可以使用ncurses库来实现一个进度条小程序。ncurses库是一个用于终端显示的开源库,它提供了一组函数来控制终端的输出和输入。首先需要安装ncurses库。接下来,我们将编写一个使用ncurses库实现进度条的程序。运行程序后,可以看到一个进度条在屏幕上不停地闪动,直到用户按下任意键结束程序。下面我们将实现一个简单的进度条小程序。原创 2023-11-21 09:09:12 · 66 阅读 · 0 评论 -
Linux-冯诺伊曼体系结构|操作系统概念理解
Linux内核是一个典型的操作系统内核,它直接控制着计算机的硬件资源,包括处理器、内存、硬盘、网络接口等。每个进程都有自己的进程ID(PID)和进程控制块(PCB),PCB中包含了进程当前状态、CPU时间片、内存大小等信息。文件系统:Linux操作系统使用类Unix的文件系统,它以树形目录结构组织文件和目录,并使用权限控制来保护文件系统的安全性。内存管理:Linux操作系统使用虚拟内存机制来管理内存,将物理内存逻辑上扩展到一个更大的地址空间,从而提高内存的使用效率。原创 2023-11-21 09:07:27 · 57 阅读 · 0 评论 -
linux-Wnmp结合内网穿透实现外网访问内网Wnmp服务
可以通过修改Wnmp配置文件,设置默认网站目录等参数来进一步优化服务。同时,要注意安全性问题,尽量避免将敏感信息暴露在公网上。原创 2023-11-21 09:01:22 · 58 阅读 · 0 评论 -
Linux进程控制
进程控制是操作系统中非常重要的一个功能。在Linux系统中,进程是一个非常基本的概念,每个进程都有自己的PID(进程ID)、PPID(父进程ID)、进程状态等等。可以看到,父进程ID是1234,子进程ID是1235,而在子进程中,父进程ID是1234。并且,在父进程中,使用了wait函数等待子进程结束。原创 2023-11-21 08:50:55 · 45 阅读 · 0 评论 -
Linux进程地址空间
总体来说,Linux进程的地址空间分为代码段、数据段、堆、栈和共享库,这些区域在程序运行时动态分配和加载,在内存中使用虚拟地址空间。当函数返回时,栈会释放这段内存空间。在进程运行时,操作系统会将进程的代码、数据和堆栈等数据载入内存,并分配一个虚拟地址空间给进程使用。通常,地址空间的前一部分是代码段和数据段,中间是堆,后面是栈。代码段和数据段是在程序编译阶段就确定的,而堆、栈和共享库是在程序运行时动态分配和加载的。代码段和数据段是由可执行文件载入的,而堆、栈和共享库则是在程序运行时动态分配和加载的。原创 2023-11-21 08:53:09 · 44 阅读 · 0 评论 -
Linux重定向|重新理解Linux下一切皆文件
重定向是一种Linux中的重要功能,它允许我们将一个命令的输出结果重定向到另一个文件或者设备中,而不是将其输出到控制台。这个命令会将当前目录下的文件列表传递给grep命令,并输出包含"file"字符的文件列表。在Linux中,我们也可以使用管道"|"将一个命令的输出结果传递到另一个命令中。这个命令会将当前目录下的文件列表输出到file.txt文件中。使用"2>"符号将一个命令的错误输出重定向到一个文件中。使用""符号将一个命令的输出重定向到一个文件中。原创 2023-11-21 08:44:44 · 173 阅读 · 0 评论 -
Linux进程替换|exec系列函数
在Linux系统中,进程替换是指将当前进程的程序代码替换为另一个程序的代码,并且重新开始执行新程序的代码。这个过程可以通过使用exec系列函数来完成。这些函数的返回值只有在出现错误时才有用,如果执行成功,函数不会返回。因此,它们通常与fork()函数一起使用,将一个进程分成两个进程,子进程使用exec()函数替换其程序代码。原创 2023-11-21 08:45:21 · 50 阅读 · 0 评论 -
Linux进程等待
在父进程中,调用wait()函数等待子进程退出,并获取子进程的退出状态。waitpid()函数也是一个系统调用函数,与wait()函数类似,但是它可以指定等待某个特定进程退出。其中,pid_t表示进程ID,int *status表示子进程的退出状态,int options表示等待选项。注意,子进程中必须使用exit()函数退出进程,否则会产生僵尸进程。waitid()函数也是一个等待子进程退出的函数,但是它提供更加灵活的等待方式。其中,pid_t表示进程ID,int *status表示子进程的退出状态。原创 2023-11-21 08:47:04 · 42 阅读 · 0 评论 -
Linux 本地zabbix结合内网穿透工具实现安全远程访问浏览器
需要注意的是,为了保证安全性,需要确保内网穿透的公网地址和端口是保密的,只有授权的用户才能访问。同时,还需保证本地Zabbix服务的安全性,如设置强密码,限制IP访问等措施。安装内网穿透工具,如ngrok、frp等,将本地的Zabbix服务通过公共云服务器映射到公网上。配置内网穿透工具的端口映射,将公网上对应的端口映射到本地Zabbix的访问端口。在浏览器中输入公网IP地址和映射的端口号,就可以远程访问Zabbix监控系统了。在本地安装Zabbix监控系统,设置好需要监控的主机。原创 2023-11-21 08:50:10 · 133 阅读 · 0 评论