LINUX第二天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINUX第二天相关的知识,希望对你有一定的参考价值。

目录

1.LINUX软件包
2.运维人员常用到的linux命令
3.LINUX网络配置
4.vmware虚拟机的高级特性

LINUX软件包

1.1linux 软件包的分类

    linux的安装包的分类:

            源码包  脚本安装包(这里的脚本安装包绝大部分都是c语言编写的)

            二进制安装包(rpm包,系统默认安装包)

    知识积累:中国linux最流行的两大发行版本 redhat和ubantu

                    cento是redhat的分支

                    两大版本的区别:就是在安装包

                    redhat 用的是RPM,乌班图用的是deb包

   源码包的特点:

           1.开源,就是如果你要是有足够的能力就可以修改源代码

           2.可以自由选择所需要的功能

           3.软甲是编译安装的,所以更加适合自己的系统,更加的稳定效率也就更高

           4.卸载方便(直接删除安装文件夹)

    源码包的缺点:

             1.安装过程步组较多,尤其是安装较大软件集合的时候,容易出现错误

             2.编译过程时间较长,安装比二进制安装包时间长很多

             3.安装一个源码包比二进制包时间要长3到5倍

             4.因为是编译安装,一旦中间出错新手不容易解决

    二进制包的优点

             1.包管理简单,之通过几个简单的命令就可以实现安装,升级,卸载

             2.安装速度比源码包快得多

    二级制包的缺点

            1.经过编译,不能再看见源代码

            2.功能选择没有源码包灵活

            3.依赖性(简单来说:依赖性就是你现在安装软件假设我装A-B-C卸载就先卸载c-b-A)

1.2 挂载的知识(例子是把iso镜像文件,挂载到linux上)

      1.2.1在 /mnt创建挂载文件cdrom(挂载点)

             技术分享图片

              1.2.2 再在虚拟机vmare的菜单栏里找到  虚拟机-设置

              技术分享图片

             1.2.3点击设置

              技术分享图片

              1.2.4执行挂载命令mount /dev/sr0  /mnt/cdrom

              技术分享图片

              表示挂载成功

1.3 安装rpm包

        rpm 命令格式: rpm  选项参数  包全名

                                          -i  安装

                                          -v  显示详细信息

                                          -h  显示进度

                                         --nodeps 不检测依赖性

       rpm包的升级 :  rpm -Uvh  包全名

                                         -U 升级    U必须大写

                   卸载 : rpm  -e 包名

      查询rpm包是否安装

                            rpm -q 包名

                            rpm  -qa 查询所有的安装的rpm包

                            rpm -qi 包名

                            i查询软件信息

                            p 查询未安装的软件包信息

