Java:54-Linux概述

Linux系统概述

计算机的体系结构:
计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件(Computer Software)可分为系统软件和应用软件
系统软件就是操作系统,是其他软件的基础

在这里插入图片描述

Linux系统的概述:
Linux系统诞生于1991年,在林纳斯·托瓦兹(Linus Torvalds)上大学期间因不满意教学中使用的
MINIX操作系统并出于个人爱好设计和研发的
Linux系统是一套免费、自由、开发源代码的类Unix操作系统,是一个基于Posix(Portable
Operating System Interface)标准和多用户、多任务、支持多线程的操作系统
Linux能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件
主要发行版本:

在这里插入图片描述

Redhat:目前最大的Linux发行商,功能全面并且稳定,于2018年10月被IBM以340亿美元的价格收购
Ubuntu:目前最好的Linux桌面版,拥有很人性化的亮丽的交互界面,强大的软件源支持
CentOS:是RHEL的克隆版本,可以认为是免费版本的Redhat系统
CentOS系统安装:
Vmware的下载和安装:
Vmware虚拟机(可以称他为系统安装显示对应环境的软件):
虚拟机指通过软件模拟的具有完整硬件系统功能(一般需要安装对应系统),运行在一个完全隔离环境中的完整计算机系统
实体计算机中能够完成的工作在虚拟机中都能够实现,计算机中创建虚拟机时
需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量
就如qq可以实现很多功能,微信也可以实现很多功能,而虚拟机实现的功能,类似于电脑可以实现的功能
qq是文件操作,虚拟机也是文件操作,只不过qq是面向用户,而虚拟机是面向电脑的使用
在创建虚拟机时,稍后安装操作系统,其实就相当于买一台电脑回来的意思
下载地址:https://www.vmware.com/cn.html
按照安装教程一步步操作即可
CentOS系统的下载和安装:
下载地址:https://www.centos.org/
按照安装教程通过Vmware软件进行CentOS系统的安装
对应的软件和安装教程的地址:
链接:https://pan.baidu.com/s/1ShalhcCrx4rf8fk91YPWOg
提取码:alsk
最后:若打开(启动)虚拟机时,电脑自动出现蓝屏(发生错误),可以试一试中文的路径(原因可能是因为你的虚拟机软件是中文的),或者多试几次(内存原因),也有可能是文件权限问题,可以试一下在那个文件里进行创建文件夹,看看有没有需要管理员权限,当然,上面几种基本上是没问题的,只是一些特殊情况,一般都是下面的问题
即对应的设备冲突问题(一般都是这个),如图:

在这里插入图片描述

可以移除几个设备,或者改变对应配置(信息),如后面的USB控制器(一般是这个),声卡,打印机等等,然后再尝试启动虚拟机
当然,若你直接移除多个,如上面说的三个,是最容易不会出现蓝屏的,因为基本不会有什么冲突,或者说配置冲突以及可能出现的空间的原因
虚拟机有一个快照功能,相当于windows的还原点,但要快很多,在虚拟机选项中找到快照,并拍摄
那么下次进行恢复时,就会回到这个快照(当前列表要存在对应虚拟机,否则不会有恢复的选项)
通常用于这个虚拟机系统出现问题时,进行恢复(如病毒木马的侵害)
在进行安装时,有一个全名和用户名,实际上全名就是Linux的一个用户,而用户名,就是Linux的一个用户文件夹(即主目录)
如windows的用户目录
一般的默认的root的密码就是安装时设置的用户秘密
目录结构(熟悉):
图形化界面一般会有一个VMware Tools,使得虚拟机和主机之间,可以通过复制粘贴进行文件传输
而没有这个界面的,一般没有VMware Tools,即需要对应操作,使得文件传输
框架结构:

在这里插入图片描述

目录详解:

在这里插入图片描述

对应图解:

在这里插入图片描述

常用命令(重点):
Shell的概念:
Shell俗称外壳,是提供用户使用界面的一种软件,叫做命令解释器
主要负责接受用户输入的命令,然后调用相应的应用程序,最后向用户输出程序运行的结果
命令的格式:
命令 [-选项] [参数]
命令区分大小写,其中选项和参数是可选的,中间采用空格隔开
常用命令的详解:
查看目录下文件/目录:

在这里插入图片描述

ls 文件名(可以加其他操作,如-l),返回文件名的信息,当然ls 目录,也是可以加其他操作的,如-l
合理的都可以加

在这里插入图片描述

