logo

Cum să faci script-ul executabil în Linux | Comanda chmod

În sistemele de operare Unix, chmod comanda este folosită pentru a schimba modul de acces al unui fișier. Numele este o abreviere a lui schimba modul . Care afirmă că fiecare fișier și director are un set de permisiuni care controlează permisiunile, cum ar fi cine poate citi, scrie sau executa fișierul. În aceasta, permisiunile au trei categorii: citire, scriere și execuție reprezentate simultan prin `r`, `w` și `x`. Aceste litere se combină împreună pentru a forma o permisiune specifică pentru un grup de utilizatori.

Comanda `chmod` este folosită pentru a modifica această permisiune, astfel încât să poată acorda sau restricționa accesul la directoare și fișiere. Să aruncăm o privire la sintaxa și opțiunile pentru comanda `chmod` din sistemul de operare Linux.

Cuprins



Sintaxa comenzii chmod

chmod [options] [mode] [File_name]>

Aici,

exemplu de listă în java
  • Opțiuni: Steaguri opționale care modifică comportamentulchmod>comanda.
  • Mod: Permisiunile care trebuie setate, reprezentate printr-un număr octal de trei cifre sau o notație simbolică (de exemplu, u=rw,go=rx).
  • Nume de fișier: Numele fișierului sau directorului pentru care urmează să fie modificate permisiunile.

Opțiuni disponibile în Chmod Command Linux

Opțiuni Descriere
`-R` Aplicați modificarea permisiunii în mod recursiv tuturor fișierelor și directoarelor din directorul specificat.
`-v` Acesta va afișa un mesaj pentru fiecare fișier care este procesat. în timp ce indică modificarea permisiunii care a fost făcută.
`-c` Funcționează la fel ca `-v` dar în acest caz afișează doar mesaje pentru fișierele a căror permisiune este modificată.
`-f` Ajută la evitarea afișării mesajelor de eroare.
`-h` Schimbați permisiunile legăturilor simbolice în locul fișierelor către care trimit.

Notă: Opțiuni în `chmod` sunt utilizate practic pentru a face modificări în bloc și pentru a modifica permisiunile în mai multe fișiere sau directoare simultan.

Moduri în comanda chmod în Linux

Modul ajută la setarea de noi permisiuni care trebuie aplicate fișierelor sau directoarelor.

Acest mod poate fi specificat în mai multe moduri, vom discuta despre două moduri: modul simbolic și modul octal.

1) Modul simbolic

Dacă vorbim de modul simbolic, putem spune că este cea mai comună metodă folosită pentru specificarea permisiunilor de brad. În aceasta trebuie să facem o combinație de scrisori și operatori pentru a seta sau a spune ce să facă cu permisiunile.

Următorii operatori pot fi utilizați cu modul simbolic:

Operatori Definiție
`+` Adăugați permisiuni
`-` Eliminați permisiunile
`=` Setați permisiunile la valorile specificate

Următoarele litere care pot fi folosite în modul simbolic:

Scrisori Definiție
`r` Permisiune de citire
`w` Permisiune de scriere
`x` Executați permisiunea

Următoarele referințe care sunt utilizate:

Referinţă Clasă
în Proprietar
g grup
O Alții
A Toate (proprietar, grupuri, alții)

Exemple de utilizare a modului simbolic:

  • Citiți, scrieți și executați permisiuni pentru proprietarul fișierului:
  chmod u+rwx [file_name]>
  • Eliminați permisiunea de scriere pentru grup și pentru alții:
  chmod go-w [file_name]>
  • Citiți și scrieți pentru proprietar și Numai citire pentru grup și altele:
  chmod u+rw,go+r [file_name]>

2) Modul octal

Este, de asemenea, o metodă de specificare a permisiunilor. În această metodă specificăm permisiunea folosind un număr din trei cifre. Unde..

  • Prima cifră specificați permisiunea pentru Proprietar.
  • A doua cifră specificați permisiunea pentru Grup.
  • A treia cifră specificați permisiunea pentru Alții. Cifrele

NOTĂ: Cifrele sunt calculate prin adăugarea valorilor permisiunilor individuale.

Valoare Permisiune
4 Permisiune de citire
2 Permisiune de scriere
1 Permisiune de executare

Exemple de utilizare a modului octal:

Să presupunem că dăm permisiunea de citire și scriere proprietarului fișierului. Permisiune de citire, scriere și executare pentru grup. Permisiune numai în citire pentru Celălalt. Ei ar fi comanda noastră.

 chmod 674 [file_name]>

Aici.

  • 6 reprezintă permisiunea Proprietarului fișierului care sunt (rw).
  • 7 reprezintă permisiunea Grupului care sunt (rwx).
  • 4 reprezintă permisiunea Altul care este (r).

Implementarea practică a modului de a face scriptul executabil în Linux

Înțelegerea execuției scripturilor în Linux

În Linux, scripturile sunt de obicei scrise în limbi precum Bash, Python sau Perl. Deși conținutul scriptului este esențial, asigurarea că are permisiuni executabile este la fel de importantă. Fără permisiuni de execuție, Linux nu va permite rularea scriptului.

