1.1 单引号
所见即所得 单引号里面的内容会原封不动的输出
[root@oldboyedu50-lnb ~]# echo 'oldboy $LANG $PS1 $(hostname) `pwd`'
oldboy $LANG $PS1 $(hostname) `pwd`
1.2 双引号
与单引号类似 里面的特殊符号会被解析(运行)
[root@oldboyedu50-lnb ~]# echo "oldboy $LANG $PS1 $(hostname) `pwd`"
oldboy en_US.UTF-8 [\u@\h \w]\$ oldboyedu50-lnb /root
1.3 反引号 优先执行命令
第2章 服务器2.1 物理服务器 Dell R730 R710
550w 750w*2 1.5w
2.2 云服务器:
阿里云 腾讯 华为(国企) AWS(亚马逊)
2.3 GNU葛奴计划
是由理查德·斯托曼在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。
2.4 优秀的软件:
Gawk(三剑客sed grep) bash(命令解释器的一种) emacs(编辑器) gcc
2.5 GPL 通用公共许可
1. 开源的免费传播 随意传播
2. 随意修改,修改以后必须把修改的内容发出来
2.6 raid卡(磁盘阵列卡)
特点:
1.更多的容量
2.更多的冗余(安全性)
3.更好的性能(速度)
raid级别:通过raid卡管理磁盘的方式
2.7 raid 0和raid 1的区别:
raid | 至少几块硬盘 | 容量 | 冗余 | 性能 |
raid 0 | 1 | 没有浪费,所有硬盘容量之和 | 没有 | 最高 |
raid 1 | 只能2块 | 所有硬盘容量一半 | 有100% | 写入慢读取时类似一块硬盘的速度 |
2.8 远程控制卡
dell idrac
1.远程控制和管理服务器
2.远程重启 开机 关机
3.重装系统
2.9 无法连接服务器排查思路
2.9.1 检查道路是否通畅
1.打开虚拟机旁边“+”——显示本地shell(针对Windows) ping 10.0.0.200
连通的:
不通的:
2.是否有拦截(防火墙)
3.询问IP是否有端口 telnet 10.0.0.200 22
Connection established 建立连接
第3章 远程连接故障排查
3.1 显示你到目标 之间每个路口的是否畅通
#windows tracert
#linux traceroute
3.1.1 检查机房网络是否有故障
[e:\~]$ tracert -d www.baidu.com
通过最多 30 个跃点跟踪
到 www.a.shifen.com [111.13.100.92] 的路由:
1 <1 毫秒 <1 毫秒 <1 毫秒 192.168.21.254
2 1 ms 5 ms 1 ms 122.71.224.1
3 3 ms 1 ms 2 ms 222.35.254.141
4 2 ms 2 ms 2 ms 222.35.61.6
5 * * * 请求超时。
6 * * * 请求超时。
7 5 ms 6 ms 4 ms 111.13.0.174
8 8 ms 6 ms 8 ms 111.13.98.93
9 7 ms 7 ms 6 ms 111.13.112.61
10 * * * 请求超时。
11 * * * 请求超时。
12 4 ms 4 ms 4 ms 111.13.100.92
跟踪完成。
3.2 检查 sshd是否在运行
3.2.1 检查端口22
#22 端口 &#61;&#61;&#61; sshd服务
telnet 10.0.0.200 22
#netcat ncat
[root&#64;oldboyedu50-lnb ~]# nc 10.0.0.200 22
SSH-2.0-OpenSSH_5.3
Protocol mismatch.
nmap -p22 10.0.0.200
Starting Nmap 5.51 ( http://nmap.org ) at 2018-05-20 05:06 CST
Nmap scan report for jd.com (10.0.0.200)
Host is up (0.000077s latency).
PORT STATE SERVICE
22/tcp open ssh #22端口 打开&#xff08;open&#xff09;
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
nmap -p22 10.0.0.200
nmap -p22,80 10.0.0.200
nmap -p1-1024 10.0.0.200
[root&#64;oldboyedu50-lnb ~]# ss -lntup|grep 22
tcp LISTEN 0 128 :::22 :::* users:(("sshd",1663,4))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",1663,3))
[root&#64;oldboyedu50-lnb ~]# netstat -lntup|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1663/sshd
tcp 0 0 :::22 :::* LISTEN 1663/sshd
3.2.2 检查端口是否开启&#xff1a;
1.telnet/nc ip 端口号
2.nmap -p端口号 ip’
3.ss –lntup&#61;&#61;&#61;netstat -lntup | grep 22
3.3 检查进程是否运行
ps -ef |grep sshd
3.3.1 把是否运行 &#61;&#61;&#61;&#61;> 数字
[root&#64;oldboyedu50-lnb ~]# ps -ef |grep sshd |wc -l
4
3.3.2 判断 对比
[root&#64;oldboyedu50-lnb ~]# ps -ef |grep /sshd
root 1663 1 0 May19 ? 00:00:00 /usr/sbin/sshd
root 6601 6145 0 05:36 pts/0 00:00:00 grep /sshd
[root&#64;oldboyedu50-lnb ~]# ps -ef |grep /sshd |wc -l
2
第4章 find命令参数4.1 -maxdepth 深度
4.2 -type 类型
f file 文件
d directory 目录
4.3 -name "叫什么名字的"
4.4 -iname 查找的时候不区分大小写 ignore case
4.5 -size 大小 规格
4.6 -mtime 修改时间
4.7 -exec 传递方式
第5章 例题5.1 找出/app/logs 下面 以.log结尾的文件&#xff08;不区分大小写&#xff09; 打包备份/tmp/log.tar.gz (2种方法)
方法一[root&#64;oldboyedu50-lnb ~]# find /app/logs/ -type f -iname "*.log" |xargs tar zcf /tmp/log-xargs.tar.gz
方法二[root&#64;oldboyedu50-lnb ~]# tar zcf /tmp/log-kuohao.tar.gz &#96;find /app/logs/ -type f -iname "*.log"&#96;
#会不断覆盖
find /app/logs/ -type f -iname "*.log" -exec tar zcf /tmp/log-exec.tar.gz {} \
5.2 找出 /app/logs下面 以.log结尾的文件&#xff08;不区分大小写&#xff09; 复制到 /tmp/下面&#xff08;3种方法&#xff09;
[root&#64;oldboyedu50-lnb ~]# echo /tmp/{a..d}
/tmp/a /tmp/b /tmp/c /tmp/d
[root&#64;oldboyedu50-lnb ~]# mkdir -p /tmp/{a..d}
[root&#64;oldboyedu50-lnb ~]# ll -d /tmp/{a..d}
drwxr-xr-x. 3 root root 4096 Jul 11 2018 /tmp/a
drwxr-xr-x 2 root root 4096 May 20 06:32 /tmp/b
drwxr-xr-x 2 root root 4096 May 20 06:32 /tmp/c
drwxr-xr-x 2 root root 4096 May 20 06:32 /tmp/d
#方法1
[root&#64;oldboyedu50-lnb ~]# find /app/logs/ -type f -iname "*.log" |xargs cp /tmp/a
cp: target &#96;/app/logs/access_www_2018-05-05.log&#39; is not a directory
[root&#64;oldboyedu50-lnb ~]# #cp /tmp/a a.log b.log xxxx
[root&#64;oldboyedu50-lnb ~]# \cp /etc/hosts /etc/fstab /tmp/
[root&#64;oldboyedu50-lnb ~]# \cp /tmp/ /etc/hosts /etc/fstab
cp: target &#96;/etc/fstab&#39; is not a directory
[root&#64;oldboyedu50-lnb ~]# \cp -t /tmp/ /etc/hosts /etc/fstab
[root&#64;oldboyedu50-lnb ~]# find /app/logs/ -type f -iname "*.log" |xargs cp -t /tmp/a
方法2
[root&#64;oldboyedu50-lnb ~]# #cp xxxxx /tmp/b
[root&#64;oldboyedu50-lnb ~]# cp &#96;find /app/logs/ -type f -iname "*.log"&#96; /tmp/b
[root&#64;oldboyedu50-lnb ~]#
[root&#64;oldboyedu50-lnb ~]#
方法3
[root&#64;oldboyedu50-lnb ~]# find /app/logs/ -type f -iname "*.log" -exec cp {} /tmp/c \;
5.3 #程序 进程 守护进程
process 进程
5.3.1 #检查crond 是否在运行
5.3.2 #检查sshd 是否在运行
[root&#64;oldboyedu50-lnb ~]# ps -ef |grep sshd
root 1663 1 0 May19 ? 00:00:00 /usr/sbin/sshd
root 6143 1663 0 03:02 ? 00:00:00 sshd: root&#64;pts/0
root 6495 1663 0 05:06 ? 00:00:00 sshd: root&#64;pts/1
root 6536 6145 0 05:23 pts/0 00:00:00 grep sshd
5.4 总结&#xff1a;
5.4.1 检查端口
5.4.2 检查进程
5.4.3 find相关题目
find &#43; ls/rm/sed
find &#43; 打包压缩
find &#43; 复制或移动