上面~代表当前用户权限与当前用户一样,即这个用户权限就是qidian
若su root,用户权限变成root权限(管理员权限),那么左边的就变成root了,右边就是qidian了,两者不一样,就不是~了
上面ls -l查询的目录介绍:
其中d代表目录的意思
rwx,代表读写执行的权限
三个位置,当前用户,用户组(如管理员组,普通用户组,访客组),其他用户,可以简称为属主,属组,其他属于
点" . "代表Linux的安全机制标识符
2表示硬连接文件数目
后面两个就是用户名称,用户组名称
6代表大小,然后后面一起就是最后一次修改时间
上面ls -a查询的目录介绍:
点" . "开头的是隐藏文件或文件夹
可以发现有" . “,和” … “,代表着当前目录,和上一级目录(所以可以知道为什么” … "代表上一级目录了,而不是一个点代表一个上级目录)
但根目录没有上一级,即" … "在根目录下不起作用
注意:ls -al中a和l是可以分开写,之所以可以这样,是因为-后面的识别是依次识别,所以识别a后,若是继续连着,那么就会识别l
就相当于ls -a -l,所以可以将-看成一个对应操作,操作只要包括,那么就会执行对应操作
即-的操作可以不分先后顺序的(一般其他的操作也是如此),所以ls -a -l和ls -l -a都是一样的(即中间也可以有其他操作)
即上面可以得出命令是连续的,即全部依次识别
除非有必要的指向,如echo j > a,将j内容覆盖写入a文件里,没有a文件就创建覆盖
像这样的,则需要规定位置,因为连续识别时,会判断后续连续
注意:识别使用空格或者其他符号进行隔开,一般使用空格
ls 目录名和ls 目录名/是一样的,因为并没有指定对应地址,所以像这样的操作,一般就是指定对应指定的目录下的
所以一般的,我们都是直接显示目录名,而不是目录名/,因为前者更加的代表是这个文件夹整体,而不是用符号表示整体
但进行操作时,如目录切换,需要/来进行划分等级(一般划分等级都需要/),代表操作后的当前文件夹下,所以.和./是一样的
但进行多个路径时,需要/来识别
如" …/…/ “而不是” … "(这里是识别不了的,不知道是一个点作用还是两个点作用)
cd命令只识别第一个位置的路径,所以… …后面的…不起作用
上面的/划分,一般系统的操作和大多数的操作基本都是如此
目录切换:
使用cd 进行命令切换时,可以使用tab键进行补齐,但需要一定程度的还原
我们也可以进行直接的/开始行走,或者当前行走
实际上就是下面的扩展应用,即连续识别,如cd /home/she,或者cd …/she,都是使用/来进行划分,使得目录跳转

在这里插入图片描述

相对路径和绝对路径的概念
查看完整路径:
//pwd,查看当前目录所在的位置
查看当前用户:
//whoami,查看当前用户的名称
用户切换:

在这里插入图片描述

其中使用su虽然可以进行用户切换,但是目录都是进行变化,之所以这样说,看如下例子
假如原来she用户的目录是/home/she,当切换成root时,进行目录移动,移动为/home,这时使用su she
那么she用户目录就会到/home,本来目录从/home/she变成/home了
而当使用exit时,用户之间的目录移动,不会影响,那么上面的she用户任然是/home/she
所以最好使用su和exit搭配使用,否则多次使用su指令会导致用户的"叠加"
因为su就是切换用户(终端,在原来的基础上进行,所以只有一个窗口),所以每个的日志是不一样的
如上下按键使得的命令出现的上一个命令和下一个命令
即用户并没有退出,而一直使用su,那么这样的终端就会叠加(每多一个用户,就有一次叠加)
可以自己去试一下
多次使用su(同权限等级或者本身或者高等级,需要密码,高等级向低等级切换不需要密码,如root向普通用户切换不需要密码)
root对于同等级不需要密码
然后使用exit进行关闭,可以发现关闭了多次
exit也可以理解为关闭当前终端
管理用户:

在这里插入图片描述