Pasul 1: Navigați la Directorul Scriptului

Deschideți terminalul și utilizațicd>comandă pentru a naviga la directorul în care se află scriptul.

De exemplu:

cd /path/to/your/script>

Pasul 2: Verificați permisiunile curente

Folosiți ` ls`> comanda cu ` -l`> opțiunea de a lista fișierele din director împreună cu permisiunile acestora. Acest pas vă ajută să identificați permisiunile curente ale scriptului dvs.:

ls -l>
verificarea permisului curent

verificarea permisului curent

Pasul 3: Faceți scriptul executabil

Pentru a face un script executabil, trebuie să utilizați ` chmod`> comanda. Presupunând că scriptul tău este numit `example .sh`> , îl puteți face executabil cu următoarea comandă:

chmod +x example.sh>

Această comandă adaugă permisiunea de execuție (+x) la script.

Pasul 4: Verificați modificările

Rulați ` ls -l`> comanda din nou pentru a verifica dacă scriptul are acum permisiuni de execuție. Ar trebui să vedeți un „x” în câmpul de permisiuni pentru script:

ls -l>
verificarea modificărilor după ce a făcut scriptul executabil

verificarea modificărilor după ce a făcut scriptul executabil

are următorul java

Pasul 5: Executați Scriptul

Acum că scriptul are permisiuni executabile, îl puteți rula folosind ` ./`> notație urmată de numele scenariului. De exemplu:

./example.sh>
executa scriptul

executa scriptul

Această notație îi spune lui Linux să caute în directorul curent (.>) pentru scenariul numitexample.sh>.

Întrebări frecvente despre chmod – Întrebări frecvente

Cum pot vedea permisiunile curente ale unui fișier sau director?

ls -l>

toate permisiunile pe care le are un director curent

Pentru a vedea toate permisiunile pe care le are un anumit director sau fișier.

ls -l example>

a enumerat toate permisiunile pe care le are acest fișier.

Aici exemplu este un nume_fișier.

Care sunt diferitele tipuri de permisiuni în Linux și ce înseamnă acestea?

Există trei tipuri de permisiuni în Linux:

citit (`r`)

scrie (`w`)

a executa (`x`)

Acestea sunt aplicate pentru:

proprietar ('in')

grup (`g`)

alte (`o`)

medie vs medie

Ce este chmod 777, chmod 755 și chmod +x sau chmod a+x?

chmod 777 [file_name]>

Această comandă oferă tuturor celor trei permisiuni (proprietar, grup și altele)

chmod a+x [file_name]>

Face un fișier executabil pentru toată lumea. Este cea mai folosită comandă după ce instalăm un fișier executabil, mai trebuie să adăugăm o permisiune pentru a face din acesta un fișier executabil.

chmod 755 [file_name]>

În acest caz, proprietarul poate scrie, citi și executa un fișier, grup și alții pot citi și executa doar un fișier.

Cum putem anula modificările făcute de comanda chmod în Linux?

Pentru a anula sau a anula modificările făcute de comanda chmod în Linux, putem folosi `chmod` comanda din nou, dar de data aceasta ar trebui să menționăm permisiunea corectă pe care o dorim.

Iată pașii pentru a anula sau a anula modificările:

  • Determinați permisiunea corectă pe care o doriți și utilizați din nou comanda `chmod`.
    De exemplu: dacă dorim să refacem modificările la rw-r–r– (permisiunea de citire și scriere pentru proprietar, permisiunea de numai citire pentru grup și altele), în funcție de aceasta, valoarea noastră octală ar fi 644 (citire = 4, scrieți =2).
  • Acum deschideți directorul și scrieți comanda dată:
  chmod 644 [file_or_directory_name]>

Aici, în loc de [file_or_directory_name], folosiți numele fișierului sau directorului.

Să presupunem că numele nostru de fișier este a.txt

    Înainte de a reveni sau de a anula modificările:

    ls -l a.txt (utilizat pentru a afișa toate permisiunile pe care le are a.txt)

    După revenirea sau anularea modificărilor:

    Aici putem vedea că s-au făcut schimbări

    Concluzie

    The `chmod` comanda în Linux este folosită pentru a modifica permisiunile și modul de acces al fișierelor și directoarelor. Acestea sunt permisiunile care controlează cine poate citi, scrie și executa fișierul. Am discutat două tipuri de moduri de specificare a permisiunii: modul simbolic și modul octal. În modul simbolic, se utilizează litere și operatori pentru a specifica permisiunea. În timp ce octal are un număr din trei cifre pentru a specifica permisiunea. The `chmod` comanda oferă, de asemenea, câteva opțiuni pentru modificări în bloc, de exemplu: `-R` pentru recursive și `-v` și `-c` pentru afișarea mesajului. Concluzia generală este că `chmod` comanda în Linux este un instrument foarte esențial pentru gestionarea permisiunilor de fișiere și directoare.

    ?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L