大数据技术之Linux

学习目标:

  • 了解Linux的发展历程(概述)

  • VM虚拟机和Linux的安装 (熟练掌握)

  • 掌握Linux的文件目录结构

  • 熟练掌握Linux中的文本编辑器 - VI/VIM(重点)

  • 掌握Linux中的网络配置系统管理操作

  • 在Windows中通过远程工具连接Linux系统

  • Linux中的常用命令(重中之重)

  • 掌握Linux中软件的管理-YUM操作

一、Linux概述

​ 本章节就是对Linux的历史发展进行阐述,学习方案就是 听故事,讲故事,能大体了解Linux的基本发展史以及一些关于操作系统的概念即可!

1.认识操作系统

  • 概念:一句话总结就是把计算机系统中对硬件设备的操作封装起来,供应用软件调用。

  • 常见操作系统:

    • PC端:

    • 移动端:

    • 服务端:

    **小结:**操作系统所涉及的领域大概就这三个,PC端,移动端,服务端。

2.Linux的由来

  • Unix和Minix

​ 说道Linux的由来 先得聊聊Unix,Unix也是一个操作系统,但是最大的问题就是 硬件捆绑 ,所谓的硬件捆绑就是Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操作系统,其次 出于商业等方面因素的考虑,AT&T在1979年发行第七版Unix系统时收回了Unix的版权。在Unix收回版权的背景下,出于学院教学的需要,荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授开发了一个“类Unix”系统:Minix。之所以称为类Unix,是由于Tanenbaum教授为了避免版权纠纷在开发过程中刻意完全不看Unix本身代码,但同时要做到在使用时让用户的操作方式和使用Unix时一样

  • Linux的诞生

    Minix最有名的学生用户是Linus Torvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux。

    Linux是 Linus Torvalds受到Minix的影响而开发的(Linus Torvalds不喜欢他的386电脑上的MS-DOS操作系统,安装了Minix,并以它为样本开发了原始的Linux内核)。

3.Linux作为服务器端系统的优势

Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。

Linux的优势主要体现在下面几个方面:

  • 性能强劲,安全稳定

    ​ Linux本来就是基于Unix概念而发展出来的操作系统,当然也继承了Unix稳定高效的特点。使用Linux系统的主机连续工作1年以上不死机、不重启是非常常见的。所以很多电影、动画中的特效制作这样需要强大运算能力的工作都是运行在Linux系统之上。

  • 可定制

    ​ 如果你对Linux足够了解,完全可以使用Linux内核搭配需要的组件构成一个定制版系统,甚至你可以修改Linux源码进行深度定制

  • 免费或少许费用

    ​ 学习Linux可以免费使用Linux的各种发行版,在商业用途中往往也只是支付很少的费用即可

  • 硬件配置要求低

    ​ Linux内核只有几KB大小,仅运行内核的话需要的系统开销很小,以命令行方式操作Linux也一样。以图形化界面方式运行Linux需要的资源也比Windows更少。

  • 嵌入移动设备

    ​ 由于Linux只需要很少的资源就能够驱动所有硬件设备工作,所以非常适合嵌入到手机等移动设备中,例如现在我们使用的Android系统就是以Linux为核心的。

4.Linux和Windows区别

3.在创建好的虚拟机上安装Linux系统

​ 这部分完全按照安装文档操作即可!达到熟能生巧的地步,一遍不行就再来一遍,反正以后一旦Linux系统出问题需要重装,要求每个人都会!!!

二、VM(Vmware)虚拟机和Linux的安装

1.安装VM虚拟机软件(15.5的版本)

按照安装文档进行即可!

**注意:**安装好的就直接用,这个东西不要轻易卸载。

2.创建一个新的虚拟机

​ 安装虚拟机,按照教程操作即可!需要特别的注意的是选择 网络连接的时候,我们推荐使用NAT连接方式,另外还有 桥接方式 ,下面一起讨论一下 这两种方式有什么区别。

2.1 桥接模式

2.2 NAT连接模式

