Commands by davidsky1 (1)

  • Use: find . ! -readable -prune or more generally find ! -readable -prune -o -print to avoid "Permission denied" AND do NOT suppress (other) error messages AND get exit status 0 ("all files are processed successfully") Works with: find (GNU findutils) 4.4.2. Background: The -readable test matches readable files. The ! operator returns true, when test is false. And ! -readable matches not readable directories (&files). The -prune action does not descend into directory. ! -readable -prune can be translated to: if directory is not readable, do not descend into it. The -readable test takes into account access control lists and other permissions artefacts which the -perm test ignores. For find versions without -readable test, you can check permissions: find . ! -perm -g+r,u+r,o+r -prune Adapted from stackoverflow: http://stackoverflow.com/questions/762348/how-can-i-exclude-all-permission-denied-messages-from-find


    0
    find <paths> ! -readable -prune -o <other conditions like -name> -print
    davidsky1 · 2016-09-24 01:45:46 0

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands


Check These Out

print character classes
Today I needed a way to print various character classes to use as input for a program I was writing. Also a nice way to visualize character classes.

Poor man's unsort (randomize lines)

Edit Camera Model in metadata:

Print the last modified file

Block known dirty hosts from reaching your machine
Blacklisted is a compiled list of all known dirty hosts (botnets, spammers, bruteforcers, etc.) which is updated on an hourly basis. This command will get the list and create the rules for you, if you want them automatically blocked, append |sh to the end of the command line. It's a more practical solution to block all and allow in specifics however, there are many who don't or can't do this which is where this script will come in handy. For those using ipfw, a quick fix would be {print "add deny ip from "$1" to any}. Posted in the sample output are the top two entries. Be advised the blacklisted file itself filters out RFC1918 addresses (10.x.x.x, 172.16-31.x.x, 192.168.x.x) however, it is advisable you check/parse the list before you implement the rules

Which processes are listening on a specific port (e.g. port 80)
swap out "80" for your port of interest. Can use port number or named ports e.g. "http"

remove hostname from known_hosts

Console clock
Shows a simple clock in the console -t param removes the watch header Ctrl-c to exit

Which processes are listening on a specific port (e.g. port 80)
swap out "80" for your port of interest. Can use port number or named ports e.g. "http"

Show max lengths of all fields in a pipe delimited file with header row


Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: