This is the mail archive of the
mailing list for the Cygwin project.
Re: Conflict between Cygwin 1.7 and Ubuntu for Windows 14316
- From: Eliot Moss <moss at cs dot umass dot edu>
- To: cygwin at cygwin dot com
- Date: Wed, 13 Apr 2016 09:36:05 -0400
- Subject: Re: Conflict between Cygwin 1.7 and Ubuntu for Windows 14316
- Authentication-results: sourceware.org; auth=none
- References: <20160413052257 dot GB28803 at mercury dot ccil dot org> <CA+Fg1xY46ANusM1MeZozkQ1u0+AHwd=vJDoWo7867az3wxPNBQ at mail dot gmail dot com> <CACmJb3yHO_VhiDoyn33d+7R_rq8Bqco6VMuTdG622Bu2u52fHA at mail dot gmail dot com> <20160413131128 dot GA3162 at mercury dot ccil dot org>
- Reply-to: moss at cs dot umass dot edu
On 4/13/2016 9:11 AM, John Cowan wrote:
John, if you can confirm?
Please also provide the "cat /mnt/c/file1" and "cat /mnt/c/file2" from UoW.
From the Cygwin shell (note that my Cygwin and Windows home directories
are the same: /home/cowan is a Cygwin symlink to /cygdrive/c/Users/cowan):
$ echo stuff >file1
$ cat file1
$ ls -l file1
-rw-r--r--+ 1 cowan cowan 6 Apr 13 08:57 file1
c:\Users\cowan>echo stuff >file2
From UoW bash prompt:
root@localhost:~# cd /mnt/c/Users/cowan
root@localhost:/mnt/c/Users/cowan# cat file1
cat: file1: Permission denied
root@localhost:/mnt/c/Users/cowan# cat file2
root@localhost:/mnt/c/Users/cowan# ls -l file1 file2
-rwxrwxrwx 1 root root 6 Apr 13 12:57 file1
-rwxrwxrwx 1 root root 8 Apr 13 12:57 file2
As you can see, they look exactly the same but are different somehow.
What is more, if I use cmd.exe echo to append to file1 and Cygwin echo
to append to file2, it changes nothing. Likewise, if I overwrite them
completely, it changes nothing. Only if I remove them and re-create
them from the "wrong" side does file1 become readable and file2 become
This is 64-bit Windows on an NTFS file system, but 32-bit Cygwin. I'll
try installing Cygwin64 tonight and seeing if that makes any difference.
You can use the cygwin od (octal dump) command to see the exact byte contents
of the files. (Use od -c <file>.) I suspected that one difference was \r\n
line termination from Windows echo and \n termination from cygwin echo. That
did not explain the two byte difference in length, however. I tried it myself
and found that cmd's echo adds a space after "stuff". If I do:
c:\Users\moss> echo stuff> file1
(Note: no space before the > !)
It writes "stuff" without the extra space. The line termination is still \r\n.
cygwin's echo gets rid of the space (because bash trims it before passing the
"stuff" argument) and uses \n as the line terminator.
As for permissions issues, that would have to do with cygwin's permission
system, a rather different topic.
Perhaps you did not know that the two echo's are different?
Regards -- Eliot MOss
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple