linux文件权限问题

  哈哈。。。昨个因为权限问题,可把我给整的有点小悲剧啊!
  问题是这个样子滴,客户通过系统生成新的excel文件在服务器上并没有。客户打来电话啦,让立马解决!吼吼。。。是!顾客就是上帝呀!于是我想可能是路径写错了吧,但是通过查看源码,路径是没有问题的。我呢是通过request.getRealPath(excel/file)+"/"+title+".xls";来获取路径的。但是request.getRealPath("") 这个方法已经不推荐使用了,那代替它的是什么方法 Deprecated. As of Version 2.1 of the Java Servlet API, use ServletContext.getRealPath(java.lang.String) instead. request.getSession().getServletContext().getRealPath() 得到站点的绝对地址。 后来呢通过查看日志发现路径是正确的,这时候忽然想起来了excel文件夹的用户是谁,结果一查看是root而不是tomcat。问题终于被找到啦,因为excel的所有者是root用户,因此只有root用户可以对excel文件夹中的文件来进行读写等操作,但是客户是通过tomcat来生成的excel因此这个时候,这份excel是不会被写入到root用户下的excel文件夹中的。因此,只需要修改一下excel文件的权限为tomcat用户就好了。
   如果想查看服务器上过大的日志文件信息,可以先压缩日志文件用zip命令:
linux  zip命令的基本用法是:

zip [参数] [打包后的文件名] [打包的目录路径]

  linux  zip命令参数列表:

      -a     将文件转成ASCII模式
-F     尝试修复损坏的压缩文件   
-h     显示帮助界面
-m     将文件压缩之后,删除源文件

      -n 特定字符串    不压缩具有特定字尾字符串的文件
-o     将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q     安静模式,在压缩的时候不显示指令的执行过程
-r     将指定的目录下的所有子目录以及文件一起处理
-S     包含系统文件和隐含文件(S是大写)
-t 日期     把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy

举例:

将/home/Blinux/html/ 这个目录下所有文件和文件夹打包为当前目录下的html.zip

    zip –q –r   html.zip /home/Blinux/html

上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录

比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果.

    zip –q –r html.zip html

比如现在我的html目录下,我操作的zip压缩命令是

    zip –q –r html.zip *

以上是在安静模式下进行的,而且包含系统文件和隐含文件
//////////////////////////////////////////////////////////
unzip语 法:

    unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目 录>][-x <文件>] 或 unzip [-Z]

    补充说明:unzip为.zip压缩文件的解压缩程序。

   

    unzip参 数:
    -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
    -f 更新现有的文件。
    -l 显示压缩文件内所包含的文件。
    -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
    -t 检查压缩文件是否正确。
    -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
    -v 执行是时显示详细的信息。
    -z 仅显示压缩文件的备注文字。
    -a 对文本文件进行必要的字符转换。
    -b 不要对文本文件进行字符转换。
    -C 压缩文件中的文件名称区分大小写。
    -j 不处理压缩文件中原有的目录路径。
    -L 将压缩文件中的全部文件名改为小写。
    -M 将输出结果送到more程序处理。
    -n 解压缩时不要覆盖原有的文件。
    -o 不必先询问用户,unzip执行后覆盖原有文件。
    -P<密码> 使用zip的密码选项。
    -q 执行时不显示任何信息。
    -s 将文件名中的空白字符转换为底线字符。
    -V 保留VMS的文件版本信息。
    -X 解压缩时同时回存文件原来的UID/GID。
    [.zip文件] 指定.zip压缩文件。
    [文件] 指定要处理.zip压缩文件中的哪些文件。
    -d<目录> 指定文件解压缩后所要存储的目录。
    -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
    -Z unzip -Z等于执行zipinfo指令

举例:

将/home/Blinux/html.zip解压到当前目录

猜你喜欢

转载自0609xiaohua.iteye.com/blog/1277754