2.运维人员常用到的linux命令

    netstat -na | grep 7651 

    查看本机7651端口在和谁通信 

    ps -aux | grep 7651

    查看本机7651进程的相关信息

    md5sum 文件名

    用于查看文件的md5值,常用于检查文件是否一致

    ps aux --sort -rss

    显示各个进程对内存的使用情况,从大到小排序

    netstat -ntpl

    查看处于监听状态的TCP类型的端口

    netstat -nupl

    查看处于监听状态的UDP类型的端口

    ps huH p 7651 | wc -l

    查看进程7651所拥有的线程数

    tcpdump -i any -vv -Xs 0 port 8080 -w temp.cap

    TCP抓包命令,用于抓取传到该主机8080端口的http请求,存于文件temp.cap

    抓下来的包可以用strings命令读取

    

    netstat -nap | grep 7651

    查看进程7651占用的端口

    netstat -na | grep “2181” | wc -l

    查看连接到本机2181端口上的连接数

    lsof -i:2181

    查看端口2181的运行情况

    

     1、linux启动过程

          开启电源 --> Bios开机自检 --> 引导程序lilo或grub--> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) -->Shell

    2、网卡绑定多ip
          # ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
    3、设置DNS、网关
         # echo "nameserver 202.16.53.68" >> /etc/resolv.conf
         # route add default gw 192.168.1.1
    4、弹出、收回光驱
         # eject
         # eject -t
    5、用date查询昨天的日期
        # date --date=yesterday
    6、查询file1里面空行的所在行号
        # grep ^$ file
    7、查询file1以abc结尾的行
        # grep abc$ file1
    8、打印出file1文件第1到第三行
        # sed -n '1,3p' file1
        # head -3 file1
    9、清空文件
        # true > 1.txt
        # echo "" > 1.txt
        # > 1.txt
        # cat /dev/null > 1.txt
    10、删除所有空目录
        # find /data -type d -empty -exec rm -rf {} ;
    11、linux下批量删除空文件(大小等于0的文件)的方法
        # find /data -type f -size 0c -exec rm -rf {} ;
       # find /data -type f -size 0c|xargs rm –f
    12、删除五天前的文件
        # find /data -mtime +5 -type f -exec rm -rf {} ;
    13、删除两个文件重复的部份,打印其它
        # cat 1.txt 3.txt |sort |uniq
    14、攻取远程服务器主机名
        # echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/hostname/ {print $2}'`
    15、实时监控网卡流量(安装iftop)
        # /usr/local/iftop/sbin/iftop -i eth1 -n
    16、查看系统版本
        # lsb_release -a
    17、强制踢出登陆用户
        # pkill -kill -t pts/1
    18、tar增理备份、还原
        # tar -g king -zcvf kerry_full.tar.gz kerry
        # tar -g king -zcvf kerry_diff_1.tar.gz kerry
        # tar -g king -zcvf kerry_diff_2.tar.gz kerry
        # tar -zxvf kerry_full.tar.gz
       # tar -zxvf kerry_diff_1.tar.gz
       # tar -zxvf kerry_diff_2.tar.gz
    19、将本地80端口的请求转发到8080端口,当前主机外网IP为202.96.85.46
        -A PREROUTING -d 202.96.85.46 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.9.10:8080
    20、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh
        # crontab -e0 6-12/2 * 11 * /usr/bin/httpd.sh
    21、查看占用端口8080的进程
        # netstat -tnlp | grep 8080
           lsof -i:8080
    22、在Shell环境下,如何查看远程Linux系统运行了多少时间?
        # ssh [email protected]被监控主机ip "uptime"
    23、查看CPU使用情况的命令
        每5秒刷新一次,最右侧有CPU的占用率的数据
        # vmstat 5
        top 然后按Shift+P,按照进程处理器占用率排序
        # top
    24、查看内存使用情况的命令
        用free命令查看内存使用情况
        # free -m

        top 然后按Shift+M, 按照进程内存占用率排序

        # top
    25、查看磁盘i/o
        用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次
        # iostat -d -x /dev/sdc3 2
    26、修复文件系统
        # fsck –yt ext3 /
        -t 指定文件系统
        -y 对发现的问题自动回答yes
    27、read命令5秒后自动退出
        # read -t 5
    28、grep -E -P 是什么意思
        -E, --extended-regexp 采用扩展正规表达式。
        -P,--perl-regexp 采用perl正规表达式
    29、vi编辑器(涉及到修改,添加,查找)
        插入(insert)模式
        i     光标前插入
        I     光标行首插入
       a     光标后插入
       A     光标行尾插入
       o     光标所在行下插入一行,行首插入
       O     光标所在行上插入一行,行首插入
       G     移至最后一行行首
       nG    移至第n行行首
       n+    下移n行,行首
       n-    上移n行,行首
      :/str/          从当前往右移动到有str的地方
      :?str?          从当前往左移动到有str的地方
      :s/str1/str2/       将找到的第一个str1替换为str2  
      :s/str2/str2/g      将当前行找到的所有str1替换为str2
       :n1,n2s/str1/str2/g    将从n1行至n2行找到的所有的str1替换为str2
       :1,.s/str1/str2/g     将从第1行至当前行的所有str1替换为str2
       :.,$s/str1/str2/g     将从当前行至最后一行的所有str1替换为str2
    30、linux服务器之间相互复制文件
       copy 本地文件1.sh到远程192.168.9.10服务器的/data/目录下
       # scp /etc/1.sh [email protected]:/data/ 

       copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录
       # scp [email protected].9.10:/data/2.sh /data/
    31、使用sed命令把test.txt文件的第23行的TEST换成TSET.
       # sed -i '23s/TEST/TSET/' test.txt
       # sed -i '23 s/TEST/TSET/' test.txt
    32、使history命令能显示时间
       # export HISTTIMEFORMAT="%F %T "
    33、如何查看目标主机192.168.0.1开放那些端口
       # nmap -ps 192.168.0.1
    34、如何查看网络连接
       # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    35、如何查看当前系统使用了那些库文件
       # ldconfig -v
    36、如何查看网卡的驱动版本
       # ethtool -i eth0
    37、使用tcpdump来监视主机192.168.0.1的tcp的80端口
       # tcpdump tcp port 80 host 192.168.0.1
    38、 如何看其它用户的邮件列表
       # mial -u king
    39、对大文件进行切割
       按每个文件1000行来分割
       # split -l 1000 httperr8007.log httperr

       按照每个文件5m来分割

       # split -b 5m httperr8007.log httperr
    40、合并文件
       取出两个文件的并集(重复的行只保留一份)
       # cat file1 file2 | sort | uniq

       取出两个文件的交集(只留下同时存在于两个文件中的文件)
       # cat file1 file2 | sort | uniq -d

       删除交集,留下其他的行
       # cat file1 file2 | sort | uniq –u
    41、打印文本模式下运行的服务
       # chkconfig --list|awk '$5~/on/{print $1,$5}'
    42、删除0字节文件
       # find -type f -size 0 -exec rm -rf {} ;
    43、查看进程,按内存从大到小排列
       # ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
    44、查看http的并发请求数及其TCP连接状态
       # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    45、获取IP地址
       # ifconfig eth0|sed -n '2p'|awk '{print $2}'|cut -c 6-30

       perl实现获取IP地址:
       # ifconfig -a | perl -ne 'if ( m/^s*inet (?:addr:)?([d.]+).*?cast/ ) { print qq($1n); exit 0; }'
    46、获取内存大小
       # free -m |grep "Mem" | awk '{print $2}'
    47、查看CPU核心数
       # cat /proc/cpuinfo |grep -c processor
    48、查看磁盘使用情况
       # df -h
    49、查看有多少个活动的php-cgi进程
       # netstat -anp | grep php-cgi | grep ^tcp | wc -l
    50、查看硬件制造商
       # dmidecode -s system-product-name

 3.虚拟机上网络设置及主机名设置

    

    3.1 虚拟机上网络设置三部曲    路径(etc/sysconfig/network-scripts/ifcfg-eth0)   

         第一步:查看虚拟网络编辑器

                     在nat模式下记住自己所在的网段地址

         第二步(网络配置):

                      在root用户下修改网络配置文件:

                      vi /etc/syscofig/network-script/ifcfg-eth0

                      技术分享图片

        第三步修改网络映射文件:

           -->在Linux系统下  vi /etc/hosts

           -->在windows系统里面   

                       C:\Windows\System32\drivers\etc\hosts

       第四步 重启网络:

            service network restart

      验证网络搭建是不是成功:

          1.在nat模式下,用静态IP方式

          2.ping  www.baidu.com

      

   3.2 主机名的设置:

       查看主机名: hostname

       临时设置:hostname (要修改的主机名称)

       永久设置:vi /etc/sysconfig/network

              HOSTNAME=#######

      注意:ctrl+c  回到命令行

                clear  清除当前操作命令行      

4.vmware虚拟机的高级特性 

    4.1快照

         技术分享图片

         记录当前的状态。可以多次做快照。

    4.2克隆

        复制一份当前虚拟机。

    4.3网路三种工作模式

         bridge(桥接模式)

          NAT(模式)

          host-only   

      

     

以上是关于LINUX第二天的主要内容,如果未能解决你的问题,请参考以下文章

LINUX 第二天

LINUX 第二天

Linux入门学习第二天

linux命令 第二天

linux学习第二天 (Linux就该这么学)

linux第二天