知识回顾

第1章 引号

1.1 .单引号

所见即所得  单引号里面的内容会原封不动的输出

[[email protected] ~]# echo  'oldboy $LANG  $PS1 $(hostname)  `pwd`'

oldboy $LANG  $PS1 $(hostname)  `pwd`

1.2 双引号

与单引号类似 里面的特殊符号会被解析(运行)

[[email protected] ~]# echo  "oldboy $LANG  $PS1 $(hostname)  `pwd`"

oldboy en_US.UTF-8  [\[email protected]\h \w]\$  oldboyedu50-lnb  /root

1.3 反引号

优先执行命令

第2章 知识点

2.1 物理服务器 Dell R730 R710

物理服务器的费用

1.电费 1.5*24*365

2.网费(带宽)200元 /M/月

3.床位(机柜)

2.2 云服务器:

国内:阿里云 腾讯  华为(国企)

国外:AWS(亚马逊)

2.3 GNU

GNU:革奴计划 GNU is not unix

GNU常用软件:gawk  bash  emacs   gcc

GPL :代码开源,随意传播

修改之后必须发出来

第3章 远程连接故障排查

3.1 查看端口号是否正常

3.1.1 检查道路是否畅通

windows tracert

linux   traceroute

3.1.2 检查机房网络是否有故障

