Linux小知识:rm -rf/*会将系统全部删除吗 本文是学习笔记,视频地址为:https://www.bilibili.com/video/av62839850 执行上面的命令并不会删除所有内容(我劝你善良,不要试),并不能删除所有的文件,因为chattr可以设置哪些文件即使是root用户也不能删除. 拓展: 来源:http://www.ha97.com/5172.html 有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很…
Linux小知识:sudo su和su的区别 本文是学习笔记,视频地址:https://www.bilibili.com/video/av62836363 su是申请切换root用户,需要申请root用户密码.有些Linux发行版,例如ubuntu,默认没有设置root用户的密码,所以需要我们先使用sudo passwd root设置root用户密码. 而sudo su是当前用户暂时申请root权限,所以输入的不是root用户密码,而是当前用户的密码.sudo是用户申请管理员权限执行一个操作,而…
BBR 算法需要 Linux 4.9 及以上的内核支持,所以想要使用该方式的需要先升级内核版本. 在 Cent OS 7 上的 Linux 内核是 3.10, 使用 uname -r 查看内核版本 [root@iZ2ze83hhomw2zcf15c3qcZ ~]# uname -r -.el7.x86_64 升级内核版本 安装 eprl 的源 sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh…
Google BBR就是谷歌公司提出的一个开源TCP拥塞控制的算法.详情可以看这儿:https://lwn.net/Articles/701165.https://blog.sometimesnaive.org/article/8 实施过程 基础方法 最简单的方法就是使用Google BBR一键安装脚本. 使用root用户登录,运行以下命令: wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr…
前言  一直以来用的都是搬瓦工的VPS,不得不说比国内那些大厂的性价比高得不知道哪里去了.  当做梯子来用的话搬瓦工年付19.9美元的方案就够用了,网上还有一些官方优惠码(折扣6%: BWH1ZBPVK)可以使用,购买点这.最近椅子用的比较频繁,爬得慢了难免心生急躁.尝试使用BBR加速,速度提升了有数倍.  当初并没注意VPS的选择,配置BBR过程遇到了不少问题,先大致了解下VPS是什么.搬瓦工的VPS虚拟化技术采用了OpenVZ或KVM,基本可以根据这个来选择配置方法.  先把我用的VPS的基…
0X00 预备知识 在使用Google BBR之前,我们首先要了解它是什么. 了解计算机网络的人都知道,在TCP连接中,由于需要维持连接的可靠性,引入了拥塞控制和流量管理的方法.Google BBR就是谷歌公司提出的一个开源TCP拥塞控制的算法.在2016年Google开源了自己的TCP BBR算法,并提交到了 Linux 内核,,从 4.9 开始,Linux 内核已经用上了该算法.KVM架构的VPS可以参考本文进行升级内核并使用,openvz的VPS用户若内核版本低于4.9,可以参考这里! 0…
目录 一.简介 二.安装 三.设置BBR 一.简介 Google BBR 是一款免费开源的TCP拥塞控制传输控制协议, 可以使Linux服务器显著提高吞吐量和减少TCP连接的延迟. 二.安装 1.yum系统更新 yum update 2.查看系统版本 cat /etc/redhat-release 3.安装elrepo并升级内核 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrep…
偶尔在网上看到的这篇文章,总结了linux中一些天天在说的概念.可能是因为天天说的关系, 一直以为自己知道这些概念.其实对有些概念也只是似是而非的了解而已. 为此,决定将所有的小知识点全翻译下来,给自己看也是给大家参考. 原文是日文的(http://www.lpi.or.jp/lpic/examination/knowledge.shtml),翻译水平有限,难免有些错误,欢迎大家指出. 全部知识点一共 54 个,今天开始争取每天翻译一个知识点. 1. 「i386」是什么? 2. 「Linux」怎…
准备一台centos的服务器查看系统内核:rpm -qa | grep kernel这里需要Linux内核在4.9 RC版本以上,如果版本不是请继续下面操作 访问https://elrepo.org/ ,根据指示安装ELRepo仓库,教程如下 首先以root权限登陆服务器输入以下导入公钥:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 接着输入对应系统命令安装ELRepoCentOS-8:yum install https:/…
一.说明 以下知识点都来自网络收集,只是给自己记录以免下次同样的问题的时候会忘记,如果知道出处,我都会进行标注,如果侵权的话,请邮件通知我,我会及时删除的 二.知识点 1.将centos的源修改为阿里云(转自将Centos的yum源更换为国内的阿里云源) 第一步备份原先镜像文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 第二步下载新的文件到/etc/yum.repos.d/ Cent…
新年的开始,聊聊「怎么做才能成为Linux内核开发者」. Linux内核的开发都是由志愿开发者们完成的.他们并不属于某些特定的企业. 因此,你也有参加Linux内核开发的资格.不用说,卓越的编码技术以及对所开发功能的相关知识有确实的掌握是必要的. 但是,除了技术和知识之外,如果还有很好的交流能力的话,那么你写的代码会有更大的机会被Linux内核所采用. 本来Linux内核的来源就是,Linus Torvalds在互联网上公开内核的最初代码,随着这个代码在开发人员中的广泛流传,很多的开发人员参与到…
这次聊聊 「/proc 文件夹」. /proc 文件夹用来保管系统状态相关的文件的特殊文件夹,这个文件夹中有的文件只是内存上的虚拟文件. /proc 文件夹下有些文件可以反映各个进程的运行状态.所以说是决定Linux运行的非常重要的文件夹. 通过这个文件夹下文件,可以获取各式各样的信息.比如,请在命令行下输入「cat /proc/cpuinfo」试试看.可以获得CPU的信息. 其它还可以获得内存信息,驱动信息,以及其它软硬件方面的各种信息. 因此,修改 /proc 文件夹下的文件,可以调整系统的…
这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次」这种简单的指定方法,还可以指定只有某天的某时才执行任务,或者指定8点-22点每小时执行一次等等. 还可以指定到具体的时间(可以具体到分钟).使用起来有些规则,但不是很难. 「cron」被称为运用Linux所不可缺少的工具.可用来定期的管理获取日志的软件,定期的检查系统状态. 甚至可用来监视进程或者…
这次介绍下新闻上提到的「小型移动式PC」.(这个当时日本新闻上的内容) 最近,经常在日本的大卖场中看到一种小型的移动式PC.不仅是小巧方便携带,而且价格也便宜.而且,省电功能的加入,使电池能工作更长的时间. 但是,由于这种PC比较小,可能也不太适合长时间的使用. 根据新闻的说法,这种小型的移动PC在国外有很多都是安装的Linux操作系统的.原因之一是「消减成本」. 这种被成为「NETBOOK」(上网本)的PC,是由美国的一个被称为 OLPC 的 NPO 率先发起的项目,这个项目的目的是为了给发展…
这次,谈谈关于「环境变量」的话题. 所谓变量,就是在程序中设置的,相当于在内存中准备的「一个用来存放数据的小箱子」. 即,程序通过变量来保存值,通过变量保存的内容来进行各式各样的计算处理. 「环境变量」也是变量的一种.那它和普通的变量有什么区别呢?普通变量只对定义它的程序有效,而环境变量是所有程序共享的变量. 对于 Linux Shell而言,不仅Shell本身能够使用,被Shell产生的子进程也能使用的变量就是环境变量. 环境变量的名称通常用大写字母来定义.实际上用小写字母来定义环境变量也不会…
最近比较流行的Linux发行版,得是连新闻都报道的,刚刚发布新版的「CentOS」了. 「CentOS」一般被称为Red Hat EnterpriseLinux的克隆版本,这是什么意思呢? Linux发行版中的大部分都是由开源软件所构成的.安装盘中虽然只包含了所有编译好的二进制软件包,但一般都会以其他方式提供使用的软件包的源代码. 所谓「克隆」,就是指利用这些软件包的源代码,重新编译来构成一个新的发行版. 当然,虽说完全相同,但是如果存在商标权和固有著作权的问题时,会把这些部分的标记,数据都替换…
说起module(模块),有的像「可热插拔的零部件」的意思. 在讨论Linux时提到的模块一般是指可以组装到内核中的模块. 模块这个概念是在硬件和程序设计领域中广泛使用的概念.我们这次说的模块特指Linux内核中的模块. 内核模块简单来说就是「作为内核程序主体的一个小配件来使用的程序」,也就是说,只有模块是什么也做不了的.安装到内核中才能起作用. 比如有一个新的设备或者一个新的功能想要追加到内核中时,就可以用模块的方式来实现.(设备驱动最好考虑用内核模块的方式来提供) 此时,如果把相应的模块直接…
1.Linux图形界面和字符命令行界面的切换 从图形界面切换到字符界面,使用快捷键 Ctrl+Alt+F1 从字符界面切换到图形界面,使用快捷键 Ctrl+Alt+F7 2.解压文件 tar -xzvf FileName.tgz -C DirName unzip FileName.zip 3.文件编辑 vi FileName 查看文件 i 进入编辑状态 Esc键  退出编辑状态 :q 不保存退出 :wq 保存并退出 :q!  强制退出…
1,ubuntu下,开机如何进行命令行? 图形模式下,首先进入终端: 1. 找到 /etc/default/grub文件: 2. 修改 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"或"quiet" 3. 改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"或"quiet text 4, 更新 sudo update-grub 5, 重启,即可: 2,如何…
这周聊聊「NTP」. 上次,聊了「时区」,也就是时间相关的话题. NTP是「Network Time Protocol」的简称,是为了将网络中计算机的时钟同步到正确时间的协议. PC内部的时钟是相当不准确的,运行一个月左右就会产生几秒的误差.网络上的服务器,经常由于时钟的误差导致电子邮件的发送接收记录等出现异常. 因此,接入统一网络的主机的时钟有必要互相同步时钟.NTP就是用来解决这个问题的. NTP是以「服务端·客户端」的方式提供的.「NTP服务器」使用原子时钟之类东西时钟保持正确的时间,然后…
这次聊聊「LDAP」. LDAP是「Lightweight Directory Access Protocol」的所有,从名字上可以看出是协议的一种. LDAP是访问数据库(层次型数据库)的组件.管理的数据主要是用户名,密码等「账户信息」,以及其它用户信息. LDAP用于「统一管理多台计算机的用户相关信息」.比如,对于教育机关或者企业等,有很多机器,也有很多用户的场合,LDAP就非常有帮助. 如果没有LDAP这种统一管理的组件,每台机器的用户信息都必须要一个一个进行登录.当然,用户信息发生变化的…
这次聊聊「BitTorrent」. (也就是下片子的 BT) BitTorrent是文件传输的一种.它可以在服务端负担很小的情况下高速的传输文件. BitTorrent最大的特点就是服务端可以将文件的片段上传到客户端,客户端得到服务端文件片段的同时,也将自己已有的文件片段传给其它客户端. 也就是说,很多客户端一起合作完成文件的下载.即,BitTorrent的特点就是下载的客户端越多,下载的速度越快. 因此,BitTorrent多用于CD-ROM或者DVD-ROM之类文件体积比较大的ISO文件的下…
这次聊聊「GCC」. GCC是「GNU Compiler Collection」的简称,由C.C++.FORTRAN.Java等语言的编译器以及这些语言的库所组成. GCC不仅包含编译器本身,还包含了编译所必要的库,所以可以编译多种语言所写的代码. GCC是免费软件,几乎所有Linux发行版中都包含它,所有使用Linux的时候可以很方便的使用GCC. 甚至可以这么说「提到Linux就不能不提GCC」. 使用GCC最重要的目的之一,就是「构建Linux内核」. 编译Linux内核源码的时候,是用G…
这回聊聊「代理服务器」. 在公司里,不通过代理服务器无法连接互联网的,由于代理服务器的原因,有些服务的使用是受到限制的. 有人可能会觉得为什么会存在这种东西?(这里指代理服务器) Proxy本来的意思是「代理服务器」.代理服务器就是客户端和服务器中间的一层,对服务器来说,它就是客户端,对客户端来说,它就是服务器. 最好理解的就是HTTP代理,「当客户端有请求的时候,HTTP代理获得这个请求,然后代替客户端将这个请求发给服务器,然后将服务器返回的结果返回给客户端」. 那么为什么需要中间这层代理呢?…
这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者追加,包括bug修正,安全漏洞修正,功能追加或者变更等等.当然,只有「补丁」是无法运行的. 即,只有将「补丁」附加到原来的程序中,更新原来的程序后,才能运行. 「补丁(patch)」本来是指「打补丁用的小布头」.「patch」正是为了补足现有的程序,堵住程序漏洞的「布头」. 打「补丁」的时候需要用到…
这次聊聊 「服务器」 这个词. 可能会觉得为什么「突然问这个?」.接下来请先考虑一下下面的题目. A) 「Web服务器是指提供网页数据的软件」 B) 「Web服务器是指运行上述软件的硬件」 那么,究竟那句话是对的呢? 答案是:2句都是对的. 也就是说,提到「服务器」的时候,可能是指软件,也可能是指硬件.比如,「Apache」软件是Web服务器,运行Apache,并提供网页信息的硬件也被称为「服务器」. 所谓专业术语,也有非常麻烦的一面,比如有名的Linux,严格来说应该只是指的内核部分. 提到「…
这次,继续聊聊「虚拟化技术」. 根据上回的介绍,虚拟化技术可以使「计算机的台数和运行的OS的个数的比例不再是1:1」.这回介绍一下如何使用这个技术. 使用方法之一,「一台计算机上运行多个OS」.从个人用户的观点来看,这是最贴近个人用户的使用方法. 在已有的OS上通过虚拟化机安装Linux,然后在虚拟机上学习Linux的人有很多. 还有一种使用方法,实际上这种使用方法一直受到极大的关注,这种使用方法就是「将多台计算机构成一个系统」. 这种方法将多台计算机的计算能力汇集到一个系统中,可以大大提供系统…
这次说说「Shell 脚本」. 根据上回的介绍,Shell就是「作为联系Linux和用户的接口而存在的软件」.在Linux环境中,通过Shell来操作系统很普遍. 这里,考虑到有时候可能想要「多次的进行反复的类似操作」,比如定时的系统监视等等. 在这种场合下,需要在Shell中多次的输入同样的命令.非常浪费时间. 上述的场合,可以事前将一系列的操作(准备执行的命令等等)以程序的形式记录在文件中,同时让这个文件可执行.这个文件就是「Shell Script」. 「Script」就是「脚本」的意思.…
这次说说关于Shell的东西. 「Shell」是看不见实体的,所以理解起来可能会有些困难. 最近的Linux发行版默认都是用X Window System来操作的(也就是图形化操作),所以很少见到有人会多余的去问「Shell是什么?」 UNIX系的OS的Shell是指「连结OS内核和用户的命令行接口」,命令行接口就是不使用鼠标,通过键盘输入字母文字等来和系统进行交互的接口. 即,Shell就是内核和用户之间通过文字交互的程序. X Window System启动后,同时按下 Ctrl+Alt+F…
这次聊聊桌面环境. 上次聊了 X Window System 相关的内容,虽然令人意外,但X Window System 和桌面环境不是一回事.请大家稍微考虑一下. X Window System 是指提供GUI环境的软件或者协议.与之相对,「桌面环境」是指工具栏,图标,窗口管理器,桌面管理器等等各式各样软件组合起来的GUI软件包. 换句话说,就是「使用桌面所必需的软件的集合」. 有名的桌面环境有「GNOME」和「KDE」.最近,很多Linux的发行版并不关心使用的桌面环境是「GNOME」还是「…