Linux学习日志——基本指令②

前言

今天又进一步学习了 Linux 指令,分别是:touchcpmvrmvimcatdffreeheadatillesswcdatecalclear\ctrl+Lhostname idwhoamips -eftopsu -sh输出重定向(> >>)通道( | )

本系列博客谨以学习和记录,适用于 Linux 初学者的入门。如有错误,还请各位不吝赐教!

touch

作用:更改文件的时间戳信息,如文件不存在则创建文件。主要用于创建文件。

语法:touch 文件路径1 文件路径2

cp (copy)

作用:复制文件到指定目录

语法:cp [-r] 参数1 参数2

当复制的文件夹不为空时,就需要用到选项[-r](递归)。

mv (move)

作用:移动文件或文件夹到指定目录

语法:mv [选项] 文件或文件夹目录 指定目标目录

rm

作用:删除一个或多个文件或目录,及目录下的所有子目录和文件。

语法:rm [-r][-i][-f] 文件目录1 文件目录2

选项:

  1. [-r]:递归处理,将指定目录下的所有文件与子目录一并处理;
  2. [-f]:强制删除文件或目录;
  3. [-i]:删除文件或目录前询问用户;

vim

作用:使用文本编辑器 vim 打开文件。

语法:vim 文件目录

输出重定向(> 或 »)

作用,向指定文件中覆盖或者添加内容,如没有则新建。 例如:ls /etc > ~/ls.txt:意味把输出信息覆盖在 home 目录下的 ls.txt 文件中,而ls /etc >> ~/ls.txt则是直接在尾部添加内容。

cat

作用 1:直接在终端窗口打印文件内容,最后终止打印。

语法:cat 文件目录

作用 2:合并文件

2020-04-06    
Linux学习日志第一天——基础命令①

前言

趁着今天放假,我终于打开了收藏夹里吃了好长时间灰的 Linux 学习视频(呜呜呜~~,我对不起你~)。谨以此系列博客记录和巩固所学知识。

今天主要是 Linux 基础命令:

  1. ls,及其相关选项
  2. pwd
  3. cd
  4. mkdir,及其相关选项

命令的作用及基本构成

命令是用来告知 Linux 系统,并与 Linux 系统进行交互的一种语言。其主要使用场景是在终端窗口中,这也是上世纪操作系统的主流交互方式,例如微软早期的 DOS 系统,如今仍保留在 Windows 系统中的 CMD(命令提示符),还有 mac 中的终端窗口。

在 Linux 中,一串完整的命令主要由以下几个部分构成:1、命令关键字 2、选项 3、操作对象(或路径)。即形如:关键字 【选项】 【操作对象(或路径)】 这样的字段。【】号括起来的部分可以省略。

另外:关于详细的选项说明,可以使用命令:关键字 –help 来获取具体用法及详细介绍,例如:ls –help,本文适用于初学着的简单入门。

关于路径

/ 表示根目录,./表示当前目录, ../ 表示上一层目录。

在 Linux 中,文件系统的路径有两种,一种是相对路径,一种是绝对路径。

  1. 相对路径:相对于当前目录,以当前目录为参考规定的其他文件的路径。其特征是路径前不加” / “,或者直接使用” ./ “表示当前目录。
  2. 绝对路径:目录前面加” / “,从根目录开始的路径为绝对路径。

绝对路径很清晰明了,缺点就是太长。而相对路径虽然字符数不多,但是比较复杂,容易弄迷糊。至于到底使用哪一个,就见仁见智了。

命令 ls (list)

ls 命令用于在终端窗口打印指定目录下的所有文件夹及文件,并有许多可供选择的选项:

  1. -l(小写的 L):打印详细文件信息,包括大小,用户权限,所属用户组等。
  2. -a :用于显示目录中的隐藏文件夹或文件。
  3. -h :用于显示文件大小以 KB、MB、GB 等单位。

其用法为:#ls [选项] [路径] ,[ ]号内的内容可以省略,如路径省略,则表示当前目录( ./ )。

2020-04-04    
super与this的区别,更进一步的区别!——Java学习

this 与 super 的含义

在 Java 中,this 有两层含义:

  1. 指示隐式参数的引用(就是当前对象的引用)
  2. 调用该类的其他构造器

而 super 也有两层含义:

  1. 调用超类的方法
  2. 调用超类的构造器

前言

在写这篇文章之前,我也查阅了其他博主关于 super 与 this 的区别的文章,他们都讲的很对,但是没有说到我想知道的重点。例如cheneypku的这篇文章 Java 中 this 与 super 的区别 所述:

