大数据基础知识(一):玩转Linux(三)Linux命令

Linux命令大全

    上一个节大数据基础知识(一):玩转Linux(二) 免密码登录和基本命令简单的介绍了几个基本的LInux命令,我们知道仅仅掌握这些基本的命令是不够的,需要更加深入的了解Linux的命令。

常用的命令

    这一节主要讲解基础的Linux命令,这些命令在我们使用Linux时候无时无刻将会使用到,我们需要在自己的Linux上练习,达到随机可取的境界。

    1.进入目录

         使用cd 目录进入指定的目录,或者使用cd ~进入当前的用户的根目录。下面是作者的一个实例。

         还有相关的命令如下:

         cd -  返回原来目录

         cd ..   返回上一级目录  

            

    2.获取当前路径

            使用 pwd来得到当前的路径。

       

    3. 查看文件以及创建文件 

           查看文件的命令如下:

             less   文件名

             more  文件名

             cat     文件名

           创建文件

                touch     a.txt    创建a.txt文件

           向文件中追加内容

                echo "hello,world " >> a.txt 注意使用两个>表示追加,使用一个>表示覆盖。

            还可以使用cat或者less等命令追加

                cat   a.txt  >>README   将a中内容追加到README中

     4.文件夹相关操作

            创建文件夹
                mkdir   document    创建document文件夹
            如果需要一次性创建多个文件
                mkdir   -p   test/test1 创建两个文件夹

    5.拷贝移动删除       

             拷贝命令

                    cp a.txt b.txt将a.txt拷贝一份并且命名为b.txt

              如果需要拷贝一个文件夹的多个内容

                    cp  -r   源地址  目的地

             移动命令

                    mv  目标文件     目的地

              删除命令

                    rm  a.txt 删除a文件

                    rm -rf   document  删除文件夹

     6.解压命令

            将其解压缩,再取消打包
                    分步完成:gzip -d mysql.tar.gz 或 gunzip mysql.tar.gz
                    一步完成:tar -zxvf itcast.tar.gz
            将/mysql目录先打包,同时用bzip2压缩,并保存到/tmp目录下
                    tar -jcvf /tmp/mysql.tar.bz2 itcast
            将/tmp/mysql.tar.bz2解压到/usr目录下面
                    tar -jxvf mysql.tar.bz2 -C /usr/     

文件相关的命令

     1.进入到用户根目录

            cd ~ 或者 cd
            cd ~hadoop
            回到原来路径
            cd -

      2.查看文件详情

            stat a.txt

      3.移动

            mv a.txt /ect/
            改名
            mv b.txt a.txt
            移动并改名
            mv a.txt ../b.txt

      4拷贝并改名

            cp a.txt /etc/b.txt

      5.vi撤销修改

            ctrl + u (undo)
            恢复
            ctrl + r (redo)

     6.名令设置别名(重启后无效)

            alias ll="ls -l"
            取消
            unalias ll

    7.如果想让别名重启后仍然有效需要修改

            vi ~/.bashrc

    8.添加用户

            useradd hadoop
            passwd hadoop

    9.创建多个文件

            touch a.txt b.txt
            touch /home/{a.txt,b.txt}

    10.将一个文件的内容复制到里另一个文件中

            cat a.txt > b.txt
            追加内容
            cat a.txt >> b.txt 

    11.将a.txt 与b.txt设为其拥有者和其所属同一个组者可写入,但其他以外的人则不可写入:

            chmod ug+w,o-w a.txt b.txt
            chmod a=wx c.txt

    12.将当前目录下的所有文件与子目录皆设为任何人可读取:

            chmod -R a+r *

    13.将a.txt的用户拥有者设为users,组的拥有者设为jessie:

           chown users:jessie a.txt

    14.将当前目录下的所有文件与子目录的用户的使用者为lamport,组拥有者皆设为users,

            chown -R lamport:users *

    15.将所有的java语言程式拷贝至finished子目录中:

            cp *.java finished

    16.将目前目录及其子目录下所有扩展名是java的文件列出来。

            find -name "*.java"
            查找当前目录下扩展名是java 的文件
            find -name *.java

   17.删除当前目录下扩展名是java的文件

            rm -f *.java

