扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
(1)tail 命令
成都创新互联是一家专注于网站制作、网站设计与策划设计,姜堰网站建设哪家好?成都创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:姜堰等地区。姜堰做网站价格咨询:18980820575标准语法
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文件:工具---执行脚本
导出:工具---导出数据为脚本
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流