Linux-ubuntu学习(第二天)

孤街醉人 提交于 2019-12-07 13:11:58

Linux第二天

1.linux内置命令

(1)查看命令的使用帮助

(2)if命令的使用

下面会详细的讲解。

2.Linux内置变量的访问方式

(1)$?使用

%?表示前面一个命令执行的结果。前面执行了一个删除的命令执行失败了,所以查看命令的执行结果是1,1表示的是失败,0表示的是成功:

下面的这个是成功的:

(2)$#使用

$#一般用在脚本文件中,表示给脚本文件传递的参数的个数。

(3)$n使用

$n一般用在脚本文件中,表示获得给脚本文件传递的第n个参数。

比如:rm -f /bin 参数有两个,$1表示的是第一个参数-f

(4)$@使用

$@一般用在脚本文件中,表示获得给脚本文件传递的所有参数

比如:rm -f /bin 参数有两个,#@=-f /bin获得两个参数

(5)shift

也是用户处理传递给脚本文件的参数的时候用。可以迭代得到所有传递进来的参数。

3.$与if的结合使用

---如果第一个参数等于某个值:

4.命令的组合

(1)a && b

A成功后再执行b命令。

(2)a || b

A执行成功的话不执行b命令,a执行失败的话就执行b命令。

(3)a;b

(4)( a ;b)

不能进行执行目录切换的命令:

5.NetCat

模拟tcp/ip连接通信。

(1)实现两个远端Linux的聊天

启动服务端(前台启动),然后查看作业,杀死作业:

后台启动服务端,查看作业,然后杀死作业:

启动客户端,杀死客户端作业:

Ctrl+Alt+F5/ Ctrl+ Alt +F6:切换两个linux的黑窗口。在两个黑窗口中,一个窗口启动tcp的服务端,另一个黑窗口启动tcp的客户端并发送消息,服务端马上就能接收到消息。这样两个端口就可以聊天了。Ctrl+d退出

(2)实现两个远端linux的传送文件

客户端的机器中ccc和hello两个文件都有。

一个应用就是Hadoop配置SSH无密安全登陆传递授权库文件。

(3)端口扫描

查看localhost这个主机上的1-1000端口的使用情况:

(4)给windows安装nc命令

Windows默认是没有nc命令的,但是如果也想使用呢?下载对应windows版本的nc-jar包:

解压,找到nc.exe命令的位置,将其配置环境变量到path(为了在任何目录下都可以使用),然后就可以使用nc命令了。这样windows和Linux就都可以使用nc命令进行通信了。

现在做一下windows和linux用nc聊天,首先在linux上用ping windows_ip看一下两者是不是连接上的,连接上了之后就可以进行通信聊天了。linux作为服务端,建立连接:

Windows作为客户端,连接上linux的ip和端口,并发送消息,服务端马上就能接收到消息:

服务端发一个消息,客户端也能立刻接收到消息。

6. 目录与权限

第一列:文件类型(一个字符)+不同种类用户拥有的权限控制,第三列:文件所属的用户,第四列:用户所属的组,第五列:文件大小:

控制权限是针对不同的用户来说的,不同的用户有不同的权限。不同种类的用户的顺序是固定的。比如三种用户什么权限都有—777。如果user什么权限都有,但是另外两种用户没有执行的权限---766。

修改文件权限:

(1)第一种方式:

(2)第二种方式:

即使文件什么权限都不具有,也可以为他设置权限,只为第一个用户设置读写权限:

为所有用户设置读和执行的权限:

区分文件和文件夹的权限:

权限可以使用+或者-或者=。为所有用户设置权限可以一个个的写出来ugo,也可以直接用a表示全部用户:

如果使用-R参数,不仅可以为文件夹设置权限,文件夹里面的文件也会被设置上权限,所以-R参数的作用是递归设置权限:

7.可执行文件与命令的区别

首先要知道一个概念:可执行文件=命令

(1)Linxu自己的可执行文件

Linux中的ls之类的命令在Linux的窗口中是可以直接输入并且能成功执行的,解释一下:ls其实也是可执行文件,之所以可以在任何位置使用它们,是因为这些命令(可执行文件)的位置被配置到了PATH下,就是前面介绍过的XX/bin,XX/sbin。

(2)某些软件的可执行文件

比如我们在Linux上安装一个jdk,他的可执行文件(命令)在XXX/bin,一般都会把可执行文件的位置配置进环境变量PATH中,这样就可以在任何位置使用JDK的命令了,这里的意思和Linux自带的命令的使用是一个意思。

(3)自定义的可执行文件

