删除vi编辑异常生成.test.java.swp文档的方法
在linux下用vi或vim打开Test.java文件时
[[email protected] tmp]# vi Test.java
出现了如下信息:
E325: ATTENTION
Found a swap file by the name ".Test.java.swp" owned by: root dated: Wed Dec 713:52:562011 file name: /var/tmp/Test.java
modified: YES
user name: root host name: localhost
process ID: 26153 (still running)
While opening file "Test.java" dated: Wed Dec 714:00:462011 NEWER than swap file!
(1) Another program may be editing the same file.
Ifthis is the case, be careful not to end up with two
different instances of the same file when making changes.
Quit, orcontinue with caution.
(2) An edit session forthis file crashed.
Ifthis is the case, use":recover"or"vim -r Test.java"to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".Test.java.swp"to avoid this message.
"Test.java"11L, 237C
Press ENTER or type command to continue
原因是在此次vi或vim操作前有过一次使用vi或vim 操作Test.java文件时出现了异常中断,所以在当前目录下产生了一个.Test.java.swp文件,这个文件使用ls命令查看不能发现,使用ls -a命令查看可以知道Test.java.swp是一个隐藏文件。
注:以.开头的文件就是隐藏文件
想要不再有上面的警告提示,把该文件删除即可:
[[email protected] tmp]# rm .Test.java.swp
rm: remove regular file `.Test.java.swp‘? y
[[email protected] tmp]#
使用vi或vim编辑其他文件出现类似情况的处理方法一样可以。5chmod命令详解
linux chmod命令是在日常运维中比较常用的命令之一,对文件管理比较重要,如设置web目录时需设置特定的权限以保证服务器安全。
提示:在写完shell脚本后,我们一般需要给这脚本设置权限:chmod a+x shell.sh
有很多人,特别是搞开发的程序员,不懂权限,对程序及目录直接给予chmod -R 777 file,这种最高级的权限,对服务器安全会造成很大的安全隐患,一般不建议这样设置,在线上服务器上,可配置chown来设置web目录权限,如对用户上传图片的目录设置为web执行用户者的权限,对需要用程序操作的web中目录,也同样的设置:chown -R apache:apache web,其它只读的文件或目录,保持root权限即可,这样可以增加服务器安全性
linux命令 : chmod
使用权限 : 所有用户
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的文件调用权限分为三级 : 文件拥有者[属主]、属组、其他用户。利用 chmod 可以控制文件如何被他人所调用。
与chmod相关的命令:chown,umask,
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该文件的拥有者[user],
g 表示与该文件的拥有者属于组(group),
o 表示其他用户[other],
a 表示这三者皆是[all]。(常用)
+ 表示增加权限、(常用)
- 表示取消权限、(常用)
= 表示唯一设定权限。
r 表示有可读取的权限,
w 表示有可写入的权限,
x 表示有可执行的权限,
X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更 (常用)
--help : 显示帮助
--version : 显示版本
r=4,
w=2,
x=1
rwx属性则4+2+1=7;
rw-属性则4+2=6;
r-x属性则4+1=5。
[[email protected] linux]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 29 14:50 linuxyw
-rw-r--r-- 1 root root 36 Apr 27 23:40 linuxyw.com
-rw-r--r-- 1 root root 0 Apr 29 14:46 www.linuxyw.com
示例:给文件修改所有为所有人可读权限:
chmod ugo+r linuxyw.com
或
chmod a+r linuxyw.com
给文件修改所有为所有人可执行权限:
chmod a+x linuxyw.com
给文件修改所有为文件属主用户可执行权限:
chmod u+x linuxyw.com
把linuxyw目录下的文件设置为所有人可执行权限:
chmod -R a+x linuxyw/
把linuxyw目录下的文件全部设置为755权限:
chmod -R 755 linuxyw/
取消linux目录下的所有文件可写权限:
chmod -R a-w linuxyw/
先看一下文件的权限格式先看一下文件的权限格式
[[email protected] linux]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 29 14:50 linuxyw
-rw-r--r-- 1 root root 36 Apr 27 23:40 linuxyw.com
-rw-r--r-- 1 root root 0 Apr 29 14:46 www.linuxyw.com
ll的结果返回七列,分别表示如下含义:
第一栏 [文件属性]
第二栏 [文件数]
第三栏 [拥有者]
第四栏 [所有者群组]
第五栏 [大小]
第六栏 [建档日期]
第七栏 [档名]
我们设置文件的权限就是这是第一栏里的文件属性。
文件属性这块共有十个字段,如:drwxr-xr-x
我们把这10个列分成4块:[d] [rwx] [r-x] [r-x]
第一块:也就是第一列,用来表示这个文件的类型,有如下值:
(1)[ d ]则是目录,我这里的是d,表示的是一个目录
(2)[ - ]则是文件;
(3)[ l ]则表示为连结档(link file);
(4)[ b ]则表示为装置文件里面的可供储存的接口设备;
(5)[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
第二块:第 2到4 列,表示文件拥有者的权限。
第三块:第5到7 列,表示拥有者同组人的权限。
第四块:第8到10列,表示是非拥有者组人的权限。
这些权限均有[rwx] 三个参数表示,而且分别对应不同的位置。每块由3个列组成,每列对应一个值。 [ r ]代表可读、[ w ]代表可写、[ x ]代表可执行。
举例: 如果拥有者只有只读的权限,那么第2到4列就是[r--],有读写的权限就是[rw-],有读写和执行的权利就是[rwx].
使用数字赋权的命令格式如下:
chmod abc filename
其中的abc 分别代表3个数字,并且分别对应问个不同的属组。 即:
数字a 对应 第2到4位,表示拥有者的权限。
数字b 对应 第5到7位,表示同组用户的权限。
数字c 对应第8到10位,表示其他组的权限。
rwx 对应4,2,1. 那么只读的权限用4表示[r--],读写用6(4+2)表示[rw-],写加执行用7(4+2+1)表示[rwx]。 只读加执行用5(4+1)表示[r-x]。
示例:
chmod 755 file1
chmod 777 file1 <==> chmod a=rwx file
chmod 771 file <==> chmod ug=rwx,o=x file