Linux基础指令(详解版)

更新时间:2020-01-09 10:19:43 点击次数:1227次
Linux介绍:

  特点: 开源、免费、自由使用;多用户、多线程、多任务、多CPU。

  组成:Linux = 内核 + shell + 文件系统 + 应用程序

  应用:服务器、手机操作系统......

  分支:Redhat、debain......

  安装:VMware、centOS6.4

           基本环境配置(root)

1.修改主机名

         查看:hostname

        修改:

                临时修改:hostname    bigdata-training01.huadian.com

                永久修改:

                              (1).vi    /etc/sysconfig/network

                              (2).按下键盘“i”进入编辑模式

                              (3).修改主机名 bigdata-training01.huadian.com

                              (4)."ESC" -> ":" + "wq" + 回车

2.配置网络

        VMware子网络改成192.168.59.0

        ip: 192.168.59.150

        网关:192.168.59.2

        子网掩码:255.255.255.0

        方式:

                (1).UI界面

                (2).vi    /etc/sysconfig/network-scripts/ifcfg-eth0    网卡

                    service    network    restart    重启服务

        3.查看网络命令:

                ifconfig     Linux中查看ip

ping 看是否能够将网络连接

3.网络映射(内部局域网)

          vi    /etc/hosts

          halt:关机,reboot:重启

          额外:    windows    hosts    文件修改

        c:\windows\System32\drivers\etc\hosts

        追加:  192.168.59.150    bigdata-training01.huadian.com

4.Linux远程工具

  1.securtCRT

            快捷键:支持远程文件和命令行编辑

            复制:鼠标滚轮

            粘贴:鼠标右键

 2.notepad++:支持远程编辑的    文本编辑器

 3.Xmanager

            xshell:远程命令行

            xftp:远程文件传出工具

            xbrowser:远程桌面

5.相对路径和绝对路径

        绝对路径:从最底层的根目录(/)开始访问

        相对路径:相对于指由这个文件所在路径引起的跟其他文件(或文件夹)的路径关系。

Linux常见命令

通用格式:

        命令    选项(参数)    [操作的文件或者目录]

          ls           -a                        /



         (1).ls : list    列举一个目录下的文件

                    -l : length:  长格式方式查看    ll ==(ls    -l)



                   -a:    列举包含隐藏文件

          (2).cd: chang    dir    修改对当前所在格式

          (3).pwd:print    work    director打印当前目录,从根目录开始算起


          (4).clear:    清屏   ==    ctrl    +    l

          (5).history:    查看命令历史记录


文件管理

 1.创建(touch)

              文件:touch    filename

                      注意:如果是多个文件,文件名之间用空格隔开

                     touch "hello world" 一个文件名中间出现空格时,需要双用引号引起来


           文件夹:mkdir    dirName

                -p:    递归

               eg:    mkdir    /a/b/c,如果b不存在,先创建b目录,以此类推:mkdir    c       

2.删除(remove)

          rm:    -r:    删除目录(递归目录)            -f:    免确认


           rmdir:    只能删除空目录

       注意:    Linux中,如果出现backspace无法删除,先按下ctrl    +    backspace

3. 编辑(vi/vim)

          复制:cp    ==    copy

                  cp    source_file    targe_file


4.移动:(重命名) mv == move

                mv    source_file    targe_file


5.查看

         cat :    直接查看文件所有内容



        more:    分页查看



        less:    分页查看(可以向上查看,按键盘上下键)



        head:    查看文件头部的内容,默认显示10行



                -num:查看多行

                eg:    head    -20    filename    查看filename文件的前20行

       tail:    查看文件尾部的内容,默认显示10行



           -n: 查看多行



            -F:动态查看:不同界面取操纵时,这边会随时变化



打印

echo “huadian” 打印在控制台



echo “huadian”> bb.text 覆盖



echo “huadian” >> bb.text 追加



7.常见的符号命令:

                .    :    表示当前目录

               ..    :    表示上一级目录

              ~    :    表示家目录

             >    :    覆盖重写某个文件

             >>:    追加到某个文件

             |    :    管道符,一般与grep连用