我们自定义的可执行文件(通过文件权限可以知道)也是命令,如果想在任何位置都可以执行他们,需要把命令的位置配置进环境变量PATH中,这样就可以像Linux的命令一样直接使用:

但是如果没有配置环境变量,就只能在当前目录下执行,执行的方式:

可执行文件都是脚本文件。

执行可执行文件的方式:

8.增加新用户的命令

前提是必须切换到root最高权限用户下,创建用户(创建的用户存放的位置是固定的,就是/home/用户名):

但是这种没有所属组,没有密码的用户是不能进行登陆的,所以先删除这个用户:

创建用户,并设置所属的组(1000表示的是当前存在的组ubuntu,就是把ubuntu2用户归属到ubuntu组内),密码,这种创建的用户是可以进行登陆的:

此时可以进行切换用户了,并且可以看到这个用户的家的位置:

现在创建一个文件,可以看到这个文件所属的用户和所属的组,组是ubuntu,所以是一个组里面可以有不同的用户,并且可以看到这个文件对于不同用户的权限,对于自己ubuntu2来说权限是rw,对于组就是ubuntu用户来说权限只有r,其他用户的权限之后r:

但是不管是什么权限对于root用户来说都是可以的,即使他是其他用户,因为root用户的权限是最大的,所以他的权限基本上是都可以的。

9.apt-get命令

参考:https://blog.csdn.net/edogawachia/article/details/79263531

9_1介绍

apt-get是linux下的一种简便的安装和更新软件的方法。

Ubuntu的仓库源(软件源),里面有很多的网址,可以理解为下载软件的网址:

源的种类有很多:ubuntu官网的、163的、清华大学的、阿里云的......

首先需要有软件源,然后需要有镜像列表,这些镜像列表都是从软件源中下载的,根据这些镜像源就可以下载需要的软件的软件包了。所以需要:

(1)软件源 http://XXXXX

(2)镜像源列表

(3)下载之后的软件包是.ded格式的。

Apt-get命令的参数:

Update:更新软件源

Upgrade:升级软件源

Remove:删除软件包

purge :删除软件包和配置文件

安装软件的步骤:
(1)查看是否已经存在相关字样的包

Sudo apt-cache search ubuntu-desktop如果存在的话,直接进行第(5)步。否则执行第二步。

(2)更新软件源

Sudo apt-get update

(3)升级软件源

Sudo apt-get Upgrade

(4)查看包是否存在

Sudo apt-cache search ubuntu-desktop如果不存在的话,修改软件源sources.list文件,然后重新进行这些步骤。最后包存在的时候就可以进行Install了。

(5)安装

Sudo apt-get install ubuntu-desktop

Sudo apt-get remove :删除包

Sudo apt-get purge XXX :删除包及相关配置信息

修改软件源:

  1. 先把原来的源备份

(2)修改成自己的源

创建sources.list文件,放入自己的源。(下面的163源不是在网上随便找的)

deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted

(3)软件源更新

(4)升级软件源

Sudo apt-get Upgrade

介绍如下几个文件夹:

(1)/var/cache/apt/archives

这个是利用apt-get install命令安装软件的临时存放软件包的位置,得到的包是.ded格式的:

(2)/var/lib/apt/lists

这个是用来存放已安装和未安装的软件镜像源列表的。我们用apt-get install的时候,实际上是从镜像源上下载软件,而镜像源的软件列表就存在这个lists文件中。通过apt-get update,就可以更新镜像源列表。

(3)/etc/apt/source.list

这个用来存放软件源站点目录,当我们执行apt-get install 的时候,实际上就是去这些站点下载的软件包。而且,这个文件的内容我们可以自己修改,因为有些源站点可能会被墙,所以可以修改为国内的一些镜像源。上面的那个lists文件里面放的那些软件列表,就是从source.list中给出的站点上找到的。

Apt-get删除一个文件有两种方式:(1)remove参数(2)purge参数

但是remove只是删除包,purge不仅删除包而且会删除相关的配置文件,所以如果想卸载一个软件使用purge是更合适的。

apt-get安装软件的其他的方式,比如说现在安装gedit:

(1)第一种方式是使用的是远程的软件源

首先使用download参数将需要的软件包下载下来:

下载下来之后本地就有ded包了,就可以直接进行安装了,使用dpkg命令(下面讲)。

(2)第二种方式是使用挂载的景象文件中的包

景象文件挂载之后放在本地的就有需要的软件包ded了,就不需要再下载包了,就是说本地已经有需要的ded包了,所以不需要下载包,可以直接进行安装,所以可以使用dpkg命令:

查看是否安装成功了:

(3)第三种方式就是前面介绍的install参数

