大数据学习第三天 Linux完结篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cpp1997/article/details/85344896

今天,是学习Linux的第三天了,也是最后一天。

重要的内容不少,所以不能掉以轻心哦。

好了,废话不多说,进入正题。

1. 系统服务的基本操作

1.chkconfig

列出当前系统的常驻服务

2.service 服务名 start/stop/status/restart

对指定的服务进行相关操作

常用的有:service iptables status  #查看防火墙的状态

3.chkconfig iptables off/on 

永久的关闭或启动 在系统重启后生效

4.添加系统服务

首先要自己建立一个脚本(要修改脚本的权限 让它能够可执行) 然后添加到/etc/init.d的目录下

说明:/etc/init.d目录包含许多系统各种服务的启动和停止脚本

然后通过chkconfig --add xxxx.sh命令添加 reboot一下就ok了。

5.删除服务

chkconfig --del name

6.服务初执行等级更改

chkconfig --level 2345 服务名 off|on

2.定时任务调度

我们可以通过crontab -e打开crontab的定时配置文件

然后在里面编辑定时任务

格式:

    minute - 从0到59的整数

    hour - 从0到23的整数

    day - 从1到31的整数 (必须是指定月份的有效日期)

    month - 从1到12的整数 (或如Jan或Feb简写的月份)

    dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

    command - 需要执行的命令

例如 * * * * * echo "hello" 表示每分钟执行一次 echo “hello”命令

 然后我们可以去/var/spool/mail/root文件里查看root用户定时任务的执行情况

 /var/spool/mail 目录下放各用户定时任务,执行后的信息

/var/spool/cron 目录存放每个用户的定时任务

 contab –l 可以直接查看当前用户的定时任务

下面几个符号需要知道它们的含义

         “*”任意的数字,
         “/”代表”每隔多久”,
         “-”代表从某个数字到某个数字,
         “,”分开几个离散的数字

30-40 12 * * * echo “hello”

每天12点30分至40分期间,每分钟执行一次 命令

30,40 12 * * * echo “hello”

每天12点30分和12点40分时执行一次命令。

0/5 12 * * * echo “hello”

每天的12点整至12点55分期间,每隔5分钟执行一次命令。

3.linux安全 

防火墙:

我们只需要知道关闭和开启即可  上文有相应的说明

selinux:

根据需要改变其模式  不做过多赘述  了解即可 

•enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;

•permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制。这种模式可以运来作为 SELinux 的 debug 之用;
•disabled:关闭,SELinux 并没有实际运作

查看SELinux状态:

sestatus -v      ##如果SELinux status参数为enabled即为开启状态

关闭SELinux:

临时关闭(不用重启机器):

setenforce 0                   设置SELinux 成为permissive模式

#setenforce 1                 设置SELinux 成为enforcing模式

修改配置文件需要重启机器:

修改/etc/selinux/config 文件,将selinux关闭掉。

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

4.Linux的进程操作(常用)

查看进程:ps  -aux

                  -a 列出所有

                  -u 列出用户

                  -x 详细列出,如cpu、内存等

                  -e 显示所有进程

                  -f 全格式

常用: ps  - ef  |  grep 进程名

性能分析:

               top命令   能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析

后台进程:

               若想一个程序放在后台运行,只要在命令后面加 &符号

               jobs –l 列出当前连接的所有后台进程

               也可以用 ps -ef | grep 后台进程来查看

               后台进程有时运行一段时间后,系统会自动把该进程挂起来,导致进程无法正常运行。

               故后台经常一般和nohup命令结合使用,告诉系统不要把该进程挂起,这样子该命令就可以24*7小时不间断的运行了。

杀死进程:kill 进程id 或者 kill -9 进程id #强制杀死  进程id可以通过ps -ef | grep 进程名 的命令来查看

5.yum wget rpm tar zip 命令的使用 

5.1 yum

这个命令在前面的学习已经多次使用

yum -y install 服务名

