大数据技术之Linux基础(一)

1、Linux入门概述
    1.1 概述
        Linux内核最初只是由芬兰人林纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于我的爱好而编写的。
        Linux是一套无偿使用和自由传播的类Unix操做系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操做系统,是一种流行的开源操做系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操做系统。目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。linux

        Linux主要有四个部分:shell

       (1)内核:底层操做体系;数据库

       (2)系统提供的程序;windows

       (3)shell:用于输入命令,执行命令,显示结果的用户界面;centos

       (4)X:图形系统。
        
    1.2 下载地址
        centos下载地址:
网易镜像:http://mirrors.163.com/centos/6/isos/
搜狐镜像:http://mirrors.sohu.com/centos/6/isos/
    1.3 Linux特色
        Linux里面一切皆是文件。 Linux里面没有后缀名的说法。
    1.4 Linux和Windows区别
        目前国内Linux更多的是应用与服务器上,而桌面操做系统更多使用的是window。主要区别以下图:
        安全

2、VM安装相关
    2.1 安装VMWare虚拟机
    2.2 安装CentOS    
    2.3 安装VMTools工具
    2.4 虚拟机屏幕保护设置服务器


        屏幕保护设置1.png网络


        屏幕保护设置2.png多线程

 

3、Linux目录结构
    3.1 概览
       ssh


    3.2 树状目录结构
        
        /bin:是Binary的缩写,这个目录存放着系统必备执行命令
        /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件,本身的安装别放这里
        /dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
        /etc:全部的系统管理所须要的配置文件和子目录。
        /home:存放普通用户的主目录,在Linux中每一个用户都有一个本身的目录,通常该目录名是以用户的帐号命名的。
        /lib:系统开机所须要最基本的动态链接共享库,其做用相似于Windows里的DLL文件。几乎全部的应用程序都须要用到这些共享库。
        /lost+found:这个目录通常状况下是空的,当系统非法关机后,这里就存放了一些文件。
        /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
        /misc: 该目录能够用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录能够存放在该目录下。
        /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,咱们能够将光驱挂载在/mnt/上,而后进入该目录就能够查看光驱里的内容了。
        /net  存放着和网络相关的一些文件.
        /opt:这是给主机额外安装软件所摆放的目录。好比你安装一个ORACLE数据库则就能够放到这个目录下。默认是空的。
        /proc:这个目录是一个虚拟的目录,它是系统内存的映射,咱们能够经过直接访问这个目录来获取系统信息。
        /root:该目录为系统管理员,也称做超级权限者的用户主目录。
        /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
        /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,相似于windows的防火墙
        /srv:service缩写,该目录存放一些服务启动以后须要提取的数据。
        /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
        /tmp:这个目录是用来存放一些临时文件的。
        /usr: 这是一个很是重要的目录,用户的不少应用程序和文件都放在这个目录下,相似与windows下的program files目录。
        /var:这个目录中存放着在不断扩充着的东西,咱们习惯将那些常常被修改的目录放在这个目录下。包括各类日志文件。

4、系统管理操做
    4.1 查看网络IP和网关
        1)查看虚拟网络编辑器
           
        2)修改ip地址
            
        3)查看网关
            
    4.2 配置网络ip地址
        
    4.3 配置主机名
        
    4.4 防火墙
        查看防火墙状态
            service iptables status
        临时关闭防火墙
            service iptables stop
        查看防火墙开机启动状态
            chkconfig iptables --list
        关闭防火墙开机启动
            chkconfig iptables off
        开启防火墙开机启动
            chkconfig iptables on
    4.5 关机重启
        1)基本语法
            (1)sync  (功能描述:将数据由内存同步到硬盘中)
            (2)shutdown [选项] 时间    
                选项:
                -h:关机
                -r:重启
            (3)halt     (功能描述:关闭系统,等同于shutdown –h now 和 poweroff)
            (4)reboot     (功能描述:就是重启,等同于 shutdown –r now)
        2)案例
            (1)将数据由内存同步到硬盘中
            (2)计算机将在10分钟后关机,而且会显示在登陆用户的当前屏幕中
            (3)立马关机
            (4)系统立马重启
            (5)重启(等同于 shutdown –r now)
            (6)关机(等同于shutdown –h now 和 poweroff)
        注意:不论是重启系统仍是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。
    4.6 找回root密码
        

