文件操作

rsync

主要用于备份和镜像,对差异文件做更新。第一次同步等同于拷贝。
rsync $pdir/$fname $user@$host:$pdir/$fname
-a 归档拷贝
-v 显示拷贝过程

scp

scp $pdir/$fname $user@$host:$pdir/$fname第一次使用建议用scp。
secure copy,scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
https://www.cnblogs.com/webno...
https://blog.csdn.net/u013381...
推到122服务器:

scp wordreport.jar root@172.16.112.122:/home/target

在122服务器拉133服务器文件:

scp root@172.16.112.123:/etc/wordreport.jar ./

还能在c服务器从a拷文件到b服务器哦
-r 递归拷贝

ssh

ssh root@172.16.112.123

从当前主机跳转到root用户下的172.16.112.123服务器

配置ssh免密码登录

自己ssh自己也需要密码,所以也得对自己设置一下
1.生成公钥、私钥对,用户主目录下执行

ssh-keygen -t rsa

-t 指定密钥类型是rsa(默认),还有dsa等
2.到$HOME/.ssh目录,生成了两个文件,id_rsa.pub是公钥(发给要访问本机的对象),id_rsa是私钥(保证在本机,不能给别人)。
新建文件authorized_keys,cat公钥内容到该文件cat id_rsa.pub>> authorized_keys,并修改该文件夹权限为600(这样相当于对自己也分发了公钥)。
3.发布公钥到其他机器如124,使得本机可无密访问其他机器

ssh-copy-id 172.16.112.124

124机器$HOME/.ssh下authorized_keys文件可查到可以免密登入它的机器的公钥。
用户有限定!登入的是同名用户。
ps:know_hosts记录曾经访问过它的ip

一个同步所有节点的脚本

#!/bin/bash

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

# 遍历集群所有机器 s1 s2 s2 
for host in s1 s2 s2  
do
  echo ==============$host ==============
  # 遍历所有目录,挨个发送
  for file in $@
  do
    #判断文件是否存在
    if [-e $file]
      then
        # 获取父目录
        pdir=$(cd -p $(dirname $file); pwd)
        # 获取当前文件名称
        fname=$(basename $file)
        ssh $host "mkdir -p $pdir"
        rsync -av $pdir/$fname $host:$pdir
      else
        echo $file does not exists!
    fi
  done
done          

创建软链接

ln -s opt/jdk1.7 user/local/jdk给opt/jdk1.7创建软链接user/local/jdk,user/local/jdk将指向源文件
去掉-s就是创建硬链接,无指向,用的少,相当于拷贝一个文件。
软链接、硬链接区别在于删除链接时是否删除源文件。

ps:cd -P user/local/jdk将进入opt/jdk1.7路径

查找某程序位置

whereis docker

查找某命令的绝对路径

which vim

查找文件

find /home -name "*.txt"
find /home ! -name "*.txt"反向查找

其他

curl执行http请求

curl -i -H "content-type:application/octet-stream" -X PUT -T ./test.txt "http://ghg:8090/hi/test"

-H指定请求头信息,-X指定请求方法,-T指定上传文件

ps

查看java进程 jps
进程的pid,保存在/tmp/中后缀名是.pid的文件里。/tmp文件夹在服务器重启后会被清空!

进程名查询占用的端口

https://www.cnblogs.com/Eason...

查看java程序占用的并且处于监听状态的端口

netstat -napt |grep java |grep LISTEN

查看当前哪个进程占用了1521端口号

lsof -i:1521

NFS

https://www.cnblogs.com/me80/...
https://server.zzidc.com/fwqf...

用户管理

创建新用户,并赋予sudo使用权限

# useradd cashew
# passwd cashew

输入设置的密码。

还可以通过# echo '123456' | passwd --stdin cashew设置密码。

ps:创建一个用户以后,系统默认会创建一个与用户名同名的用户组。
创建完用户以后,默认会在/home目录下生成一个与用户名同名的目录,这个目录称为该用户的家目录

