---恢复内容开始---

一、常用命令

  1、上传:rz #用rz只能上传文件 不能上传文件夹(压缩成一个压缩包上传是可以的)

  2、下载:sz 文件名 

  3、解压缩文件:tar xzvf zhcon-0.2.5.tar.gz 

        x : 从 tar 包中把文件提取出来

        z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压

        v : 显示详细信息

        f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz

    zip格式解压缩:unzip 压缩包文件名.zip

  4、打包并压缩文件:“tar -czvf 压缩后文件名.tar.gz(含路径) 要压缩的文件名(含路径)”

        c:创建压缩文件

    zip格式打包:zip 压缩后文件名.zip 要压缩的文件名

  5、开关机:shutdown -h now #立即关机

         shutdown -h 60 #延时60分钟关机

         reboot #重启

  6、用户管理-添加用户:useradd ywn #添加一个新用户ywn

              新增的用户“家目录”都在/home路径下 家目录是用~代表的

               passwd ywn #给ywn这个用户设置密码

  7、添加用户,指定家目录:useradd ywn1 -d  #创建ywn1这个用户 将这个用户的家目录创建在/usr/local/mongodb目录下

  8、切换用户:su - 用户名

  9、查看当前用户:id

  10、编辑文件,显示行号  ‘’:set nu‘’  不显示行号  ‘’:set nonu‘’

  11、快速到文件末尾  shift+g

  12、快速到文件首部  gg

  13、删除整行内容  dd  删除单个字符  x

  14、撤销  u

  15、复制一行  yy  粘贴  p

  16、替换内容  :%s/aaa/xxx/g #%代表替换所有行; s代表替换; aaa/xxx代表把aaa替换为xxx; g代表如果行里边有多个的话也全部替换

           1,5s/aaa/xxx/g  #代表替换1-5行内容

  17、查看文件内容  less a.txt  #less只是查看文件 无法进行修改;但可以查找文件中的关键字,也是用/查找 退出也是:q

            tail a.txt  #默认看文件末尾的10行内容

            tail -f abc.log  #动态看文件末尾的内容,当产生新的日志时,会自动查看最新的日志内容

  18、过滤文件内容  tail -f abc.log | grep aabb  #grep是在abc这个文件内过滤出来包含aabb的日志,在工作中查看日志时 可以通过这个过滤自己要看的内容

  19、查看文件  ls -l  #查看当前目录下文件详细信息

          ls -a #查看目录下的全部文件,包括隐藏文件(在linux下,已‘.’开头的文件都为隐藏文件)

  20、创建文件夹  mkdir test  #创建文件夹test

           mkdir -p /temp/aaa/bbb  #父目录aaa不存在的时候 加上-p 就可以也把父目录创建

  21、删除  rm -rf xxx #什么都能删,不管是文件还是文件夹

  22 、复制  cp -rf xxx #加上-rf可以复制文件夹和文件

         cp -rf /opt/rest/aaa ./  #将aaa这个文件复制到当前目录下 ./代表当前目录 ../代表上一级目录

  23、移动/改名  mv test.py /opt/  #将test.py这个文件移动到opt目录下

           mv test aaa  #mv有两个功能 当后边不是路径的时侯 是将test这个名称修改为aaa

  24、当前目录下所有文件占用的大小  du -sh *

  25、查看磁盘使用情况  df -lh

  26、加减权限  减权限chmod -x nihao #将nihao这个文件的执行权限去掉,包括自己的用户,本组用户和其他用户(x代表执行权限,r代表读,w代表写)

          chmod u+x nihao  #给自己的用户加上执行权限(u代表给自己的用户,g代表本组用户,o代表其他用户)

          chmod a+rwx nihao  #给所有用户加上rwx权限

          chmod -R u+r aaa  #aaa是个文件夹 如果要把这个文件夹下的所有文件都添加权限 那就必须要加上-R        

   27、统计     cat nihao | grep nihao | wc-l  #wc是统计,统计某个文件里面,出现了某个词多少次

          ls |wc -l  #查看当前目录下有多少个文件

          cat 文件名 #代表查看文件内容

  28、通配符   **代表通配符,例如要删除中间有sum的文件 则为rm -rf *sum*即可

          删除以.log结尾的文件,rm -rf *.log

          查看以_log结尾的文件,ls *_log

  29、查找文件  find / -name "*tomcat*" 查找名字为tomcat的文件,/代表从根目录开始查找

  30、重定向  意思就是将一个文件的内容复制到另外一个文件中去

         nihao > sss  #将你好文件里的内容拷贝到sss中,一个>是指把原来sss中的内容完全覆盖掉

         nihao>>sss  #两个>>则是追加,而不会将原有内容覆盖掉

         echo“hehehe”>sss  #这个只写入一句话,将hehehe写入到sss中

         >sss  #大于号前边不写内容 就相当于将sss这个文件清空

   31、后台运行程序  nohup sh jmeter-server &  #nohup xxx &就是代表让这个某个程序在后台运行,一般适用与需要一直运行的程序

  32、查看进程  ps -ef | grep mysql  #查看启动的mysql的进程,如果没有这个进程,在查看的时候也会显示一条查询出来的结果,因为grep本身也是一个进程

  33、监控  top

  34、开机启动  /etc/rc.d/rc.local  #将需要开机启动的脚本加入到这个文件下就可以开机后自动启动了

  35、环境变量 如果某一个程序没有给加到环境变量中,那么不能直接在某个目录下去输入使用,例如输入mysql 如果mysql没有加到环境变量中,那只能进入到这个程序

    目录下才可以执行,同时在这个目录下执行的时候也要注意 必须前边要加上. /才可以‘./mysql’。

 

二、安装软件

  1、rpm安装包  

           rpm -ivh xxx.rpm  #-i代表安装,v代表显示安装信息,h代表显示安装进度

           rpm -e xxx.rpm  #卸载rpm方式安装的文件

           rpm-qa  #查询已经安装的rpm软件包

  2、yum安装   

           yum  -y install xxx  #输入-y就不再提示确认信息

           yum list | grep xxx  #查看需要安装的软件包是否存在yum中

           yum list installed | grep xxx  #查询是否安装过某个软件

           yum remove xxx  #卸载所安装的软件包

  yum或者rpm方式所安装的文件,可执行命令都在/usr/bin,配置文件都在/etc/xxx目录

  3、编译安装    

           编译安装首先要保证装有gcc,输入gcc就可以直接查看是否已安装

           如果没有安装,输入yum -y install gcc* 安装即可

           安装三部曲:

                1、生成makefile编译文件./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件

                  常用的参数--prefix 指定安装目录,--with-xx 指定依赖文件的目录

                2、make编译 make命令也需要安装,会根据./configure产生makefile文件编译写好的c语言程序,产生可运行的文件

                3、make install make install的作用是把编译好的文件复制到指定的目录下,也就是第一步--prefix指定的目录,如果没有指定目录的话,

                  还是在当前目录下

    

三、shell脚本

   ps -ef | grep tomcat |grep -v grep |awk '{print $2}'  #grep -v grep的意思是过滤掉以grep开头的进程 -v就是过滤用的;awk '{print $2}'的意思是去进程的第二列内容(也

                          就是pid 进程号;)

  1 、重启tomcat并查看进程脚本:

    jinchenghao=~ps -ef | grep tomcat |grep -v grep |awk '{print $2}'~ #将查询出来的pd给jinchenghao;~~加上这个符号在linux里代表的是这里面执行的是一条命令;

                                  特别注意:在linux中等号前后不能有空格

    kill -9 $jingchenghao #$代表的是将这个pid取过来

    echo “tomcat stop” #提示一句话

    sh /usr/local/tomcat_dang/bin/startup.sh #启动tomcat程序

    tail -f /usr/local/tomact_dang/logs/catalina.out #查看日志

 

  2、判断tomcat是否启动脚本

    jinchenghao=~ps -ef | grep tomcat |grep -v grep |awk '{print $2}'~

    if [ $jinchenghao ]  #判断是否有这个进程号,非0即真非空即真,所以如果有进程号就是真的;特别注意:大括号里边内容的前后必须要有空格

    then

    kill -9 $jinchenghao #如果tomcat启动了 则将进程号删除

    echo "tomcat stop..." #给出提示信息

    else #如果tomcat未启动,没有进程号

    echo "tomcat is not running..." #给出提示信息,tomcat未启动

    fi

 

  3、每天的23点59分,将日志文件拷贝靠另外一个目录下备份,并清空日志文件

    src_path='/opt/lampp/logs/access_log'  #将log文件给src_path

    tar_path='/tmp/logs/'  #将logs目录给tar_path

    time=~date +%Y%m%d%H%M%S~  #将当下时间给time

    cp -rf ${src_path} ${tar_path}access_log_${time}  #把src_path文件拷贝到tar_path目录下,并重新定义文件名

    >${src_path}  #重定向src_path文件(即清空这个文件的内容)

    crontab -e

    59 23 * * * sh /tmp/bak_log.sh