系统命令

   1.查看主机名

            hostname

   2.修改主机名(重启后无效)        

            hostname hadoop

   3.修改主机名(重启后永久生效)

            vi /ect/sysconfig/network

   4.修改IP(重启后无效)

            ifconfig eth0 192.168.12.22

    5.修改IP(重启后永久生效)

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

    6.查看系统信息

            uname -a
            uname -r

    7.查看ID命令

            id -u
            id -g

    8.日期

            date
            date +%Y-%m-%d
            date +%T
            date +%Y-%m-%d" "%T

    9.日历

            cal 2012

    10.查看文件信息

            file filename

    11.挂载硬盘

            mount
            umount
            加载windows共享
            mount -t cifs //192.168.1.100/tools /mnt

    12.查看文件大小

            du -h
            du -ah

    13.查看分区

            df -h

    14.ssh

            ssh hadoop@192.168.1.1

    15.关机

            shutdown -h now /init 0

            shutdown -r now /reboot

用户和分组

        添加一个tom用户,设置它属于users组,并添加注释信息
        分步完成:useradd tom
          usermod -g users tom
  usermod -c "hr tom" tom
        一步完成:useradd -g users -c "hr tom" tom

       

        设置tom用户的密码

        passwd tom


        修改tom用户的登陆名为tomcat
        usermod -l tomcat tom


        将tomcat添加到sys和root组中
        usermod -G sys,root tomcat


        查看tomcat的组信息
        groups tomcat


        添加一个jerry用户并设置密码
        useradd jerry
        passwd jerry


        添加一个交america的组
        groupadd america


        将jerry添加到america组中
        usermod -g america jerry


        将tomcat用户从root组和sys组删除
        gpasswd -d tomcat root
        gpasswd -d tomcat sys


        将america组名修改为am

         groupmod -n am america

权限管理

        创建a.txt和b.txt文件,将他们设为其拥有者和所在组可写入,但其他以外的人则不可写入:
        chmod ug+w,o-w a.txt b.txt


        创建c.txt文件所有人都可以写和执行
        chmod a=wx c.txt 或chmod 666 c.txt


        将/itcast目录下的所有文件与子目录皆设为任何人可读取
        chmod -R a+r /itcast


        将/hadoop目录下的所有文件与子目录的拥有者设为root,用户拥有组为users
        chown -R root:users /hadoop


        将当前目录下的所有文件与子目录的用户皆设为hadoop,组设为users

        chown -R hadoop:users *

文件夹属性

      1.查看文件夹属性

            ls -ld test

      2.文件夹的rwx

            --x:可以cd进去
            r-x:可以cd进去并ls
            -wx:可以cd进去并touch,rm自己的文件,并且可以vi其他用户的文件
            -wt:可以cd进去并touch,rm自己的文件
            ls -ld /tmp

            drwxrwxrwt的权限值是1777(sticky)

安装软件

      1.安装JDK

*添加执行权限 
chmod u+x jdk-6u45-linux-i586.bin
*解压
./jdk-6u45-linux-i586.bin
*在/usr目录下创建java目录
mkdir /usr/java
*将/soft目录下的解压的jdk1.6.0_45剪切到/usr/java目录下
mv jdk1.6.0_45/ /usr/java/
*添加环境变量
vim /etc/profile
*在/etc/profile文件最后添加
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
*更新配置
source /etc/profile

      2.安装tomcat

tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /programs/
cd /programs/apache-tomcat-7.0.47/bin/
./startup.sh

      3.安装eclipse

vim编辑器

        i
        a/A
        o/O
        r + ?替换


        0:文件当前行的开头
        $:文件当前行的末尾
        G:文件的最后一行开头
        1 + G到第一行 
        9 + G到第九行 = :9


        dd:删除一行
        3dd:删除3行
        yy:复制一行
        3yy:复制3行
        p:粘贴
        u:undo
        ctrl + r:redo


        "a剪切板a
        "b剪切板b


        "ap粘贴剪切板a的内容


        每次进入vi就有行号
        vi ~/.vimrc
        set nu


        :w a.txt另存为
        :w >> a.txt内容追加到a.txt


        :e!恢复到最初状态


        :1,$s/hadoop/root/g 将第一行到追后一行的hadoop替换为root

        :1,$s/hadoop/root/c 将第一行到追后一行的hadoop替换为root(有提示)

查找命令

      1.查找可执行的命令:

            which ls

      2.查找可执行的命令和帮助的位置:

            whereis ls

     3.查找文件(需要更新库:updatedb)

            locate hadoop.txt

     4.从某个文件夹开始查找

            find / -name "hadooop*"
            find / -name "hadooop*" -ls

     5.查找并删除

            find / -name "hadooop*" -ok rm {} \;
            find / -name "hadooop*" -exec rm {} \;

     6.查找用户为hadoop的文件

            find /usr -user hadoop -ls

     7.查找用户为hadoop并且(-a)拥有组为root的文件

            find /usr -user hadoop -a -group root -ls

     8.查找用户为hadoop或者(-o)拥有组为root并且是文件夹类型的文件

            find /usr -user hadoop -o -group root -a -type d

     9.查找权限为777的文件

            find / -perm -777 -type d -ls

     10.显示命令历史

            history

     11.grep

            grep hadoop /etc/password

打包与压缩

     1.gzip压缩

          gzip a.txt

     2.解压

        gunzip a.txt.gz
        gzip -d a.txt.gz

    3.bzip2压缩

        bzip2 a

   4.解压

        bunzip2 a.bz2
        bzip2 -d a.bz2

    5.将当前目录的文件打包

        tar -cvf bak.tar .
        将/etc/password追加文件到bak.tar中(r)
        tar -rvf bak.tar /etc/password

    6.解压

        tar -xvf bak.tar

    7.打包并压缩gzip

        tar -zcvf a.tar.gz

    8.解压缩

        tar -zxvf a.tar.gz
        解压到/usr/下
        tar -zxvf a.tar.gz -C /usr

    9.查看压缩包内容

        tar -ztvf a.tar.gz
        zip/unzip

    10.打包并压缩成bz2

        tar -jcvf a.tar.bz2

    11.解压bz2

        tar -jxvf a.tar.bz2

正则表达式

     1.cut截取以:分割保留第七段

        grep hadoop /etc/passwd | cut -d: -f7

    2.排序

        du | sort -n 
    3.查询不包含hadoop的
        grep -v hadoop /etc/passwd
    4.正则表达包含hadoop
        grep 'hadoop' /etc/passwd
    5.正则表达(点代表任意一个字符)
        grep 'h.*p' /etc/passwd
    6.正则表达以hadoop开头
        grep '^hadoop' /etc/passwd
    7.正则表达以hadoop结尾
        grep 'hadoop$' /etc/passwd
    规则:
        .  : 任意一个字符
        a* : 任意多个a(零个或多个a)
        a? : 零个或一个a
        a+ : 一个或多个a
        .* : 任意多个任意字符
        \. : 转义.
        \<h.*p\> :以h开头,p结尾的一个单词
        o\{2\} : o重复两次
        grep '^i.\{18\}n$' /usr/share/dict/words
        查找不是以#开头的行
        grep -v '^#' a.txt | grep -v '^$' 
        以h或r开头的
        grep '^[hr]' /etc/passwd
        不是以h和r开头的
        grep '^[^hr]' /etc/passwd
        不是以h到r开头的
        grep '^[^h-r]' /etc/passwd    

管道

        1.新建一个文件

               touch a.txt
                > b.txt

        2.错误重定向:2>

            find /etc -name zhaoxing.txt 2> error.txt

        3.将正确或错误的信息都输入到log.txt中

            find /etc -name passwd > /tmp/log.txt 2>&1 
            find /etc -name passwd &> /tmp/log.txt

        4.追加>>

        5.将小写转为大写(输入重定向)

            tr "a-z" "A-Z" < /etc/passwd

        6.自动创建文件

            cat > log.txt << EXIT
            > ccc
            > ddd
            > EXI

        7.查看/etc下的文件有多少个?

            ls -l /etc/ | grep '^d' | wc -l

        8.查看/etc下的文件有多少个,并将文件详情输入到result.txt中

            ls -l /etc/ | grep '^d' | tee result.txt | wc -l

进程管理

            1.查看用户最近登录情况

                last
                lastlog

            2.查看硬盘使用情况

                df

            3.查看文件大小

                du

            4.查看内存使用情况

                free

            5.查看文件系统

                /proc

            6.查看日志

                ls /var/log/

            7.查看系统报错日志

                tail /var/log/messages

            8.查看进程

                top

            9.结束进程

                kill 1234
                kill -9 4333

 

    

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Oeljeklaus/article/details/80332402
所属专栏: 大数据框架知识
上一篇大数据基础知识(一):玩转Linux(二) 免密码登录和基本命令
下一篇大数据基础知识(二):Shell命令
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