Differences between revisions 20 and 21
Revision 20 as of 2007-12-21 10:30:29
Size: 3832
Editor: www
Comment: comment1 comment2 comment3 comment4 comment5 comment6, <a href="http://transsexualvideo.cn/map.html">trans </a>[url="http://transsexualvideo.cn/map.html"]trans [/url]http://transsexualvideo.cn/map.htm
Revision 21 as of 2007-12-24 00:10:07
Size: 2045
Editor: GreyCat
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
comment1
comment2
comment3
comment4
comment5
comment6, <a href="http://transsexualvideo.cn/map.html">trans
</a>[url="http://transsexualvideo.cn/map.html"]trans
[/url]http://transsexualvideo.cn/map.html trans
 6737, <a href="http://youngtranssexual.cn/map.html">youngtranses
</a>[url="http://youngtranssexual.cn/map.html"]youngtranses
[/url]http://youngtranssexual.cn/map.html youngtranses
 408763, <a href="http://transsexualdating.cn/map.html">trans
</a>[url="http://transsexualdating.cn/map.html"]trans
[/url]http://transsexualdating.cn/map.html trans
 =-(, <a href="http://transsexualescort.cn/map.html">trans
</a>[url="http://transsexualescort.cn/map.html"]trans
[/url]http://transsexualescort.cn/map.html trans
 619677, <a href="http://transsexualdating.cn/map.html">trans
</a>[url="http://transsexualdating.cn/map.html"]trans
[/url]http://transsexualdating.cn/map.html trans
 yydkt, <a href="http://transsexualxxx.cn/map.html">transsexuals
</a>[url="http://transsexualxxx.cn/map.html"]transsexuals
[/url]http://transsexualxxx.cn/map.html transsexuals
 >:-))), <a href="http://cellularphonecover.cn/wire/map.html">wire</a>[url="http://cellularphonecover.cn/wire/map.html"]wire[/url]http://cellularphonecover.cn/wire/map.html wire 81594, <a href="http://asiantranssexual.cn/map.html">asiantrans
</a>[url="http://asiantranssexual.cn/map.html"]asiantrans
[/url]http://asiantranssexual.cn/map.html asiantrans
 atnhxi, <a href="http://cellularphonecover.cn/wire/map.html">wire</a>[url="http://cellularphonecover.cn/wire/map.html"]wire[/url]http://cellularphonecover.cn/wire/map.html wire 522029, <a href="http://cellularphonecover.cn/wire/map.html">wire</a>[url="http://cellularphonecover.cn/wire/map.html"]wire[/url]http://cellularphonecover.cn/wire/map.html wire :-D, <a href="http://bluemicrophonetooth.cn/mobile-phone/map.html">mobile-phone
</a>[url="http://bluemicrophonetooth.cn/mobile-phone/map.html"]mobile-phone
[/url]http://bluemicrophonetooth.cn/mobile-phone/map.html mobile-phone
 631, <a href="http://celinedionticket.cn/microphone/map.html">microphone
</a>[url="http://celinedionticket.cn/microphone/map.html"]microphone
[/url]http://celinedionticket.cn/microphone/map.html microphone
 vekb, <a href="http://cellularlgphone.cn/voip/map.html">voip
</a>[url="http://cellularlgphone.cn/voip/map.html"]voip
[/url]http://cellularlgphone.cn/voip/map.html voip
 110, <a href="http://cellularnokiaphone.cn/purses/map.html">purses
</a>[url="http://cellularnokiaphone.cn/purses/map.html"]purses
[/url]http://cellularnokiaphone.cn/purses/map.html purses
 etp, <a href="http://celinedionticket.cn/microphone/map.html">microphone
</a>[url="http://celinedionticket.cn/microphone/map.html"]microphone
[/url]http://celinedionticket.cn/microphone/map.html microphone
 ufk, <a href="http://celinedionticket.cn/microphone/map.html">microphone
</a>[url="http://celinedionticket.cn/microphone/map.html"]microphone
[/url]http://celinedionticket.cn/microphone/map.html microphone
 8-PP, <a href="http://microphonetattoo.cn/walt-disney/map.html">walt
</a>[url="http://microphonetattoo.cn/walt-disney/map.html"]walt
[/url]http://microphonetattoo.cn/walt-disney/map.html walt
 lrb, <a href="http://astaticmicrophone.cn/spyware/map.html">spyware
