linux系统

什么叫linux

爱⌒轻易说出口 提交于 2020-04-06 05:01:33
第一章 明白运维是干什么的? 1.数据不能丢失 2.网站优化 3.提升用户体验 服务器的类型: 1.)机架式服务器(抽屉式) 2.)刀片式服务器 3.)塔式服务器 服务器尺寸: 厚度(高度 1u=4.45.cm ) 服务器的厂商: DELL(戴尔)(国内主要用的服务器) 联想 HP IBM(牛逼的公司一般用它,太贵了) 浪潮 dell服务器为例 时间 1U 2U 2010年以前 1850,1950 2850,2950 2010-2013年 R410,R610 R710(已停产) 2014-2016年 R420/R430/R620/R630 R720/R730 几代服务器怎么看的,看第2位数字,R410 他就是11代. cpu处理器: intel xeon 至强系列(金,银,铜) 服务器 cpu的颗数 2颗 2路 iu和2U都是(1u还有一个1颗1路) 线程就是1颗cpu=2线程 最长用 2U服务器 最多2路 CPU 与 核心的关系 1个CPU相当于一个房间,核心可以表示为里面有多少工人。 防止服务断电: 1.双电源(AB线路) 2.ups(蓄电池组) 3.柴油发电机+油管 4.附近的加油站签订紧急供油协议. 内存: cpu和磁盘之间的缓冲设备,是临时存储,断电数据丢失. 程序 进程 守护进程: 视频 .avi 磁盘 程序代码 软件程序 QQ 播放视频 进程 运行起来的程序 一直播放

Linux IO模型漫谈(1)

南楼画角 提交于 2020-04-06 04:09:19
基础知识 Linux将所有外部设备都看做一个文件来进行操作。因此,linux对所有外部设备的操作都可以看做是文件的操作。文件的操作当然需要有个标示描述它,这就是文件描述符(file descriptor)。 linux的IO操作如何形象理解呢? 我们说网络socket的read()是一个IO操作命令,具体流程是这样的: 应用程序调用read命令,通知内核需要做读取数据操作 内核创建一个文件描述符 内核从物理层收到读数据的命令,从网络中获取数据包 数据包传递到TCP/IP层,解析数据包的头 内核将数据包缓存在文件描述符的读缓存区(接受缓存区)中,注意这里的读缓存区是在内核中的 当文件描述符读缓存区数据字节数大于应用程序定义的低水位的时候(read的一个参数),此时文件描述符处于读就绪的状态 将读缓存区中的数据复制到应用程序(用户区)返回 这里需要说明的是 1 每个文件描述符都有自己的读缓冲区和写缓冲区,读缓冲区对应的是read操作,写缓冲区对应的就是write操作了 2 读缓冲区和写缓冲区都是在内核区中 IO模型 现有的linux IO模型有5种: 阻塞式IO模型,非阻塞式IO模型,IO复用模型,信号驱动式IO模型,异步IO模型 经常弄不清楚的就是阻塞,非阻塞,异步,同步 说明一下 上图给出的同步异步标准是:数据描述符缓存是由谁来进行读取的?由用户程序读取,则判断为同步;由内核推送

Linux 安装Git

江枫思渺然 提交于 2020-04-06 04:07:53
通过yum install git 安装的版本太低,这里提供一个手工安装的方法: 1. 进入/usr/local/src 下载git源码包 wget https://codeload.github.com/git/git/zip/v2.21.0.zip   yum install curl-devel 2. 解压zip包生成目录git-2.21.0, 进入目录 git-2.21.0 3. 编译 make prefix=/usr/local/git all 4. 安装 sudo make prefix=/usr/local/git install vim /etc/profile export PATH=$PATH :/usr/local/git/bin source /etc/profile 5. 查看git版本 git --version 使用: # useradd git -d /home/git -m -s /bin/bash -d:指定用户目录 -m:如果目录不存在则创建 -s:可以指定用户使用的命令 $ su git $ cd ~ $ git init --bare myserver.git --bare选项(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的。 来源: https://www

linux 下串口编程VTIME和VMIN的设置

自闭症网瘾萝莉.ら 提交于 2020-04-06 04:06:28
VTIME定义要求等待的时间量(取值不能大于cc_t)。 VMIN定义了要求等待的最小字节数。 options.c_cc[VTIME] = X;   //设置从获取到1个字节后开始计时的超时时间 options.c_cc[VMIN] = Y;   //设置要求等待的最小字节数 在原始模式下对read()函数的影响: 1、X=0,Y!=0。函数read()只有在读取了Y个字节的数据或者收到一个信号的时候才返回; 2、X!=0,Y=0。即使没有数据可以读取,read()函数等待X时间量后返回; 3、X!=0,Y!=0。第一个字节数据到时开始,最先满足收到Y个字节或达超时时间X任意一个条件,read()返回; 4、X=0,Y=0。即使读取不到任何数据,函数read也会立即返回。 示例: 通过串口连ID卡读卡器,要求读串口至少收6个字节数据立即返回,可以将串口的上述两个设置项设置如下: options.c_cc[VTIME]=0; options.c_cc[VMIN]=6; 来源: https://www.cnblogs.com/andtt/archive/2011/08/19/2145639.html