[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.1.3 检查 sshd是否在运行

检查端口22

方法1

telnet 10.0.0.200   22

方法2

[[email protected] ~]# nc   10.0.0.200  22

SSH-2.0-OpenSSH_5.3

Protocol mismatch.

方法3

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

方法4

[[email protected] ~]# ss -lntup|grep 22

tcp    LISTEN     0      128                   :::22                   :::*      users:(("sshd",1663,4))

tcp    LISTEN     0      128                    *:22                    *:*      users:(("sshd",1663,3))

方法5

[[email protected] ~]# 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.检查进程是否运行

ps -ef |grep sshd

3.2.1 把进程数换成 数字

1.进程

[[email protected] ~]# ps -ef |grep sshd |wc -l

[[email protected] ~]# 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

[[email protected] ~]# ps -ef |grep /sshd |wc -l

2

2.程序 进程 守护进程

[[email protected] ~]# 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: [email protected]/0

root       6495   1663  0 05:06 ?        00:00:00 sshd: [email protected]/1

root       6536   6145  0 05:23 pts/0    00:00:00 grep sshd

检查crond   是否在运行

检查sshd    是否在运行

第4章 find命令参数

-maxdepth      最大深度

-type          文件类型

f      文件

d      目录

-name          文件名

-iname   查找的时候不区分大小写

-size          文件大小

-mtime          修改时间

-exec

实例4-1             找出/app/logs 下面 以.log结尾的文件(不区分大小写)  打包备份/tmp/log.tar.gz  (2种方法)

方法一

[[email protected] ~]# find /app/logs/  -type f  -iname "*.log" |xargs tar zcf /tmp/log-xargs.tar.gz

方法二

[[email protected] ~]# tar zcf   /tmp/log-kuohao.tar.gz   `find /app/logs/  -type f  -iname "*.log"`

会不断覆盖

find /app/logs/  -type f  -iname "*.log" -exec tar zcf /tmp/log-exec.tar.gz {}  \;

实例4-2             找出 /app/logs下面 以.log结尾的文件(不区分大小写)  复制到 /tmp/下面(3种方法)

[[email protected] ~]# echo  /tmp/{a..d}

/tmp/a /tmp/b /tmp/c /tmp/d

[[email protected] ~]# mkdir -p  /tmp/{a..d}

[[email protected] ~]# 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

[[email protected] ~]# find /app/logs/  -type f  -iname "*.log" |xargs cp -t /tmp/a

方法2

[[email protected] ~]# cp  `find /app/logs/  -type f  -iname "*.log"`  /tmp/b

方法3

[[email protected] ~]# find /app/logs/  -type f  -iname "*.log" -exec cp  {} /tmp/c  \;

原文地址:http://blog.51cto.com/13858927/2150085

时间: 2024-11-20 21:06:11

知识回顾的相关文章

java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

 *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时候才能消费,仓空则等待. *3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产. *4.生产者在生产出可以消费的产品的时候,应该通知等待的消费者去消费. 下面先介绍个简单的生产者消费者例子:本例只适用于两个线程,一个线程生产,一个线程负责消费. 生产一个资源,就得消费一个资源. 代码如下: pub

java基础知识回顾之java Thread类学习(七)--java多线程通信等待唤醒机制(wait和notify,notifyAll)

1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中. wait()方法:对此对象调用wait方法导致本线程放弃对象锁,让线程处于冻结状态,进入等待线程的线程池当中.wait是指已经进入同步锁的线程,让自己暂时让出同步锁,以便使其他正在等待此锁的线程可以进入同步锁并运行,只有其它线程调用notify方

java基础知识回顾之java Thread类学习(六)--java多线程同步函数用的锁

1.验证同步函数使用的锁----普通方法使用的锁 思路:创建两个线程,同时操作同一个资源,还是用卖票的例子来验证.创建好两个线程t1,t2,t1线程走同步代码块操作tickets,t2,线程走同步函数封装的代码操作tickets,同步代码块中的锁我们可以指定.假设我们事先不知道同步函数用的是什么锁:如果在同步代码块中指定的某个锁(测试)和同步函数用的锁相同,就不会出现线程安全问题,如果锁不相同,就会发生线程安全问题. 看下面的代码:t1线程用的同步锁是obj,t2线程在操作同步函数的资源,假设不

JS基础知识回顾:引用类型(一)

在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起,而对象时引用类型的一个实例. 尽管ECMAScript从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构,所以虽然说引用类型与类看起来想死,但他们并不是相同的概念. 不过引用类型有的时候也可以被称为对象定义,因为他们描述的是一类对象所具有的属性和方法. 新对象是使用new操作符后跟一个构造函数来实现的,构造函数本身就是一个函数,只不过该函数时处于创建新对象的目的而定义的. ECMASc

java基础知识回顾之javaIO类--管道流PipedOutputStream和PipedIutputStream

管道流(线程通信流):管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream).管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把输出流连在输入流之上.如图所示: 1.管道输入流应该连接到管道输出流 ,输入流和输出流可以直接连接       2.使用多线程操作,结合线程进行操作.通常由某个线程从管道输入流中(PipedInputStream)对象读取.          并由其他线程将其写入到相应的端到输出流中.不能使用单线程

java基础知识回顾之java Thread类学习(五)--java多线程安全问题(锁)同步的前提

这里举个例子讲解,同步synchronized在什么地方加,以及同步的前提: * 1.必须要有两个以上的线程,才需要同步. * 2.必须是多个线程使用同一个锁. * 3.必须保证同步中只能有一个线程在运行,锁加在哪一块代码 那么我们要思考的地方有:1.知道我们写的哪些是多线程代码 2.明确共享数据 3.明确多线程运行的代码中哪些语句是操作共享数据的.. 4.要确保使用同一个锁. 下面的代码:需求:两个存户分别往银行存钱,每次村100块,分三次存完. class bank{ private int

java基础知识回顾之---java String final类普通方法

辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      *      * 1,获取:     * 1.1 获取字符串中字符的个数(长度).     *         int length();     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数.字符串的序数从0开始到length()-1 .     *       

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型--装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. int i = 10; Object obj = i; 三:将引用类型转换为值

java基础知识回顾之---java String final类之intern方法

public class StringObjectDemo { /** * @param args */ public static void main(String[] args) { String hello = "Hello", lo = "lo"; System.out.print((hello == "Hello") + " ");//true System.out.print((Other.hello == hel