linux容易被忽略的知识点合理

持续更新……

1.NETBISO:是附属于tcp/ip的一个协议,是工作在会话层的协议,用于实现局域网内的计算机的发现功能。

2.linux上网络带宽的测试工具:

iperf服务启动方式

先看下服务端和客户端的启动方式:

服务端

iperf -s

客户端

iperf -c 服务端IP地址

注意:iperf默认测试的是TCP协议的带宽,如果需要测试UDP的带宽,则需要加上-u选项

  iperf常用选项

  iperf选项分为 通用选项、服务端特定选项以及客户端特定选项

通用选项

-f     报告输出格式。 [kmKM]  format to report: Kbits, Mbits, KBytes, MBytes

-i     在周期性报告带宽之间暂停n秒。如周期是10s,则-i指定为2,则每隔2秒报告一次带宽测试情况,则共计报告5次

-p    设置服务端监听的端口,默认是5001

-u    使用UDP协议测试

-w n  指定TCP窗口大小

-m    输出MTU大小

-M    设置MTU大小

-o     结果输出至文件

服务端选项

-s    iperf服务器模式

-d    以后台模式运行服务端

-U    运行一个单一线程的UDP模式

客户端选项

-b , --bandwidth n[KM]    指定客户端通过UDP协议发送数据的带宽(bit/s)。默认是1Mbit/s

-c     以客户端模式运行iperf,并且连接至服务端主机ServerIP。 eg:  iperf -c

-d    双向测试

-t    指定iperf带宽测试时间,默认是10s。  eg:  iperf -c -t 20

-P    指定客户端并发线程数,默认只运行一个线程。 eg,指定3个线程 : iperf -c -P 3

-T    指定TTL值

3.vmware相关知识点

厚置备延迟置零:立刻分配制定空间,但是不立即抹除物理卷数据

厚置备置零:立刻分配制定空间,并且立即抹除物理卷数据

精简置备:随着使用的需要,逐步扩大所需的空间

4.存储的单控与双控,主要体现在连接服务器的数量上。例如单控可链接两台,则双控可链接四台。

5.seq命令 可以连续或者指定间隔的输出数字

例如:seq 1 10 指输出1到10

        seq 1 2 10 指输出1到10 间隔为2    1 3 5 7

6.SAS与其他技术的比较

7.  使用rz和sz命令

需要安装lrzsz包,yum install 即可

8.  开机添加自动运行脚本

rc.local是全局性的文件,level1-5都会执行,注意看/etc/rc.local的配置文件,要赋予/etc/rc.d/rc.local权限,chmod + x 才可以运行

rcX.d是对应启动等级所需要执行的脚本,其中需要注意的是命名规则

当运行级别由低到高时,会运行以S开头的脚本,当级别由高到低时,会运行以K或stop的脚本

rcX.d文件夹中都是软连接,只想init.d中的实际脚本,并且脚本与链接名必须对应。形如 S20nginx.sh

-> nginx.sh,测试,成功

9.  - 特殊符号的作用

cd -

这代表变更工作目录到"上一次"工作目录。

单独的 - 代表标准输入

10.

ssh RSA不对的问题

简单的解决方法直接删除know_hosts文件

或者用命令ssh-keygen -R [服务器ip address]

11. HBA

主机总线适配器 host bus adapter

hba卡的作用简单的可以说与网卡类似,wwn号类似mac地址,是唯一标识的。HBA卡常见的是FC HBA和ISCSI HBA。 分别用于fc san 和IP san中。为什么需要HBA卡呢,它是用来接受指令后进行繁重的解指令等操作的,所以我们需要它。

万兆网卡一般说的是以太网卡,只不过它使用光信号。

12.exec命令

一般用在shell脚本中,执行命令

如果在当前终端执行,执行完之后会立即退出终端。

13. systemctl status 情况分析

vendor preset enabled

供应商预置启用

14.查看linux服务器cpu个数

cat /proc/cpuinfo |grep  physical id | sort | uniq | wc  -l

查看cpu型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

15.快速配置网卡浮动ip

ifconfig eth1:0 192.168.1.1 netmask 255.255.255.0 up 配置浮动ip或者别名。使同一块网卡监听多个地址。

16.三个grep

egrep = grep -E 使用正则表达式

fgrep = grep -F 不使用

grep -n显示行号 -A显示匹配到的后A行-B显示匹配到的前B行

17.网页错误解释

2XX代表请求完成,3XX代表网站重定向,4XX代表客户端错误,5XX代表服务端错误

18. 关于jvm配额

-xms初始堆大小(最小堆大小) -xmx 最大堆大小 -xmn 年轻代大小 -xss每个线程堆大小

elastic中尽量最大和最小相等

整个堆大小=年轻代大小 + 年老代大小 + 持久代大小.

增大年轻代后,将会减小年老代大小.此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8

详解文章 http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

19. 同步硬件时钟

20. 查看网卡的mac地址,UUID地址

nmcli dev show

nmcli con show

或者查看文件

/etc/udev/rules.d/70-persistent-net.rules

21. uptime参数详解

例:04:03:58 up 10 days, 13:19, 1 user, load average: 0.54, 0.40, 0.20

  1. 当前时间 04:03:58

  2. 系统已运行的时间 10 days, 13:19

  3. 当前在线用户 1 user

  4. 平均负载:0.54, 0.40, 0.20,最近1分钟、5分钟、15分钟系统的负载

22. top命令

-b:以批处理模式操作;

-c:显示完整的治命令;

-d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i<时间>:设置间隔时间;

-u<用户名>:指定用户名;

-p<进程号>:指定进程;

-n<次数>:循环显示的次数。

交互式模式下:

h:显示帮助画面,给出一些简短的命令总结说明;

k:终止一个进程;

i:忽略闲置和僵死进程,这是一个开关式命令;

q:退出程序;

r:重新安排一个进程的优先级别;

S:切换到累计模式;

s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;

f或者F:从当前显示中添加或者删除项目;

o或者O:改变显示项目的顺序;

l:切换显示平均负载和启动时间信息;

m:切换显示内存信息;

t:切换显示进程和CPU状态信息;

c:切换显示命令名称和完整命令行;

M:根据驻留内存大小进行排序;

P:根据CPU使用百分比大小进行排序;

T:根据时间/累计时间进行排序;

w:将当前设置写入~/.toprc文件中。

23. xargs用法

xargs用作替换工具,读取输入数据重新格式化后输出。

-n选项 num 多行输出: 每行几个字符

-d选项, 可以自定义一个定界符:

-i选项,使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,当-I与xargs结合使用,每一个参数命令都会被执行一次。例:ls *.jpg | xargs -n1 -I cp {} /data/images

其他用法:find . -type f -name "*.log" -print0 | xargs -0 rm -f

                  xargs -0将\0作为定界符。

24.USER1的妙用

USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。

25. 查询软件安装路径

rpm -ql

26.

文件的umask最高值是666 系统不允许你创建一个文件时,就赋予她执行权限,目录的最高值是777

当文件的umask中由任意一位奇数时,则减去之后那位要加1  比如 666-035=631+011=642

27.

fork机制

fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程。原进程返回新进程的pid,新进程返回o

28.

echo "- - -" >  /sys/class/scsi_host/host0/scan

29.

LILO引导程序的劣势在于每次更新配置都需要重新配置LILO

linux中设备的命名规则(前提是基于GRUB引导加程序),scsi设备形如sda,sdb 。hdd设备形如hda,hdb

30.

sudo -l 查看用户当前的可执行权限

31. 事件驱动模型

当产生一个新的连接时,通常由三种处理方式

打开一个新的进程处理

打开一个新的线程处理

将新的请求放入一个事件列表,并采用非阻塞io的方式处理

32. top中的id参数

98.7% id 空闲CPU百分比

33. hdparm

这儿命令仅仅适用于IDE接口的设备

34. watch命令  周期性的显示某个命令的执行结果

      1.命令格式:

    watch[]参数[命令]

  2.命令功能:

    可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令

  3.命令参数:

    -n或--interval watch 缺省每2秒运行一下程序,多用于周期性执行命令/定时执行命令。

    -d或-differences 用 -d 或--differences选项watch 会高亮显示变化的区域。而-d = cumulative 选项会把变动过的地方(不管最近的那次有没有变动)都会高亮显示出来。

    -t或-no-title 会关闭watch 命令在顶部的时间间隔命令,

