Linux笔记常用命令

find命令

find查找指定目录下,排除某个目录,类型为文件的数据,拷贝到指定目录

找到当前目录下的所有文件,但是排除abc目录,然后把找到的文件复制到abc目录

find . -type f ! -path "./abc/*" -exec cp {} abc \;

ss命令

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查询磁盘UUID

  • 方法1
[root@localhost ~]# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Aug 11 11:41 588652fe-b1cd-4382-bac8-83247f274376 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug 11 11:41 b5fb16d1-3431-48d4-9aa7-6fcaa2b7d393 -> ../../sda3
lrwxrwxrwx 1 root root 10 Aug 11 11:41 b72f4db4-a5b1-4cfe-842b-72adc6ab7f52 -> ../../sda1
lrwxrwxrwx 1 root root  9 Aug 11 16:02 b9c474d9-caa7-4b72-b5ba-d65851874b7b -> ../../sdb
  • 方法2
[root@localhost ~]# blkid /dev/sdb
/dev/sdb: UUID="b9c474d9-caa7-4b72-b5ba-d65851874b7b" TYPE="xfs" 
[root@localhost ~]# 

Linux UUID的作用及意义

原因1:它是真正的唯一标志符

UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。

原因2:设备名并非总是不变的

自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。

使用UUID对于挂载移动设备也非常有好处──例如我有一个24合一的读卡器,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。

原因3:ubuntu中的许多关键功能现在开始依赖于UUID

例如grub──系统引导程序,现在可以识别UUID,打开你的/boot/grub/menu.lst,你可以看到类似如下的语句:
title Ubuntu hardy (development branch), kernel 2.6.24-16-generic
root (hd2,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c73a37c8-ef7f-40e4-b9de-8b2f81038441 ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic

Linux UUID的作用及意义,参考自:https://www.cnblogs.com/xia/archive/2011/01/30/1947706.html

grep命令小技巧

shell中使用grep ,如果匹配不到结果,命令返回状态不是0,是1,这样在脚本中会报错。

个人总结了一个小技巧:

echo "" | grep "abc"; echo " "
echo $?
结果会是0,状态码为零,不会影响到后面的运行。

yum查看软件的所有版本

yum list vsftpd --showduplicates

AWK使用总结

awk -F: 'BEGIN {print "第一列\t第二列"}  {print $1"\t"$NF} END {print "打印完成"}' /etc/passwd

数字类型转换-浮点数类型转换为整数

 echo "19.9" | awk  '{print int($0)}'
19

磁盘扩容

裸盘非LVM格式库容
xfs格式:
xfs_growfs  /dev/vdb
ext4格式:
resize2fs  /dev/vdb

/etc/sudoers文件部分讲解

对/etc/sudoers文件进行编辑的代码公式可以概括为:
授权用户/组 主机=[(切换到哪些用户或组)] [是否需要输入密码验证] 命令1,命令2,...

本文链接:目录"--EOF--