这里说一下yum源的更换

yum源,简单来说就是我们下载资源的站点位置 默认是国外的站点

为了下载的便捷快速 我们可以将其变更为国内提供的镜像源 这里我们使用阿里提供的镜像源

第一步:备份我们的原镜像文件 以免出错后我们可以将其恢复

              cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

第二步:下载新的CentOS-Base.rep到/etc/yum.repos.d/

               wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

第三步:运行yum makecache生成缓存

换源搞定!

5.2 wget

wget 是一个从网络上自动下载文件的自由工具,

支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理

需先安装 yum install wget  –y

wget用法:wget [option] 网址  -O  指定下载保存的路径

5.3 rpm

RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净 

  安装rpm包

                   rpm -ivh rpm包名  #其中i表示安装,v表示显示安装过程,h表示显示进度

  查看rpm安装的软件

                  rpm -q name

  卸载rpm安装的软件

                  rpm –e  软件全名

5.4 tar

   解压命令:tar  -zxvf  xxxx.tar.gz

   压缩命令:tar -zcf 压缩包命名 压缩目标

   参数说明:

       -z    gzip进行解压或压缩,带.gz需要加,压缩出来.gz也需要加

       -x   解压

       -c   压缩

       -f    目标文件,压缩文件新命名或解压文件名

       -v   解压缩过程信息打印 

5.5 zip  

  压缩命令:zip -r 包名 目标目录

  需先安装zip:yum install zip –y

  解压 unzip filename

  需先安装unzip,yum install unzip –y

 6. JDK的布署和安装 

  首先,准备一个jdk7的rpm包  

  下载地址:https://www.oracle.com/technetwork/cn/java/archive-139210-zhs.html          

  然后拷贝至Linux下,目录自定义。 

下面通过rpm来安装我们的jdk

安装完成之后我们验证一下是否安装成功

然后瞅一眼我们的jdk的安装路径 这对我们配置环境变量是必要的 一般是默认安装在/usr/ 目录下

 

进入到jdk的安装路径并获得获得jdk的安装目录

 然后我们配置一下Java的环境变量

配置完成之后 source ~/.bash_profile 一下 使其配置生效 

最后输出一下 看是否配置成功

 

这样,我们的jdk算是安装成功了...

注意:环境变量千万别写错!!! 

7. SSH免密登录

为了方便机器之间的互相访问 我们可以为其配置SSH免密登录

原理其实很简单

假设现在有两台机器 node01和node02

node01想要免密码登录到node02 只需要将node01的身份信息注册到node02的认证系统中

这个身份信息就是我们所说的公钥

反之亦然。

下面我们来实际操作一下

第一步 形成自己的公钥和私钥

ssh-keygen  -t  rsa  -P  ' '  -f  ~/.ssh/id_rsa

第二步 将生成的公钥注册到本服务器

cat ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized_keys

第三步 将node01的公钥发给node02

scp -r id_rsa.pub node02:/opt/

第四步 在node02上 将node01的公钥注册到本服务器

cat  /opt/id_rsa.pub  >>  ~/.ssh/authorized_keys

注:Ubuntu开启SSH登录:https://blog.csdn.net/asukaztc/article/details/80027945

       Ubuntu 免密登录:https://www.cnblogs.com/huxinga/p/6418790.html

8. yum安装mysql

安装mysql 

yum -y install mysql-server mysql-devel

 启动mysql服务

 service mysqld start

 

设置用户名 密码

mysqladmin -u root password 123456

 

然后修改host 使其能被其它主机连接

检查一下防火墙的状态 如果是开启 需要将其关闭

最后,我们在navicat中验证一下

 

 OK ,连接成功了...

注:登录mysql时如果遇到

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

我们可以试着重启mysql的服务

重启大法真的好用

Linux的学习到这里告一段落了

以后继续加油努力!

猜你喜欢

转载自blog.csdn.net/cpp1997/article/details/85344896