
不清楚是否修改执行权限成功或者是否拥有执行权限,可以先通过以下方法查看:
查看该文件的权限: ls -l
看看是不是消并升有-rwx------
#第一个"-" :标识文件类型,在这里你应该显示的是 - 普通文件
d :目录
- :文件
l :链接
s :socket
p :named pipe
b :block device
蔽明 c :character device
#后面的9位:
分别对应 文件所有者的权限,文件所属组的权限 和其他用户对文件的权限
检查看看你登陆的用户是否为文件所有者,并且拿老是否拥有x权限
1. 开机启动时自动运行程念岩序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在仔陆御
/etc/rc或
/etc/rc.d 或
/etc/rc?.d
目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。
2. 登录时自动运行程序
用户登录时,bash先自动执行系统管理员建立的全局登录script :
/ect/profile
然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:
/.bash_profile、
/.bash_login、
/.profile,
但只执行最先找到的一个。因此,只需悉判根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。结果朋友发来一个执行结迅含陆果:(test正在运行老哪中)# cp test2 testcp: cannot create regular file `test': Text file busy看起来是程序被占用,无法覆盖。于是自己又再做了几个实验:(1)先rm删除正在运行的test,然后cp test2 test就没有错误了。(2)先mv改名正在运行的test,然后cp test2 test也没有问题。查了查资料并动手分析了一下,找到了比较满意的解释。cp并不改变目标文件的inode,事实上它的实现是这样的:# strace cp test2 test 2&1 | grep open.*testopen("test2", O_RDONLY|O_LARGEFILE) = 3Linux由于Demand Paging机制的关系,必须确保正在运行中的程序镜像(注意,并非文件本身)不被意外修改,因此亩顷内核在启动程序后会锁定这个程序镜像的inode。这就是为什么cp在用“O_WRONLY|O_TRUNC”模式open目标文件时会失败。而先rm再cp的话,新文件的inode其实已经改变了,原inode并没有被真正删除,直到内核释放对它的引用。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)