首先保证软件源有效,不合适的就修改软件源。然后update更新软件源,然后upgrade

10. 编辑器

Ubuntu中的编辑器:(1)nano(前面提到了)(2)vi编辑器

但是ubuntu里面没有vim编辑器,需要单独安装。gedit编辑器是图像化的工具,后面讲。

11.在ubuntu上安装一个桌面软件

第一种方式:

(1)搜索一下有没有桌面的包,可以看到有的:

(2)直接安装

这个过程是比较长的。

安装完桌面软件之后,重新启动机器:

看到的就是桌面形式的ubuntu了:

第二种方式:

因为apt-get install命令执行的时候是根据镜像源从软件源指定的位置去下载软件,下载下来之后再安装软件。下载软件的过程时间比较长。所以第二种方式就是以前把做过的操作打包成镜像文件(镜像文件里面有需要的软件),直接把镜像文件挂载在ubuntu上。

(1)得到镜像文件:

(2)挂载iso到/mnt下,里面的.ded类型的文件就是软件包

(3)修改软件源,让它指向本地

先做软件源文件的备份:

然后修改:

(4)更新和升级软件源:

(5)查看软件包

(6)安装

显示如下表示已经安装完成了:

重启启动虚拟机就可以了。

桌面模式与文本模式的切换:

如果文本模式切换到桌面模式不好使的话:

(1)先登陆进文本模式

(2)使用命令启动它的桌面模式

配置开机进入文本模式:

桌面模式是比较人性化的,但是文本模式是比较快的,所以如果配置了桌面软件,默认开虚拟机的时候就会进入桌面模式,如果想开机的时候进入的是文本模式,就需要这里的配置了。

在里面的配置文件中也可以修改文本模式对应的分辨率的大小:

11.ubuntu安装VM增强工具vmwareTools

安装增强工具就是要挂载一个镜像文件,如果ubuntu中已经使用一个镜像文件了,就先断开,然后选择“重新安装”,点击“是”之后会自动把ubuntu增强工具插入并弹出文件夹,可以看到需要的包:

可以看到此时的镜像文件:

将vm增强工具包拷贝到Linux桌面上,右键解压:

桌面的路径位置:

在解压之后的文件夹里面可以看到vmwareTooLs的python脚本文件(命令):

执行vmwareTooLs的脚本文件:

一路回车,出现如下信息的时候就表示安装成功了:

12.vmwareTools应用:配置客户机窗口屏幕大小自适应

关闭这个虚拟机,然后编辑屏幕分辨率改成和windows的分辨率一样大就可以了:

然后重新启动虚拟机,就可以看到调整后的窗口了。如果窗口的大小没有变化,手动编辑一下:

13.vmwareTools应用:windows和ubuntu共享文件夹

这个应用使用的是hgfs文件夹,现在里面是没有东西的:

现在来设置一下:选择windows下的一个路径作为windows和ubuntu的共享路径:

设置完成之后再去hgfs目录下就可以看到共享的windows上的downloads文件夹了:

如果没有效果,看一下镜像文件是否在连接使用:

如果没有连接上的话: 虚拟机设置-CD/DVD-浏览iso系统镜像文件所处目录选中,使用ISO文件打勾,重启虚拟机。

14.vmwareTools应用:windows和ubuntu之间共享剪切板、拖放

(1)共享剪切板这个应用实现的功能就是在windows上复制一段话可以粘贴在ubuntu上,同时在ubuntu上复制一段话也可以粘贴在windows上。

因为已经安装了vmwareTools,所以可以先试一个这个功能可不可以使用,如果不能使用的话,就设置一下,设置的步骤:选择桌面的“虚拟机”---->“设置”:

可以看到在这里可以设置复制粘贴和拖放。

(2)共享拖放的意思就是说windows和ubuntu之间如果想传递软件/文件夹,可以直接通过拖放的方式:

这个功能和上面那个功能是类似的,先看看能不能用,不能用的话用上面的方式进行设置。

15.vmwareTools应用:gedit图形化编辑工具

在前面介绍过ubuntu编辑文件的工具:nano、vi。现在介绍gedit工具。这个工具可以实现图像化界面的方式来编辑文件,用法如下:

(1)输入命令

(2)编辑文件

16.dpkg命令

景象文件挂载之后放在本地的就有需要的软件包ded了,就不需要再下载包了,就是说本地已经有需要的ded包了,所以不需要下载包,可以直接进行安装,所以可以使用dpkg命令:

查看是否安装成功了:

查看本地安装了哪些软件包:

卸载已经安装的包:

卸载之后就没有了:

17.ISO文件制作

18.ubuntu本地软件源制作

首先要备份一份软件源文件

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!