名词解释

根目录说明

tree -L 1

.
├── bin -> usr/bin # 英语binary的缩写,表示”二进制文件“,bin目录包含了会被所有用户使用的可执行程序
├── boot # 英语boot表示”启动“,boot目录包含与Linux启动密切相关的文件
├── dev # 英语device的缩写, 表示”设备“,包含外设,它里面的子目录,每一个对应一个外设
├── etc # etc目录包含系统的配置文件,按照原始Unix的说法,这下面都是一堆零零碎碎的东西,就叫etc好了,是历史遗留问题
├── home # 英语home表示”家“,用户的私人目录,在home目录中,我们放置私人的文件
├── lib -> usr/lib # 英语library的缩写,表示”库“,目录包含被程序所调用的库文件,以.so结尾的文件
├── lib64 -> usr/lib64
├── media # 英语media表示”媒体“,可移动的外设(USB盘,SD卡,DVD,光盘等)插入电脑时可以让我们通过media的子目录来访问这些外设的内容
├── mnt # mnt是英语mount的缩写,表示”挂载“,有点类似media目录,但一般用于临时挂载一些装置
├── opt # 英语 optional application software package的缩写,表示”可选的软件包“,用于安装多数第三方软件和插件
├── proc
├── root
├── run
├── sbin -> usr/sbin # 英语system binary的缩写, 表示”系统二进制文件“ ,包含系统级的重要可执行程序
├── srv # 英语service的缩写,表示”服务“,包含一些网络服务启动之后所需要取用的数据
├── sys
├── tmp # 英语temporary的缩写,表示”临时的“,普通用户和程序存放临时文件的地方
├── usr # 是英语Unix Software Resource的缩写,表示”Unix操作系统软件资源“,目录里安装了大部分用户需要调用的程序
└── var # 英语variable的缩写,表示”动态的,可变的“,var通常包含程序的数据,比如log(日志)文件,记录电脑了发生了什么事

挂载

所谓的挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下;也就是说进入该目录就可以读取该分区的意思。这个操作我们称为挂载,那个进入点的目录我们称为挂载点

shell

当谈到命令时,我们实际上指的是shellshell是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。几乎所有的Linux发行版都提供shell程序,该程序来自于称之为bash的GNU项目。bash是Bourne Again Shell的首字母缩写,Bourne Again Shell基于这样一个事实,即bash是sh的增强版本,而sh是最初的UNIX shell程序,由Steve Bourne编写。

终端

当使用图形用户界面时,需要另一种叫做终端仿真器(terminal emulator)的程序与shell进行交互。如果我们仔细查看桌面菜单,那么很可能会找到一个款终端仿真器。在KDE环境下使用的是konsole,而在GNOME环境下使用的是gonme-terminal,但在桌面菜单上很可能将它们简单地统称为终端。在Linux系统中,还有许多其他的终端仿真器可以使用,但是它们基本上都做同样的事情:让用户访问shell

硬件相关

修改主机名

查看当前主机名

hostname

临时修改主机名:

hostname new_name(新主机名)

上面的修改方式属于临时修改,系统重启后失效,如果想要永久性修改主机名,那么就需要修改配置文件

  • 在CentOS6中,需要修改 /etc/sysconfig/network文件
  • 在CentOS7中,需要修改 /etc/hostname文件

查看CentOS版本

cat /etc/redhat-release

查看CPU总核数

# 表示一颗CPU四核
grep processor /proc/cpuinfo |wc -l
grep -c processor /proc/cpuinfo

校正CentOS7时间

GPS系统中有两种时间区分,UTC就0时区的时间,CST为本地时间,如北京为早上八点(东八区),UTC时间比北京时晚八小时;

CST:Central Standard Time,UTC+8:00 中央标准时间

UTC:Universal Time Coordinated 世界协调时间

# 安装ntp软件包
sudo yum -y install ntp # 设置ntp开机自启
systemctl enable ntpd.service # 启动ntp服务
sudo service ntpd.service restart

如果需要配置CTS时间,需要创建如下软链接

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如果需要配置UTC时间,需要创建如下软链接

ln -sf /usr/share/zoneinfo/Universal /etc/localtime

修改文件最大打开数

linux修改文件最大打开数量的方法,默认情况下是1024的。

我们可以使用 ulimit -n命令查看

如果我们想临时修改,可以使用 ulimit -n 数量来修改,不过系统重启后修改会丢失

如果想永久修改,需要修改/etc/security/limits.conf文件

修改系统端口最大监听队列的长度

在linux中,/proc/sys/net/core/somaxconn这个参数,定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为128。

somaxconn限制了接收新 TCP 连接侦听队列的大小。对于一个经常处理新连接的高负载 web服务环境来说,默认的 128 太小了。大多数环境这个值建议增加到 1024 或者更多。 服务进程会自己限制侦听队列的大小(例如 sendmail(8) 或者 Apache),常常在它们的配置文件中有设置队列大小的选项。大的侦听队列对防止拒绝服务 DoS 攻击也会有所帮助。

vim /etc/sysctl.conf
# 添加
net.core.somaxconn = 1024

然后执行sysctl -p使配置生效。

修改内核内存分配策略

overcommit_memory是一个内核对内存分配的一种策略。 具体可见/proc/sys/vm/overcommit_memory下的值

overcommit_memory取值又三种分别为0,1,2

  • overcommit_memory=0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
  • overcommit_memory=1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
  • overcommit_memory=2, 表示内核允许分配超过所有物理内存和交换空间总和的内存。

当我们启动redis服务时,会报警告,翻译为【“警告超限”内存设置为0!在内存不足的情况下,后台保存可能会失败。若要解决此问题,请将“vm.overcommit_memory=1”添加到/etc/sysctl.conf,然后重新启动或运行命令“sysctl vm.overcommit_memory=1”以使其生效。】

vim /etc/sysctl.conf
# 添加
vm.overcommit_memory = 1

然后执行sysctl -p使配置生效。

vim编辑器

基本上vi共分为3种模式,分别是一般命令模式、编辑模式与命令行模式

一般命令模式(command mode)

以vi打开一个文件就直接进入一般命令模式了(这是默认的模式,也成为一般模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理文件内容,也可以使用【复制、粘贴】来处理你的文件内容。

编辑模式(insert mode)

在一般命令模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容。要等到你按下【i、I、o、O、a、A、r、R】等任何一个字母之后才会进入编辑模式。注意了,通常在Linux中,按下这些按键时,在界面的左下方会出现【INSERT】或【REPLACE】的字样,此时才可以进行编辑,而如果要回到一般命令模式时,则必须要按下【Esc】这个按键即可退出编辑模式。

命令行模式(command-line mode)

在一般模式当中,输入【

超有用的linux笔记的更多相关文章

  1. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  2. Linux 学习笔记之超详细基础linux命令 Part 4

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 3----------------- ...

  3. Linux 学习笔记之超详细基础linux命令 Part 14

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...

  4. Linux 学习笔记之超详细基础linux命令 Part 13

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...

  5. Linux 学习笔记之超详细基础linux命令 Part 12

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...

  6. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

  7. Linux 学习笔记之超详细基础linux命令 Part 10

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...

  8. Linux 学习笔记之超详细基础linux命令 Part 9

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 8

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...

随机推荐

  1. 74CMS3.0储存型XSS漏洞代码审计

    发现一个总结了乌云以前代码审计案例的宝藏网站:https://php.mengsec.com/ 希望自己能成为那个认真复现和学习前辈们思路的那个人,然后准备慢慢开始审计一些新的小型cms了 骑士cms ...

  2. Java获取不到请求的真实IP

    问题 最近在写博客浏览量的时候,设计了这么一个逻辑:同一个IP浏览一遍文章,5分钟内不刷新次数.就需要在服务器端得到用户的真实IP,我代码是这样写的(从网上找的方法): public static S ...

  3. Codeforces Round #631 (Div. 1) A-C

    在 \(\text{Div. 2/3}\) 混了一个多月后,四个号终于都上紫了,也没用理由不打 \(\text{Div. 1}\) 了.这是我人生中的第一场 \(\text{Div .1}\) ,之前 ...

  4. vue2实现路由懒加载

    一.什么是懒加载 顾名思义,懒加载就是随用随加载,什么时候需要就什么时候加载. 二.为什么需要懒加载 在单页应用中,如果没有使用懒加载,webpack打包后的文件会很大,这时进入首页时的加载时间会很长 ...

  5. OGG报错:Cannot load ICU resource bundle 'ggMessage', error code 2 - No such file or directory

    [oracle@dgdb1 ~]$ ggsci Oracle GoldenGate Command Interpreter for OracleVersion 11.2.1.0.3 14400833 ...

  6. 判断一个对象是否为空?怎么得到一个对象的第几个键名(key)?

    var obj = {"微信":[],"qq":[]} console.log( Object.keys(obj) ) // ["微信",& ...

  7. Collections.synchronizedList 并发

    1.背景 集合类中的map,大家一定熟悉,知道它非线程安全.使用的方法有两种,一种是在map上加同步器(锁),另一种是创建容器时使用Collections中的静态方法对map进行包装. java ap ...

  8. SpringCloud 源码系列(4)—— 负载均衡 Ribbon

    一.负载均衡 1.RestTemplate 在研究 eureka 源码上篇中,我们在 demo-consumer 消费者服务中定义了用 @LoadBalanced 标记的 RestTemplate,然 ...

  9. maven中引入jstl

    <!--jsp标签--> <dependency> <groupId>taglibs</groupId> <artifactId>stand ...

  10. AdaBoost 算法-分析波士顿房价数据集

    公号:码农充电站pro 主页:https://codeshellme.github.io 在机器学习算法中,有一种算法叫做集成算法,AdaBoost 算法是集成算法的一种.我们先来看下什么是集成算法. ...