cat

linux操作系统基础篇(三)

懵懂的女人 提交于 2020-02-22 12:14:39
1、使用cat命令进行文件的纵向合并: 1) 掌握使用cat命令实现文件的纵向合并: a) 例如:使用cat命令将baby.age、baby.kg和baby.sex这三个文件纵向合并为baby文件的方法: cat baby.age baby.kg baby.sex >baby b) 例如:使用cat命令将baby.age文件的内容添加到baby2文件中的方法: cat baby.age >>baby2 2. 归档文件和归档技术: 1) 掌握归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件。 2) 了解归档的目的:归档的目的就是方便备份、还原及文件的传输操作。 3) 掌握tar命令的功能:将多个文件(也可能包括目录,因为目录本身也是文件)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件。 4) 掌握tar命令的常用选项: c:创建一个新的tar文件。 t:列出tar文件中目录的内容。 x:从tar文件中抽取文件。 f:指定归档文件或磁带(也可能是软盘)设备(一般都要选)。 v:显示所打包的文件的详细信息,v是verbose的第1个字母。 z:使用gzip压缩算法来压缩打包后的文件。 j:使用bzip2压缩算法来压缩打包后的文件。 3. 使用tar命令创建、查看及抽取归档文件: 1)

初识面向对象(猫咪项目)

蹲街弑〆低调 提交于 2020-02-22 03:56:41
学习总结: 1、方法中定义的局部变量无初始值(未初始化),不能输出;当变量作为属性时,系统自动赋于初始值。 int ——>0 double——>0.0 String——>Null 2、通过类实例化对象,通过对象分别调用相应的属性和方法 3、方法重载:在同一个类中,相同方法名不同参数列表的方法。 4、单一职责原则:一个类中有且只有一个引起功能变化的原因。一个类中所承担的功能越多,交融耦合性就越高,被复用性越低。在程序设计中,尽量把不同的职责(原因)封装在不同的类中。 5、实例化对象的过程可以分为两步: (1)声明对象 Cat one—— 栈 (2)实例化对象 new Cat()——堆 将堆空间的内存地址存到了栈中(声明对象指向实例化的具体空间) new的出现相当于在堆中开辟了一段内存空间 注:Cat one=new Cat(); Cat two=new Cat(); 即使内部信息一样,但是他两在堆中的不同内存地址中存放,改变one的值,不影响two的值。 Cat two=one;将one在栈中的内存地址给了two,任何一个的变化,都会引起双方的变化。 package com . animals ; public class Cat { //成员属性:昵称、年龄、体重、品种 String name ; int month ; double weight ; String species

查询linux版本信息

依然范特西╮ 提交于 2020-02-17 15:17:13
uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) cat /etc/redhat-release (Linux查看版本当前操作系统发行版信息) cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等) 来源: https://www.cnblogs.com/jie828/p/12321722.html

JS中 call() 与apply 方法

喜欢而已 提交于 2020-02-17 05:21:03
1、方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法: 语法:apply([thisObj[,argArray]]) 定义:应用某一对象的一个方法,用另一个对象替换当前对象。 说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。 乍一看,很容易把人看迷胡,先做一些简单的说明 obj1.method1.call(obj2,argument1,argument2) 如上,call的作用就是把obj1的方法放到obj2上使用,后面的argument1..这些做为参数传入. function add(a,b) { alert(a+b); } function sub(a,b) { alert(a-b); }

JVM技术

∥☆過路亽.° 提交于 2020-02-14 00:16:08
Class对象 另见:《深入理解Java虚拟机 JVM高级特性与最佳实践 第2版》=> 第7章 虚拟机类加载机制 一旦类被加载了到了内存中,那么不论通过哪种方式获得该类的Class对象,它们返回的都是指向同一个java堆地址(对于HotSpot是方法区)上的Class引用。 package org.test.a; class Cat{ static { System.out.println("static cat"); } } public class Demo { public static void main(String[] args) throws ClassNotFoundException { Class c1 = Cat.class; Class c2 = new Cat().getClass(); Class c3 = new Cat().getClass(); Class c4 = Class.forName("org.test.a.Cat"); System.out.println(c1 == c2); System.out.println(c2 == c3); System.out.println(c3 == c4); } } 输出结果: static cat true true true 来源: CSDN 作者: feiying0canglang 链接:

js -this,new、call、apply、bind 相关面试题

巧了我就是萌 提交于 2020-02-13 12:27:56
this问题 在es5中,在函数定义时是无法确定this的指向的,只有在运行的时候才知道它的指向,实际上this的指向是指向调用它的那个对象 例子1 function a() { var user = '1' console.log(this.user) // undefined console.log(this) // window } a()   这时是window调用,所以这时this指向的是window 例子2 var o= { user = "1", fn: function() { console.log(this.user) // "1" } }o.fn() 这里的this指向的是对象o,因为你调用这个fn是通过o.fn()执行的,那自然指向就是对象o 例子3 var o = { user: "1", b: { user: "2", fn: function () { console.log(this.user) // "undefined" console.log(this) // window } } } var j = o.b.fn; j() 这里this指向的是window,his永远指向的是最后调用它的对象,也就是看它执行的时候是谁调用的,例子3中虽然函数fn是被对象b所引用,但是在将fn赋值给变量j的时候并没有执行所以最终指向的是window  

LINUX查看文件内容命令cat vi/vim more tail head的区别

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-13 12:09:20
缘起 用过linux的同学应该都知道,在linux中查看文件内容有好几个命令都可以实现,包括但不限于以下这些 cat vi more tail head 那么这些命令都有什么区别呢?又分别在什么时候用呢?下面一一道来。 这些命令的区别与联系 cat Cat不单单是查看文件内容,还可以创建文件或者附加文件内容。 cat的语法结构 cat [参数] [文件]... 参数 -n 或 --number:由 1 开始对所有输出的行数编号。 -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。 -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。 -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 -E 或 --show-ends : 在每行结束处显示 $。 -T 或 --show-tabs: 将 TAB 字符显示为 ^I。 -A, --show-all:等价于 -vET。 -e:等价于"-vE"选项; -t:等价于"-vT"选项; 实例 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里: cat -n textfile1 > textfile2 把 textfile1 和 textfile2 的文档内容加上行号(空白行不加

对apply和call的理解

给你一囗甜甜゛ 提交于 2020-02-13 05:09:50
存在的原因: call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。 call 和 apply 都是为了 改变某个函数运行时的 context 即上下文而存在的 ,换句话说,就是 为了改变函数体内部 this 的指向 。 因为 JavaScript 的函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。 两者区别: 二者的 作用完全一样 ,只是接受参数的方式不太一样。例如,有一个函数 func1 定义如下: var func1 = function(arg1, arg2) {}; 就可以通过 func1.call(this, arg1, arg2); 或者 func1.apply(this, [arg1, arg2]); 来调用。其中 this 是你想指定的上下文,他可以任何一个 JavaScript 对象(JavaScript 中一切皆对象),call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。 JavaScript 中,某个函数的参数数量是不固定的,因此要说适用条件的话,当你的 参数是明确知道数量时,用 call ;而 不确定的时候,用 apply ,然后把参数 push 进数组传递进去。当参数数量不确定时,函数内部也可以通过

如何快速查看Linux日志?

你说的曾经没有我的故事 提交于 2020-02-12 17:58:49
原文: 如何快速查看Linux日志? 因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。 本文介绍六种查看日志的命令: tail 、 head 、 cat 、 more 、 less 、 sed 。 一、 tail 1.1 命令功能 tail 命令从指定点开始将文件写到标准输出。 1.2 命令格式 tail[必要参数][选择参数][文件] 1.3 命令参数 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 -q, --quiet, --silent 从不输出给出文件名的首部 -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 1.4 使用实例 tail -n 10 file.log 查询日志尾部最后10行的日志; tail -n +10 file.log 查询第10行之后的所有日志; tail -fn 100 file.log 循环实时查看最后100行记录 tail 一般还会配合着 grep 用 tail -fn 1000 file.log | grep '关键字' 如果查询的数据量太大, Ctrl + F 或者 空格键可以翻页查看 tail -n 5000 file.log |more

设计模式总结——原则合集

天涯浪子 提交于 2020-02-12 04:36:58
1.单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。 2.迪米特法则:如果两个类不必彼此直接通信,应该通过第三者转发这个调用,强调每个类尽量降低成员的访问权限。 3.依赖倒转原则:高层模块和低层模块不相互依赖,它们都应该依赖于抽象类或接口, 4.里氏代换原则:子类型必须能够替换掉它们的父类型。 这也是父类复用的前提,举个栗子,以下 Cat 可以替换成 Dog ,而同时不必修改其他代码: Animal animal = new Cat(); animal.Eat(); 来源: CSDN 作者: Beetxm_ 链接: https://blog.csdn.net/qq_19533777/article/details/104256830