[jj@oldboy ~]$ hostnamectl set-hostname zj
主机名只有root用户才有权限修改,普通用户想要修改要知道root密码,sudo提权,重启虚拟机或者打开新的窗口新的主机名才会生效(bash)(重启终端) mkdir $(date +%F-%R)_$(hostname).etc.tar.gz
mkdir `date +%F-%R`_`hostname`.etc.tar.gz
$() 和`` 都代表先执行里面的内容,最好用$() 因为反引号``不支持嵌套 [root@oldboy /]# tar zcf /backup/$(date +%F)_$(hostname)_etc.tar.gz opt
[root@oldboy /]# cd backup/
[root@oldboy backup]# ll
total 4
-rw-r--r-- 1 root root 167 Apr 27 14:02 2020-04-27_oldboy_etc.tar.gz sh -x 脚本 vim a.sh
#!/bin/bash
D=$(date +%F-%R)
H=$(hostname)
touch $D_$H # 少调用变量了
touch ${D}_${H} >/dev/null 多次调用变量的时候 用 {} 分割变量,不分割的话可能会造成 有的变量 没用调用(# $连体婴儿),
可以用脚本里的颜色来判断,命令是不是一个整体,能不能执行
#脚本里调用变量的好处:
一次解决多个指向关系,减少命令出错的机率 [root@oldboy backup]# touch $D_$H.tgz2
[root@oldboy backup]# ll -a
-rw-r--r-- 1 root root 0 Apr 27 14:12 oldboy.tgz2 #
[root@oldboy backup]# touch ${D}_$H.tgz3
[root@oldboy backup]# ll
-rw-r--r-- 1 root root 0 Apr 27 14:13 2020-04-27-14:08_oldboy.tgz3
--------------------------------------------------------- vim a.sh
#!/bin/bash
D=$(date +%F-%R)
H=$(hostname)
mkdir -p /backup #不报错,或者/dev/null
cd / && tar zcf /backup/${D}_$H.tgz etc >/dev/null cd / && \
tar zcf /backup/${D}_$H.tgz etc \ 表示折行的意思,(&&)两行算一行 (\ 后面必须是空,否则就是转义的意思了) cd /
tar zcf /backup/${D}_$H.tgz etc
不能是这样,脚本里的一条cd 命令没用任何意义(# 有的可以执行,有的不可以 ,忘记他) 要打包某个目录,一般先cd到这个目录的上一级目录,这样打包没有 删根 的提示(也相对安全),当然也可以 tar -zcPf 打包,只是这样有覆盖的隐患 # 打包文件的话随意 tar zcf 123.tgz efegr 用tar打包目录或文件,如果目录或文件不存在,那么只会打包一个空目录,空文件
tar cf 456.tgz gthgt ------------------------------------------------ && :前面执行成功才会执行后面的,(省略判断),同时也是一个命令行执行多个命令
|| :前面 的 和后面的执行一个, (同样省略了判断)
| :
'|' 在单引号里面的管道符,表示或者的意思
, :awk sed , cut cronatb
;
- make && make install
cd / && tar zcf etc.tgz etc && mv etc.tgz /tmp/
------------------------------------------------------- # 判断--单条件
# if [ -d /etc ]; then echo 存在 || echo 不存在;fi
# if [ ! -f etc ]; then echo 不存在 || echo 存在;fi
# 这样写只能echo前面的,后面的永远不会执行 [root@oldboy opt]# [ -d /op ]; echo 存在||echo 不存在 ||分割为前后,;在这...(错)
存在 [root@oldboy opt]# [ -d /op ]&& echo 存在||echo 不存在 && 和 ||一起分割 (正确)
不存在
[root@oldboy opt]# [ ! -d /op ]&& echo 不存在||echo 存在 && 和 ||一起分割 (正确)
不存在 [ -d /op ] || xx 前面不成功,后面执行xx,,,成功了就啥也不干
[ -d /op ] && xx 前面成功了,后面执行xx,,,不成功就啥也不干 [ -d $DIR ] || mkdir $DIR
[ ! -d $DIR ] && mkdir $DIR [root@oldboy opt]# vim a.txt # -d 判断目录是否存在, -f 判断一个文件是否存在
#!/bin/bash
if [ -d /root ];then
echo 存在
else
echo 不存在
fi #!/bin/bash
if [ -f /syy ];then
echo 存在
else
echo 不存在
fi # 多条件
#!/bin/bash
if [ -f /syy ];then
echo 存在
elif
echo 不存在
elif
echo
fi echo $a
mkdir $a [root@oldboy tmp]# which [
/usr/bin/[
[ -d /root ] && 注意空格
elif 再或者。。else 否则
------------------------------------------- [root@oldboy opt]# for n in `seq 30`;do date -s "2020-03-$n";touch file$n;done
`seq 30` 必须是反引号,多条命令用;分割,"2020-03-$n" 不能用单引号强引 ,done结尾
[root@oldboy opt]# ll
total 0
-rw-r--r-- 1 root root 0 Mar 1 00:00 file1 不指定时分,就默认是00:00 [root@oldboy opt]# vim /etc/profile.d/m.sh
#!/bin/bash for n in `seq -w 30`;do
date -s "2020-4-$n"
touch "2020-4-$n" >/dev/null
done # 必须用反引号,最好加上双引号,不然头痛 ,不用再像命令行一样用;分割命令 ----------------------------------------------- for n in `seq 10`;do 文件内容,然后以行多次 定义变量(所以叫for循环)
echo $n
done
[root@oldboy tmp]# for n in `seq 10`;do echo $n;done #命令行里面的for循环跟脚本里面的for循环不一样
1
2
3
[root@oldboy tmp]# for n in seq 10;do echo $n;done #拼凑,排成列
seq
10
[root@oldboy tmp]# for n in "seq 10";do echo $n;done
seq 10
[root@oldboy tmp]# for n in 'seq 10';do echo $n;done
seq 10 ### 3个注释 两个绝对路径 1个小尾巴 (先把命令拿出去试一下)
* * * * * /bin/cd / && /bin/sh /bin/tar zcf /pp etc &>/dev/null 当用户家目录的 .bash_* 文件被删除或者移动时,bash之后 命令符状态就会发生改变,
# cp /etc/skel/.bash_* /home
vim编辑文件非正常退出,就会在家目录下生成一个.xx.swp文件,不能查看,当再次使用vim编辑这个文件的时候,就会出现提示界面 --------------------------------------------------------------- ## 在安装界面 install centos7上 按tab键
# CentOS 7 要修改网卡名
net.ifnanmes=0
## 如果是dell的服务器 em1 em2 em3 em4
net.ifnames=0 biosdevname=0 (首选) 时区--KDUMP(不要勾)---选stand手动分区
# 不用在这里修改网卡,可以装好系统之后再改网卡配置文件 ## 磁盘分区(512G)
/boot: 500M
swap(虚拟内存):物理内存1~2倍,#最大8G
/:剩下的都给/ # win+R cmd ipconfig
以太网适配器 以太网: # 物理机(网卡1) 连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::4072:61e2:bbdb:8b17%17
IPv4 地址 . . . . . . . . . . . . : 192.168.0.100
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1 (#路由器关口,记录路由器的信息) 以太网适配器 以太网 2: # 物理机(网卡2) 媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VMware Network Adapter VMnet1: # 仅主机模式使用的 VMnet1 网卡 连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::e4c2:98c0:4388:d7fa%16
IPv4 地址 . . . . . . . . . . . . : 192.168.137.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :192? 以太网适配器 VMware Network Adapter VMnet8: # NAT模式使用的 VMnet8 网卡 连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::5036:31dd:4877:9dab%13
IPv4 地址 . . . . . . . . . . . . : 10.0.0.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10? ----------------------------------------------------------- 公网ip :115.61.250.173
路由器 :网关(),dhcp 子网(192.168.0.x~192.168.0.x)
网卡 192.168.0.1
物理机ip:
虚拟机 : 桥接 :vmnet0 dhcp ip可能冲突( 虚拟机的地位跟物理机 相对与路由器 的地位相同)
IP 192.168.0.x (路由器设置的)
网关 192.168.0.1 (默认) 仅主机 :vmnet1 (#同一个区域网下(路由器)所有的仅主机模式可以通信,但是不能连接外网)(没有网络打的cs)
IP 192.168.0.x (路由器设置的)
网关 192.168.0.1 (默认的) vmnet8 :
# 10.0.0 网络位,x 是主机位。
#子网:路由器或者虚拟网络编辑器下的网络,
#网段:网络位相同,主机位不同的IP 属于同一个网段。
#网关(关口)
连接同一块网卡( 路由器或者虚拟网络编辑器 )的虚拟机或者物理机,属于同一个子网,#他们的网段一样
子网 10.0.0.1~10.0.0.255 网卡10.0.0.1 网关10.0.0.2 广播地址10.0.0.255 ,可用的IP地址范围是 10.0.0.3~254
公网IP------动态网络地址转换------路由器DHCP----物理机-----(VM8)动态网络地址转换--虚拟机
公网IP就是家门口那个IP,是移动联通电信给的 虚拟网络编辑器:子网(网段)
子网 10.0.0.x~10.0.0.255
网卡 10.0.0.1
网关 10.0.0.2 (自己在虚拟网络适配器设置的) 子网掩码 255.255.255.0
DNS 233.5.5.5 223.6.6.6(阿里云给的 www.alidns.com)域名解析(域名解析成ip),/etc/resolv.conf -人家的
可以自己在/etc/hosts里自己一个一个加进去-----自己的 10.0.0.255广播地址 ---------------------------------------------------------- # 关机拍快照占用磁盘空间小,恢复快照是关机状态

最新文章

  1. xDebug + webgrind 对 php 程序进行性能分析
  2. SOUI更新到2.0
  3. Spring之注入的几种方式
  4. JavaScript禁用回退
  5. IPAD2 5.1.1越狱后的屏幕不能自动旋转~~~
  6. hbase日常运维管用命令,region管理
  7. VMware linux 增加根目录空间 (使用图形分区工具gparted LiveCd)
  8. [译]Java垃圾回收器的类型
  9. mysql left join
  10. IDEA新建Maven项目
  11. Vue-admin工作整理(三):路由
  12. java 基础 动态绑定和多态
  13. ssh-keygen Linux 免密登录
  14. java/springboot自定义注解实现AOP
  15. docker 安装 nginx
  16. C++编程相关工具
  17. '增量赋值(augmented assignment)', 多么痛的领悟!
  18. 【Qt开发】QThread 实用技巧、误区----但文档中没有提到
  19. github for windows 使用
  20. Usage of “symmetrical” and “symmetric”

热门文章

  1. Vertica的这些事(十三)——Vertica备份元数据信息
  2. 徒手生撸一个验证框架,API 参数校验不再怕!
  3. 解决浏览器看不到Flash文档(尤其某慕课)
  4. @Configuration和@Bean 配置类注入
  5. 大数据hadoop安装
  6. 【数据库】MySQL数据库(二)
  7. 原来rollup这么简单之插件篇
  8. 谈谈CSS3中display属性的Flex布局(弹性布局)
  9. flask-migrate的基本使用
  10. k8s集群搭建笔记(细节有解释哦)