8.常见的工具命令

    help:帮助命令



        wc:文件统计    wordcount

                        wc    cc.txt

                          2          2         23         cc.txt

                     行数      单词      字符        文件名

                    -l            -w        -c



    du:    文件大小统计

            -h:人性化的显示单位



visudo: 编辑sudo命令

            需求:我希望huadian用户拥有特殊权限(查看防火墙状态)

            huadian    ALL=(ALL)    /sbin/service    iptables    status

            huadian    ALL=(ALL)    /sbin/service    iptables    stop

     直接配置成拥有root的所有权限

          推荐配置用法

            huadian                ALL=(root)                                NOPASSWD:ALL

           用户名        登录主机=(以什么样的身份执行)            执行什么样的命令


该用户怎么去使用额外配置给他的权限

        sudo    service    iptables    status



9.虚拟机图形化界面

cat    /etc/inittab    关于虚拟机图形化界面的查看



vi    /etc/inittab      关于图形化界面的设置



Linux用户和权限管理

     管理员用户

                  只有一个:UID=0的用户就是管理员用户,一般情况下,默认它的用户就是root

                  家目录:/root

                   root        :x        :0        :0        :root    :/root    :/bin/bash

                   用户名    密码    uid      gid        组名    家目录    所用的shell

    普通用户

                自己创建的新用户,默认UID从500开始

                家目录:/home/${username}

                huadian:x:500:500:huadian:/home/huadian:/bin/bash

    创建用户

            gId和uId一样

            gName和uName一样


    查看用户



            id    username

                    eg:id    lw



    删除用户

           如果被删除的用户在登录状态的话,无法删除

            userdel    username:删除用户

            userdel    -r    usernme:删除用户并且删除家目录

            groupdel    groupName:删除用户组


     设置密码

            passwd username            eg:passwd lw



    切换用户



            su - username

            su - :切换到root用户,需要输入密码

           su - XXX:由root用户切换到普通用户,不需要密码

           退出:    exit


权限管理

     (ll)可查看一个用户有什么权限



      Linux中用户的分类

                所有者(u)            同组用户(g)        其他人(o)

      Linux中文件权限

                读(r)    写(w)    执行(x)     没有权限(-)

      文件权限详情

              -rw-r--r--.    2    root    root    11    Jun    3    01:32    bb.text

              drwxr-xr-x.    2    root    root  4096    Jun    2    07:46    b

    (1)    -:    -文件;    d目录

         (rw-r--r--):    分成三组

                   rw-:    所有者权限,具有读、写权限,没有执行权限

                    r--:    同组用户权限,具有读权限,没有写和执行权限

                    r--:    其他人权限,具有读权限,没有写和执行权限

  (2)    :    该文件的链接个数,要和ln    ln    -s    source    target

           (root    root):    文件所属者   文件所属组

(11):    文件大小

         (Jun    3    10:32)最后修改时间

修改权限

    格式:chmod    [添加或者删除权限]    file

    需求:    -rw-r--r--.    2    root    root    11    Jun    3    01:32    cc.txt

            希望给huadian用户添加写的权限

        方式一:通过字符修改

                chmod    o+w        cc.txt


                添加权限:    +

                删除权限:    -

                chmod    o+w,g+w    cc.txt:    给其他人和同组用户写权限


                chmod    a+w    cc.txt:给所有用户



        方式二:    3位8进制表示

                rw-r--r--:    (110    100    100)    2    ==644

                chomd    644    cc.txt

                rwxrwxrwx:    (111    111    111)    2    ==  777

                chomd    777    cc.txt

       修改文件所属用户和所属组

                chown    username:groupName    file

                chown    :groupName    file

                chown    username:    file

                -R:递归修改所属用户和所属组   


编辑 vi file_path

    如果file——path不存在,保存以后,默认会创建一个文件

