linux编程相关知识
-
Linux 编程之 Ping 的实现原文链接PING(Packet InterNet Groper)中文名为因特网包探索器,是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把回复报文传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。所以,我们想知道我这台主机能不能和另一台进行通信,我们首先需要确认的是我们两台主机间的网络是不是通的,也就是我说的话能不能传到你那里,这是双方进行通信的前提。在Linux下使用指令ping的方法和现象如下:PING的实现看起来并不复杂,我想自己写代码实现这个功能,需要些什么知识储备?我简单罗列了一下:ICMP协议的理解RAW套接字网络封包和解包技能搭建这么一个ping程序的步骤如下:ICMP包的封装和解封创建一个线程用于ICMP包的发送创建一个线程用于ICMP包的接收原始套接字编程PING的流程如下:一、ICMP包的封装和解封(1) ICMP协议理解要进行PING的开发,我们首先需要知道PING的实现是基
-
Linux编程 15 文件权限一. 概述 在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍。这篇接着讲useradd+参数,删除用户,修改用户的演示。 1. 删除用户userdel 使用userdel可以删除用户,但只会删除etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。如果加上-r 参数,userdel会删除用户HOME目录以及邮件目录。使用-r参数时要检查用户HOME目录下是否存放了其他用户和其他程序使用的重要文件。 先查看下test用户的文件信息如下: 再使用userdel -r命令来删除, 没有了该用户和home目录。如下图所示: 2. 新增用户useradd 上篇讲了useradd+m参数创建home目录的演示,下面新增test用户,并使用-d参数指定home文件启动文件目录为home/test1。,/etc/passwd文件中test用户也有了。如下图所示: 在上
-
Linux编程 6 (查看进程 ps 及输出风格)一.查看进程命令ps 1.1 默认ps 命令 在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身。 上图中显示了程序的进程ID(1538,1583),它们运行在TTY终端, 以及进程已有的CPU(TIME)时间。 1.2 ps 风格以及参数 在linux系统中使用的GNU ps命令支持3种不同类型的命令行参数。包括Unix风格的参数,BSD风格的参数,GNU风格的长参数。二. Unix风格参数 在ps中每种风格的参数都很多,下面例举一些常用的Unix风格的ps命令参数。下面表格还有很多参数没有列出来。参数描述-A显示所有进程-N显示与指定参数不符的所有进程-a显示除控制进程和无终端进程外的所有进程-d显示除控制进程外的所有进程-e显示所有进程-C cmdlist显示包含在cmdlist列表中的进程-f显示完整格式的输出-l显示长列表 2.1 ps&n
-
Linux编程 11(shell全局环境变量与局变环境变量)一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息。环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。也是存储持久数据的一种简便方法。在bash shell中,环境变量分为:全局和局部二类环境变量。 1.1全局环境变量 全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只是创建它们的shell可见。在linux系统中有系统环境变量,它们基本都是使用全大写字母,以区别普通用户的环境变量。要查看系统全局变量,可以使用env命令, 如下图所示: 要查看个别的环境变量的值,可以使用printenv命令, 如下图所示: 正如前面所说的,全局变量在所有生成的子shell都是可见的,下面是用子shell输出USER全局变量,如下所示: 1.2 局部环境变量 局部环境变量虽然是局部的,但和全局环境变量一样重要。在l
linux编程相关课程
-
Linux C语言编程基本原理与实践 介绍C语言基本工作原理以及适用与C的实际开发方式,并指导童鞋们能在Linux环境下编写并运行符合实际商业开发环境下的C语言程序。
讲师:DavidChin 初级 193291人正在学习
linux编程相关教程
- Linux 远程登录 前面介绍了如何安装 Linux 终端工具,本小节介绍本地电脑如何使用 ssh 命令远程登录、Linux 终端工具远程登录的方式,这两种登录方式都是基于 ssh 网络安全协议的,学会使用远程登录 Linux 服务器,会让你对 Linux 系统更加熟悉。
- Linux 查看进程 前面小节对文件和目录的创建、删除、移动、重命名、查看、修改等操作做了介绍,本小节开始学习 Linux 进程相关的知识点,学习如何查看 Linux 中的进程信息,并介绍通过命令展示出来的进程信息。
- 4.1 Linux 特性 基本思想Linux 的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说 Linux 是基于 UNIX 的,很大程度上也是因为这两者的基本思想十分相近。完全免费Linux 是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了 Linux 的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让 Linux 吸收了无数程序员的精华,不断壮大。完全兼容 POSIX1.0 标准这使得可以在 Linux 下通过相应的模拟器运行常见的 DOS、Windows 操作系统中的软件程序。这为用户从 Windows 转到 Linux 奠定了基础。许多用户在考虑使用 Linux 时,就想到以前在 Windows 下常见的程序是否能正常运行,这一点就消除了他们的疑虑。多用户、多任务Linux 支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在计算机最主要的一个特点,Linux 可以使多个程序同时并独立地运行。良好的界面Linux 同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似于 Windows 图形界面的 X-Window 系统,用户可以使用鼠标对其进行操作。在 X-Window 环境中就和在 Windows 中相似,可以说是一个 Linux 版的 Windows 操作系统。支持多种平台Linux 可以运行在多种硬件平台上,如具有 x86、680x0、SPARC、Alpha 等处理器的平台。此外 Linux 还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001 年 1 月份发布的 Linux 2.4 版内核已经能够完全支持 Intel64 位芯片架构。同时 Linux 也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
- 1. 初识 Linux Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 UNIX 操作系统,其内核由林纳斯·本纳第克特·托瓦兹于 1991 年第一次释出,它主要受到 MINIX 和 UNIX 思想的启发,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 UNIX 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 有上百种不同的发行版,如基于社区开发的 Debian、Arch Linux,和基于商业开发的 Red Hat Enterprise Linux、SUSE、Oracle Linux 等。
- Linux 磁盘空间 前面小节介绍了 Linux 进程相关的基础知识,本小节介绍 Linux 磁盘空间相关的基础知识,管理好 Linux 磁盘空间对软件程序运行有很重要的作用,磁盘空间的合理分配和清理能很好地降低服务器存储成本,查看磁盘空间还能保证程序软件正常运行。
- 3. 发展历程 1985 年,著名美国黑客理查德・斯托曼创立了 GNU 项目计划。 1985 年,同年查德・斯托曼创立了自由软件基金会(Free Software Foundation)来为 GNU 计划提供技术、法律以及资金支持。尽管 GNU 计划大部分时候是由大家自愿无偿贡献的,但 FSF 还是会聘请程序员帮助编写。当 GNU 计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被 Red Hat 红帽兼并的 Cygnus Solutions。1990 年,成熟的 GNU 计划已经开发出的软件包括了一个功能强大的文字编辑器 Emacs、C 语言编译器 GCC 以及大部分 UNIX 系统的程序库和工具。唯一依然没有完成的重要组件,就是操作系统的内核。1991 年,Linux 之父林纳斯・托瓦兹编写出了与 UNIX 兼容的 Linux 操作系统内核并在 GPL 条款下发布。Linux 之后在网上广泛流传,许多程序员参与了开发与修改。1992 年,林纳斯的 Linux 与其他 GNU 软件开始结合,完全自由的 Linux 操作系统正式诞生。该操作系统往往被称为 “GNU/Linux” 或简称 Linux。许多 UNIX 系统上也安装了 GNU 软件,因为 GNU 软件的质量比之前 UNIX 的软件还要好。GNU 工具还被广泛地移植到 Windows 和苹果 Mac OS 上。现在,GNU 项目计划十几年以来已经成为一个对软件开发主要的影响力量,创造了无数的重要的工具,例如:编译器,文本编辑器,甚至一个全功能的操作系统。这个工程是从 1984 年麻省理工学院的程序员理查德・斯托曼的想法得来的,他想要创建一个自由的和 UNIX 类似的操作环境。从那时开始,许多程序员聚集起来开始开发一个自由的、高质量、易理解的软件。
linux编程相关搜索
-
label
labelfor
label标签
lambda
lambda表达式
lamda
lang
last
latin
latin1
layers
layui
leave
left
leftarrow
legend
length
lengths
length函数
less