2.3 二者区别

3.安装 Cenos7

按照安装教程进行即可!

**注意:**手动分区

三、Linux的目录结构

概述:在Linux中,一切皆文件。

在Linux中比如进程,磁盘,内存等等都以文件的形式来体现。

1.重点了解掌握的目录

/bin 目录 :系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。

/boot 目录:主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。

/dev 目录:在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等

/etc 目录:系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。 一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。 FHS建议不要放置可执行档(binary)在这个目录中。 比较重要的档案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目录有:/etc/init.d/ :所有服务的预设启动script都是放在这里的,例如要启动或者关闭iptables的话: /etc/init.d/iptables start、/etc/init.d/ iptables stop

/etc/xinetd.d/ :这就是所谓的super daemon管理的各项服务的设定档目录。

/etc/X11/ :与X Window有关的各种设定档都在这里,尤其是xorg.conf或XF86Config这两个X Server的设定档。

/home 目录:这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号:
:代表当前使用者的家目录,而 ~guest:则代表用户名为guest的家目录。

/lib 目录:系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。

/opt 目录:这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。

/root 目录:系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。

/sbin 目录:Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

/srv 目录:srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了。

/tmp 目录:这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。

四、Linux中的文本编辑器 - VI/VIM

1.一般模式

概述:通常进行一些修剪操作(复制,粘贴,删除),vim 命令打开文件后默认的状态就是一般模式。

常见的操作:

2.编辑模式

概述:上面一般模式只能进行一些修剪操作,如果想对文本进行插入内容操作,那就得切换到编辑模式进行。

i 掌握即可!

3.指令模式

概述:在一般模式中或者编辑模式,当我们输入 ESC 再输入一个 : 就切换到指令模式。切换到指令模式后,就可以通过一些指令来控制操作文本。

常用指令如下:

五、网络配置和系统管理操作

1.查看网络IP 和 网关以及修改ip为静态

1.1 Linux上查看IP

ifconfig

1.2 如何查看和配置虚拟机的网络

注意:虚拟机的网络配置直接影响 Linux系统的 网络信息

1.打开虚拟机网络编辑器

2.修改虚拟网卡Ip

注意 :将来Linux的ip网段取决于 虚拟网卡IP的网段

1.3 区别Linux中IP的动态分配和静态设置

**场景描述:**在通常默认情况下,Linux的ip分配取决于虚拟机的网络设置,默认情况下按照我们指定的范围进行自动分配,这样的话就导致一个现象,每次重启,关机Linux,下次再用的时候发现ip就变了。但是我们在频繁的连接Linux的情况下,不希望它的ip总是变。所以我们可以通过修改Linux中的网络配置文件将它的ip设置为静态的。需要注意,在设置的时候也不是随意赋值ip ,还是要遵循虚拟机的网络配置信息。

1.体验Linux系统和物理机进行网络通信

ping 主机地址

2.体验Linux和外网进行通信

ping 外网域名/外网ip

3.修改Linux中的ip为静态的

修改前:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="96ef33f8-eb1e-4585-afe1-ee6d868abf00"
DEVICE="ens33"
ONBOOT="yes"

修改后:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="96ef33f8-eb1e-4585-afe1-ee6d868abf00"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.2.100
GATEWAY=192.168.2.2
DNS1=192.168.2.2

2.修改Linux的主机名

小结: 通过VIM编辑器打开 etc/hostname文件,然后就可以把自己期望的主机名称写进去就可以,但是想要生效,必须重启Linux。

3.关闭防火墙

为什么要关闭防火墙?

由于我们目前是学习阶段,建议把防火墙都关掉,目的为了避免将来开发中出现一些网络无法连接以及一些权限不够的情况。

1.用 systemctl 服务管理关闭防火墙

1. 基本语法(对服务进行整体操作)
systemctl  start | stop | restart | status    服务名
示例:查看防火墙服务的状态
systemctl status firewalld#关闭防火墙服务的开机自启状态
systemctl disable firewalld
#开启防火墙服务的开机自启状态
systemctl enable firewalld