3种模式

    命令模式:

            第一次进入vi,默认就是命令模式

            按ESC键进入命令模式。

            在命令模式模式下,可以输入命令:

                  i    :    进入插入模式



                yy   :    复制当前行。5yy:复制当前行开始后的五行

                p    :    在当前位置粘贴


                dd :    删除当前行。5dd:删除当前行开始的五行

                u   :    撤销上一步

                gg:    跳转到第一行

                 G :    跳转到最后一行

                数字+gg:    跳转到指定行,5gg:    跳转到第5行

                O:    在上一行进入编辑模式

                o:    在下一行进入编辑模式

插入模式:在命令模式下,输入“i”进入插入模式,这时候可以对文本进行编辑

最后行模式:在命令行模式下,按shift + “:”,进入最后行模式



也可以输入一些指令:

        wq/x/ZZ:    保存退出

        q:    不保存退出

         !:    强制

        q!:强制不保存退出

        set    nu(number):    显示行号


        /string    检索字符串    eg: /guangtouqiang

       n    检索下一个字符串

         替换字符串

系统管理命令

    硬盘管理

    常见的硬盘类型

                    IDE:hda、hdb、gdc

                    SAS (SCSI)    -->SATA:sda、sdb

                    SSD

     管理命令

                    df    -h

                    添加硬盘的步骤:

                            (1).添加硬盘

                             (2).在硬盘中新建分区

                             (3).将目录挂载到分区中

      网络管理

                    ifconfig

                    route:查看路由器信息

      服务管理命令

                    格式:service    Linux中所有自带服务的管理命令

                           查看支持的命令:ll    /etc/init.d/


                                        network:网络

                                         iptables:防火墙

                    service    s_name    start|stop|status|restart

                    chkconfig:    设置开机启动

                            查看:chconfig    iptables    --list

                    设置:chkconfig    iptables    off|on

                     端口管理:

                           netstat

                                -a:    列举所有的连接,服务监听等。

                                -t:    列举tcp协议的服务

                                -u:    列举udp协议的服务

                            netstat    -a    |grep    3306:管道符,过滤出需要查找的东西


                     进程管理:

                            ps:查看当前进程

                                  ps    -ef    |grep    java:查看Java进程


                            jps:

                                  kill:    杀死进程

                                            kill    -9    pid

                                    redhat的selinux安全机制

                                            关闭:vi    /etc/selinux/config

                                                    SELINUX=disabled

                                              重启机器生效

压缩管理

linux压缩管理
常见的压缩工具
zip
gzip
后缀:.gz
压缩:gzip file_path
解压:gunzip fileName.gz
特点:
压缩后源文件没有了
不能对文件夹进行压缩

    bzip2:适合压缩比较大的文件
        后缀:bz2
        压缩:bzip2 file_path
        解压:bunzip2 file_path.bz2
        特点:
            压缩后源文件没有了
            不能对文件夹进行压缩
    tar:打包命令,将多个文件或者目录打包成一个文件
        格式:    
            打包:
                tar [选项参数] target.tar source
            解包:
                tar [选项参数] source.tar -C target
        参数:
            -c:打包
            -x:解包
            -z:是否使用gzip进行压缩或者解压
            -j:是否使用bzip2进行压缩或者解压
            -v:是否显示解压或者压缩过程

        使用最频繁的命令:
            使用tar + gzip (最最频繁)
                解压:
                    tar -zxvf XXX.tar.gz  -C  ./
                压缩:
                    tar -zcvf  XXX.tar.gz  source
                    
            使用tar + bzip2
                解压:
                    tar -jxvf xxx.tar.bz2 -C ./
                压缩:
                    tar -jcvf  XXX.tar.bz2  source

   常见的压缩格式:

                zip

             gzip:

                    后缀名:    .gz

            压缩:gzip    file_path



            解压:gunzip    flie_path.bz



            压缩:bzip2 Who.txt



            解压:bunzip2    file_path.bz2



            特点:不能对文件夹进行压缩,压缩后源文件没有了

            tar:打包命令,将多个文件或者文件夹打包成一个文件 