35. linux的cup进程

与打印机相关

36. 开启服务器ip转发功能 

cat /proc/sys/net/ipv4/ip_forward    1是开启0是关闭

37. linux挂载虚拟文件

mount –o loop linuxsetup.iso /mnt/iso1

在linux 不需要虚拟光驱,就可以直接读取iso文件

使用losetup将文件转化为块设备

losetup /dev/loop0 /var/loop.img

38. 通过ping命令简单判断服务器操作系统  (非一定可靠)

ping命令

TTL=128,这是WINNT/2000/XP。

TTL=32,这是WIN95/98/ME。

TTL=256,这是UNIX。

TTL=64,这是LINUX

39. 重新扫描硬件设备

echo "- - -" > /sys/class/scsi_host/host0/scan

40. set -e

#!/bin/bash

set -e

command 1

command 2

...

exit 0

你写的每个脚本都应该在文件开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。

set -C来设置如果输出重定向文件已经存在则不覆盖。使用set +C来取消set -C的效果。

41.  ()的妙用

()

命令组.在括号中的命令列表, 将会作为一个子shell来运行.

在括号中的变量,由于是在子shell中,所以对于脚本剩下的部分是不可用的. 父进程, 也就是脚本本身, 将不能够读取在子进程中创建的变量, 也就是在子shell中创建的变量.

(cmd1;cmd2;cmd3)

42.

$() 存放命令  ${}存放变量

字符串比较用双中括号[[ ]];算数比较用单中括号[ ]——左右留空格

if [ $i -lt 5 ]    用这种符号的只能用单括号 

if [ $a -ne 1 -a $a != 2 ]   

if [ $a -ne 1] && [ $a != 2 ]   

if [[ $a != 1 && $a != 2 ]]    用这个管道符的只能用双括号

43.

使用&后台运行程序:

  结果会输出到终端

  使用Ctrl + C发送SIGINT信号,程序免疫

  关闭session发送SIGHUP信号,程序关闭

使用nohup运行程序:

  结果默认会输出到nohup.out

  使用Ctrl + C发送SIGINT信号,程序关闭

  关闭session发送SIGHUP信号,程序免疫

平日线上经常使用nohup和&配合来启动程序:

  同时免疫SIGINT和SIGHUP信号

同时,还有一个最佳实践:

  不要将信息输出到终端标准输出,标准错误输出,而要用日志组件将信息记录到日志里

44.

计算密集型任务比较消耗cpu,IO密集型则是任务越多,cpu效率越高。

45. curl可以观察到下载的速度变化

46. ntp配为本地源

在配置文件中加入 server 127。127.1.0  即可

47. 网络分区

由于网络的断连,导致对端两个节点都以为对方掉线了。从而导致的现象

48. 动画解释RAFT算法选举过程(很好的网站)

http://thesecretlivesofdata.com/raft/

49. FD文件描述符

fd为打开文件的文件描述符,而每个进程都有一张文件描述表,fd文件描述符就是这张表的索引,同样这张表中有一表项,该表项又是指向前面提到打开文件的file结构体,file结构体才是内核中用于描述文件属性的结构体)。

49.cgroup

cgroup实现资源限制,namespace实现资源隔离

全称是control group,用来实现进程cpu,内存,io等的限额,第六天中的设置docker容器配额的参数,其实就是在配置cgroup。

50.namespace

每个容器拥有自己的文件系统,网卡等资源,并且相互隔离且只有容器本身使用。linux实现这种技术的方式成为namespace,它实现了容器间的资源隔离。

Linux使用了6种namespace,分别时UTS,IPC,PID,Network,User和Mount。

51. ll命令的权限后面的数字的含义

表示文件的个数,如果是文件,就是1,目录的话则要看具体内容了。

-是普通文件,d是目录,l是链接,b是块设备,c是字符设备文件,

52. lvm扩容

根分区扩容后要用xfs_growfs来完成扩容的最后一步

其他分区用resize2fs完成

或者说 xfs仅针对xfs文件系统(这个没有做测试是否如此)

53. keepalive HA 

ip a 可以看到浮动地址

ifconfig -a 看不到

53 .  .gz结尾的文件

用gunzip 解压即可

你可能感兴趣的:(linux容易被忽略的知识点合理)