前言
今天又进一步学习了 Linux 指令,分别是:touch
、cp
、mv
、rm
、vim
、cat
、df
、free
、head
、atil
、less
、wc
、date
、cal
、clear\ctrl+L
、hostname
、 id
、whoami
、ps -ef
、top
、su -sh
、输出重定向(> >>)
、通道( | )
。
本系列博客谨以学习和记录,适用于 Linux 初学者的入门。如有错误,还请各位不吝赐教!
touch
作用:更改文件的时间戳信息,如文件不存在则创建文件。主要用于创建文件。
语法:touch 文件路径1 文件路径2
cp (copy)
作用:复制文件到指定目录
语法:cp [-r] 参数1 参数2
当复制的文件夹不为空时,就需要用到选项[-r]
(递归)。
mv (move)
作用:移动文件或文件夹到指定目录
语法:mv [选项] 文件或文件夹目录 指定目标目录
rm
作用:删除一个或多个文件或目录,及目录下的所有子目录和文件。
语法:rm [-r][-i][-f] 文件目录1 文件目录2
选项:
- [-r]:递归处理,将指定目录下的所有文件与子目录一并处理;
- [-f]:强制删除文件或目录;
- [-i]:删除文件或目录前询问用户;
vim
作用:使用文本编辑器 vim 打开文件。
语法:vim 文件目录
输出重定向(> 或 »)
作用,向指定文件中覆盖或者添加内容,如没有则新建。
例如:ls /etc > ~/ls.txt
:意味把输出信息覆盖在 home 目录下的 ls.txt 文件中,而ls /etc >> ~/ls.txt
则是直接在尾部添加内容。
cat
作用 1:直接在终端窗口打印文件内容,最后终止打印。
语法:cat 文件目录
作用 2:合并文件
前言
趁着今天放假,我终于打开了收藏夹里吃了好长时间灰的 Linux 学习视频(呜呜呜~~,我对不起你~)。谨以此系列博客记录和巩固所学知识。
今天主要是 Linux 基础命令:
- ls,及其相关选项
- pwd
- cd
- mkdir,及其相关选项
命令的作用及基本构成
命令是用来告知 Linux 系统,并与 Linux 系统进行交互的一种语言。其主要使用场景是在终端窗口中,这也是上世纪操作系统的主流交互方式,例如微软早期的 DOS 系统,如今仍保留在 Windows 系统中的 CMD(命令提示符),还有 mac 中的终端窗口。
在 Linux 中,一串完整的命令主要由以下几个部分构成:1、命令关键字 2、选项 3、操作对象(或路径)。即形如:关键字 【选项】 【操作对象(或路径)】
这样的字段。【】号括起来的部分可以省略。
另外:关于详细的选项说明,可以使用命令:关键字 –help 来获取具体用法及详细介绍,例如:ls –help,本文适用于初学着的简单入门。
关于路径
/ 表示根目录,./表示当前目录, ../ 表示上一层目录。
在 Linux 中,文件系统的路径有两种,一种是相对路径,一种是绝对路径。
- 相对路径:相对于当前目录,以当前目录为参考规定的其他文件的路径。其特征是路径前不加”
/
“,或者直接使用”./
“表示当前目录。 - 绝对路径:目录前面加” / “,从根目录开始的路径为绝对路径。
绝对路径很清晰明了,缺点就是太长。而相对路径虽然字符数不多,但是比较复杂,容易弄迷糊。至于到底使用哪一个,就见仁见智了。
命令 ls (list)
ls 命令用于在终端窗口打印指定目录下的所有文件夹及文件,并有许多可供选择的选项:
- -l(小写的 L):打印详细文件信息,包括大小,用户权限,所属用户组等。
- -a :用于显示目录中的隐藏文件夹或文件。
- -h :用于显示文件大小以 KB、MB、GB 等单位。
其用法为:#ls [选项] [路径]
,[ ]号内的内容可以省略,如路径省略,则表示当前目录( ./
)。
this 与 super 的含义
在 Java 中,this 有两层含义:
- 指示隐式参数的引用(就是当前对象的引用)
- 调用该类的其他构造器
而 super 也有两层含义:
- 调用超类的方法
- 调用超类的构造器
前言
在写这篇文章之前,我也查阅了其他博主关于 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()语句!
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。效果图如下:
结语
相信有了这些实用强大的插件,会使你的工作或学习更加轻松。加油!
另外,如本文中有错误,欢迎大家指出。大家一起进步,一起成长!
简述
在 Java 中共有四个:
- public —— 对外部完全可见
- protected —— 对本包和所有子类可见
- 默认(不需要修饰符)—— 对本包可见
- private —— 仅对本类可见
从上到下,public 的开放程度最高。
对外完全可见 对本包和所有子类可见 仅对本包可见 仅对本类可见 访问控制修饰符 Public Protected 默认(无修饰符) Private 同一包中的其它类 ✓ ✓ ✓ ✗ 同一包中的子类 ✓ ✓ ✓ ✗ 不同包中的其它类 ✓ ✗ ✗ ✗ 不同包中的子类 ✓ ✓ ✗ ✗
简言之就是,public 全开放,protected 对本包和子类(不论是不是在本包中)开放,默认的只对本包开放(不论是不是子类),private 仅对本类开放(只有定义它的类内部才能够使用,非常不开放)。 建议在定义每个类的私有字段,也就是成员变量时使用 private 修饰符,这样才能够确保类的封装性。
实例演示
定义两个包:A 包和 B 包。 A 包中有类:aFather 、aClass、aSon;B 包中有类:bClass、bSon 定义类:aSon、bSon 是 aFather 的子类。具体如下
包 A
aFather.java
定义了一个父类 aFather,和各实例字段,如下: