Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 May 1996 14:01:38 +0100 (BST)
From:      <mac@nibsc.ac.uk>
To:        robin@is.co.za
Cc:        garth@dogbert.systems.sa.gov.au, questions@freefall.freebsd.org
Subject:   Re: running gag: chmod -R .\*
Message-ID:  <199605101301.OAA17256@chalsig.nibsc.ac.uk>
In-Reply-To: <199605100628.IAA02818@admin.is.co.za> from "Robin Lunn" at May 10, 96 08:28:13 am

next in thread | previous in thread | raw e-mail | index | archive | help
So far we have (among others):-

>
>   chmod -R 0644  `ls -A`
[Mine]


>> > Unless the argument list is too long.  :-(
>> > 
>> > 	ls -A | xargs chmod 0644 -R
[Nate's good point, and good fix]


>ls -A shows directory names with a : before listing the files.
[What do _you_ have 'ls' aliased to?]


>> Aah, but what about .files in subdirectories?
[already covered, '-R' is smart]

>> 
>>   #!/bin/csh
>>   foreach a (`find . -type d -print`)
>>     cd $a
>>     chmod 0644 `/bin/ls -1Ad`
>>   end
[ An over long fix for a non problem]


>> Note that find won't follow symlinked directories, which is probably a good 
>> thing.

[Agreed]


>find . -type f -exec chmod 0644 {} \;
>
>This finds all files and ignores directories like .. and such.  It doesn't
>depend on any shell either.

[Misses device specials etc. maybe a good thing, but we're here for the total
solution]


Which all brings me to my final thought.  Given that '-R' is smart about .files
in subdirectories listed on the command line, we can use this:-

chmod -R 0644 .

as a replacement for the otherwise excellent   ls -A | xargs chmod


Everyone happy now ?


                               Mac
          Assistant Systems Adminstrator @nibsc.ac.uk

                 mac@nibsc.ac.uk  (also postmaster)
 Work: 01707 654753 x 285               Everything else: 0956 237670 (any time)

P.S. small prize to the first person that spots the minute deliberate error in
this. Larger prize if they provide a fix that's still more elegant than Nate's
contribution.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605101301.OAA17256>