linux 常用 小知识

查看文件里未被注释的内容

有时候一个文件里的内容很多,而且有的注释了,我们想要知道具体生效的配置有哪些,只需要一条命令即可:

grep -v "^#" httpd.conf | grep -v "^$" 

上述命令就是查看httpd.conf文件里未被注释的内容

查看 磁盘 uuid

blkid
或者:
ls -l /dev/disk/by-uuid

查看 磁盘 挂载

lsblk
lsblk -f
lsblk -o NAME,UUID,MOUNTPOINT,FSTYPE

查看 远控卡 IP

ipmitool lan print |grep Address

查看 CPU 核数

cat /proc/cpuinfo |grep pro |wc -l

查看机器是否为NUMA结构

grep -i numa /var/log/dmesg
如果输出结果为:
No NUMA configuration found
说明numa为disable,如果不是上面的内容说明numa为enable

磁盘碎片整理

查看磁盘碎片
xfs_db -c frag -r /dev/sdb1
actual 113391, ideal 108600, fragmentation factor 4.23%

整理碎片
xfs_fsr /dev/sdb1

测试网络流量是否到达

在需要测试的主机(172.21.0.25)上执行:
tcpdump -i eth0 icmp    ##监控eth0 网口,监听 icmp协议,即ping

在别的机器上执行:
ping 172.21.0.25  

如果在测试主机(172.21.0.25)上有响应,两台机器之间能够互通

查看端口状态

netstat -tulnp|grep 8080

查看软件安装路径

先执行下面的命令,查看所有的已安装软件名称。

rpm -qa 

然后执行

rpm -ql 软件名称

就可以显示软件的安装路径。

查看 当前都有谁登陆

who

查看后台执行的程序

ps -aux

查看网络的联机状态

netstat -a

把内存中的数据写入到磁盘上

sync  ##注意:如果是普通用户,只是把当前用户的操作写入到磁盘。如果是root用户,则会把所有用户的操作写入磁盘

关闭selinux

1
2
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

获取grep列表值

1
2
3
4
5
6
7
8
9
10
11
12
案例:
# ceph osd df
ID WEIGHT REWEIGHT SIZE USE AVAIL %USE VAR PGS
0 3.63689 1.00000 3724G 1844G 1879G 49.52 0.99 790
1 3.63689 1.00000 3724G 1957G 1767G 52.55 1.05 785
2 3.63689 1.00000 3724G 1750G 1973G 47.00 0.94 747
获取PGS这列数据(去除头部PGS):
ceph osd df|awk '{print $9}'|awk 'NF'|grep -v PGS
获取PGS这列最小值:
ceph osd df|awk '{print $9}'|awk 'NF'|grep -v PGS|sort|head -n 1

检查磁盘4k对齐

1
2
3
4
5
1. GPT 分区
parted /dev/sda unit s print ## 如果start开始的扇区能被8整除,就表示4k对齐了
2. 传统MBR分区
fdisk -lu /dev/sda ## start开始的扇区能被8整除,就表示4k对齐了

取消第一次ssh yes/no 问答

1
2
3
4
# cat .ssh/config
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null

vi/vim 注释多行和取消注释

1
2
3
4
5
6
7
8
9
多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
2. 按大写字母I,再插入注释符,例如#
3. 按esc键就会全部注释了
取消多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
2. 按字母j,或者k选中注释符号
3. 按d键就可全部取消注释

yum 下载不安装

1
2
3
4
5
# yum install --downloadonly <package-name>
默认情况下,一个下载的RPM包会保存在下面的目录中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
可以执行下载目录:
# yum install --downloadonly --downloaddir=/tmp <package-name>

删除blkid显示信息

1
2
3
4
5
6
7
8
9
# blkid
/dev/vda1: UUID="92b9e766-79af-48fe-8a02-b49cb076988c" TYPE="xfs"
/dev/vdc: PTTYPE="gpt"
## 删除/dev/vdc: PTTYPE="gpt" 这条记录
# dd if=/dev/zero of=/dev/vdc bs=1M count=1
# blkid
/dev/vda1: UUID="92b9e766-79af-48fe-8a02-b49cb076988c" TYPE="xfs"
已经删除

下载远程目录下的所有文件

1
# nohup wget -r --level=0 -E --ignore-length -x -k -p -erobots=off -np -N https://mirrors.aliyun.com/centos/7.5.1804/cloud/x86_64/openstack-queens/ &

ps -ef|grep 获取指定列

1
# ps -ef| grep 'test_lun' | awk 'NR==1{print $2}' # $2获取第二列