关于linux的一些常用的指令

随声附和 提交于 2020-04-06 04:05:17
top:命令经常用来监控linux的系统状况,比如cpu、内存的使用。 free:观察内存使用。 Find:查找指定的文件。 Whereis:查找指定的文件源和二进制文件和手册等 Which:用于查询命令或别名的位置。 Locate:快速查找系统数据库中指定的内容。 Grep:查找文件里符合条件的字符串。 2. grep 在文件中查找字符串(不区分大小写) $ grep -i "the" demo_file 输出成功匹配的行,以及该行之后的三行 $ grep -A 3 -i "example" demo_text 在一个文件夹中递归查询包含指定字符串的文件 $ grep -r "ramesh" * 更多示例:Get a Grip on the Grep! – 15 Practical Grep Command Examples 3. find 查找指定文件名的文件(不区分大小写) $ find -iname "MyProgram.c" 对找到的文件执行某个命令 $ find -iname "MyProgram.c" -exec md5sum {} \; 查找home目录下的所有空文件 $ find ~ -empty 23. free 这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况 默认情况下free会以字节为单位输出内存的使用量 $ free

linux chattr命令的使用

二次信任 提交于 2020-04-06 03:38:51
chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性 , 用chattr命令防止系统中某个关键文件被修改 添加属性i:不得任意更动文件或目录。 chattr +i /home/www 此时:rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。 同理:删除属性i:恢复对文件或目录的操作 chattr -i /home/www 来源: oschina 链接: https://my.oschina.net/u/4225107/blog/3217514

linux下安装nginx

人走茶凉 提交于 2020-04-06 03:26:07
服务器版本:CentOS7 cd / 回到根目录 1、安装gcc yum install gcc-c++ 2、安装pcre pcre-devel yum install -y pcre pcre-devel 3、安装zlib yum install -y zlib zlib-devel 4、安装Open SSL yum install -y openssl openssl-devel 5、进入local文件夹 cd /usr/local 6、mkdir nginx 7、下载nginx wget http://nginx.org/download/nginx-1.17.9.tar.gz 8、解压nginx tar -zxvf nginx-1.17.9.tar.gz 9、cd nginx-1.17.9 10、./configure 11、make 12、make install 来源: oschina 链接: https://my.oschina.net/u/3358860/blog/3218037

Linux提权小结

家住魔仙堡 提交于 2020-04-06 02:51:23
原文链接: http://zone.secevery.com/article/1104 Linux提权 1.信息收集 2.脏牛漏洞提权 3.内核漏洞exp提权 4.SUID提权 0x00 基础信息收集 (1):内核,操作系统和设备信息 uname -a 打印所有可用的系统信息 uname -r 内核版本 uname -n 系统主机名。 uname -m 查看系统内核架构(64位/32位) hostname 系统主机名 cat /proc/version 内核信息 cat /etc/*-release 分发信息 cat /etc/issue 分发信息 cat /proc/cpuinfo CPU信息 (2)用户和群组 cat /etc/passwd 列出系统上的所有用户 cat /etc/group 列出系统上的所有组 grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}' 列出所有的超级用户账户 whoami 查看当前用户 w 谁目前已登录,他们正在做什么 last 最后登录用户的列表 lastlog 所有用户上次登录的信息 lastlog –u %username% 有关指定用户上次登录的信息 lastlog |grep -v "Never" 以前登录用户的完 (3)用户和权限信息: whoami 当前用户名 id

Linux常用命令10

自闭症网瘾萝莉.ら 提交于 2020-04-06 02:18:33
zip 是最广泛使用的归档文件, 除了linux,windows也是非常的广泛。,支持无损数据压缩。 zip 文件是包含一个或多个压缩文件或目录的数据容器。 接下来,我将解释如何使用 unzip 命令通过命令行解压缩 Linux 系统中的文件。 还有与之对应就是 zip。 安装unzip 在大多数 Linux 发行版中,unzip 不是默认安装的,但是您可以使用您的发行版的包管理器轻松地安装它。 在 Ubuntu 和 Debian 上 sudo apt install unzip Fedora 和 Fedora sudo yum install unzip 如何解压 ZIP 文件 最简单的形式是,当不带任何选项使用时,unzip 命令将指定 ZIP 归档文件中的所有文件解压缩到工作目录文件夹中。 举个例子,假设你下载了 Wordpress 安装 ZIP 文件。 要将这个文件解压到工作目录文件夹,你只需运行以下命令: unzip latest.zip zip 文件不支持 linux 样式的所有权信息。提取的文件属于运行命令的用户。 您必须对解压压缩 ZIP 归档文件的目录具有写权限。 静默运行 默认情况下,解压缩将打印所提取的所有文件的名称,并在提取完成时打印一个摘要。 使用 -q 开关禁止打印这些消息。 unzip -q filename.zip 将 ZIP 文件解压缩到另一个目录

Linux常用命令大全

隐身守侯 提交于 2020-04-06 02:06:35
Linux常用命令大全(非常全!!!) 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统 init 0 关闭系统 telinit 0 关闭系统 shutdown -h hours