Linux 基础入门学习:(JavaEE~大数据篇)

Linux 基础入门

前言:

本篇,不是面向运维级别的 liunx系统学习, 而是针对Java——大数据学习, 所需要的基本功能~
Linux 总而言之,根本也就是一个 操作系统!
操作系统, 作为一个程序员 现代人每天都会有很多接触: 常见的操作系统有↓↓↓

PC: Windows,OSX,Linux…
服务器: Unix/Linux,Windows Server,OSX…
嵌入式设备(智能手机): Linux,Android,VxWorks,iOS…

Linux简介:

企鹅 logo: 企鹅是属于极地生物, 而南极北极, 这种极地 不属于任何国家!! 内涵, 技术共享开源学习!!
在这里插入图片描述

Linux,全称 GNU/Linux ,是一套免费使用和自由传播的类Unix操作系统常用于服务器端使用;
Linux历史:
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有: Unix、DOS和MacOS这几种。
Unix价格昂贵不能运行于PC;DOS显得简陋, 且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。


这时一位大学生 林纳斯·托瓦茨想要了解Intel的新CPU386。他认为较好的学习方法就是自己编写的一个操作系统的内核。
于是:1991年,林纳斯·托瓦茨为了学习就模仿 Unix开发出了, Linux
并且遵循当时的一个GNU(自由软件基金会) 技术无偿共享原则, 所以大佬慷慨的:免费,开源 的共享了出来!!😭大佬牛皮!
正是因为开源, 后来的大佬可以看到其内部的代码结构, 并不断的对其优化 维护~, 使其渐渐的: 安全 高效!支持高并发…集合大佬们的力量的产品!


如今: Linux得到了来自全世界软件爱好者、组织、公司的支持。
它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。

Linux 分类:

Linux的版本分为两种:内核版本发行版本
内核版本 : 是指在Linus领导下的内核小组开发维护的系统内核的版本号。
发行版本 : 是一些组织和公司根据自己发行版的不同而自定的。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE等。
在这里插入图片描述

Linux操作系统 学习安装方式:

这个是比较头疼的, 市面上滴发行版非常多,也有收费的…
本人学习的是 CentOS7 (其实, 这方面并无太大影响, 毕竟内核是一样的不会相差太多的!); ``
而且, 大部分人目前市面上常见的操作系统是: Windows(图形界面更好, 面向非程序员用户很多…)
想要学习Linux 但是目前系统是 Windows… 这是很多人面临的一个大问题…
关于笔记本操作系统的问题:(解决方法)

整机安装(llinux操作系统)
双系统并存安装
虚拟机安装 (本人使用的方式, 这里不做VM的配置安装讲解, 如果想要效仿本人可以借鉴:Linux环境 常用软件安装 )
最后奉上:CentOS官网 https://www.centos.org//

走近Linux系统

开机登录:

开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

开机成功后,它会显示一个文本登录界面,
这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名/密码。
一般来说,用户的登录方式有三种:
命令行登录
ssh登录
图形界面登录
最高权限账户为 root,可以操作一切! 密码:123123 本人的密码...

关机:

在linux领域内大多用在服务器上,很少遇到关机的操作。
毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
关机指令为: shutdown

sync 				#将数据由内存同步到硬盘中。
在Linux系统中,为了加快数据读取速度,默认的情况中,某些已经加载内存中的数据不会直接被写回硬盘,而是先缓存在内存当中。
万一你的系统因为某些特殊情况造成不正常关机,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的升级不正常啦!
直接在文字接口下输入sync,那么在内存中尚未被升级的数据,就会被写入硬盘中!
这个命令在系统关机或重新启动之前, 很重要喔!最好多运行几次(2-4次)!

shutdown 			#关机指令
shutdown –h 10 		#这个命令告诉大家,计算机将在10分钟后关机
shutdown –h now 	#立马关机
shutdown –h 20:25 	#系统会在今天20:25关机
shutdown –r now 	#系统立马重启
shutdown –r +10 	#系统十分钟后重启
reboot 				#就是重启,等同于 shutdown –r now
halt  				#关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

系统目录结构

登录系统后,在当前命令窗口下输入命令: ls/
在这里插入图片描述
树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)
在这里插入图片描述
*以下是对这些目录的解释:

目录名称说明
/Linux系统根目录
/binbin是Binary的缩写, 这个目录存放着最经常使用的命令。
/devdev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。etc/profile:Linux系统环境
/home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
/usr一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。  (本人,也喜欢在把工具都安装在这里 /usr/local)
/opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/root该目录为系统管理员,也称作超级权限者的用户主目录。
/var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除

更多…

Linux目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /
绝对路径:
由根目录 / 写起,例如:/usr/share/doc 这个目录。
相对路径 :
路径的写法,不是由 / 写起例如:
/usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man 这就是相对路径的写法啦!
… 返回上一级
/main 到main 路径下~

处理目录的常用命令

pwd [-p]      						#查看当前所在目录,加-p:pwd -p 显示出确实的路径,而非使用连接(link) 路径。
cd 相对/绝对路径						#打开目录
ls –a								#查看目录下文件,连同隐藏文件(开头为.的文件),一起列出来(常用)
ls -l 或 ll							#查看目录下文件,包含文件的属性与权限等等数据;(不包含隐藏文件,常用)
ls -al 								#查看目录下文件,包含文件的属性与权限等等数据,连同隐藏文件;
mkdir [-mp] 目录名称					#创建文件目录;
	#-m :配置文件的权限喔!直接配置,不需要看默认权限 
	mkdir -m 777 文件名;				#777:最高权限;		
	#-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!(创建多级目录结构)
	mkdir -p test1/test2/test3		#Linux没办法直接创建此目录啊!-p可以,创建多层目录;
	
rm –rf 目录或者文件					#删除文件或目录;
	#rm [-fir] 文件或目录
	#-f:就是 force 的意思,忽略不存在的文件,不会出现警告信息;
	#-i:互动模式,在删除前会询问使用者是否动作
	#-r:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!(包含子目录)
	
mv [-fiu] [文件/目录][文件/目录]		#移动文件或修改文件名;
	#将文件夹1名称更改问文件2:mv [文件1][ 文件2]
	#将目录1的文件移动到目录2:mv [目录1][ 目录2]
	#将文件移动到目录下	   :mv [文件] [目录]
	#-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
	#-i :若目标文件 (在destination目录) 已经存在时,就会询问是否覆盖!
	#-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
	
cp 									#复制文件或目录
	#cp [-adfilprsu] 来源档(source) 目标档(destination)
	#-r:递归持续复制,用於目录的复制行为;(常用)
	#-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
	#-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
	#-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
	#-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
	#递归复制目录1的所有的文件和文件夹到目录2:cp  –r  [目录1][目录2]
	#执行复制操作时覆盖原有目录前询问用户:cp  –ri  [目录1][目录2]

Linux文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组:
在这里插入图片描述
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中:
r 代表可读(read) w代表可写(write) x代表可执行(execute)。
要注意的是:
这三个权限的位置不会改变,如果没有权限,就会出现减号 -而已。
三个一组每一组表示一种权限:
在这里插入图片描述
这九个字符是三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r:4     w:2         x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:
[-rwxrwx—] 分数则是:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= - - - = 0+0+0 = 0
chmod 770 文件名
设值文件的权限: 拥有者/同组用户 具有:读写操作(权限).

chgrp: 修改文件属性
chmod [-R] u+权限,g+权限,o+权限 文件/目录
chmod [-R] 权限值 文件或目录
#-R: 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

在这里插入图片描述

Linux 文件内容查看

cat 			由第一行开始显示文件内容
语法:
cat [-AbEnTv] 文件名
	-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已
	-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
	-E :将结尾的断行字节 $ 显示出来
	-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同
	-T :将 [tab] 按键以 ^I 显示出来
	-v :列出一些看不出来的特殊字符


tac 			从最后一行开始显示,可以看出tac 是cat 的倒着写!
语法:
tac [-AbEnTv] 文件名


