名词解释

根目录说明

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. Java并发编程的艺术(八)——锁相关

    锁的作用 控制多个线程访问共享资源. 线程协作 Lock接口 特点 与synchronized类似的同步功能,只是需要显式地获取和释放锁.缺少隐式获取锁的便捷性. 拥有锁获取与释放的可操作性.可中断的 ...

  2. js生成随机数、随机数列、数值转金融格式

    随机数的生成:min到max之间,包括两者自身 parseInt(Math.random()*(max-min+1)+min,10); Math.floor(Math.random()*(max-mi ...

  3. common 模块的 context.py

    1.context.py  是写正则表达式的,源码如下: import re#s 是目标字符串#dict 是替换的内容#找到目标字符串里面的标识符KEY,去d里面拿到替换的值#替换到s 里面去,然后仔 ...

  4. 使用MDNS进行局域网服务发现(.NET Core)

    使用MDNS进行局域网服务发现(.NET Core) 想要服务写的好,配置文件不可少.如果是一个复杂的系统,甚至配置文件都是需要进行动态调整的,做起来好像就不是那么方便了,通常情况下,asp.net ...

  5. Jmeter连接redis

    介绍:现在有很多数据不是存储在数据库而是存储在Redis中 Redis数据库存储数据环境 不用每次都去数据库读取数据 可以有效的优化服务器性能. 下面介绍使用jmeter如何读取redis 一.首先创 ...

  6. 【QT】多个槽函数绑定同一个信号的触发顺序

    目录 一.Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前 二.Qt 4.6(包含4.6)版本之后 一.Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前 「多个槽函 ...

  7. YouZack英语学习网站,英语四六级的福音

    YouZack英文网站 YouZack英语网站是,杨中科大佬开发给各位有需要的人使用的一个英语学习网站: 网站分两个模块: 听力模块部分图 听力模块界面 听力模块使用说明界面 背单词模块部分图 背单词 ...

  8. 仵航说 前后端分离,文件上传下载(springBoot+vue+elementUI)仵老大

    1.介绍 ​ 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel ...

  9. 基于Python实现环形队列高效定时器

    定时器Python实现代码 import time import redis import multiprocessing class Base: """ redis配置 ...

  10. 卡尔曼滤波学习笔记1-Matlab模拟温度例子--代码比较乱,还需优化

    温度模拟参数选取 xk 系统状态 实际温度 A 系统矩阵 温度不变,为1 B.uk 状态的控制量 无控制量,为0 Zk 观测值 温度计读数 H 观测矩阵 直接读出,为1 wk 过程噪声 温度变化偏差, ...