5、远程登陆

Linux通常做为服务器使用,而服务器通常放在机房,你不可能在机房操做你的Linux服务器。这时咱们就须要远程登陆到Linux服务器来管理维护系统。Linux系统中是经过SSH服务实现的远程登陆功能,默认ssh服务端口号为 22。Window系统上 Linux 远程登陆客户端有SecureCRT, Putty, SSH Secure Shell,XShell等。

6、用户和用户组管理命令
    6.1 用户管理命令
        6.1.1 useradd 添加新用户
            1)基本语法
                useradd 用户名    (功能描述:添加新用户)
            2)案例:[root@hadoop101 opt]# user zjl
        6.1.2 passwd 设置用户密码
            1)基本语法:
                passwd 用户名    (功能描述:设置用户密码)
            2)案例:[root@hadoop101 opt]# passwd zjl
        6.1.3 id 判断用户是否存在
            1)基本语法:
                id 用户名
            2)案例:[root@hadoop101 opt]#id zjl
        6.1.4 su 切换用户
            1)基本语法:
                su 用户名称     (功能描述:切换用户)
            2)案例:[root@hadoop101 opt]#su zjl
        6.1.5 userdel 删除用户
            1)基本语法:
                (1)userdel  用户名        (功能描述:删除用户但保存用户主目录)
                (2)userdel -r 用户名    (功能描述:用户和用户主目录,都删除)
            2)案例:
                (1)删除用户但保存用户主目录: [root@hadoop101 opt]#userdel zjl
                (2)用户和用户主目录,都删除:[root@hadoop101 opt]#userdel –r zjl
        6.1.6 who 查看登陆用户信息
            1)基本语法
                (1)whoami        (功能描述:显示自身用户名称)
                (2)who am i        (功能描述:显示登陆用户的用户名)
                (3)who            (功能描述:看当前有哪些用户登陆到了本台机器上)
            2)案例
                (1)显示自身用户名称:[root@hadoop101 opt]# whoami
                (2)显示登陆用户的用户名:[root@hadoop101 opt]# who am i
                (3)看当前有哪些用户登陆到了本台机器上:[root@hadoop101 opt]# who
        6.1.7 设置zjl普通用户具备root权限
            1)修改配置文件:

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,以下所示:
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)     ALL
    zjl   ALL=(ALL)     ALL
修改完毕,如今能够用zjl账号登陆,而后用命令 su - ,便可得到root权限进行操做。


            2)案例:

[zjl@hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown zjl:zjl module/


        6.1.8 usermod修改用户
            1)基本语法:
                usermod -g 用户组 用户名
            2)案例:
                将用户zjl加入dev用户组  [root@hadoop101 opt]#usermod –g dev zjl
    6.2 用户组管理命令
        6.2.1 groupadd 新增组
            1)基本语法
                groupadd 组名
            2)案例:
                添加一个zjl组   [root@hadoop101 opt]#groupadd zjl
        6.2.2 groupdel删除组
            1)基本语法:
                groupdel 组名  [root@hadoop101 opt]# groupdel zjl
            2)案例
        6.2.3 groupmod修改组
            1)基本语法:
                groupmod -n 新组名 老组名
            2)案例
                修改zjl组名称为zjl1   [root@hadoop101 zjl]# groupmod –n jzl1 zjl
        6.2.4 综合案例

[root@hadoop101 zjl]# groupadd dev
[root@hadoop101 zjl]# groupmod -n device dev
[root@hadoop101 zjl]# usermod -g device zjl
[root@hadoop101 zjl]# su zjl
[zjl@hadoop101 ~]$ mkdir zjl
[zjl@hadoop101 ~]$ ls -l
drwxr-xr-x. 2 zjl device  4096 5月  27 16:31 zjl
[root@hadoop101 zjl]# usermod -g zjl zjl