注意:创建用户后,会附带创建对应文件夹,且最好设置密码
否则就是未知数密码,这样的是切换不了到这个用户的,所以必须要设置密码
在进行切换目录时,基本只能进入自己权限内的东西(文件夹或者文件等)
而点击切换,一般就是原本用户(一般是普通)的权限访问
上面的userdel需要指定用户名,即userdel xxx(上面没有写)
但删除只是删除用户,并不会删除附带的文件夹,即原来创建用户时的文件夹不会删除
而由于这个文件存在,使得创建同名用户时,会认为你已经创建了,但实际上还是给你创建对应用户,只不过不会创建对应文件了
所以还是原来的文件夹,即提示你一下
若要删除对应文件夹,那么使用这个命令userdel -r xxx,删除用户同时,删除对应创建的文件夹
若这时你在对应删除的文件夹里,那么会有临时目录显示,当你退出时,就没有了
注意:删除对应用户时,对应终端必须要退出,因为被占用进程,所以会提示你删除失败
所以一般的,原用户是删不掉的,因为打开终端就是原用户
而要删除用户,就要切换到root用户,那么原用户就占用进程了,如此看来原用户一般删除不了
除非开始的位置就是root用户(无图形化界面的基本开始是root,所以可以删除)
clear清理当前窗口大小的的终端信息,并不是所有,是窗口显示的,实际上就是将当前位置移动到最上方,看起来清屏了而已
查看命令的所在目录:
//which 命令,查看指定命令所在的路径信息
//可以得出,我们的命令实际上就是一些可执行文件
文件操作:
无论是>还是>>,对应文件没有,都会创建进行操作,如覆盖,追加

在这里插入图片描述

注意touch,可以创建稀奇古怪的文件,如a,txt,可以使用rm a,txt删掉这个文件,一般这样的都会被称为普通文件,就如a,b文件
实际上就是将a,txt当成名称(是一体的,因为没有对应识别),并不是将txt当成后缀,这两者文件是不同的,如一般编码不同
所以可以得出没有识别的(如不合理的),一般都会当成普通文件
more的查看分屏,最开始数量与终端窗口大小有关,回车是进行下一行操作,空格是下一页操作(与窗口有关),可以打出q退出
或者查看完会自动退出(所以不支持回看)
而less可以出来空格和回车外,还可以上下左右(下类似于回车),左右一段的看,即相当于移动窗口,上可以向上移动一行
所以可以回看,但不会自动退出,需要打出q退出
注意:有些滚动条可能会突然变成摆设的,如vi /etc/passwd,打开的文件滚动条虽然占满了(可能是其他原因,使得不动)
但还是可以进行鼠标滚动,这样的滚动条不动,基本上不会出现这种情况
按下:加上set nu可以看行数,注意无论是什么操作,最好是进入某个模式后,在操作,即开始最好是慢点操作
因为有些情况下,连续的按键可能会直接进入插入模式(使得插入不需要的内容,实际上是对应按键的作用),且可能会使得报错
wc查询的结果,左边是行数,单词使用个数,文件字节大小
目录操作:

在这里插入图片描述

rm必须指定文件全名,一般的指定文件都是全名的,因为a和a.txt是不同的(其他的系统一般也是如此)
rm也可以指向目录切换进行操作的,一般像指定文件的,都可以指定目录切换或者操作,如rm a/b.txt
rm -r 目录,其实可以删除多个目录(文件其实也可以)
因为这是rm的操作,对于操作来说,都可以进行多数的操作,如rm b a -r,删除b和a目录
但这样的操作路径的一般只能是两个路径,多余的会报错,即命令没有多余的执行
因为命令是一个整体,其他指定的是放在这个整体上面,所以一般都可以进行多数的操作
注意:若目录移动时,目标没有对应的一个目录,则类似于将这个移动过去重命名,但他mv也是可以移动文件的,不只是目录
其中目录可以理解为文件夹,且只要可以操作目录的基本都可以操作文件
上面的:
mkdir创建多个目录需要加上-p
cp拷贝目录需要加-r
rm删除目录需要加-r
-rf是一起的,根据前面的介绍,应该要知道如何变通了,如-r -f分开写,或者 -f -r互换位置
只要有就可以(中间可以有对应删除的路径),所以说,这个强制,其实就是-f的作用
注意:可以代表全部,即可以使用rm -rf / * ,简称删库跑路,所以这个东西,最好不要乱使用
查找操作:

在这里插入图片描述

