GNU/Linux >> Znalost Linux >  >> Linux

Přizpůsobení příkazů souborového systému Linuxu

Síla linuxového terminálu spočívá v tom, že si své prostředí můžete rychle přizpůsobit tak, aby fungovalo lépe a tvrději podle vašich potřeb. Existuje mnoho různých způsobů, jak „hacknout“ váš terminál, z nichž některé jsou samy o sobě prakticky celými obory informatiky, ale existuje spousta malých triků pro začátečníky – zejména pokud jde o práci se souborovým systémem Linux. Základní informace naleznete v mém článku Správa souborů pomocí terminálu Linux.

Nejjednodušší způsob, jak přizpůsobit prostředí pracovního terminálu, je upravit jeho konfigurační soubor, který obsahuje vaše osobní nastavení prostředí. Bash (Bourne Again Shell ) je nejběžnější shell na Linuxu (včetně Red Hat Enterprise Linux a Fedory) a konfigurační soubor Bash je ~/.bashrc .

Vytvořte alias

Prvním snadným krokem k přizpůsobení je vytvoření aliasů. Aliasy vám umožňují definovat vlastní jednoduché příkazy nebo předefinovat ty stávající. Chcete-li přidat aliasy, upravte svůj soubor .bashrc v textovém editoru nebo je vytvořte přímo z terminálu pomocí echo příkaz.

Chcete-li například předefinovat ls příkaz tak, aby vždy používal --classify (-F ) a --almost-all (-a ), přidejte pravidlo pro alias do .bashrc a poté source (znovu si přečtěte a načtěte) změněný konfigurační soubor.

$ echo "alias ls='ls --classify --almost-all'" >> ~/.bashrc
$ source .bashrc
$ ls
bin/
Desktop/
despacer.sh
documentation.zip*
Documents/
Music/
Pictures/
Public/

Jakmile je alias vytvořen a znovu načten, ls příkaz bude vždy používat --classify možnost, abyste mohli odlišit soubory od složek a --almost-all možnost vyloučení tečkové a dvoutečkové notace. Existuje mnoho dalších možností pro ls příkaz. Viz ls manuál pro více informací zadáním:

$ man ls

Můžete vytvářet aliasy pro všechny druhy opakujících se jednoduchých úkolů. Složité operace mohou vyžadovat něco robustnějšího než alias, jako je skript shellu, ale aliasy jsou skvělý způsob, jak nechat prostředí pracovat za vás.

Přizpůsobte si koš

Otevřete řadu oken a vyhledejte soubor, který chcete vyhodit do koše. Přesuňte soubor do Koše nebo Bin ikonu na ploše. Až nashromáždíte dostatek koše a budete si jisti, že vše lze bezpečně odstranit z vašeho systému, přejděte do Koše a vyberte Vyprázdnit .

Ve výchozím nastavení není ve vašem terminálu žádný odpadkový koš, ale „odpadkový koš“ je jen další složku, která přijímá všechny soubory, které chcete případně odstranit. Data jsou stále tam, dokud je nevyprázdníte. Udělat to je triviální. S lekcemi, které jste se naučili v tomto článku, můžete pro svůj terminál vytvořit bezpečný a spolehlivý odpadkový systém.

Pokud váš počítač náhodou má plochu, jako je plocha GNOME na Red Hat Enterprise Linux a Fedora, pak už máte systémový koš umístěný na ~/.local/share/Trash/files . Na tuto složku můžete odkazovat přímo, nebo pro omezení psaní můžete na ni vytvořit symbolický odkaz:

$ ln --symbolic ~/.local/share/Trash/files ~/.trash

Pokud váš počítač nemá pracovní plochu, možná nemáte Koš složku, ale můžete ji vytvořit ručně. Odpadkový koš je ve skutečnosti jen další složka. Použijte mkdir příkaz s --parents (-p ) možnost vytvořit řadu složek v jednom příkazu:

$ mkdir --parents ~/.local/share/Trash/files
$ ln --symbolic ~/.local/share/Trash/files ~/.trash

Pokud chcete přesunout soubor nebo složku do koše, použijte mv příkaz jako obvykle:

$ mv oldfile.txt ~/.trash

Vytvořit lepší příkaz koše

