zoukankan      html  css  js  c++  java
  • 每日记载内容总结15

    1.部分liunx命令:

    (1)tail 命令 

      标准语法

      tail [  -f ] [  -c Number |  -n Number |  -m Number |  -b Number |  -k Number ] [ File ]

    描述

    tail 命令从指定点开始将File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。Number 变量指定将多少单元写入标准输出。Number 变量的值可以是正的或负的整数。如果值的前面有+(加号),从文件开头指定的单元数开始将文件写到标准输出。如果值的前面有-(减号),则从文件末尾指定 的单元数开始将文件写到标准输出。如果值前面没有+(加号)或-(减号),那么从文件末尾指定的单元号开始读取文件。

    Number 变量用于确定计数的起点的单元类型由-b、-c、-k、-m 以及-n 标志确定。如果没有指定其中的任何一个标志,那么tail 命令就会读取指定文件的最后十行,并将其写到标准输出。这与在命令行输入-n 10 是相同的。

    -m 标志在单字节和双字节字符环境中提供了一致的结果。当输入是包含多字节字符的文本文件时应谨慎使用-c 标志,因为产生的输出可能不从字符边界开始。

    -b Number 从Number 变量表示的512 字节块位置开始读取指定文件。

    -c Number 从Number 变量表示的字节位置开始读取指定文件。

    -f 如果输入文件是常规文件或如果File 参数指定FIFO(先进先出),那么tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定File 参数,并且标准输入是管道,则会忽略-f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。

    -k Number 从Number 变量表示的1KB 块位置开始读取指定文件。

    -m Number 从Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。

    要以逆序显示行

    tail [  -r ] [  -n Number ] [ File ]  -n Number:从Number 变量表示的行位置开始读取指定文件。-r:从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式打印整个文件。如果文件大于20,480 字节,那么-r 标志只显示最后的20,480 字节。-r 标志只有与-n 标志一起时才有效。否则,就会将其忽略。

    (2)ps -ef |grep java  用于查看当前系统用户的情况

    ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。
    该命令语法格式如下:
    ps [选项]
    下面对命令选项进行说明:
    -e 显示所有进程。
    -f 全格式。
    -h 不显示标题。
    -l 长格式。
    -w 宽输出。
    a 显示终端上的所有进程,包括其他用户的进程。
    r 只显示正在运行的进程。
    x 显示没有控制终端的进程
    最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
    [例20] 以root身份登录系统,查看当前进程状况
    $ ps
    PID TTY TIME COMMAND
    5800 ttyp0 00:00:00 bash
    5835 ttyp0 00:00:00 ps
    可以看到,显示的项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)
    、COMMAND(该进程的命令行输入)。
    可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
    $ ps u
    USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
    test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
    test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
    在bash进程前面有条横线,意味着该进程便是用户的登录shell,所以对于一个登录用户来说带短横线的进
    程只有一个。还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程
    占用的内存和总内存的百分比。
    在这种情况下看到了所有控制终端的进程;但是对于其他那些没有控制终端的进程还是没有观察到,所以这
    时就需要使用x选项。使用x选项可以观察到所有的进程情况。

    (3)比如你要找linux系统中名字为mysql的文件,可以
    find / -name "mysql"   find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
    如果你要找的这个文件是mysql.sh
    那么上面的命令就不行了你要输入完整的名字 或者你只知道mysql 忘了后面的.sh
    那么可以find / -name "mysql*"
    可以找到以mysql开头的文件和文件夹

    具体内容:http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html

    (4)rm 删除文件或者文件夹命令

    rm [-dfirv][--help][--version][文件或目录...]

    补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
    参  数:
     -d或--directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
     -f或--force  强制删除文件或目录。
     -i或--interactive  删除既有文件或目录之前先询问用户。
     -r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
     -v或--verbose  显示指令执行过程。
     --help  在线帮助。
     --version  显示版本信息。

    rm -rf work删除work文件夹以及里面的文件夹文件等所有内容

    rm -i *.c 删除所有C语言程式档;删除前逐一询问确认 :

    (5)其他文件夹命令

    拷贝文件及其子目录:cp -r 文件夹 新路径
    通常情况下,删除文件用:rm 文件名
    删除文件夹用:rmdir 文件夹名
    但是 rmdir不能删除非空的文件夹,那如何删除非空文件夹呢:
    命令:rm -rf 非空文件夹名(建议使用前做好备份,好像此命令是不会放到回收站的,删了就再也见不着下面的文件了)。
    重命名文件夹:
    mv oldfilename newfilename
    mkdir 目录名           ——创建一个目录
    rmdir 空目录名        ——删除一个空目录
    rm 文件名 文件名     ——删除一个文件或多个文件
    rm -rf 非空目录名    ——删除一个非空目录下的一切
    touch 文件名           ——创建一个空文件

    2.配置程序运行内存

    Windows
    在catalina.bat最前面加入
    set JAVA_OPTS=-Xms128m -Xmx350m
    如果用startup.bat启动tomcat,OK设置生效
    但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
    就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.
    windows服务执行的是bin omcat.exe.他读取注册表中的值,而不是catalina.bat的设置.
    解决办法:
    修改注册表HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationTomcat Service ManagerTomcat5ParametersJavaOptions
    原值为
    -Dcatalina.home="C:ApacheGroupTomcat 5.0"
    -Djava.endorsed.dirs="C:ApacheGroupTomcat 5.0commonendorsed"
    -Xrs
    加入 -Xms300m -Xmx350m
    重起tomcat服务,设置生效

    Tomcat6有些版本已经没有catalina.bat文件了。
    这个时候我们需要运行%TOMCAT_HOME%in omcat6w.exe文件,
    修改其中的Initial memory pool和Maximum memory pool的值,分别为256、512。

    Linux:
    在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh
    JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true"
    或者
    JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:
    NewSize=192m -XX:MaxNewSize=384m"
    -Xms:初始值
    -Xmx:最大值
    -Xmn:最小值

    注意:在tomcat的bin目录下,找到catalina.bat文件,打开,在最上面添加这样一句:
    set JAVA_OPTS=-Xms256m -Xmx512m.

    OK, JVM内存已经被改到Total Memory: 256 MB,Max Memory: 512 MB.

    在Eclipse中改tomcat JVM 内存, 运行Eclipse中配置的Tomcat.
    在server配置, tomcat5.x->jdk, 在Java VM arguments 里添加:
    -Xms256m -Xmx512m  -XX:MaxPermSize=64m 达到一样的效果.

    不过如果不这样改,而运行Eclipse中配置的tomcat,之前在catalina.bat中修改的内存是不起效果,不知道什么原因.

    3.mysql :Error2006  Mysql has gone away
    如果导入数据的数据文件太大了,超过了max_allowed_packet上限,导致导入失败,出现以上异常。
    一般情况下,服务器默认max-allowed-packet为1MB
    要想导入数据量大的文件,要将这个变量的上限改大一点,大于所导入文件的大小,方法如下:
    方法一:直接在mysql中my.ini内最后面加上这句:max_allowed_packet=200M
    方法二:直接在SQLyog执行框内执行如下两句:
    set global max_allowed_packet=200000000;  -- 导入时的缓冲区  200M,根据你的sql脚本文件的大小来设置你的时间缓冲区大小
    set global net_buffer_length=10000;   --  导出时的缓冲区

    用SQLyog备份及导入mysql数据库  :
    导入sql文件:工具---执行脚本
    导出:工具---导出数据为脚本

  • 相关阅读:
    FZU-Problem 2150 Fire Game
    LeetCode120——Triangle
    Coder-Strike 2014
    AP INVOICES IMPORT API(NOT request)
    NYOJ-277-车牌号
    软件測试方法
    C++中字符数组和字符串string
    【机器学习算法-python实现】PCA 主成分分析、降维
    主题讲座:移动互联网时代的创业机会
    ubuntu环境eclipse配置
  • 原文地址:https://www.cnblogs.com/cuiyf/p/3176685.html
Copyright © 2011-2022 走看看