1.Linux权限的概念 ✨Linux下有两种用户:超级用户(root)、普通用户。...超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。...:普通用户的名字 因为root用户可以再linux系统下做任何事情,不受限制,所以从它切换到普通用户不用输入密码,而当普通用户切换到超级用户时则需要输入超级用户的密码; ☑️如何创建一个普通用户?...2.3文件权限值的表示方法 ✨字符表示方法 Linux表示 说明 r - - 只读 - w - 只写 - - x 仅可执行 rw - 可读可写 r - x 可读可执行 - wx 可写可执行 rwx 可读可写可执行...- - - 无权限 ✨8进制数值表示方法 能用八进制表示的原因是读、写、可执行这三个权限要么有要么没有,类似于计算机中的二进制,可以用01来表示,比如- - - 就可以表示为000;rwx 就可以表示为
日志滚动log rotation在 Linux 系统上是再常见不过的一个功能了,它为系统监控和故障排查保留必要的日志内容,同时又防止过多的日志造成单个日志文件太大。...文中出现的示例适用于 Ubuntu 等 Linux 系统,对于其它类型的系统,日志文件和配置文件可能会有所不同,但日志滚动的过程是大同小异的。...Linux 系统会每隔一天(或间隔更长的时间)或根据日志文件的大小自动进行一次日志滚动。...在这一组文件中,最旧的日志文件(假如名为 log.7)会从系统中删除。...$ grep wtmp /var/lib/logrotate/status "/var/log/wtmp" 2020-3-12-11:52:57 总结 到此这篇关于在 Linux 系统中手动滚动日志的文章就介绍到这了
命令是linux下最常用的命令之一,ls跟dos下的dir命令是一 1. ls -a 列出文件下所有的文件,包括以“....“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。 2. ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。...3. ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。...4. ls -s 在每个文件的后面打印出文件的大小。 size(大小) 5. ls -t 按时间进行文件的排序 Time(时间) 6. ls -A 列出除了"."和".."以外的文件。...7. ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现 8. ls -L 列出文件的链接名。 9. ls -S 以文件的大小进行排序
在前面的文件中,我们介绍了linux网络编程中与IP相关的知识和常用的函数总结,本文针对具体的UDP通信,来详细的介绍UDP通信的使用,包括UDP通信中的点对点通信,多播,广播等。...具体通信流程如下所示: 上面的通信过程还是比较清晰的,在实际的使用过程中,有几点需要注意下: 1、我们在编写服务端UDP程序时,bind是一个必须的步骤,这样系统才能知道我们程序recvfrom想从哪里或者哪个端口得到数据...当然,在我们服务端创建socket后,主动往外发送一个数据,这样即使我们不进行绑定,我们依然可以收到数据,这只是系统通过我们的发送,自动的绑定了一个端口,这个并不是我们想要的,实际的使用中,也并不推荐这种方式...2、在上面的通信框架中,客户端并没有使用bind的操作,确实如此,因为客户端一般作为通信的发起者,都是主动往外发送数据,如1中的描述,这个过程由系统聪明的帮我们记录的端口信息,当服务端有数据回复的时候,...系统就知道这个数据该转发给哪个端口了。
深入探索Linux操作系统中的多线程编程一、引言多线程编程已经成为了现代软件开发的重要组成部分。对于Linux操作系统而言,多线程的支持和实现更是被广泛应用。...本文将通过详细解析Linux操作系统中的多线程概念、线程的创建与管理、同步与互斥、线程间通信等方面,并结合示例代码,来深入探讨Linux的多线程编程。...二、多线程的基本概念在现代操作系统中,进程是系统资源分配的最小单位,而线程则是CPU调度的最小单位。多线程编程是指在一个进程中创建多个线程,使得这些线程可以并发执行,从而提高程序的执行效率。...三、线程的创建与管理在Linux系统中,我们通常使用POSIX线程库(pthread库)来创建和管理线程。...七、总结与展望本文通过详细解析了Linux操作系统中多线程编程的各个方面,包括基本概念、线程的创建与管理、同步与互斥、线程间通信等,并给出了一系列示例代码来帮助理解。
syslog是Linux系统默认的日志守护进程,可以接受来自系统的各种功能的信息,下面为大家分享一下搭建Syslog服务器的具体方法。...syslog简介: 在Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。...第1步: 初始化系统需求 要将linux主机设置为一个中央日志服务器, 我们需要创建一个分离的 /var 分区,并分配足够大的磁盘空间或者创建一个特殊的LVM卷组。...第2步: 让rsyslog 后台进程生效 rsyslog守护进程来自于当前的linux发布版本的预装模块,但是默认并没有启动。...使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。
下图给出Linux进程从被创建(生)到被回收(死)的全部状态,以及这些状态发生转换时的条件: ?...3,刚被创建的进程都处于“就绪”状态,等待系统调度,内核中的函数sched( )被称为调度器,他会根据各种参数来选择一个等待的进程去占用CPU。...进程占用CPU之后就可以真正运行了,运行时间有个限定,比如20毫秒,这段时间被称为time slice,即“时间片”的概念。时间片耗光的情况下如果进程还没有结束,那么会被系统重新放入等待队列中等待。...当进程所等待的资源变得可获取时,又会被系统置为TASK_RUNNING状态重新就绪排队。...5,当进程收到SIGSTOP或者SIGTSTP中的其中一个信号时,状态会被置为TASK_STOPPED,此时被称为“暂停态”,该状态下的进程不再参与调度,但系统资源不释放,直到收到SIGCONT信号后被重新置为就绪态
我们也不能将自己系统换成Linux系统,因为Linux系统并不适合日常办公使用,所以我们需要借助虚拟机来获得可用的Linux系统环境进行学习。 什么是虚拟机?...借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。 这样,就可以在电脑中,虚拟出一个完整的电脑,以供我们学习Linux系统。...FinalShell 我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便, 我们可以通过第三方软件,FinalShell,远程连接到Linux操作系统之上...无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。 在Linux系统中,符号被用于取”变量”的值。...Linux环境变量可以用户自行设置,其中分为: 临时设置,语法:export 变量名=变量值 永久生效 针对所有用户生效,配置在系统的:/etc/profile文件中 然后通过语法:source
这篇来说一下Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1、文件位置 系统命令:一般在/bin和/sbin目录中,或为shell内部指令 应用程序:通常在/usr/bin和/usr.../sbin目录中 2、主要用途 系统命令:完成对系统的基本管理工作,例如IP配置、管理账户 应用程序:完成相对独立的其他辅助任务,例如网页浏览器 3、适用环境 系统命令:一般只在字符操作界面中运行 应用程序...rpm软件包 格式:rpm -e 软件名 –nodeps:卸载软件时,忽略依赖关系 4、查询已安装的.rpm软件包 格式:rpm -q[子选项] [软件名] 常用子选项命令: -qa:查看系统中已安装的所有...RPM软件包列表 -qi:查看指定软件的详细信息 -ql:查询指定软件包所安装的目录、文件列表 -qc:仅显示指定软件包安装的配置文件 -qd:仅显示指定软件包安装的文档文件 (1)、查看系统中已安装的所有...:/usr/local/src/软件名-版本号/ 互联网上下载一个源码文件 下载下来的源码包,可以使用md5sum校验工具,进行完整性校验,防止源码包被别人串改,校验方法:计算MD5校验和,并与官方提供的值相比较
一 线程间同步 同步:相互之间配合完成一件事情 互斥:保证访问共享资源的完整性(有你没我) POSIX 线程中同步:使用信号量实现 信号量 : 表示一类资源,它的值表示资源的个数... [3]信号 (2)System 5 IPC对象进程间通信方式 [1]消息队列 [2]共享内存 [3]信号灯集 (3)socket通信 (4)Android系统中增加...Binder进程间通信方式 Linux 支持以上所有进程间通信方式 三 管道进程间通信 (1)无名管道 特点: 只能用于具有亲缘关系进程间通信(具有亲缘关系的进程具有数据拷贝动作...SIGPIPE杀死写管道的进程 写端存在, 读管道 ---->此时管道中读取数据,管道中没有数据,读阻塞 写端不存在,读管道 ---->此时管道中读取数据,管道中没有数据,此时不阻塞,立即返回...,返回值0 (3)有名管道 特点:可以用于任意进程间通信,它是一种特殊的文件,在文件系统存在名字, 而文件中存放的数据是在内核空间,而不是在磁盘上 1.创建一个有名管道文件
哈哈哈,听到僵尸两个字是不是有点小害怕,言归正传,在Linux系统中,我们要明白:进程在运行时是需要消耗系统资源(内存、IO),进程终止时理应完全释放这些资源(如果进程消亡后仍然没有释放相应资源则这些资源就丢失了...),所以linux系统设计时规定:每一个进程退出时,操作系统会自动回收这个进程涉及到的所有的资源(譬如malloc申请的内容没有free时,当前进程结束时这个内存会被释放,譬如open打开的文件没有close...但是操作系统只是回收了这个进程工作时消耗的内存和IO,而并没有回收这个进程本身占用的内存(8KB,主要是task_struct和栈内存),因为进程本身的8KB内存操作系统不能回收需要别人来辅助回收,因此我们每个进程都需要一个帮助它收尸的人...同时,linux系统规定:所有的孤儿进程都自动成为一个特殊进程(进程1,也就是init进程)的子进程。...三、总结: 后面还会接着继续更新进程的文章,今天的学习加深了对进程的进一步理解,后面会写回收进程的具体实现方法
(os) 操作系统(Operating system)是计算机系统中的一个重要组成部分,它是管理计算机硬件和软件资源的程序。...这是操作系统的根本要义!! Linux操作系统是一个免费且开源的操作系统,它基于Unix操作系统。...Multics在多任务文件管理和用户连接中综合了许多新概念。...首先,任何人都可以查看和审阅Linux的源代码,这确保了系统的透明性和安全性。开源软件允许独立的安全专家和审计者检查代码中的漏洞和安全问题,帮助及时修复和解决。...以下是一些展示Linux在企业应用中的现状的主要方面: Linux在服务器领域的发展 随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额
在 Linux 系统中,除 PID 为 0 的第一个 init 进程(或 systemd)外,其余进程都有父进程。进程也可以拥有自己的子进程。 不相信?...可以试试在终端中使用 pstree 命令查看进程的树型结构,你能看到系统各个进程的“家族树”。 Linux系统里的僵尸进程是什么?...同样,大部分 Linux 系统进程最大 PID 设置为 32768,如果过多僵尸进程导致其他重要任务没有 PID 可用,你的系统会发生崩溃。...如何找到僵尸进程 Linux 系统中的进程可能处于如下状态中的一种: D = 不可中断的休眠 I = 空闲 R = 运行中 S = 休眠 T = 被调度信号终止 t = 被调试器终止 Z = 僵尸状态...还有一个方法是杀死父进程来杀死僵尸进程,这听起来很野蛮,但它却是唯一能确保杀死僵尸进程的方法。
本文实例讲述了linux引导系统的方法。分享给大家供大家参考,具体如下: 一、linux引导系统 1.选择操作系统 /etc/grub.conf ?...设置grub引导装载程序口令,使用单用户模式时必须输入此密码 password –md5 md5后的密码字符串(可以通过grub-md5-crypt计算) ?...1)linux运行级别: 0 表示关机 1 单用户模式 2 多用户模式,没有NFS 3 多用户(字符模式) 4 自定义模式 5 图形模式 6 重启模式 3.挂载文件系统 /etc...硬盘中某个区域与操作系统目录进行映射就是挂载。 2)查看文件内容 ?...第一列:硬件资源 第二列:挂载点 第三列:挂载系统类型 第四列:挂载参数 第五列:是否备份 第六列:自检顺序(0:不自检) 希望本文所述对大家Linux维护有所帮助。
这句话换到编程中就是 CPU 与外部存储器的输入输出,包括 CPU 本身的一,二,三级的缓存,内存,硬盘,网络,Usb 设备等等 Linux中的IO机制 阻塞与非阻塞 在调用IO函数时,如果需要等待IO...异步是指在非阻塞的前提下每次调用IO函数后,本线程不在接管IO事件的处理,会告诉程序如果你有准备就绪的IO事件你就去把你的IO事件交给其他线程的函数处理。...多路复用IO技术 在早期的网络服务器中为了处理多个连接请求往往需要开辟多个线程,每个线程负责一个连接的处理,但是多线程需要进行CPU的上下文切换。...而上下文切换需要处理文件句柄,这些操作是十分繁琐的,所以多线程并不是很好的解决方案。...在编程中常见的 I/O 操作有哪些 一般软件都会有数据库,不论是 web 软件还是移动,桌面端软件,如果数据库是保存在硬盘的话,那么对数据库的增,删,改,查都是对硬盘 I/O 的操作 PHP $result
今天小编带给大家的文章是关于Linux系统中find命令的使用方法。...熟悉Linux的小伙伴可能会对这个命令有所了解,但小编相信很多小伙伴对它没有深入的了解,下面小编就来和大家谈一谈关于Linux系统中的find命令的使用方法。...-exec为处理每一个匹配到的文件而发起一个相应的进程,会导致进程过多,系统性能下降 xargs:对find传递给xargs所指定的命令的文件,每次只获取一部分而不是全部,不会出现溢出错误。...另外xargs只会发起一个进程,不会导致系统性能下降 · 查找/tmp目录下没有属主或属组,且最近1个月内曾被访问过的文件: # find /tmp ( -nouser -o -nogroup ) -a...-atime -30 //括号内侧的两端都需要加空格 组合条件: -a:与,同时满足,如果组合条件中只有-a,可以省略 –> # find /tmp -user hadoop [-a] -name “
在Linux操作系统中,有时候跟着教程安装了一些软件,安装成功后,很高兴的准备运行该软件相应命令,但是偶尔会遇到”Command not found…“的提示。...原因是因为你安装的软件需要设置环境变量才能运行。接下来跟着小编一起学习在Linux操作系统中修改环境变量的方法。...方法一:在/etc/profile文件中添加变量【对所有用户生效(永久的)】 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。 ...-2.5.3/bin 这种方法是针对当前用户起作用的,当你注销系统后也会失效 注:对于2,3方法,想让PATH生效,必须重新登陆才能实现,以下方法可以简化工作: 如果修改了/etc/profile,...以上本文给大家介绍在Linux操作系统中修改环境变量的方法,希望对大家有所帮助。
一、在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b 或用 1、查询端口占用的进程ID 点击"开始"-->"运行",输入"cmd"...二、在Linux操作系统中,查询端口占用和清除端口占用的程序 1、查询端口号占用,根据端口查看进程信息 [root@server2 ~]# lsof -i:80 COMMAND PID USER...usr/local/apache/bin/httpd -k 3、根据可执行程序查看动态链接 ldd 可执行文件名 ldd /usr/local/apache/bin/httpd linux-vdso.so...这种情况下,可执行组件名 在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项 可能需要很长时间,如果没有足够权限可能失败。 ...-p proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
1. shell是什么 shell是通过c语言编写的,是用户和Linux之间的接口程序。编写shell脚本方便于系统管理。...shell命令有两种形式:内部命令:内置在源码中,即存在内存中,比如:cd、echo;外部命令:存在于文件系统中某个目录下的单独的程序。...“Unix shell,一种壳层与命令行界面,是UNIX操作系统下传统的用户和计算机的交互界面。第一个用户直接输入命令来执行各种各样的任务。普通意义上的shell就是可以接受用户输入命令的程序。...Technical Conference)上发布 3. shell编程 1.shell变量 shell变量是shell设置的特殊变量,也是shell正确运行所必须的。...常用的环境变量HOME 保存用户目录PATH 保存用冒号分割的目录路径名TERM 终端类型(xterm图形终端 linux文本终端)UID 当前用户的标识符 取值是由数字构成的字符串PWD 当前工作目录的绝对路径名
在Linux网络编程中,errno是一个非常重要的变量。它记录了最近发生的系统调用错误代码。在编写网络应用程序时,合理处理errno可以帮助我们更好地了解程序出现的问题并进行调试。...通常,在Linux网络编程中发生错误时,errno会被设置为一个非零值。因此,在进行系统调用之后,我们应该始终检查errno的值。...我们可以使用perror函数将错误信息打印到标准错误输出中,或者使用strerror函数将错误代码转换为错误信息字符串。在网络编程中,处理网络连接、连接收发数据等经常会涉及到errno的处理。...连接的读写在 Linux 网络编程中,连接读写阶段可能会遇到以下 errno:EINTR:表示系统调用被中断,可以重新尝试读写EAGAIN 或 EWOULDBLOCK:表示当前没有数据可读或没有缓冲区可写...总结本文介绍了在 Linux 网络编程中处理 errno 的方法。
领取专属 10元无门槛券
手把手带您无忧上云