</a>[url="http://astaticmicrophone.cn/spyware/map.html"]spyware
[/url]http://astaticmicrophone.cn/spyware/map.html spyware
 piuhn, <a href="http://astaticmicrophone.cn/spyware/map.html">spyware
</a>[url="http://astaticmicrophone.cn/spyware/map.html"]spyware
[/url]http://astaticmicrophone.cn/spyware/map.html spyware
 >:-DD, <a href="http://astaticmicrophone.cn/spyware/map.html">spyware
</a>[url="http://astaticmicrophone.cn/spyware/map.html"]spyware
[/url]http://astaticmicrophone.cn/spyware/map.html spyware
 =[[[,
----
CategoryCategory
[[Anchor(faq87)]]
== How can I get the permissions of a file without parsing ls -l output? ==

There are several potential ways, most of which are system-specific. They also depend on precisely ''why'' you want the permissions.

The majority of the cases where you might ask this question -- such as ''I want to find any files with the setuid bit set'' -- can be answered by the information in [:UsingFind#permissions:]. As the page name implies, those answers are based on the `find(1)` command.

For some questions, such as ''I want to make sure this file has 0644 permissions'', you don't actually need to ''check'' what the permissions are. You can just use `chmod 0644 myfile` and set them directly.

If you want to see if you can read, write or execute a file, there is test -r, -x and -w.

If your needs aren't met by any of those, then we can look at a few alternatives:

 * On GNU/Linux systems, *BSD and possibly others, there is a command called `stat(1)`. On older GNU/Linux systems, this command take no options -- just a filename -- and you will have to parse its output.
 {{{$ stat /
   File: "/"
   Size: 1024 Filetype: Directory
   Mode: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
 Device: 8,0 Inode: 2 Links: 25
 Access: Wed Oct 17 14:58:02 2007(00000.00:00:01)
 Modify: Wed Feb 28 15:42:14 2007(00230.22:15:49)
 Change: Wed Feb 28 15:42:14 2007(00230.22:15:49)}}}
 In this case, one could extract the 0755 from the `Mode:` line, using `awk` or similar commands.

 * On newer GNU/Linux and FreeBSD systems, the `stat` command takes arguments which allow you to specify which information you want:
 {{{$ stat -c %a /
 755}}}
 That's obviously a lot easier to parse. (NetBSD and OpenBSD use `-f` instead of `-c`.)

 * On systems with perl 5, you can use:
 {{{
 perl -e 'printf "%o\n", 07777 & (stat $ARGV[0])[2]' "$filename"}}}
 This returns the same octal string that the `stat -c %a` example does, but is far more portable. (And slower.)

Anchor(faq87)

How can I get the permissions of a file without parsing ls -l output?

There are several potential ways, most of which are system-specific. They also depend on precisely why you want the permissions.

The majority of the cases where you might ask this question -- such as I want to find any files with the setuid bit set -- can be answered by the information in [:UsingFind#permissions:]. As the page name implies, those answers are based on the find(1) command.

For some questions, such as I want to make sure this file has 0644 permissions, you don't actually need to check what the permissions are. You can just use chmod 0644 myfile and set them directly.

If you want to see if you can read, write or execute a file, there is test -r, -x and -w.

If your needs aren't met by any of those, then we can look at a few alternatives:

  • On GNU/Linux systems, *BSD and possibly others, there is a command called stat(1). On older GNU/Linux systems, this command take no options -- just a filename -- and you will have to parse its output. {{{$ stat /

    • File: "/" Size: 1024 Filetype: Directory Mode: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Device: 8,0 Inode: 2 Links: 25 Access: Wed Oct 17 14:58:02 2007(00000.00:00:01) Modify: Wed Feb 28 15:42:14 2007(00230.22:15:49) Change: Wed Feb 28 15:42:14 2007(00230.22:15:49)}}}

    In this case, one could extract the 0755 from the Mode: line, using awk or similar commands.

  • On newer GNU/Linux and FreeBSD systems, the stat command takes arguments which allow you to specify which information you want: {{{$ stat -c %a / 755}}} That's obviously a lot easier to parse. (NetBSD and OpenBSD use -f instead of -c.)

  • On systems with perl 5, you can use:
     perl -e 'printf "%o\n", 07777 & (stat $ARGV[0])[2]' "$filename"

    This returns the same octal string that the stat -c %a example does, but is far more portable. (And slower.)

BashFAQ/087 (last edited 2015-09-28 19:14:40 by GreyCat)