2.service(在Centos6中主打) 服务管理和systemctl(在Centos7中主打)

service 所属服务的目录如下

​ – /etc/init.d 目录下保留service管理的服务

​ – netconsole

​ – network

systemctl所属服务的目录如下

​ – /usr/lib/systemd/system

​ – Linux 中所有的服务。

3.进程运行级别的拓展

六、远程登录

前言:在真实开发中,Linux往往都是充当真实服务器,一般情况下都会有专业人员(运维工程师)来直接接触,我们在操作的时候往往是在Windows下通过远程登录的方式来操作。固然就需要运行在Windows系统上的远程登录的软件工具了,市面上有很多这样的工具,例如:XShell、SSH Secure Shell、FinallShell ,这个没有固定的标准,根据自己的喜好来选择就行,本次课程中我们使用FinallShell 是一款用户体验不错的软件。

1.安装FinallShell

**傻瓜式下一步安装即可!**

2.远程连接Linux系统

1). 选择连接Linux系统

2). 输入Linux的用户名和密码连接

**3). 根据上一步,点击确定准备连接 **

4). 查看连接后的界面

OK!以后就在这里操作Linux系统了!

七、Linux的常用基本命令(重点)

概述: Linux中的最有魅力的就是命令,也是和Linux交互的一个重要的手段。

我们学习命令按照分门别类,这样效率就会提高。

1.帮助命令

man 命令
help 命令
注意:
man和help都属于帮助命令,但是二者是有区别的。help命令属于 shell的内置命令。
在Linux中所有的命令总的分为 内置命令和外置命令。当Linux系统启动的时候,就会内置命令加载到内存中以便使用,而外置命令则不会随着系统启动加载。本质上就是性能的差异,内置命令的效率要更高。在系统中通过 (type 命令)就可判断它是否是内置命令 。

2.文件目录相关的命令

1.查看当前所在目录

pwd

2.列出目录的内容

​ ls

​ ls -l

​ ls -al

​ ll

3.切换目录

​ cd 相对路径 / 绝对路径

注意 :只要cd后面 带/的都是绝对路径其他的就是相对路径

4.创建一个新的目录

mkdir 目录

​ mkdir -p 目录/目录

5.删除目录

– 删除一个空目录

​ rmdir 目录

– 删除一个非空目录

​ rm -rf 目录

6.创建文件

touch 文件

注意 :Linux中文件没有后缀名的概念

7.复制文件

cp 文件 目标路径

8.删除文件目录

rm -r 目录 -->递归删除,但是我们还得一步一步进行操作才能删除

rm -rf 目录 --> 强制递归删除,一步到位

  1. 移动文件

    mv 文件 移动到的目标目录

  2. 查看文件

    • cat 文件 (适合查看比较小的文件,因为它不会对内容进行分页显示)
    • more 文件 (适合查看大文件,它分屏显示)
    • less 文件 (适合查看大文件,它分屏显示,区别于more,它按需加载内容其次支持内容搜索)

11.echo – 在控制台输出内容

​ – 将输入的内容输出到控制台(没有太大意义)

​ – echo $PATH --输出当前用户下的系统环境变量内容

  1. head – 查看文件头部内容(默认显示10行,也可以加 -n 行数 来灵活控制)

  2. tail --查看文件尾部内容

    – tail 文件 (用的不多)

    – tail -f 文件 (一般用于查看动态日志)

  3. > 输出重定向 , >> 追加

    echo “aaaaa” > test.txt 覆盖添加内容

    echo “ccccc” >> test.txt 不覆盖追加内容

  4. ln 软链接

概述 : 类似Windows中的快捷方式,

语法演示:ln -s [原文件或目录] [软链接名]
ln -s /etc/sysconfig/network-scripts/ net_link
查看结果:发现软链接创建成功
访问软链接: cd net_link 结果就是和/etc/sysconfig/network-scripts/
注意:当cd net_link后发现 内容没问题,但是现实的当前路径是net_link,这是为什么,因为软链接自身会在Linux有独立的数据块,但是注意这个独立的数据块和真实的路径下的文件或者目录内容是共享的
操作软链接的坑

  1. 删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
  2. 在创建软连接的时候一定要自定软链接名称
    一旦采坑了解决方案
