GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit spustitelný soubor v terminálu Linux?

Každý soubor, který je v souborovém systému kompatibilním s POSIX (Ext4, Btrfs, XFS, JFS atd.), má přiřazeny „bity režimu“.

Aby byl soubor spustitelný v Linuxu, musí být povolen bit spustitelného režimu.

Pro nastavení bitu spustitelného režimu se příkaz chmod používá takto:

chmod u+x <file>

S tím můžete spustit uvedený soubor z terminálu:

./file

To bylo rychlé shrnutí. Podívejme se na věci trochu podrobněji.

Udělejte ze souboru spustitelný soubor v systému Linux

Existuje několik způsobů, jak vytvořit soubor spustitelný v Linuxu. Nejběžnější metody zahrnují použití chmod příkaz, různými způsoby.

Chcete-li zkontrolovat, zda můžete spustit soubor, použijte -l příznak pomocí ls příkaz.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

V prvním sloupci -rw-r--r-- znamená, že vlastník může číst a zapisovat, uživatelé ze skupiny mohou pouze číst a všichni ostatní mohou soubor pouze číst.

Všimněte si, že chybí x ze symbolů povolení. To znamená, že lhb.txt není spustitelný.

Vřele doporučuji přečíst si o oprávněních k souborům v Linuxu a oprášit si základy, abyste těmto příkazům lépe porozuměli.

Metoda 1:Vytvořte soubor spustitelný pro všechny

První a nejpřímější metoda je vytvořit soubor spustitelným pomocí následujícího příkazu:

chmod +x <file>

x příznak je nastavit nebo zrušit nastavení oprávnění ke spuštění souboru. A pomocí + znak před x znamená, že jej chceme nastavit jako spustitelný soubor.

Tím se soubor stane spustitelným pro vlastníka, skupinu a všechny ostatní. Kdokoli v systému jej bude moci také spustit.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod +x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Jak nyní vidíte, každý, vlastník, skupina a další mají spustitelný soubor x bitová sada. To znamená, že tento soubor nyní může spustit každý.

Metoda 2:Nastavení spustitelného souboru pouze pro určitého uživatele nebo skupinu

Pokud nechcete, aby každý mohl spustit soubor, měli byste před přidáním/odebráním oprávnění souboru zadat třídy.

Dostupné třídy jsou:

  • u :oprávnění pro vlastníka/uživatele
  • g :oprávnění pro skupinu
  • o :oprávnění pro ostatní
  • a :oprávnění pro všechny

Když zadáte třídu, syntaxe je většinou podobná té, kterou jste viděli v první metodě.

chmod <class>+x <file>

To znamená, že pokud chci, aby byl soubor spustitelný tak, aby jej mohl spustit pouze vlastník souboru a nikdo jiný, měl bych použít následující příkaz:

chmod u+x <file>

Zde je příklad:

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod u+x lhb.txt

$ ls -l lhb.txt
-rwxr--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Podobně, aby byl spustitelný pro každého ve skupině vlastnící tento soubor, měl bych použít následující příkaz:

chmod g+x <file>

Zde je příklad:

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod g+x lhb.txt
$ ls -l lhb.txt
-rw-r-xr--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Když zadáte a třídy, skoro jako byste žádnou neuvedli. Pojďme se podívat.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod +x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod 644 lhb.txt #reset permissions

$ chmod a+x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Tyto příkazy mohou vypadat odlišně, ale mají stejný výsledek.

Metoda 3:Použití osmičkových čísel

Pokud budete postupovat podle první metody, povolíte příznak spustitelného souboru pouze pomocí +x , takže jej může spustit kdokoli.

Někdy však možná nebudete chtít, aby každý spouštěl soubor, možná by měl potřebovat určitá oprávnění. V takovém případě můžete zadat úplnou sadu oprávnění.

To se obvykle provádí buď poskytnutím osmičkové hodnoty nebo symbolické hodnoty pro povolení souborových oprávnění.

To vám umožní mít podrobnější kontrolu nad nastavením příznaků. Níže je uvedena syntaxe pro použití osmičkové hodnoty s chmod příkaz:

chmod <octal> <file>

Pokud nejste dobří s čísly, můžete použít online kalkulačku chmod, která vám pomůže vygenerovat správné osmičkové hodnoty, a vyhnout se tak použití nesprávné hodnoty a zkreslení oprávnění k souboru.

Řekněme, že chci, aby byl soubor spustitelný pouze pro vlastníka a skupinu, nejprve potřebuji znát jeho aktuální oprávnění a přidat k němu spustitelné bity pomocí [chmod-calculator].

Podívejme se, jak to udělat.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod 754 lhb.txt

$ ls -l lhb.txt
-rwxr-xr--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Jak vidíte, soubor může spustit pouze vlastník a skupina.

Závěr

Tento článek popisuje vytvoření spustitelného souboru v systému Linux. Zaměřil se hlavně na různé způsoby použití chmod příkaz. Pokud se o tom chcete dozvědět více, máme několik příkladů, jak použít chmod příkaz.


Linux
  1. Jak zajistit, aby byly soubory a adresáře neodstranitelné, a to i přes kořen v Linuxu

  2. Jak spravovat možnosti souborů Linux

  3. Jak najít soubor v Linuxu

  1. Jak pěkně vytisknout soubor JSON v terminálu Linux

  2. Jak přejmenovat soubor v Linuxu?

  3. Jak udělat soubor řídký?

  1. Jak přesunout soubor v Linuxu

  2. Jak vytvořit soubor v Linuxu z okna terminálu?

  3. Jak zjistit, zda je linuxový binární soubor 32bitový nebo 64bitový?