
Linux
文章平均质量分 85
Linux相关
极客熊猫GeekPanda
这个作者很懒,什么都没留下…
展开
-
【Java】Linux平台安装JDK
Linux安装Java原创 2021-10-07 14:40:32 · 132 阅读 · 0 评论 -
我不允许你不懂条件变量
更多文章分享在个人微信公众号:极客熊猫欢迎扫码关注:互斥与同步在多线程编程中,有两大问题需要解决:互斥和同步。这两个问题经常放在一起说,但它们还是存在一些差别的。互斥:由于线程间存在共享数据,当多线程并发地对共享数据进行操作(主要是写操作)时,如不加以管理,可能导致数据不一致问题。互斥就是一个共享数据在同一时刻只能被一个线程使用,这样就保证了共享数据的一致性。同步:同步比互斥要更加严格。互斥只是规定多个线程不能同时使用共享数据,但是对谁先使用谁后使用并没有作出限制;而同步是指线程间存在依赖,它们原创 2021-06-10 15:33:43 · 317 阅读 · 0 评论 -
Linux如何从源代码安装软件?
更多文章分享在个人微信公众号:极客熊猫欢迎扫码关注:引言在Linux中,有三种软件安装方法:源代码安装(Tarball)源代码安装方式相对来讲比较复杂。软件商会把软件的所有源代码打包压缩成一个Tarball,我们下载这个Tarball后,在自己的电脑上进行编译,然后安装。由于需要自行编译,所以耗时会较长,且依赖需要用户自己解决;但好处在于,自己的机器编译出来的肯定会更适合自己的机器,且可以安装自己想要的版本。二进制安装二进制安装方式就是厂商已经预先在各种平台上编译好了,我们只需要下载原创 2021-05-20 17:21:43 · 2204 阅读 · 2 评论 -
网络编程领域的HelloWorld
引言Echo客户端/服务端程序应该是网络编程领域的入门首选,可以视为网络编程领域的HelloWorld程序。为了深入学习网络编程,我写了这样一个程序,姑且叫它Simplest_Socket。这确实是最简单的socket通信程序。与一般的Echo服务器不同,Simplest_Socket会把客户端传来的英文字符串转换为大写再返回给客户端;而不像Echo服务器那样原样返回。这样设计的目的在于体现服务器的“服务”功能,尽管只是把小写转为大写,但这确实是一项服务。思路TCP套接字通信由一个四元组确定一个端原创 2021-05-14 20:53:38 · 242 阅读 · 2 评论 -
自顶向下设计
摘要:先确定上层步骤,然后再逐步细化这些步骤的过程被称为自顶向下设计。这种技巧允许我们把庞大而复杂的任务分割为许多小而简单的任务。自顶向下设计是一种常见的程序设计方法,尤其适合 shell 编程。在这一章中,我们将使用自顶向下的设计方法来进一步开发我们的报告产生器脚本。Shell函数我们在上一节输出网页的例子里添加一些东西,包括:系统正常运行时间和负载。这是自上次关机或重启之后系统的运行时间,以及在几个时间间隔内当前运行在处理中的平均任务量。磁盘空间。系统中存储设备的总使用量。家目录空间。每.原创 2021-03-23 09:29:01 · 1827 阅读 · 0 评论 -
文本处理
摘要:类 Unix 的操作系统都严重依赖于几种数据存储类型的文本文件。本章将看一些被用来“切割”文本的程序。文本处理这一章会重新拜访一些老朋友,并且会给我们介绍一些新朋友:cat - 连接文件并且打印到标准输出sort - 给文本行排序uniq - 报告或者省略重复行cut - 从每行中删除文本区域paste - 合并文件文本行join - 基于某个共享字段来联合两个文件的文本行comm - 逐行比较两个有序的文件diff - 逐行比较文件patch - 给原始文件打补丁tr .原创 2021-03-23 09:22:00 · 236 阅读 · 0 评论 -
网络系统
摘要:这一章相当有用,我刚买了一台云服务器,相信本章内容将让我学到不少东西。Linux被用来创建各种各样的网络系统和装置,包括防火墙、路由器、服务器等等。网络系统本章要研究的命令包括用来监测网络和传输文件的命令,还有用来远程登录的ssh程序。本章会介绍:ping - 发送 ICMP ECHO_REQUEST 数据包到网络主机tracepath - 打印到一台网络主机的路由数据包netstat - 打印网络连接,路由表,接口统计数据,伪装连接,和多路广播成员ftp - 因特网文件传输程序w.原创 2021-03-23 09:21:01 · 454 阅读 · 0 评论 -
探究操作系统
摘要:已经知道了如何在文件系统跳转了,接下来学习一些对研究Linux系统有帮助的命令。探究操作系统本章讲解以下命令:ls —列出目录内容(list show)file —确定文件类型less —浏览文件内容ls乐趣通过ls命令,可以知道目录的内容,以及各种各样重要文件和目录的属性。列出当前工作目录的内容:xuxg@xuxg-ubuntu:~$ lsbaidunetdisk Desktop Downloads MyHexoBlog Public Tem.原创 2021-03-23 09:20:13 · 233 阅读 · 1 评论 -
使用命令
摘要:本章内容聚焦于命令,将介绍命令的四种形式,如何识别命令属于哪一种形式,以及在知道命令属于哪种形式后如何获取它的相关文档,最后还会讲述如何用别名创建自己的命令。使用命令这一章将介绍以下命令:type –说明怎样解释一个命令名which –显示会执行哪个可执行程序man –显示命令手册页apropos –显示一系列适合的命令info –显示命令 infowhatis –显示一个命令的简洁描述alias –创建命令别名到底什么是命令命令具有以下四种形式:是一个可执行程序。.转载 2021-03-23 09:15:43 · 155 阅读 · 0 评论 -
权限
摘要:Unix或类Unix操作系统是多任务多用户系统。意味着多个用户可以在同一时间使用同一台计算机。那么,如何避免用户彼此之间的影响呢?权限,本章将介绍权限。权限本章将会介绍到以下命令:id - 显示用户身份号chmod - 更改文件模式umask - 设置默认的文件权限su - 以另一个用户的身份来运行shellsudo - 以另一个用户的身份来执行命令chown - 更改文件所有者chgrp - 更改文件所有权passwd - 更改用户密码拥有者、组成员和其他人用户拥有.原创 2021-03-23 09:14:56 · 220 阅读 · 1 评论 -
流程控制:while-until循环
摘要:在这一章中,我们将看一个叫做循环的程序概念,其可用来使程序的某些部分重复。shell为循环提供了三个复合命令。本章我们将查看其中的两个命令,随后章节介绍第三个命令。whilewhile 命令的语法是:while commands; do commands; done跳出循环bash 提供了两个内部命令,它们可以用来在循环内部控制程序流程。break 命令立即终止一个循环,且程序继续执行循环之后的语句。continue 命令导致程序跳过循环中剩余的语句,且程序继续执行下一次循环。unt.原创 2021-03-23 09:14:21 · 274 阅读 · 0 评论 -
流程控制:if分支结构
摘要:就像其他编程语言,shell脚本程序也提供了分支。if举个例子:x=5if [ $x = 5 ]; then echo "x equals 5."else echo "x does not equal 5."fiif 语句语法如下:if commands; then commands[elif commands; then commands...][else commands]ficommands 是指一系列命令。退出状态当命令执行完毕后,命令(包括我.原创 2021-03-23 09:04:29 · 122 阅读 · 0 评论 -
进程
摘要:现在的操作系统都支持多任务,实际上是操作系统通过在一个执行中的程序和另一个程序之间快速地切换造成了一种它同时能够做多件事情的假象。Linux内核通过使用进程来管理多任务。进程,就是 Linux 组织安排正在等待使用 CPU 的各种程序的方式。进程在这一章中,我们将看一些可用的命令行工具,这些工具帮助我们查看程序的执行状态,以及怎样终止行为不当的进程。这一章将介绍以下命令:ps - 报告当前进程快照top - 显示任务jobs - 列出活跃的任务bg - 把一个任务放到后台执行fg .原创 2021-03-23 09:03:59 · 183 阅读 · 0 评论 -
读取键盘输入
摘要:本章主要讲如何增加脚本的交互性功能。read - 从标准输入读取数值read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,读取文件中的一行数据。这个命令有以下语法形式:read [-options] [variable...]options 是下面列出的可用选项中的一个或多个,且 variable 是用来存储输入数值的一个或多个变量名。如果 read 命令接受到变量值数目少于期望的数字,那么额外的变量值为空,而多余的输入数据则会被包含到最后一.原创 2021-03-23 09:03:24 · 557 阅读 · 1 评论 -
存储媒介
摘要:在这章里,我们将从设备级别来考虑数据。存储媒介本章介绍以下命令:mount - 挂载一个文件系统umount - 卸载一个文件系统fsck - 检查和修复一个文件系统fdisk - 分区表控制器mkfs - 创建文件系统fdformat - 格式化一张软盘dd - 把面向块的数据直接写入设备genisoimage(mkisofs)- 创建一个ISO 9660的映像文件wodim(cdrecord)- 把数据写入光存储媒介md5sum - 计算MD5检验码挂载和卸载存储.原创 2021-03-22 21:21:41 · 419 阅读 · 0 评论 -
查找文件
摘要:这一章主要讲如何在Linux系统中查找文件。查找文件在这一章中,我们将察看两个用来在系统中查找文件的工具。这些工具是:locate - 通过名字查找文件find - 在一个目录层次结构中搜索文件也会学习一个经常与文件搜索命令一起使用的命令,它用来处理搜索到的文件列表:xargs - 从标准输入生成和执行命令另外将介绍两个命令以便在我们探索的过程中协助我们:touch - 更改文件时间stat - 显示文件或文件系统状态locate - 查找文件的简单方法locat.原创 2021-03-22 21:20:25 · 445 阅读 · 0 评论 -
编译程序
摘要:在这一章中,我们将看一下如何通过编译源代码来创建程序。make编译程序为什么要编译软件呢?有两个原因:可用性。尽管系统发行版仓库中已经包含了大量的预编译程序,但是一些发行版本不可能包含所有期望的应用。在这种情况下,得到所期望程序的唯一方式是编译程序源码。及时性。虽然一些系统发行版专门打包前沿版本的应用程序,但是很多不是。这意味着,为了拥有一个最新版本的程序,编译是必需的。从源码编译软件可能非常复杂,但也可能只需要简单几步,这取决于程序包。我们将看一个简单案例,来从整体上认识一下编译过.原创 2021-03-22 21:19:56 · 206 阅读 · 0 评论 -
shell环境
摘要:从本章开始,进入本书的第二部分——配置文件和shell环境。本章讲述shell的环境变量,也就是shell的环境配置等内容。shell环境shell 在 shell 会话中保存着大量信息。这些信息被称为 (shell 的) 环境。程序获取环境中的数据(即环境变量)来了解本机的配置。本章将会用到以下命令:printenv - 打印部分或所有的环境变量set - 设置shell选项export - 导出环境变量,让随后执行的程序知道。alias - 创建命令别名什么存储在环境变量中.原创 2021-03-22 21:19:23 · 1406 阅读 · 0 评论 -
编写第一个shell脚本
摘要:从这一张开始,进入本书的最后一部分——编写shell脚本。之前的学习过程中我们一直一条命令一条命令的输入,这是交互式的。从本章开始,编写shell脚本,让shell自动地执行复杂的命令序列。什么是shell脚本shell 脚本就是一个包含一系列命令的文件。shell 读取这个文件,然后执行文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样。shell不仅是命令行接口,还是脚本语言解释器。怎样编写一个shell脚本为了成功地创建和运行一个shell 脚本,我们需要做三件事情:.原创 2021-03-22 21:18:52 · 345 阅读 · 0 评论 -
什么是shell?
摘要:偶然间发现了一本学习Linux命令行的好书——《The Linux CommandLine》,有大佬把它译成了中文,非常适合学习。我决定在看《鸟哥的Linux私房菜》之前先看看这本书,比较适合入门。这里贴出书的Github地址:TLCL什么是shell来到Linux就一定要学习命令行!如果在Linux下还依赖于图形界面,那就失去了学习Linux的必要性。当我们说起命令行的时候,实际上指的是shell。shell是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。有很多种.原创 2021-03-22 21:17:56 · 256 阅读 · 0 评论 -
(一)Linux系统简介
Linux是什么?Linux严格来讲是操作系统的内核,即Kernel。内核直接操作计算机硬件,如内存管理、进程管理等等。那我们我们平时说的Linux系统是什么呢?Linux系统=Linux Kernel+GNU工具和库说到这里,得讲讲Linux是怎么来的。在比尔盖茨还在学高中数理化的时候,市面上一般都用Unix操作系统,Unix创于1969年(要知道Windows的前身MS-DOS直到...原创 2019-08-27 17:06:54 · 387 阅读 · 0 评论