linux基础查漏补缺

1,ps 有很多参数 e和x都是输出所有进程,但是实际测试e会多输出一些已经死掉的进程

2,ps的f是指format,格式后仅比a多一些作用不太大的参数,例如uid,ppid,实际可以使用u,多输出一些包括cpu占用,内存占用的信息

3,ps以及free输出的内存信息包括vss和,vsz指virtual size,rss指resident set size,前者包括虚拟内存大小,无太大参考意义,后者表示常驻内存,表示实际物理占用的内存,但是由于rss包含动态库的内存,所以由于共享动态库的重复,所有进程的rss相加大于总占用物理内存。

4,查看网络连接可以用netstat和ss,netstat属于net-tool工具集,但基本被淘汰,ss属于iproute工具集

5,一致性哈希算法,看到的一篇文章,感觉在分布式处理中有点用,如果将一堆数据保存在三台服务器中,需要使用保存方法和访问方法,通过计算hash值,将数据名通过某种(java中通常计算名字中包含符号的ascall码之和)方法计算哈希值,然后对服务器个数求余,这样得到的数字即为服务器序号。当其中一台服务器失效时,可以通过一种圆环模型,即将求余数的数值从服务器数改为2*32,然后将服务器平均分到2*32序列当中,数据求余后得到的数如果不是服务器序号,就一直自加,加到服务器序号为止,当然由于是个环模型,所以加到2*32时会重置为1

6,32位linux和64位linux变量范围区别只需要记住:

32位linux的long和指针都是4字节,二64位linux的long和指针都是8字节。

7,shell注意单引号和反引号的区别:

单引号‘’:表示字符串,字符串内部的字符将解析成其原本意思,包括反斜线\不会转义。

反引号``:和$一起使用表示执行命令,返回命令执行结果,同$()

8,关于git的几种状态

按照untracked unmodified modified staged来分的话有一点比较疑惑,那就是一个文件既可以是modified也可以是staged,所以这样划分不是按照同一个属性来划分的,可以稍改下划分方法

unmodified untracked tracked  staged

例如:文件A->修改为A'->add->commit

状态变化为:unmodified ->tracked->staged->unmodified

例如:新增文件B->add->commit

状态变化为:untracked->staged->unmodified

9,大端字节序和小端字节序

最好不要用前后来区分,而是用地址位来区分。

大端字节序:低位地址存放高位数据。

小端字节序:高位地址存放高位数据

由于变量的地址始终是低位地址,通过地址偏移来访问高位数据,所以各个字节序有以下有点:

大端字节序:最快访问符号位,条件判断语句执行快。

小端字节序:最快访问低位数据,整型数据转换速度快。

10,查看磁盘空间

df -h

fdisk

du -sh

11、linux 内存分布图

12,linux syslog

默认保存在/var/log/syslog中

头文件<syslog>

使用接口openlog,syslog,closelog

13,Linux shell export,env,set,declare区别

①、shell中有三种变量:内部变量,环境变量,用户变量

内部变量:系统提供,不用定义,不能修改

例如:

#echo $0
-sh

环境变量:系统提供,不用定义,可以修改,子进程有效

例如:

#echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/fhrom/fhshell:/fhrom/bin

用户变量:用户定义,可以修改(可以使用export将用户变量),子进程无效

例如:

#NAME=xiaoshixiu
#echo $NAME
xiaoshixiu

②、env,declare,set,export四个命令都能显示shell变量:

env显示用户的环境变量(包括了export显示出来的和一些没有被导出为环境变量的系统变量)

例如:

#env
USER=root
LD_LIBRARY_PATH=/lib:/usr/lib:/fhrom/lib:/gokesdk/lib
SHLVL=1
OLDPWD=/var/log
HOME=/root
PS1=\$
LOGNAME=root
TERM=vt102
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/fhrom/fhshell:/fhrom/bin
SHELL=/bin/sh
PWD=/var
TZ=CST-08:00


export显示当前导出为环境变量的shell变量(和env内容相同,不过形式不同)

例如:

$export
export HOME='/root'
export LD_LIBRARY_PATH='/lib:/usr/lib:/fhrom/lib:/gokesdk/lib'
export LOGNAME='root'
export OLDPWD='/var/log'
export PATH='/usr/bin:/bin:/usr/sbin:/sbin:/fhrom/fhshell:/fhrom/bin'
export PS1='$'
export PWD='/var'
export SHELL='/bin/sh'
export SHLVL='1'
export TERM='vt102'
export TZ='CST-08:00??'
export USER='root'

 set显示当前shell定义的变量,包括环境变量,用户变量

例如:

$set
HISTFILE='/root/.ash_history'
HOME='/root'
HOSTNAME='(none)'
IFS='   
'
LD_LIBRARY_PATH='/lib:/usr/lib:/fhrom/lib:/gokesdk/lib'
LOGNAME='root'
NAME='xiaoshixiu'
OLDPWD='/var/log'
OPTIND='1'
PATH='/usr/bin:/bin:/usr/sbin:/sbin:/fhrom/fhshell:/fhrom/bin'
PPID='725'
PS1='$'
PS2='> '
PS4='+ '
PWD='/var'
SHELL='/bin/sh'
SHLVL='1'
TERM='vt102'
TZ='CST-08:00??'
USER='root'
_='env'

declare和set一样

③、declare声明的变量是用户变量,export声明的变量是环境变量

14,好用的linux工具

火焰图生成工具:Flame Graphs

参考:https://www.cnblogs.com/ainima/p/6330766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值