Ještě hladší způsob použití Koše složka je napsat svůj vlastní nový příkaz s názvem trash , který přesune soubor do vašeho ~/.trash složka. Toto je pokročilé cvičení a představuje několik nových příkazů, ale možná vás překvapí, jak snadné je vytvořit si vlastní příkazy. V pouhých dvou řádcích kódu Bash si můžete navrhnout svůj vlastní osobní systém nakládání s odpady.

Než vytvoříte svůj vlastní příkaz, potřebujete místo pro uložení vlastních skriptů. Pro uživatele Linuxu je běžné udržovat ~/bin adresář, kde uchovávají osobní nástroje a binární spustitelné soubory. Toto ve výchozím nastavení neexistuje, ale můžete jej vytvořit a poté přidat do své cesty:

$ mkdir ~/bin
$ echo "export PATH=$PATH:$HOME/bin" >> ~/.bashrc
$ source ~/.bashrc

Nyní si můžete vytvořit svůj vlastní příkaz koše pomocí echo příkaz:

$ echo '#!/bin/sh' > ~/trash
$ echo 'mv "${@}" ~/.local/share/Trash/files' >> ~/trash

Případně můžete otevřít textový editor a zkopírovat a vložit do něj kód:

#!/bin/sh
mv "${@}" ~/.local/share/Trash/files

Uložte soubor jako ~/bin/trash .

První řádek tohoto skriptu deklaruje, jaká aplikace je nutná k jeho spuštění. V tomto případě první řádek určuje, že sh shell, umístěný v /bin adresář v kořenovém adresáři vašeho souborového systému. Koneckonců, toto je shell skript:řada příkazů shellu Bash v pořadí požadovaného provedení.

Druhý řádek používá mv ve spojení se speciální Bash proměnnou "${@}" , což znamená cokoli napsaného po příkazu . To umožňuje, aby jeden příkaz působil na několik souborů. Nebudete muset spouštět příkaz jednou pro každý soubor, jako je tento:

$ trash foo
$ trash bar
$ trash baz

Místo toho programujete svůj příkaz tak, aby rozpoznával několik argumentů najednou:

$ trash foo bar baz

Chcete-li potvrdit, že je váš skript shellu správný, použijte cat příkaz ke zřetězení obsahu souboru do výstupu vašeho shellu:

$ cat trash
#!/bin/sh
mv "${@}" ~/.local/share/Trash/files

Chcete-li, aby byl tento příkaz použitelný pro vás, použijte mv přesunout jej do adresáře s názvem ~/bin (tento adresář ve výchozím nastavení neexistuje, takže jej nejprve vytvořte):

$ mkdir ~/bin
$ mv trash ~/bin

Váš shell aktuálně vidí váš skript shellu jako soubor plný textu. Ještě jste počítači neudělili oprávnění, aby s vaším skriptem zacházel jako se spustitelným příkazem. Toto rozlišení je důležité, protože pokud by váš shell byl schopen provést vše jako příkaz bez vašeho výslovného povolení, pak by jakýkoli soubor ve vašem systému měl potenciál spustit libovolný kód (představte si, že všechny tabulky v důležité databázi zrušíte jen proto, že vy nebo jeden z vašich uživatelů kliklo na nesprávný soubor).

Chcete-li udělit oprávnění souboru, aby byl považován za spustitelný soubor, nastavte spustitelný bit v atributech souboru pomocí chmod (změnit režim) příkaz:

$ chmod +x ~/bin/trash

Nyní můžete soubor spustit jako příkaz. Vyzkoušejte to vytvořením souboru a přesunem tohoto souboru do koše:

$ echo "This is rubbish." >> rubbish.file
$ cat rubbish.file
This is rubbish.
$ ~/bin/trash rubbish.file

Pokud na svém počítači používáte stolní počítač, otevřete odpadkový koš a potvrďte, že rubbish.file je nyní ve vašem systémovém koši. Pokud nepoužíváte počítač, podívejte se do ~/.trash symbolický odkaz. Jako ad hoc filtr odešlete výstup ls příkaz přes rouru (| ), pomocí grep příkaz k vyhledání řetězce odpadky :

$ ls ~/.trash | grep rubbish
rubbish.file

