Ein Befehl zum Suchen mit mehreren Argumenten?


0

Ich muss einen einzelnen findBefehl entwickeln, der Folgendes sucht:

  • Alle C # - oder Java-Programme
  • Befindet sich im Home-Verzeichnis des aktuellen Benutzers
  • Haben Sie mindestens einen festen Link
  • Für alle lesbar
  • Haben Sie mindestens ein Schreibbit gesetzt
  • Für niemanden ausführbar

Ich habe Antworten für alles außer dem letzten Kriterium gefunden und hier ist mein Code:

find /home -name "*.c" "*.java" -links 1 (-perm -a=r -a -perm -a=!x)

Ich halte es nicht wirklich für richtig und es ist unvollständig. Hilfe?

Antworten:


1
find $HOME \(-name '*.java -o -name '*.c' \) \    # home directory && filenames
      -link +0                               \    # one or more hard links
      ! -perm -111                           \    # not executable by anybody  -111 means "any of" 
       -perm /444                            \    # at least one write bit set
       -perm 666                                 # ugo read

Sie können dies wieder zu einer längeren, schwerer lesbaren Zeile zusammenfassen. Ich habe es ausgebrochen, um es lesbar zu machen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.