Fork me on GitHub

Linux 日常使用

端口占用:
netstat -lan | grep 8088

netstat -anp | grep 8088

测试端口是否可用

telnet 45.77.175.108 8089

查看环境变量:
echo $JAVA_HOME

配置文件地址:
/etc/profile

source /etc/profile 修改后,使生效

创建多级目录:
mkdir -p Project/a/src

多层次,多维度:
  mkdir -p Project/{a,b,c,d}/src

rpm命令是RPM软件包的管理工具
- 查看ntp是否安装:rpm -qa| grep ntp

scp(secure copy)拷贝:

- 可以实现服务器与服务器之间的数据拷贝 (from server1 to server2)
- scp -r 需要拷贝的文件  目的用户@主机:目的路径/名称

rsync: 主要用于备份和镜像, 只对差异文件做更新

- rsync -rvl 要拷贝的文件路径/名称   目的用户@主机:目的路径/名称
  - `-r`: 递归
  - `-v`: 显示复制过程
  - `-l`: 拷贝符号链接

xsync: 集群分发脚本

  • 需求: 循环复制文件到所有节点的相同目录下
#!/bin/bash

# 1, 判断参数个数
if [$# -lt 1]
then
	echo "Not Enough Argument!"
	exit;
fi

# 2, 遍历集群所有机器
for host in hadoop101 hadoop102 hadoop103
do
	echo ---------- $host ----------

	# 3. 遍历所有目录,依次发送
	for file in $@
	do
		# 4, 判断文件是否存在
		if [ -e $file ]
			then
				# 5, 获取父目录
				pdir = $(cd -P $(dirname $file); pwd)

				# 6, 获取当前文件的名称
				fname = $(basename $file)
				ssh $host "mkdir -p $pdir"
				rsync -av $pdir/$fname $host:$pdir
			else
				echo $file does not exists!
		fi
	done
done

6. SSH 无密登录配置

  1. 目录位置:/root/.ssh
  2. ssh-keygen -t rsa: 然后敲(三个回车),生成"id_rsa", "id_rsa.pub";
  3. 将第二步生成的公钥拷贝到服务器B的/root/.ssh中的"authorized_keys"文件中;


参考链接:

posted @ 2019-05-26 10:54  小a的软件思考  阅读(126)  评论(0编辑  收藏  举报