Všimněte si však, že pomocí trash příkaz bez poskytnutí úplné cesty nedělá fungovat podle očekávání:

$ echo "This is more rubbish." >> rubbish2.file
$ trash rubbish2.file
bash: trash: command not found...

Je to proto, že ještě není ve vaší cestě ke spustitelnému souboru.

Řekněte svému shellu, kam se má dívat

Některé příkazy, například cd , pwd a alias , jsou zabudovány do vašeho shellu. Jiné, například ls , mv a echo , jsou nainstalovány v umístěních, která váš shell určí jako platná vyhledávací umístění pro příkazy. Když zadáváte příkazy jako ls , mv , nebo trash , váš shell prohledá seznam adresářů, o kterých mu bylo řečeno, že obsahují spustitelné soubory. Tento seznam míst vyhledávání můžete zobrazit v PATH variabilní. echo umožňuje nahlédnout do proměnných přidáním znaku dolaru ($ ) před názvem proměnné:

$ echo $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin

Abyste mohli použít trash stejně jako jakýkoli jiný příkaz ve vašem systému musíte přidat svůj osobní ~/bin adresář do vaší proměnné PATH. Proměnné prostředí shellu se načtou při spuštění shellu, takže se nastavují v ~/.bashrc konfigurační soubor. Tento adresář můžete přidat do své PATH pomocí textového editoru nebo jednoduše použít echo příkaz s dvojitým přesměrováním pro připojení pravidla k vaší konfiguraci:

$ echo 'export PATH=$PATH:/home/seth/bin' >> ~/.bashrc 

Nahrajte svou novou konfiguraci do svého shellu:

$ source ~/.bashrc

A zkuste svůj příkaz ještě jednou:

$ trash rubbish2.file

Trvale odebrat soubor

Nakonec potřebuje váš odpadkový koš vyprázdnit. rm příkaz odstraní soubor z vašeho souborového systému (trvale, takže jej používejte střídmě a opatrně).

Protože rm Příkaz může být škodlivý, pokud je zneužit, je dobré omezit interakci s ním a omezit jeho rozsah při jeho používání. V tomto případě chcete rm fungovat pouze ve vašem odpadkovém koši, takže můžete vytvořit alias, abyste snížili riziko, že příkaz zadáte špatně. Čím méněkrát vyvoláte rm , tím menší je pravděpodobnost, že soubory omylem odstraníte.

Vytvořte alias s názvem empty zadáním následujícího:

$ echo 'empty="rm --recursive --verbose --force ~/.local/share/Trash/files/*"' >> ~/.bashrc

Na rozdíl od vašeho trash příkaz, empty je považován za vestavěný příkaz, protože je to spíše alias než externí skript. To znamená, že do ~/bin nemusíte nic vkládat nebo přidat cokoli do PATH variabilní. Stačí znovu načíst konfiguraci shellu a poté otestovat svůj nový vestavěný příkaz:

$ source .bashrc
$ empty
removed '/home/seth/.trash/rubbish.file
removed '/home/seth/.trash/rubbish2.file

Cvičení dělá plynulé

Nyní jste naprogramovali svůj první skript shellu a přizpůsobili prostředí prostředí. Malé cviky, jako je tento, jsou důležité, protože čím více budete ve skořápce pracovat, tím lépe se v ní stanete. Pokuste se maximalizovat svůj čas při práci v terminálu, abyste se s ním pohodlně seznámili. Zpočátku nemusíte dělat velké úkoly. Začněte v malém a postupujte nahoru.

Není lepší doba jako současnost, tak jděte prozkoumat linuxový terminál!


Linux
  1. Zkontrolujte místo na disku v Linuxu pomocí příkazů df a du

  2. 10 Linuxových příkazů pro diagnostiku sítě

  3. Linuxové příkazy:jobs, bg a fg

  1. 5 Příkazy pro odstraňování problémů se sítí Linux

  2. Jak zašifrovat jeden souborový systém Linux

  3. Mých 8 oblíbených praktických linuxových příkazů

  1. 5 důvodů, proč používat Linux v roce 2020

  2. 5 Linuxových příkazů, které nikdy nepoužívám

  3. Linuxové příkazy od A do Z