Puncte:3

find /bin -iname 'sh*' nu returnează niciun rezultat

drapel gg

Întrebarea este despre sintaxa lui găsi comanda

eu@222:~$ find /bin -iname 'sh*'

nu returnează niciun rezultat, în timp ce:

eu@222:/bin$ find -iname 'sh*'

Merge bine

informații de configurare: utilizarea chitului de la Windows la telecomandă în ubuntu 20 LTS.

De asemenea:
Aș dori să solicit o sintaxă pentru a vedea corect exact ce face găsirea. de exemplu, fișierele prin care parcurge, calea exactă sau șirul de nume de fișier cu care încearcă să se potrivească etc.

terdon avatar
drapel cn
Pentru bitul tău „de asemenea”, cred că cel mai bun pariu este să rulezi `set -x`, care măcar îți va arăta comanda exactă care se execută, după ce shell-ul a terminat de extins lucrurile. Totuși, nu ar fi ajutat prea mult în acest caz, deoarece deja dați căi exacte („*sh” va fi citit de „find”, nu este extins de shell).
eliu avatar
drapel gg
@terdon Îmi pare rău, am nevoie de mai multe informații aici, vorbim despre comportamentul „extindere wildcard” al lui `*`? Am oprit deja mina aia, așa că sunt bine. Cu toate acestea, acest `set -x`, nu văd o pagină de manual pentru el, ce este?
terdon avatar
drapel cn
Vezi `setul de ajutor`. Este un lucru bash care determină bash să imprime comanda extinsă pe care o va rula. Deci, de exemplu, dacă rulați `find /m* -name foo`, va afișa `find /media /mnt -name foo`.
Puncte:11
drapel hr

Pe sistemele Ubuntu recente, /cos este o legătură simbolică către /usr/bin ca rezultat al usrmerge, si găsi comanda nu urmează legăturile simbolice în mod implicit. Din omul găsi:

   -P Nu urmați niciodată link-uri simbolice. Acesta este comportamentul implicit.
          Când find examinează sau imprimă informații un fișier, iar fișierul este
          o legătură simbolică, informațiile utilizate vor fi preluate din
          proprietăţile verigii simbolice în sine.

   -L Urmați legăturile simbolice. [...]

   -H Nu urmați legăturile simbolice, decât în ​​timpul procesării comâ
          argumente ale liniei de comanda. Când găsiți, examinează sau imprimă informații
          despre fișiere, informațiile utilizate vor fi preluate din propâ
          proprietăţile verigii simbolice în sine. Singura excepție de la aceasta
          comportamentul este atunci când un fișier specificat pe linia de comandă este un symâ
          bolic link, iar linkul poate fi rezolvat. Pentru acea situație,
          informația folosită este preluată de la orice trimite linkul
          (adică se urmărește linkul). Informațiile despre link
          însuși este folosit ca alternativă dacă fișierul indicat de symâ
          linkul bolic nu poate fi examinat. Dacă -H este în vigoare și unul dintre
          căile specificate pe linia de comandă este o legătură simbolică către a
          director, conținutul acelui director va fi examinat
          (deși desigur -maxdepth 0 ar preveni acest lucru).

Probabil vrei

găsiți -H /bin -iname 'sh*'

sau

găsiți /usr/bin -iname 'sh*'

a urma /cos link simbolic, dar păstrați comportamentul implicit mai jos.

eliu avatar
drapel gg
SFÂNTĂ, FOARTE, foarte drăguță captură. mulțumesc. Cam explică motivul pentru care plasarea unor astfel de informații escoterice chiar în partea din față a paginii de manual.
user10489 avatar
drapel in
sau `find /bin/` pentru a-l forța să rezolve legătura simbolică către directorul său țintă, care face aproape același lucru ca `-H`
eliu avatar
drapel gg
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap03.html#tag_21_03_00_75

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.