linux基础增强
查找命令
grep命令 (print lines matching a pattern)
-
概述:
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 -
格式:
grep [option] pattern [file]
- 使用实例:
ps -ef | grep sshd ->查找指定ssh服务进程
ps - report a snapshot of the current processes.
显示当前进程
-ef To see every process on the system using standard syntax
使用标准语法查看系统上的每个进程
ps -ef | grep sshd | grep -v grep ->查找指定服务进程,排除grep本身
grep -v --invert-match
Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.)
反选
ps -ef | grep sshd -c ->查找指定进程个数
cat a.txt | grep -f b.txt ->从文件中读取关键字进行搜索
find命令 (search for files in a directory hierarchy)
-
概述:
find命令在目录结构中搜索文件,并对搜索结果执行指定的操作
find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全部显示在屏幕上 -
格式:
find 路径 查找的类型 查找的名称
- 使用实例:
find / -name hello.txt ->从跟目录下查找一个叫hello.txt的文件
find . -name "*.log" -ls ->在当前目录查找以.log结尾的文件,并显示详细信息
find /root/ -perm 777 ->查找/root/目录下权限为777的文件
find . -type f -name "*.log" ->查找当前目录下以.log结尾的普通文件
find . -type d | sort ->查找当前所有目录并排序
find . -size +100M ->查找当前目录大于100M的文件
locate命令 (find files by name)
-
概述:
locate让使用者可以很快速地搜寻档案系统内是否有指定的档案
其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库(/var/lib/locatedb)
Linux系统自动创建这个数据库,默认每天自动更新一次,所以使用locate命令查不到最新变动过的文件,为了避免这种情况,可以使用locate之前,先使用updatedb命令,手动更新数据库 -
格式:
locate [OPTION]... PATTERN...
- 使用实例:
locate /etc/sh ->搜索etc目录下所有以sh开头的文件
locate pwd ->查找和pwd相关的所有文件
whereis命令 (locate the binary, source, and manual page files for a command)
-
概述:
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置,这些文件的属性应属于原始代码,二进制文件或是帮助文件
whereis和locate一样,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找 -
格式:
whereis [options] [-BMS directory... -f] name...
- 使用实例:
whereis ls ->将和ls文件相关的文件都查找出来
whereis -m ls ->查找ls命令说明文档路径
-m Search only for manuals.
whereis -s ls ->查找ls源文件
-s Search only for sources.
which命令 (shows the full path of (shell) commands)
-
概述:
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令 -
格式:
which [options] [--] programname [...]
- 使用实例:
which pwd ->查找pwd命令所在路径
which java ->查找path中java的路径
网络管理
主机名配置
- 查看主机名
hostname
- 修改主机名(重启后无效)
hostname 修改后的主机名
- 修改主机名(重启后永久修改)
CentOS 7之前的版本:
vim /etc/sysconfig/network
输入 HOSTNAME=node01.hadoop.com
CentOS 7:
vim /etc/hostname
输入 node01.hadoop.com
ip地址和mac地址配置
- 修改配置文件
修改ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
输入
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=b93a2482-7ac9-4883-a956-2e03849d164a
DEVICE=eth0
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEEROUTES=yes
IPV6_PRIVACY=no
HWADDR=00:50:56:30:56:17
GATEWAY=192.168.0.1
IPADDR=192.168.0.10
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
修改mac地址
vim /etc/udev/rules.d/70-persistent-net.rules
UBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:50:56:30:56:17",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"
域名的映射
- 修改hosts文件
vim /etc/hosts
输入
192.168.0.10 node01.hadoop.com node01
网络端口的监听
- netstat命令 (Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships)
只需要记住
netstat -nltp ->查看服务器上面所有正在运行的服务及其对应的端口号