linux cp -df,【已搞懂】cp: cannot create symbolic link XXX Operation not permitted + 用mount或 df -T可查得某个文件...

【已搞懂】cp: cannot create symbolic link XXX Operation not permitted + 用mount或 df -T可查得某个文件夹是什么文件系统的

【背景】

在Linux下,将某个目录及其下所有文件拷贝到另外一个目录,结果拷贝过程中出错:

cp: cannot create symbolic link `/mnt/linuxdev/Focus/carifan/kernel/2007R1/Bfin_425/linux-2.6.x/Focus/include/asm’: Operation not permitted

【解决过程】

网上搜了下,得知,此处不能创建符号链接,主要有两种可能,

1.没有权限

此处已经保证包括的源和目的地,都是由权限操作的,排除此原因。

2.目标文件系统不支持符号链接

此处经过去查看目标文件夹,是什么文件系统的,查得是smbfs:

[e516537@RD-Linux-2420 ~]$ls /mnt/linuxdev/Focus/carifan/kernel/2007R1/Bfin_425 -ltotal 4

drwxrwxrwx  1 root RandD 4096 Aug 26 01:47 linux-2.6.x

[e516537@RD-Linux-2420 ~]$ ls /usr/src/blackfin/ADI_release/kernel/2007R1/carifan_Bfin_425 -ltotal 224

drwxr-xr-x   11 e516537 root  4096 Aug 23 02:52 bfin_patch

-rwxr-xr-x    1 e516537 root  4023 Aug 23 01:22 bfin-serial-handle-status.patch

。。。

drwxr-xr-x   29 e516537 root  4096 Aug 23 23:39 linux-2.6.x

-rw-r–r–    1 e516537 root 13648 Aug 23 01:36 Makefile

。。。

drwxr-xr-x   66 e516537 root  4096 Aug 23 02:56 vendors

[e516537@RD-Linux-2420 ~]$ mount

/dev/sda5 on/ type ext3 (rw)

none on /proc type proc (rw)

none on /sys type sysfs (rw)

none on /dev/pts type devpts (rw,gid=5,mode=620)

usbfs on /proc/bus/usb type usbfs (rw)

/dev/sda3 on /boot type ext3 (rw)

none on /dev/shm type tmpfs (rw)

/dev/sdb1 on /newdisk type ext3 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

//nj55w2572/LinuxDev on /mnt/beta/linuxdev type smbfs (0)

nfsd on /proc/fs/nfsd type nfsd (rw)

/dev/sdc1 on /mnt/USBext type ext2 (rw)

[e516537@RD-Linux-2420 ~]$ df -TFilesystem    Type   1K-blocks      Used Available Use% Mounted on

/dev/sda5     ext3   233918968 123418360  98618136  56%//dev/sda3     ext3      194449     23555    160854  13% /boot

none         tmpfs      516604         0    516604   0% /dev/shm

/dev/sdb1     ext3   307663800 177760488 114274880  61% /newdisk

//nj55w2572/LinuxDev             smbfs   1120894976 1046872064  74022912  94% /mnt/beta/linuxdev/dev/sdc1     ext2   961432072 961432072         0 100% /mnt/USBext

[e516537@RD-Linux-2420 ~]$ ls /mnt/ -ltotal 64

drwxr-xr-x  5 root  root   4096 Feb  7  2007 beta

drwxr-xr-x  2 rddev RandD  4096 Apr 19  2006 betalinuxdev

drwxr-xr-x  3 root  root   4096 May 14  2007 bwfile02

lrwxrwxrwx  1 root  root     13 Feb  8  2007 linuxdev -> beta/linuxdevlrwxrwxrwx  1 root  root     12 Jan  2  2007 _linuxdev.backup -> betalinuxdev

drwxr-xr-x  2 root  root   4096 Nov  7  2005 RP

drwxr-xr-x  2 root  root   4096 Jul 27  2009 test1

drwxr-xr-x  3 root  root  16384 Aug 20 00:00 USBext

即,源文件夹是 /usr/src/blackfin/ADI_release/kernel/2007R1/carifan_Bfin_425,属于/目录下面,对应的是ext3,因此本身是支持符号链接的,而目标文件夹是 /mnt/linuxdev/Focus/carifan/kernel/2007R1/Bfin_425 属于/mnt下面的linuxdev,即/mnt/beta/linuxdev,属于smbfs,是通过SMB共享出来的目录,那对应的原始文件夹//nj55w2572/LinuxDev,看来应该是从某个Windows服务器共享过来的,文件系统是FAT或NTFS的,所以不支持符号链接。

即,此处拷贝的源文件夹是支持符号链接,要拷贝到的目标文件夹,不支持符号链接,所以才会报错。但知道原因,也无法解决,因为此处又不能更换smbfs。。。。

【用mount或 df -T可查得某个文件夹是什么文件系统的】

从上面可知,通过mount或df -T 可以查得某个文件夹是什么文件系统的:[e516537@RD-Linux-2420 ~]$ mount

/dev/sda5 on/type ext3(rw)

none on /proc type proc (rw)

none on /sys type sysfs (rw)

none on /dev/pts type devpts (rw,gid=5,mode=620)

usbfs on /proc/bus/usb type usbfs (rw)

/dev/sda3 on /boot type ext3 (rw)

none on /dev/shm type tmpfs (rw)

/dev/sdb1 on /newdisk type ext3 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

//nj55w2572/LinuxDev on /mnt/beta/linuxdev type smbfs (0)

nfsd on /proc/fs/nfsd type nfsd (rw)

/dev/sdc1 on /mnt/USBext type ext2 (rw)

[e516537@RD-Linux-2420 ~]$ df -TFilesystem    Type   1K-blocks      Used Available Use% Mounted on

/dev/sda5     ext3  233918968 123418360  98618136  56%//dev/sda3     ext3      194449     23555    160854  13% /boot

none         tmpfs      516604         0    516604   0% /dev/shm

/dev/sdb1     ext3   307663800 177760488 114274880  61% /newdisk

//nj55w2572/LinuxDev

smbfs   1120894976 1046872064  74022912  94% /mnt/beta/linuxdev

/dev/sdc1     ext2   961432072 961432072         0 100% /mnt/USBext

即,知道你要查询的文件夹,比如

/usr/src/blackfin/ADI_release/kernel/2007R1/carifan_Bfin_425

很明显,其是属于根目录/下面的某个文件夹,

而根目录/对应的文件系统是ext3,所以,得知此文件夹是ext3的文件系统的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值