[分享]以管理员身份操作文件

重复贴和参考价值不大的帖子,版主维护
回复
头像
liujingjing5
帖子: 512
注册时间: 2006-10-12 1:21
送出感谢: 0
接收感谢: 0

[分享]以管理员身份操作文件

#1

帖子 liujingjing5 » 2008-01-10 21:57

有些文件必须以管理员身份操作,只有在终端里打命令,很麻烦。
本人初学shell,写了一个小脚本,可以在图形界面下以管理员身份复制剪切删除。将附件里的脚本文件复制到~/.gnome2/nautilus-scripts/。在右键->脚本 中即可见。
进入sudo文件夹。

代码: 全选

cp ./* ~/.gnome2/nautilus-scripts/

我也是新手,有bug的地方请见谅。
若想以管理员身份运行程序,请安装

代码: 全选

sudo apt-get install nautilus-gksu nautilus-open-terminal

PS:水平有限,将脚本贴出,粘贴重名时不知道如何改名,只能覆盖,请高手完善。

代码: 全选

#!/bin/bash
#复制
echo $PWD > ~/.gnome2/nautilus-scripts/copyfile
echo 0 >> ~/.gnome2/nautilus-scripts/copyfile
i=0
c=$#
while [ $i -lt $c ]
do
   echo $1 >> ~/.gnome2/nautilus-scripts/copyfile
   shift
   i=$[$i+1]
done

代码: 全选

#!/bin/bash
#粘贴
IFS="
"
todir='.'
i=1
function copy()
{
      if [ $sign -eq 0 ];then
         gksudo "cp -r $fromdir/$fromfile $todir/$tofile"
      else
         gksudo "mv -f $fromdir/$fromfile $todir/$tofile"
      fi
}
for recard in $(cat ~/.gnome2/nautilus-scripts/copyfile)
do
   if [ $i -eq 1 ];then
      fromdir=$(echo $recard | sed 's/\([ ]\+\)/\\ /g')
      i=$[$i+1]
   elif [ $i -eq 2 ];then
      sign=$recard
      i=$[$i+1]
   else
      recard=$(echo $recard | sed 's/\([ ]\+\)/\\ /g')
      fromfile=$recard      
      tofile=$recard
      copy
      gksudo chmod 755 $todir/$tofile
   fi
done

代码: 全选

#!/bin/bash
#删除
dir='.'
for file
do
   file=$(echo $file | sed 's/\([ ]\+\)/\\ /g')
   gksudo "rm -r $dir/$file"
done
附件
sudo.zip
(1.12 KiB) 下载 10 次
上次由 liujingjing5 在 2008-01-11 11:15,总共编辑 2 次。
tongttt
帖子: 444
注册时间: 2007-11-27 22:20
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 tongttt » 2008-01-11 10:47

学习一下。
回复

回到 “归档贴”