nl  显示的时候,顺道输出行号!
语法:
nl [-bnw] 文件名
	-b :指定行号指定的方式,主要有两种:
		-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
		-b t :如果有空行,空的那一行不要列出行号(默认值);
	-n :列出行号表示的方法,主要有三种:
		-n ln :行号在荧幕的最左方显示;
		-n rn :行号在自己栏位的最右方显示,且不加 0 ;
		-n rz :行号在自己栏位的最右方显示,且加 0 ;
	-w :行号栏位的占用的位数。


more 			一页一页的显示文件内容,在 more 这个程序的运行过程中,你有几个按键可以按的:
语法:
more  文件名
在 more 这个程序的运行过程中,你有几个按键可以按的:
	空白键 (space):代表向下翻一页;
	Enter     :代表向下翻『一行』;
	/字串     :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
	:f      :立刻显示出档名以及目前显示的行数;
	q       :代表立刻离开 more ,不再显示该文件内容。
	b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。


less 			与more 类似,但是比 more 更好的是,他可以往前翻页!
语法:
less  文件名
	空白键  :向下翻动一页;
	[pagedown]:向下翻动一页;
	[pageup] :向上翻动一页;
	/字串   :向下搜寻『字串』的功能;
	?字串   :向上搜寻『字串』的功能;
	n     :重复前一个搜寻 (与 / 或 ? 有关!)
	N     :反向的重复前一个搜寻 (与 / 或 ? 有关!)
	q     :离开 less 这个程序;


head  取出文件前面几行
语法:
head [-n number] 文件
选项与参数:-n 后面接数字,代表显示几行的意思!默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:
head -n 20 文件


tail  取出文件后面几行
语法:
tail [-n number] 文件
默认的情况中,显示最后 10 行!    tail 文件    显示文件后十行!

Linux 文件编辑命令Vi

vi:Linux一款功能强大的全屏幕文本编辑器:
vi命令

打开文件:       vi [文件名]				如果文件名不存在,创建文件编写~
进入编辑模式:	i,a
退出编辑模式:	按下 Esc 键
进入命令模式:	“:”
保存并退出:   	wq或x
退出但不保存:	q!
保存			w

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

Linux用户/用户组

用户是指操作系统的实际操作者
用户组是具有相同特征的用户的集合体
Linux中每一个用户,都属于一个用户组:root用户:Linux系统权限最高的用户

id:查看当前用户UID和GID
whoami:查看当前登录用户
groups:查看当前用户所属分组
useradd [用户名]:添加用户
useradd –u [UID] 用户名:添加用户并指定UID
切换到指定用户:su [用户名]


passwd [用户名]:修改用户密码
userdel [用户名]:删除用户
usermod –l [新用户名][ 旧用户名]:修改用户登录名
usermod –g [新组名称][用户名]:修改用户所属分组
groupadd [组名]:添加分组
groupadd –g [组GID][ 组名]:添加分组并指定GID

对应Linux 中用户和用户组的概念, 本人并没有太多了解, 但是我指定: root用户最牛批!

Linux进程和程序

什么是进程?
进程是程序运行的动态描述,进程程序生命周期 (对于一个标准程序员进程是啥不用解释了吧…)

这儿简单介绍一下,毕竟本人不是专业滴~
Linux查看进程:ps -ef|grep [进程标识]
在这里插入图片描述
停止进程:Kill -9 [PID] 指定进程 pid 杀死进程!
实例:

ps –ef 查看所有进程:
在ifconfig的输出里寻找192.168字符串
ifconfig | grep 192.168
查找和java相关的进程
ps -ef | grep java
查找和3306相关的信息
ps -ef | grep 3306


kill 2868 杀掉2868编号的进程
kill -9 2868 强制杀死进程

拓展:Linux 链接概念

Linux 链接分两种 :
一种被称为硬链接(Hard Link)
另一种被称为符号链接软连接(Symbolic Link)。

clear Linux清屏幕

制作不易感谢支持, 其中一部分是参考狂神大佬的!有兴趣可以去看大佬B站
一起学习呀!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java.慈祥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值