它们的区别: 1、super()主要是对父类构造函数的调用,this()是对重载构造函数的调用 2、super()主要是在继承了父类的子类的构造函数中使用,是在不同类中的使用;this()主要是在同一类的不同构造函数中的使用

但是,它们还有一点不同,那就是:

super 不是一个对象的引用,因此不能够将 super 赋给另一个对象变量,他只是一个指示编译器调用超类(或父类)方法的特殊关键字。

例证

this

可以把 this 赋值给对象类型的对象变量,进而调用类中的数据字段。

public class Students{
    private String name;
    private String otherName;
    private int age;

    Students S = this;    //编译通过

    public Students(String name, String otherName, int age){
        S(otherName); //出现错误!
        //or
        this(otherName);//编译通过!所以在调用其它构造器时,还是只能使用this()!
        S.age = age;  //可以正常引用Students类中的数据字段
    }
    public Students(String OtherName){
        S.otherName = OtherName;
    }

}

这说明,this 实际上是当前对象的一个引用,可以被赋值给相应的对象变量。但是,当需要调用类中的其他构造器时,还是只能够使用 this()语句!

2020-04-03    
如何为你的IDEA安装插件——几个实用插件推荐

IDEA 是一款非常强大的 Java 集成开发环境,这不仅仅在于它本身强大的功能,更在于它背后强大的插件库。

今天就教大家如何为你的 IDEA 安装一些实用的插件,提高你的幸福度和工作效率!也欢迎大家说出自己觉得好用的插件!

安装插件

直接点开标签页 File ->Settings… ->Plugins,就可以看到插件商城和你已安装的插件。在插件商城中搜索需要的插件点击安装即可,重启后生效。如图:

在这里插入图片描述


插件推荐

1、Background Image Plus

这个插件可以设置 IDEA 的默认背景为你喜欢的图片,在View->Set Background Image中设置,并可以设置透明度、填充方式等选项,让界面更加美观,写代码乐趣十足!效果如下图:

在这里插入图片描述 在这里插入图片描述

2、Translation

经常会在代码中遇到自己不认识的单词,这时候在打开浏览器翻译就非常麻烦了。而 Transaction 就是一款支持划词翻译、段落句子翻译的强大插件。使用的是谷歌翻译系统,准确度很高,实乃程序员必备!也可以在 Setting-> Other Setting-> Translation 中设置为有道或百度翻译,效果如下图:

在这里插入图片描述 在这里插入图片描述

3、CodeGlance

目前市面上很多文本编辑器,例如 VCode 都支持代码缩略图展示,而 IDEA 默认是没有的,需要使用插件来实现。CodeGlance 就是一款很好的代码地图插件,它会在右边生成一个代码缩略图,可以直接滑动浏览。效果如下图:

在这里插入图片描述

4、Rainbow Brackets

满屏的括号让你眼花缭乱,练就火眼金睛?别慌!快来安装这款彩虹色的插件吧!它会使没一对括号都显示成不同的颜色,包括圆括号、中括号和大括号。还可以在设置中修改它们的颜色,Setting-> Editor -> Color-> Scheme->Rainbow Brackets,也可以直接搜索 Rainbow Brackets。效果图如下:

在这里插入图片描述 在这里插入图片描述


结语

相信有了这些实用强大的插件,会使你的工作或学习更加轻松。加油!

另外,如本文中有错误,欢迎大家指出。大家一起进步,一起成长!

2020-04-03    
Java中访问控制修饰符的详解和示例——Java学习

简述

在 Java 中共有四个:

  1. public —— 对外部完全可见
  2. protected —— 对本包和所有子类可见
  3. 默认(不需要修饰符)—— 对本包可见
  4. private —— 仅对本类可见

从上到下,public 的开放程度最高。

  • 对外完全可见对本包和所有子类可见仅对本包可见仅对本类可见
    访问控制修饰符PublicProtected默认(无修饰符)Private
    同一包中的其它类
    同一包中的子类
    不同包中的其它类
    不同包中的子类

简言之就是,public 全开放,protected 对本包和子类(不论是不是在本包中)开放,默认的只对本包开放(不论是不是子类),private 仅对本类开放(只有定义它的类内部才能够使用,非常不开放)。 建议在定义每个类的私有字段,也就是成员变量时使用 private 修饰符,这样才能够确保类的封装性。

实例演示

定义两个包:A 包和 B 包。 A 包中有类:aFather 、aClass、aSon;B 包中有类:bClass、bSon 定义类:aSon、bSon 是 aFather 的子类。具体如下 在这里插入图片描述

包 A

aFather.java

定义了一个父类 aFather,和各实例字段,如下: 在这里插入图片描述

2020-04-02