16. history 命令

查看所有执行过的命令的历史记录

3.时间日期类

4.用户管理类型的命令

概述: Linux中用户管理一般都专人来做,但是也不排除自己开发的时候会设计到一些基本操作。

要去了解Linux系统下几个文件。home目录 ,passwd 文件(存放用户的信息),shadow文件(存放的是用户的对应的加密后的密文),group文件(存放的是组的信息)。

1.useradd 创建用户

5.用户组的管理

6.文件权限类命令(精准掌握)

概述: Linux系统是电箱多用户的操作系统,不同的用户拥有不同的权限。为了保护系统的安全性,Linux对权限加以严谨的控制,下面就一起来掌握如何控制文件的权限。

1.Linux中文件的属性详解

注意: 如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示

(1)0首位表示类型

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

- 代表文件

d 代表目录

l 链接文档(link file)

(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User

(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group

(4)第7-9位确定其他用户拥有该文件的权限 —Other

1.2 rxw作用文件和目录的不同解释

(1)作用到文件:

[ r ]代表可读(read): 可以读取,查看

[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在

的目录有写权限,才能删除该文件.

[ x ]代表可执行(execute):可以被系统执行

(2)作用到目录:

[ r ]代表可读(read): 可以读取,ls查看目录内容

[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

[ x ]代表可执行(execute):可以进入该目录

**1.3 通过 ll 命令来查看 文件基本属性介绍如下图 **

(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法: ln [原文件] [目标文件]

ln test.txt ying.t

(2)如果查看的是文件夹:链接数指的是子文件夹个数。

2.chmod 改变权限

**注意:**我们操作改变权限从两个方面讲解,一是改变文件的权限,二是改变目录的权限,这个知识点有点绕,结合下面模拟的场景去理解效果更好!

一:改变文件的权限

第一步:用root用户登录进入到 /home目录下创建一个文件 touch test 。 由于root是Linux的超级用户,那么对创建的文件具有读写的权限,于是乎可以往里面写点内容。

第二步:创建一个用户 zhangsan ,让这个用户用自己默认的组。然后再FinallShell中打开一个新的窗口,并且切换当前用户为zhangsan。进入到/home目录下,此时观察zhangsan用户对 test文件的权限,发现只有读(r)的权限。

第三部:点开root用户的窗口,利用命令 chmod o+w test 修改test文件的权限为其他用户可写。

第四部:回到zhangsan登录的窗口重新查看/home目录发现已经有了对test文件写的权限了,打开文件编辑发现可以了。

**小结:**以上操作就是将一个文件的权限针对其他用户的改变,从没有写权限改为有写权限,但是带没完事,因为还有一个组的概念。请看下面操作!

第五步:创建一个用户lisi, 并且指定lisi所属组为root组 useradd -g root lisi 。

第六步:再打开一个新的FinallShell窗口,并切换成lisi用户,进入到/home目录下,查看组的权限对test文件没有写的权限,进而试一下 发现确实不能编辑。

第七步:回到root登录窗口对test文件的组权限进行修改 chmod g+w test

第八步:回到lisi登录的窗口再次查看test文件发现组的权限有了写权限,试一下,果然可以编辑了

小结: 后四步操作展示的就是文件权限针对组权限的改变,此处由于用户和组都存在权限的限制,有可能混淆,那么就记住这样一个原则:

看权限如何看:
我是谁(当前登录用户)
我要操作谁(目录或者是文件)
我要操作的目录或者是文件属于谁(目录或文件的所属主)
我要操作的目录或者是文件属于哪个组
明确我是当前文件或者是目录的所属主或者所属组再或者其他

二:改变目录的权限

第一步:在root用户下准备三个普通用户分别是a,b,c 。然后指定 a 用户所属a组,b用户所属b组,c用户所属b组。分别执行以下命令:

  1. useradd a
  2. useradd b
  3. useradd -g b c

第二步:分别准备两个新的的窗口切换用户a和用户c登录

第三步:在a用户登录的窗口进入/home目录下对b文件夹分别进行 读(ls)写(mkdir) 执行(cd) 操作,发现权限都不够!

第四部:回到root用户窗口修改权限,由于a用户和b用户是不同组那么就就关注权限的后三位

chmod o=rwx b

第五步:回到用户a的登录窗口再次进行对b文件夹的读(ls)写(mkdir) 执行(cd) 操作,发现有权限!

第六步:在c用户登录的窗口进入到/home目录下对b文件夹分别进行 读(ls)写(mkdir) 执行(cd) 操作,发现权限都不够!

第七步:回到root用户窗口修改权限,由于c用户和b用户是同组那么就就关注权限的中间三位

chmod g=rwx b

第八步:回到用户c的登录窗口再次进行对b文件夹的读(ls)写(mkdir) 执行(cd) 操作,发现有权限!

3.利用数字表示权限

对应规则:把我们的 u,g,o 分为三个组,其中u中的 rwx 权限对应421,这样就可以用数字表示u的rwx权限了。

例如:0表示 — 没有权限

​ 1表示 --x 只有执行权限

​ 2表示 -w- 只有写的权限

​ 3表示 -wx 有写和执行的权限

​ 4表示 r-- 只有读的权限

​ 5表示 r-x 有读和执行的权限

​ 6表示 rw- 有读写权限

​ 7表示 rwx 有读写执行的权限

综上所述:如果想表达有总的权限,666=rw- rw- rw- 777=rwx rwx rwx

4.sudo 设置普通用户具有root权限

添加atguigu用户,并对其设置密码。

[root@hadoop101 ~]#useradd atguigu
[root@hadoop101 ~]#passwd atguigu

修改配置文件

[root@hadoop101 ~]#vi /etc/sudoers
##修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
atguigu   ALL=(ALL)     ALL
##或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root      ALL=(ALL)     ALL
atguigu   ALL=(ALL)     NOPASSWD:ALL
##修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行操作。

案例实操:

(1)用普通用户在/opt目录下创建一个文件夹
[atguigu@hadoop101 opt]$ sudo mkdir module

总结: 让普通用户拥有root权限大概分为两步操作,第一步就是修改/etc/sudoers 文件,配置指定普通用户的拥有root权限。配置完后重新连接一下,配置文件就生效了。第二部在操作的时候加上 sudo命令就相当于临时获取root权限可以为所欲为。

5.usermod 修改用户

基本语法:

usermod -g 用户组 用户名

选项说明:

案例实操:

(1)将用户加入到用户组
[root@hadoop101 opt]#usermod -g root zhubajie

6.chown 改变所有者

概述: 在Linux中文件和目录的所属用户(主)和所属组都是可以改变的,下面我们就试一下。

1.修改目录或文件的所属用户(主)

chown zhangsan(用户名称) test(文件)

chown zhangsan(用户名称) abc(目录)

注意:修改所属组的时候也可以加上 -R 加上之后代表递归,就是当前abc目下的所有目录都属于zhangsan这个用户了

2.修改目录或文件的所属用户(主),原理和上面一样,只是命令不一样

chgrp zhangsan(组名称) test(文件)

chgrp zhangsan(组名称) abc(目录)

3.直接利用 chown 命令完成所属用户和所属组的同时修改

chown zhangsan:zhangsan bcd

7.搜索查找类命令

在Linux中如果需要查找目录或者文件可以使用一下三种命令来实现。重点学习locate和grep。

一、 find 查找文件或者目录

概述: find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

用法演示:find [搜索范围] [选项] [匹配内容]

find test 当前目录中查找

find / -name test.txt 根据名字查找

find / -user zhangsan 根据名字查找

find / -size +512c 根据文件大小查找

​ 单位:

b —— 块(512字节)

c —— 字节

w —— 字(2字节)

k —— 千字节

M —— 兆字节

G —— 吉字节

二、locate快速定位文件路径

**概述:**locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

用法演示:locate 搜索的文件名称

注意2个事项:

  1. 当新建的文件不能立刻用locate进行搜索,因为新建的问价不会建立索引,必须执行一下 updatedb才可以用。
  2. 在tmp文件下的文件无法用locate 进行搜索,因为tmp文件夹下的文件Linux不会对其建立索引

三、grep 过滤查找及“|”管道符

**概述:**管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

用法演示1: grep 选项 查找内容 源文件 (grep单独使用)

grep -n tomcat catalina.properties --> 在catalina.properties文件中查找tomcat并且显示行号

用法演示2: ls /etc/sysconfig/network-scripts/ | grep 33 --> 这个用法很常用熟练掌握

8.压缩和解压类命令

本章节主要讲Linux系统中如何打压缩包和解压缩包。分为3种命令来实现,重点掌握最后一种。

一、gzip/gunzip 压缩/解压缩

用法演示: gzip 文件 (功能描述:压缩文件,只能将文件压缩为.gz文件)*

gunzip 文件.gz (功能描述:解压缩文件命令)

**注意:**使用gzip的时候打完包会把源文件删掉,而且不能将多个文件打到一个包里,而且不能打包目录所以不推荐使用。

二、zip/unzip 压缩/解压缩

用法演示: zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)

​ unzip [选项] XXX.zip (功能描述:解压缩文件)

​ 选项: zip压缩的时候加 -r 可以实现递归压缩

​ unzip -d 可以指定解压缩的目录

**压缩:**zip -r my.zip wangwu catalina.properties xiaoaojianghu.txt

**解压缩:**unzip -d zhaocq my.zip

三、tar 打包/解包

**用法演示:**tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

打包: tar -zcvf my.gz.tar catalina.properties xiaoaojianghu.txt

解包: tar -zxvf my.gz.tar -C wangwu

9.磁盘分区类命令

本章节主要了解磁盘以及分区的使用情况的查看,另外也体验一下Linux中进行挂载设备和卸载设备的操作

一、df 查看磁盘空间使用情况

**语法演示:**df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)

df -h

二、fdisk 查看分区

语法演示: fdisk -l (功能描述:查看磁盘分区详情)

三、 lsblk 查看设备挂载情况

语法演示: lsblk -f

四、mount/umount 挂载/卸载

挂载演示: mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)

mkdir /mnt/cdrom/ 建立挂载点

mount -t iso9660 /dev/cdrom /mnt/cdrom/ 设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中

lsblk -f 查看挂载情况

**卸载演示:**umount /mnt/cdrom

10.进程线程类命令

*本章节主要讲解在Linux中怎么利用命令操作进程

一、ps 查看当前系统进程状态

语法演示1: ps -aux 查看所有进程

语法演示2: ps -aux | grep xxx(进程名称) 查看所有进程(这种常用)

**语法演示3:**ps -ef | grep xxx(进程名称) 可以查看子父进程之间的关系




二、 kill 终止进程

语法演示: kill [选项] 进程号 通过进程号杀死进程

kill -9 进程号 (强杀!)

三、 pstree 查看进程树

语法演示: pstree [选项]

案例实操:

(1)显示进程pid

[root@hadoop101 datas]# pstree -p

(2)显示进程所属用户

[root@hadoop101 datas]# pstree -u

四、top 查看系统健康状态

语法演示: top [选项]

案例实操:

[root@hadoop101 atguigu]# top -d 1

[root@hadoop101 atguigu]# top -i

[root@hadoop101 atguigu]# top -p 2575

执行上述命令后,可以按P、M、N对查询出的进程结果进行排序

五、netstat 显示网络统计信息和端口占用情况

基本语法: netstat
netstat-anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat-nlp | grep 进程号 (功能描述:查看网络端口号占用情况)

案例实操:

(1)通过进程号查看该进程的网络信息

[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号
unix 2 [ ACC ] STREAM LISTENING 20670 3115/firefox /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix 3 [ ] STREAM CONNECTED 20673 3115/firefox /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix 3 [ ] STREAM CONNECTED 20668 3115/firefox
unix 3 [ ] STREAM CONNECTED 20666 3115/firefox

(2) 查看某端口号是否被占用

[root@hadoop101 桌面]# netstat -nlp | grep 20670
unix 2 [ ACC ] STREAM LISTENING 20670 3115/firefox /tmp/orbit-root/linc-c2b-0-5734667cbe29

11.crontab 系统定时任务

一、crontab 服务管理

重新启动crontab 服务
[root@hadoop101 ~]# systemctl restart crond

二、crontab 定时任务设置

基本语法: crontab [选项]

3.参数说明
[root@hadoop101 ~]# crontab -e
进入crontab编辑界面。会打开vim编辑你的工作。

  • 执行的任务

特殊符号

特定时间执行命令

案例实操
每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt

八、软件包管理

1、RPM

一、概述

RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe
是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

二、RPM查询命令

基本语法
rpm -qa (功能描述:查询所安装的所有rpm软件包)

经验技巧
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

案例实操
查询firefox软件安装情况
[root@hadoop101 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64

三、RPM卸载命令

基本语法
(1)rpm -e RPM软件包
(2) rpm -e --nodeps 软件包

案例实操
卸载firefox软件
[root@hadoop101 Packages]# rpm -e firefox

四、 RPM安装命令

基本语法
rpm -ivh RPM包全名

案例实操
安装firefox软件
[root@hadoop101 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing… ########################################### [100%]
1:firefox ########################################### [100%]

2、YUM仓库配置

一、概述

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

二、YUM的常用命令

基本语法
yum [选项] [参数]

选项

参数

案例实操
采用yum方式安装firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64

三、修改网络YUM源

默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163,aliyun等

  1. 安装wget, wget用来从指定的URL下载文件
    [root@hadoop101 ~] yum install wget
  1. 在/etc/yum.repos.d/目录下,备份默认的repos文件,
    [root@hadoop101 yum.repos.d] pwd
    /etc/yum.repos.d
    [root@hadoop101 yum.repos.d] cp CentOS-Base.repo CentOS-Base
    .repo.backup
  1. 下载网易163或者是aliyun的repos文件,任选其一,如图8-2
    [root@hadoop101 yum.repos.d] wget
    http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
    [root@hadoop101 yum.repos.d] wget
    http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易163

  1. 使用下载好的repos文件替换默认的repos文件
    例如:用CentOS7-Base-163.repo替换CentOS-Base.repo
    [root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
  1. 清理旧缓存数据,缓存新数据
    [root@hadoop101 yum.repos.d]#yum clean all
    [root@hadoop101 yum.repos.d]#yum makecache
    yum makecache就是把服务器的包信息下载到本地电脑缓存起来
  1. 测试
    [root@hadoop101 yum.repos.d]# yum list | grep firefox
    [root@hadoop101 ~]#yum -y install firefox.x86_64

大数据技术学习之Linux学习相关推荐

  1. 大数据技术导论|datawhale组队学习

    学习链接:https://datawhalechina.github.io/juicy-bigdata/#/README Task01阅读第一.二章 第一章 主要介绍了大数据的概念.应用以及其关键技术 ...

  2. 关于大数据技术原理与应用的学习(1)

    学习目标: 大数据技术原理与应用 学习内容: 大数据概述 1.1大数据时代 1.2大数据的概念和影响 1.3大数据的应用 1.4大数据的关键技术 1.5大数据与云计算.物联网的关系 学习时间: 202 ...

  3. 关于大数据技术原理与应用的学习(3)

    学习目标: 大数据技术原理与应用 学习内容: 分布式文件系统HDFS 3.1HDFS简介 3.2HDFS相关概念 3.3HTFS体系结构 3.4HTFS存储元原理 3.5HDFS数据读写 3.6HDF ...

  4. 关于大数据技术原理与应用的学习(6)

    学习目标: 大数据技术原理与应用 学习内容: 6云数据库 6.1概述 6.2产品 6.3UMP系统 6.4Amazon云数据库 6.5微软云数据库SQL Azure 学习时间: 2022/03/31 ...

  5. 关于大数据技术原理与应用的学习(4)

    学习目标: 大数据技术原理与应用 学习内容: 分布式数据库HBase 4.1HBase简介 4.2HBase数据模型 4.3HBase实现原理 4.4HBase运行机制 4.5HBase应用方案 4. ...

  6. 关于大数据技术原理与应用的学习(5)

    学习目标: 大数据技术原理与应用 学习内容: 5.NoSQL数据库 例如: 5.1NoSQL数据库 5.2与关系数据库的比较 5.3四大类型 5.4理论基石 5.5从NoSQL到NewSQL 5.6文 ...

  7. 大数据技术介绍:01大数据概述

    大数据技术介绍:01大数据概述 大数据技术框架: Hadoop生态系统(1) Hadoop生态系统(2) Hadoop构成:Flume(非结构化数据收集): Cloudera开源的日志收集系统 用于非 ...

  8. 大数据技术基础实验三:HDFS实验——部署HDFS

    大数据技术基础实验三:HDFS实验--部署HDFS 文章目录 大数据技术基础实验三:HDFS实验--部署HDFS 一.前言 二.实验要求 三.实验原理 1.什么是HDFS? 2.HDFS的体系结构 3 ...

  9. 大数据技术学习路线,有信心能坚持学习的朋友,从现在开始吧

    如果你看完有信心能坚持学习的话,那就当下开始行动吧! 推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分 ...

最新文章

  1. R语言KMeans聚类分析确定最优聚类簇数实战:期望最大化expectation-maximization准则(确定最优聚类簇数)
  2. 广西农产品(广州)交易会 农业大健康·林裕豪:签约农商对接
  3. python使用函数的目的_python之函数基本使用
  4. vhd 镜像 备份Linux,差分VHD 系统秒备份、秒还原教程 完胜GHOST
  5. 7-37 组个最小数 (20分)_波音737高度计上蹊跷的“8英尺”,09年土耳其航空1951号航班空难...
  6. 11张图步步演进:你一定能看懂的【分布式系统】容错架构设计!
  7. JAVA 创建学生类
  8. python连接mysql_Python连接MYSQL数据库
  9. Python数据类型(元组、列表、字符串、字典)
  10. 兵器类专业学c语言吗,第四轮学科评估C类学科如何?学姐:重点大学,热门专业放心读...
  11. 转载 - LINUX下查看CPU使用率的命令
  12. 对象间相互调用时互相控制的几种方法
  13. ArrayList源码剖析
  14. 商品cta策略_【钜阵CTA策略私募月报】​商品市场大幅上涨 CTA策略表现优异
  15. Linux下wps文档结构图,如何在Word中设置文档结构图
  16. 实对称矩阵的特征值求法_对称矩阵、对角矩阵与三角矩阵
  17. 百度大脑5.0实现史上最大升级,发布远场语音交互芯片“鸿鹄”
  18. 靡不有初,鲜克有终——写在VNote半周岁
  19. JavaScript lambda 表达式介绍
  20. 【笔记 - linux基础入门 01】基本概念及操作

热门文章

  1. linux 系统调用详解
  2. 健身房管理系统八大标准——健身房老板必看
  3. location.href不跳转、不执行的最有效的解决办法!
  4. 留学生福利!超好用免费英文论文润色软件Wordvice AI上线啦
  5. 强化学习 解方程 鸡兔同笼
  6. python计算消费总额_Python在校园数据分析中的应用——以一卡通消费为例
  7. 博客园2009电子期刊改版建议
  8. 网上的一些vim指令
  9. 二叉树层序遍历分层[递归迭代两种思想+三种解法]
  10. 惠普道歉被指避重就轻