像一些需要获得内容而没有的,基本什么都不返回,就需要写命令了,如上面grep命令,若指定文件没有,就什么都不返回
注意:这个查找是查找指定目录下的所有文件(包括文件夹里的文件)
模糊查询时,要使用引号包括(引号就是单引号和双引号都可),否则就认为你是查询对应的文件的
模糊查询里,*代表所有的数,如上面的p *,那么就是p开头的
其中上面的find ./ -type f可以查找所有文件,而find ./ -type d可以查找当前目录
实际上查找时,不只是文件,目录也会查找
一般的只要能操作文件的地方,那么对应的文件基本就可以写成目录(没有说明的情况下)
即可以操作目录(操作目录可能需要一些执行命令,如rm的-r)
像一些识别不了的命令(没有对应报错机制,可以ctrl+z或者ctrl+c退出),如grep ff,直接这样写,会不报错,但没有后续了
那么就可以使用上面的两个其中之一退出
如这里的查询
其中grep操作的文件不能是目录
权限管理:
//chmod 权限 文件/目录名,管理指定文件的权限信息,r读:4 w写:2 x执行:1
//之所以是4,2,1
//是因为在二进制里,100,10,1,代表4,2,1
//所有他们在设置时,就是在这个三个位的地方(000)进行加1的操作,且互不影响(这是最主要的)
//所以才有了设置对应权限的能力,通过对应1的存在而判断权限
//我们在看道rwx时,就可以看成111(二进制),每个地方代表1(更加的简洁和理解了)
//我们将文件的三个属于权限分别称为属主,属组,其他属于
//注意:若我们需要给对应的属主权限添加对应权限的话可以使用如下命令
//chmod u+x 文件/目录名,给对应文件/目录名的属主权限添加一个x权限
//u-x则是减去x权限,没得加和减,则什么都不返回
//u代表属主,g代表属组,o代表其他属于,注意:向这样的操作只能操作一个属于权限,否则报错
//若需要一起操作,则使用数字表示二进制的位数,如chmod 777 文件/目录名,看到这个7,应该要知道是4+2+1=7
//所以可以根据二进制的数字来表示对应1的位置,一般最好使用664,安全一些
//最好其实可以写多个文件/目录名,即操作多个,一般的命令操作,没有固定的格式时,基本都可以写多个文件/目录名
进程管理:

在这里插入图片描述

我们如果需要多个命令一起执行,那么使用" | "隔开
通常也代表左边命令的执行结果给右边的命令来操作(即一般右边命令可以留下指定参数不写,比如文件等等,而一般用来使用操作左边的结果)
但并不是所有的命令是接收结果的,且不同的命令可能接收位置不一样,或者操作不一样,具体看当时的命令结构和底层原因了
如mkdir c|touch d可以创建c文件夹和d文件,没有操作什么结果
而上面的pa -aux |more可以将对应结果进行分屏(操作了结果),所以可以通过该命令,也可以改变数据(结果)的传递
一般()代表替换,极少数代表添加(或者不会认为),比如上面的数据(结果),实际上可以认为是数据或者结果
通常我会使用[]代表添加,但我基本不会这样,而是使用()代表两种意思,具体看对应的语句即可(通常不会认为是添加)
其中ps -ef,可以查看父进程的id(PPID),即进程之间的关系,而ps -aux不可以
一般的kill 进程号可能是杀不掉对应进程号的,即需要使用kill -9 进程号,强制杀死,可以对窗口进行实验
如ps后CMD是bash是一般就是当前窗口,你可以尝试一下杀死窗口
其它命令:
-c 创建压缩文件,压缩
-x 解开压缩文件,解压
-z 用Gzip压缩或解压,来实现操作他的压缩或者解压,一般可以不需要,会自动的选择
或者本身的压缩或者解压包含了可以操作他的后缀操作
-v 显示压缩或解压的过程,若不想看过程,可以去除
-f 目标文件名,即那个文件,一般需要放在最后,因为文件需要在他后面
当然,只要满足这个条件,那么命令自然也可以在文件的后面继续连接,比如tar -zxf xxx.tar.gz -v,这样的命令,而不能是tar -zfx xxx.tar.gz -v,这样的命令
根据上面的解释,所以在某些时候,只需要-xf来实现解压或者-cf来实现压缩就可以了

在这里插入图片描述

上面压缩就是将对应文件/目录放在对应压缩名称里,当解压时,将对应内容取出来,放到当前文件夹里
当然可以通过参数来决定目录的位置或者指定在那个目录下面
比如:
tar -zxvf Mycat-server-1.6.7.5-release-20200410174409-linux.tar.gz  `mkdir ./s` -C s
#其中``里面的会执行,他不会参与命令里面,即可以随便放在一个位置
#比如 tar -zxvf Mycat-server-1.6.7.5-release-20200410174409-linux.tar.g`mkdir ./s`z -C s
#这样就代表创建一个目录并将解压结果放在里面了,这里就是使用Shell编程知识,来使得满足一些奇特的想法的,当然你也可以学习Shell编程,来满足你的一些奇特的想法
注意:有一些解压工具可能不会解压空的目录,一般在windows里可以看到
注意:若解压的文件有相同的,那么就会覆盖,即通过命令使得操作相同的文件或者目录,基本都会进行覆盖
由前面可推出,一组文件中,也是可以加上目录的,实际上实验时,的确可以,你可以自己试一试
使用man 对应命令主体(如ls),会告诉你对应命令的使用方式,可以使用上下作用,空格,回车,鼠标滚动进行操作
vi工具的使用(重点):
基本概念:
vi和vim是Linux系统命令行下的文本编辑器,通常格式为:vi 文件名 或 vim 文件名
三种模式:

