Puncte:0

Permisiune refuzată Grep

drapel ru

Termin o temă de școală și se bazează în mare parte pe un caz de crimă. Am descărcat fișierele personalizate și acum caut cuvinte cheie în fișiere. Întrebarea la care răspund acum este: "Căutați un fișier care conține textul âapt. nu.â pentru a găsi aceste informații".

Sunt destul de nou în Linux și acum primesc Acces refuzat ori de câte ori introduc următoarea comandă:

grep -inr apt.nr

Orice ajutor cu privire la cum să remediați acest lucru ar fi foarte apreciat. Fișierul pe care îl caut conține apt.nr text din fișier.

bbcharlieca@myvm:~$ grep -inr apt.no.
.viminfo:92:|2,1,1635317358,47,"apt.no"
.viminfo:92:|2,1,1635317355,47,"apt.no"
grep: nano.save: Permisiune refuzată
bbcharlieca@myvm:~$ â

introduceți descrierea imaginii aici

Mark Kirby avatar
drapel cn
Trebuie să rulați comanda ca root `sudo grep -inr apt.no`
Lostinthesauce avatar
drapel ru
Cum aș accesa fișierul acum pe baza informațiilor pe care le-am primit?
Lostinthesauce avatar
drapel ru
A mers bine, dar sunt confuz cu privire la modul în care acest lucru mă ajută să găsesc unde fișierul sau care este numele fișierului.
Mark Kirby avatar
drapel cn
Prin ce căutați mai exact, niște fișiere personalizate? Comanda pentru mine returnează o listă de fișiere, puteți explica exact ce încercați să obțineți?
drapel st
@MarkKirby: Vă rog, *nu* învățați oamenii să ridice în mod reflex privilegiile ori de câte ori se confruntă cu o problemă. În schimb, ar trebui să *înțeleagă* problema și să o *remedieze*. În mod clar, OP a întâlnit un fișier la care cred că ar trebui să aibă acces, dar nu l-au avut. Este periculos să-i înveți să *ocolize* restricțiile de acces. Mai degrabă, ar trebui să investigheze care este problema: sunt greșite restricțiile de acces? Sau poate este greșită credința lor că *ar trebui să aibă acces*? Cei doi au soluții *foarte* diferite și *niciunul* nu include re-rularea fără minte a programului cu sudo
Lostinthesauce avatar
drapel ru
Termin o temă de școală și se bazează în mare parte pe un caz de crimă. Am descărcat fișierele personalizate și acum caut cuvinte cheie în fișiere. Întrebarea la care răspund acum este: **Căutați un fișier care conține textul âapt. nu.â pentru a găsi aceste informații.**
Mark Kirby avatar
drapel cn
@JörgWMittag Nu sugerez asta fără minte, este o comandă grep simplă, ai fost foarte precaut, nu va dăuna OP.
drapel st
@MarkKirby: Sunteți convins că OP înțelege pe deplin și complet ce face comanda pe care o execută, ce înseamnă mesajul de eroare pe care îl primesc, cum și de ce, *exact* comanda pe care o execută eșuează, cum și de ce, *exact * comanda pe care o execută este sigură și cum și de ce, *exact* comanda pe care le-ați sugerat este sigură? Eu, sincer să fiu, nu sunt.Ceea ce i-ați învățat, în esență, sunt două lucruri: 1) puteți rezolva orice problemă apăsând „sudo” în fața ei și 2) rularea unui cod pe care nu îl înțelegeți sugerat de un tip aleatoriu de pe Internet este perfect.
drapel st
Problema fundamentală aici este că OP încearcă să acceseze un fișier la care se așteaptă să aibă acces, dar nu. Acest lucru poate avea multe cauze principale diferite: așteptarea OP este greșită (nu ar trebui să aibă acces, iar eroarea este corectă), restricțiile de acces sunt greșite (ar trebui să aibă acces și permisiunile sunt greșite), acestea sunt nu accesează fișierul pe care cred că îl accesează și multe alte posibilități. Toate aceste probleme diferite au soluții posibile diferite cu compromisuri diferite. Fără a înțelege care este problema, nu este posibil să o rezolvi.
drapel st
Am văzut nenumărate întrebări pe [ubuntu.se], [unix.se], [su], [so], [apple.se] și altele, în care oamenii au suferit pierderi economice sau emoționale substanțiale prin ștergerea sau distrugerea accidentală a datelor care a fost valoroasă din punct de vedere economic sau emoțional, pur și simplu pentru că au fost condiționate să poată remedia orice eroare pe care nu o înțeleg, pălmuind „sudo” în fața a ceea ce încearcă să alerge. Ceea ce, într-adevăr, de obicei *face ca eroarea să dispară*, dar nu face nimic pentru a *remedia problema*.
Puncte:5
drapel fi

The -r steag la grep îi cere să caute în fiecare fișier din directorul curent și în toate subdirectoarele. (Puteți afla despre -r, -i-, și -n citind documentația, om grep.)

Comanda s-a potrivit apt.nr. în dosar .viminfo, și a tipărit liniile potrivite. Observați în text că spuneți că doriți să căutați apt.nr dar în captura de ecran (ugh; mult mai bine să copiați și să lipiți ca text) ați tastat de fapt apt.nr. cu un punct final. În plus, instrucțiunile tale par să dorească să cauți apt. Nu. (cu un spațiu). Fii conștient că cu grep, punctul este un caracter wildcard care se va potrivi orice personaj, iar dacă căutați text care conține un spațiu, acesta trebuie sa* fi plasat în ghilimele.Poate ați vrut să rulați această comandă, care caută șirul literal apt. Nu. fără nicio potrivire cu wildcard?

grep -rF 'apt. Nu.'

Ta grep de asemenea, a încercat să caute fișierul nano.salvare, dar se pare că acesta fie nu este deținut de dvs., fie ați eliminat permisiunile de citire de pe acesta. Dacă fișierul se află în propriul director principal, probabil că ați putea elimina în siguranță acest fișier (rm nano.salvare). Dacă se află într-o zonă comună, fie va trebui să trăiți cu mesajul de eroare, excludeți-l în mod explicit din grep, sau spuneți shell-ului să o arunce toate mesaje de eroare de la comanda:

grep -Fr 'apt. Nu.' # Traieste cu asta
grep -Fr --exclude='nano.save' 'apt. Nu.' # Excludeți fișierul numit
grep -Fr 'apt. Nu.' 2>/dev/null # Aruncă *toate* mesajele de eroare

Dacă aveți permisiuni de rădăcină, puteți căuta cu acele permisiuni, dar săriți la nivelul rădăcină ar trebui să faceți cu grijă; nu există aproape nicio restricție dacă rulați ca root:

sudo grep -Fr 'apt. Nu.' # Rulați ca root

* Dacă nu este plasat între ghilimele, trebuie să scăpați de fiecare apariție a unui caracter special, cum ar fi un spațiu. Nu am de gând să fac asta aici.

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.