名词解释

根目录说明

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. Codeforces Edu Round 66 A-E

    A. From Hero to Zero 通过取余快速运行第一步即可.由于\(a \% b (a >= b) <= \frac{a}{2}\).所以总复杂度不超过\(O(log_2n)\) ...

  2. Kubernetes Python Client 初体验之安装授权

    最近想做一个基于flask的云平台管理服务器,利用python调用kubenetes提供的API来实现云平台的操作.笔者使用的是Windows,kubernetes集群安装在Ubuntu和Respbi ...

  3. JAVA死锁的检测流程

    步骤一. 查询检测的进程 1.首先查看系统资源占用信息,TOP看一下 发现正在运行的JAVA项目CPU占用率很高,百分之360左右了,那么问题一定出在这个程序中 2 .也可以通过名称查询进程pid 步 ...

  4. java实现TCP通信(带界面)

    服务端: package NetWork; import java.io.*;import java.net.*;import java.awt.event.*;import java.awt.*;i ...

  5. Java PDF全套笔记

    java 知识pdf文档,基本涵盖了java知识点 java基础部分:https://github.com/HOSystemH/JavaFile/tree/master/JavaPDF java高级部 ...

  6. win32 C++制作美观按钮,告别win32 API编程中默认的灰色按钮

    使用win32 API制作美观按钮,当鼠标移入/移出按钮时改变按钮背景颜色,类似HTML网页中的效果,告别win32 API编程中默认的灰色按钮,效果图见下面动图和视频. 下载地址: 按钮效果(win ...

  7. 使用HBase Shell命令

    使用HBase Shell命令 或 使用HBase Java API完成: 列出HBase所有的表的相关信息,例如表名: 在终端打印出指定的表的所有记录数据: 向已经创建好的表添加和删除指定的列族或列 ...

  8. uni-app开发中的各种问题处理

    特别注意: ※:在components下的组件,图片路径用 /static/img/back.png  这样的根路径形式,不要用../static  或者 ../../static 的形式,不然很坑, ...

  9. 图的遍历BFS

    图的遍历BFS 广度优先遍历 深度优先遍历 可以进行标记 树的广度优先遍历,我们用了辅助的队列 bool visited[MAX_VERTEX_NUM] //访问标记数组 //广度优先遍历 void ...

  10. 精尽Spring MVC源码分析 - HandlerMapping 组件(二)之 HandlerInterceptor 拦截器

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...