在这里插入图片描述

实际上底行模式也可以使用esc和回退键,即删除键(backspace)到命令模式
但底行模式的回车键,并不会删掉显示在命令中的:,虽然他并不起作用,因为是空指令
而esc则会删除显示
使用方式 :
命令模式的编辑命令:
/*
i:在当前位置之前插入
a:在当前位置之后插入
o:在当前行下插入
退出编辑模式后,光标前移动
光标的插入,实际上是将光标后面的这一行数据,以及本身绑定,在添加数据是,在光标处添加,然后光标后移
使得前面绑定的数据后移了,从而看出添加后移的操作显示
在编辑模式下,只能是上下左右移动光标,鼠标移动不了光标,这是设置的
但他们的操作只能在内容之间走动,空格和回车加的内容也算内容
*/
命令行模式的删除命令:
/*
s 删除一个字符并进入编辑模式
x 删除一个字符 
dw 删除当前词 ,就是删除光标在单词的后面的词,包括光标(光标所在词的剩余词也算一个词)
在空格使用,则空格以及后面的空格加起来算一个词
按住d,若按左,删除光标前的一个数,若按右,则删除光标的数
3dw 删除三个词 
dd 删除当前行 ,实际上是剪切行
2dd 删除两行,删除光标所在行,以及下一行,即光标所在行开始,若没有下一行,则不操作(即不删除)
5dd 删除五行
u 撤回,连续的,基本可以一次性撤回,分开的基本分开撤回
*/
命令行模式的修改命令 :
/*
r 替换一个字符 ,按住r,在点击一个单词,就实现替换
cw 替换一个单词 ,删除光标在单词的后面的词,包括光标,并进入编辑模式,空格于dw的介绍一样
cc 替换一行 ,删除一行,进入编辑模式
C 替换从光标至行尾,删除光标以及光标后面的数,并进入编辑模式
*/
命令行模式的拷贝命令:
/*
yw 拷贝词 ,拷贝光标在单词的后面的词,包括光标,且会获得后面空格
yy 拷贝行(或Y) 
5yy拷贝5行,
dd 剪切行 
p 当前行下粘贴 ,拷贝行的,粘贴到下一行,拷贝词的,粘贴到当前行光标所在的词的后面
u       撤销 
ctrl+r 取消撤销
窗口大小会将行进行挤压,但实际上是同一行,所以使用dd删除,就会删除被挤压到下行的数据内容
*/
底行模式的命令 :
/*
:w   存盘 
:w newfile 存成新文件 ,即创建一个新的文件(不能是存在的文件,可能需要覆盖),并有对应数据
但不会保存正在操作的文件,只有这个加空格,其余的基本上要写在一起,且顺序不能变,因为他们是命令
否则可能会出现直接创建新文件了,如w!q,!不识别,那么创建q的文件了,或者qw,会报错,提示不是编辑命令
:wq 存盘退出Vi(或ZZ,或:x) 
:q! 强行退出不存盘 ,一般在改变内容时,一般的退出,可能不会让你退出,即需要强制退出
:set nu显示行号
:set nonu不显示行号
:1,2co3 拷贝行1,行2在行3之后 ,可以空格隔开
:4,5mo6 移动行4,行5在行6之后 ,可以空格隔开
:%s /源字符串/目标字符串 ,后面的需要连接起来,/后面可以不连接
且从左至右开始算,只会替换每一行中的第一个源字符串
:%s /源字符串/目标字符串/g ,后面的需要连接起来,/后面可以不连接,且替换每一行中的所有
*/
注意使用:
使用vimtutor 命令用来练习vi命令
用户主目录下.vimrc文件可以实现vi的简单设置,在任意位置,任意用户都可以vi .vimrc进入
写上set nu,那么所有的文件都有对应行号了,除了root,即可以理解为对文件的全局设置
若没有反应,可能需要在root下进行修改,之后就可以在任意位置修改了
注意:root和普通用户,对文件的操作都是同一个目录下的
唯一的区别是权限的问题,有些文件的配置需要root进行执行
一般的root删除文件或者目录需要确定才可,且他创建的文件和目录,无论是root用户还是普通用户,都会有确定操作
需要打出y或者n,只要他们开头就可以了,否则不会删除,一般我们直接打出y或者n
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值