----------------------重点--------------------------



            属性:

                    -c: 建立压缩档案

                    -x:解压

                    -t:查看内容

                    -r:向压缩归档文件末尾追加文件

                    -u:更新原压缩包中的文件

   这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

                     -z:有gzip属性的时候

                      -j:有bz2属性的时候

                     -Z:有compress属性的

                      -v:显示所有过程

                     -O:将文件解开到标准输出

            下面的参数-f是必须的

                       -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。              

                  解压:

                         tar    -zxvf    source.tar    -C    targe    : 显示解压过程

                         tar    -zxf    source.tar    -C    targe    :不显示解压过程


                 压缩:

                        tar    -zcvf    filr.tar    source

                eg:

                     tar    -zxf    ./jdk-8u91-linux-x64.tar.gz    -C    /opt/moduls/

                    jdk-8u91-linux-x64.tar.gz    :使用tar+gzip组合生产的文件

关机和虚拟机克隆、快照

    关机:halt    or    init    0    or    shutdown    -h    now

    重启:reboot    or    init    6   

             /etc/inittab            该文件中,说清楚了init   0~6分别是什么意思。



  快照:

            使用一段时间后,对Linux进行快照,目标,出现了问题,可以回滚

            快照会占用大量的磁盘空间

            怎么快照:

                            (1)先关机

                            (2)VMware操作


   克隆:

            作用:复制出完全一样的配置机器。

            怎么克隆

                (1)关机

                (2)修改mac地址

                            vim    /etc/udev/rules.d/70-persistent-net.rules

                            删除eth0

                           复制eth1的mac地址:00:0c:29:f7:24:b8

                 (3) 修改ip,hostname

                    ip:

                            vi    /etc/sysconfig/network-scripts/ifcfg-eth0

                            IPADDR=192.168.59.151

                            HWADDR=00:0c:29:f7:24:b8

                   hostname:

                            vi    /etc/sysconfig.network

                            HODTNAME=bigdata-training02.huadian.com

             (4)    hosts

                      vi    /etc/hosts

             (5)    重启(reboot)

Linux软件安装

         软件类型

                RPM:Redhat序列特用的软件包

                dakg:debain序列特用的软件包

                源码包:需要在Linux中进行编译安装,需要自己编译、自己安装

                            java    maven

                            c/c++    gcc去编译

                            预编译

                            编译:make

                            安装:make    install

                软件的安装

                            rpm:安装RPM结尾的软件包

                                    检查:rpm    -qa    |grep    java




                                    安装:rpm    -ivh    XXXX.rpm

                                            当软件存在依赖的时候,会安装失败,需要先将依赖安装好。

                                   卸载:rmp    -e   XXX

                                                       --nodeps:忽略依赖

                                            sudo    rpm    --nodeps    mysql-libs-5.1.66-2.el6_3.x86_64

                                 yum: 通过软件源安装

                                        自动解决依赖问题

                                        安装: yum    install    -y    XX    (zip、mysql)

                                        查看当前已安装的包:yum    list    installed


                                        卸载:yum    remove    zip

                                        yum源配置文件路径

                                               vi    /etc/yum.repos.d/

                                                 阿里云yum,163

                                        版本问题:      

                                                 比如mysql,yum    版本5.1.x

                                       绿色安装:最多最多最多

                                                tar    -zxf    xxx.tar    -C    target

      Linux定时任务

               at    命令

                      设置时间    at    0:18

                       进入at命令行,设置需要在0:18执行的命令

                       mkdir    -p    /a/bb/201806050108

                        保存退出

                         crtl + d

crontab

    启动crontab服务

            service    cround    start

            chkconfig    crond    on

     编辑定时任务

             crontab    -e

    删除定时任务

            crontab    -d

            *       *               *               *               *                   command

分钟 小时 日 月 周 需要执行的脚本(绝对路径)
取值 0~59 0~23 1~31 1~12 0~7(0和7表示的都是周日)

特殊字符
每隔半小时执行一次
频率: /
*/30 * * * * command
连续时间:-
早上8:00~18:00之间,每隔半小时执行一次
*/30 8-18 * * * command
间断时间:,
早上8:00和18:00执行一次

8,18 * * * command
eg:
每天上午10:00执行
0 10 * * * sh /mkdir.sh
0 0 * * 3

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!