#id 用户名 得到用户的id信息

/etc/passwd 该文件保存系统用户的一些基本信息,每列:隔开
用户名UID:GID

/etc/group 保存系统用户组的信息。cat /etc/group|grep 组名,用于查找某个用户组。

$sudo -i变为#

给用户赋予使用sudo命令的权限。

# chmod u+w /etc/sudoers
# vim /etc/sudoers

%wheel ALL=(ALL) ALL下面加上一行cashew ALL=(ALL) ALL。(制表符分隔)
cashew ALL=(ALL) NOPASSWD:ALL这样cashew用户切到root用户不需要输密码

# chmod u-w /etc/sudoers

使用chown命令可以修改文件或目录所属的用户

命令:chown 用户 目录或文件名

例如:chown qq /home/qq  (把home目录下的qq目录的拥有者改为qq用户) 

使用chgrp命令可以修改文件或目录所属的组:

命令:chgrp 组 目录或文件名

例如:chgrp qq /home/qq  (把home目录下的qq目录的所属组改为qq组)

切换用户

# su - user01注意空格。

用户组

(系统管理员)添加用户组# groupadd user02

(系统管理员)删除用户组# groupdel <group_name>

(系统管理员)指定组管理员# gpasswd -A <user> <group_name>

(组管理员)设置组密码# gpasswd <group_name>,-r 取消密码

(组管理员)把用户user加入到user02组中# usermod -g user02 user

(组管理员)删除组成员 # gpasswd -d <user> <group_name>

查看当前用户所属组 # groups

查看用户所属组# groups xly

用户切换

su 用户 并没有切换到该用户的目录下面,也就是说登录环境没有改变。

su - 用户或者su -l 用户才能把登录环境也切换掉

服务器管理

修改主机名

使用sudo hostname name修改主机名,当前生效,重启后失效。
使用vim /etc/sysconfig/network修改主机名,重启后生效。
结合使用,不需要重启。

查看某端口通不通

telnet 127.0.0.1 8005
telnet 服务需要安装

新装的虚拟机配置网络

虚拟机-设置-网络适配器,选用 桥接模式占用你本机的网段,分配单独的 IP。这几种模式介绍:

桥接模式使用VMnet0虚拟交换机,ip设置与主机网卡地址同网段的即可;此时虚拟机相当于与宿主机同处一个局域网的两台机。
特点:实现虚拟机与主机、虚拟机与互联网通信。但主机拔掉网线后,虚拟机无法与主机通过网络的方式进行通讯。IP地址一般是192.168.X.XXX。

NAT模式使用主机中的虚拟网卡VMnet8作为网关;
特点:不会联网,只会与宿主机沟通。虚拟机可以访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。

仅主机模式默认使用vmnet1。虚拟机的IP地址与主机共享。
特点:实现了虚拟机主机通信,但是虚拟机互联网无法通信。

/etc/sysconfig/network-scripts/ifcfg-文件的配置(重启网卡生效):

ONBOOT=yes网卡随机启动
BOOTPROTO=dhcp动态分配ip,一般static
clipboard.png

重启网卡

Centos6:

service network restart

Centos7:

systemctl restart network

Centos8:

nmcli c reload

查看IP配置

ip a

启用lo网卡

ifup lo

查看防火墙是否关闭

$ sudo service iptables status
或者firewall-cmd --state

关闭防火墙

$ sudo service iptables stop
或者 systemctl stop firewalld.service

启动防火墙

$ sudo service iptables start
或者 systemctl start firewalld.service

永久性设置防火墙关闭

$ sudo chkconfig iptables off|on
或者 systemctl disable firewalld.service

echo

echo -n "13001073255" | base64
echo -e 处理特殊字符
echo -n 不换行输出
image.png
第一个才正确
image.png
参考

修改登录问候语

vi /etc/motd

查看系统内核

uname -r

查看系统版本

cat /etc/os-release


cashew
9 声望3 粉丝

下一篇 »
cookie