Tato část projektu LinSh bude umět reagovat na následující příkazy:
ls
Příkaz ls
(list) zobrazí obsah adresáře. Pokud není cesta k adresáři
uvedena v parametrech na příkazové řádce, zobrazí se obsah aktuálního adresáře.
Příkaz ls může mít tyto tzv. switche, které modifikují jeho chování:
this
, .. = dvě tečky za sebou odkazují na rodičovský adresář).Pokud uživatel neuvede žádný switch, vypíše se pouze seznam názvů souborů a adresářů z daného adresáře (ve dvou sloupcích). Switche lze kombinovat.
Příklady:
Příkaz:
ls -la
Výsledek:
drwxr-xr-x 3 paja paja 4096 Oct 20 12:16 . drwxr-xr-x 34 paja paja 4096 Oct 20 11:30 .. -rw-r--r-- 1 paja paja 3655 Sep 25 06:14 bo.html -rw-r--r-- 1 paja paja 1647 Sep 25 06:14 csv.html drwxr-xr-x 4 paja paja 4096 Oct 20 11:50 exercises -rw-r--r-- 1 paja paja 1323 Oct 20 12:15 index.html -rw-r--r-- 1 paja paja 1565 Sep 25 06:14 json.html -rw-r--r-- 1 paja paja 3097 Sep 25 06:14 read.html -rw-r--r-- 1 paja paja 403 Feb 8 2022 StreamReaderExample.csx -rw-r--r-- 1 paja paja 8872 Sep 25 06:14 system-io.html -rw-r--r-- 1 paja paja 1713 Sep 25 06:14 text-file.html -rw-r--r-- 1 paja paja 1726 Sep 25 06:23 validate.html -rw-r--r-- 1 paja paja 2709 Sep 25 06:14 write.html -rw-r--r-- 1 paja paja 2078 Sep 25 06:14 xml.html
Příkaz:
ls -l
Výsledek:
-rw-r--r-- 1 paja paja 3655 Sep 25 06:14 bo.html -rw-r--r-- 1 paja paja 1647 Sep 25 06:14 csv.html drwxr-xr-x 4 paja paja 4096 Oct 20 11:50 exercises -rw-r--r-- 1 paja paja 1323 Oct 20 12:15 index.html -rw-r--r-- 1 paja paja 1565 Sep 25 06:14 json.html -rw-r--r-- 1 paja paja 3097 Sep 25 06:14 read.html -rw-r--r-- 1 paja paja 403 Feb 8 2022 StreamReaderExample.csx -rw-r--r-- 1 paja paja 8872 Sep 25 06:14 system-io.html -rw-r--r-- 1 paja paja 1713 Sep 25 06:14 text-file.html -rw-r--r-- 1 paja paja 1726 Sep 25 06:23 validate.html -rw-r--r-- 1 paja paja 2709 Sep 25 06:14 write.html -rw-r--r-- 1 paja paja 2078 Sep 25 06:14 xml.html
Příkaz:
ls
Výsledek:
bo.html StreamReaderExample.csx csv.html system-io.html exercises text-file.html index.html validate.html json.html write.html read.html xml.html
Příkaz:
ls -la exercises/
Výsledek:
drwxr-xr-x 4 paja paja 4096 Oct 20 11:50 . drwxr-xr-x 3 paja paja 4096 Oct 20 12:16 .. drwxr-xr-x 2 paja paja 4096 Oct 20 12:00 csvdb -rw-r--r-- 1 paja paja 854 Oct 20 11:56 index.html drwxr-xr-x 2 paja paja 4096 Oct 20 12:00 linsh
pwd
Příkaz pwd
(print working directory) pouze vypíše aktuální adresář (absolutní cestu k němu a jeho název).
Příkaz:
pwd
Výsledek:
/c/Users/foltyn/MyProjects/prgsssvtcz/web/files
cd
Příkaz cd
(change directory) změní aktuální adresář na adresář, který je předán jako parametr.
Příkaz (včetně promptu):
/c/Users/foltyn/MyProjects/prgsssvtcz/web/files$ cd /c/Windows
Výsledek (nic se nevypíše, jen se změní prompt):
/c/Windows$ _
cat
Příkaz cat
(catalogue) vypíše obsah textového souboru, jehož jméno (případně i cestu) předáme jako parametr.
Příkaz:
cat StreamReaderExample.csx
Výsledek:
using System; using System.IO; // ... StreamReader sr; try { sr = new StreamReader(@"C:\MyDir\MyFile.txt"); while ( ! sr.EndOfStream ) { string line = sr.ReadLine(); if (line != null) { Console.WriteLine(line); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { if (sr != null) { sr.Close(); } }
less
Příkaz less
(opak jednoduššího "more") vypíše obsah textového souboru, jehož jméno (případně i cestu) předáme jako parametr.
Umožňuje pak obsah souboru scrollovat (po řádcích, případně po stránkách) vpřed i vzad.
(Starší příkaz more
uměl scrollovat pouze vpřed, nešlo se "vracet".)
grep
Příkaz grep
(nevím, co to znamená) hledá řádky se zadaným řetězcem v zadaném textovém souboru a vypisuje je na konzoli.
Příkaz:
grep "sr" StreamReaderExample.csx
Výsledek:
StreamReader sr; sr = new StreamReader(@"C:\MyDir\MyFile.txt"); while ( ! sr.EndOfStream ) string line = sr.ReadLine(); if (sr != null) sr.Close();
wc
Příkaz wc
(word count) počítá znaky, slova nebo řádky v zadaném textovém souboru.
To, co se počítá, záleží na switchi. Defaultně počítá řádky, slova i znaky.
(Slovo = souvislá posloupnost znaků, kde není oddělovač - mezera, tabulátor, konec řádku.)
Příkaz:
wc -l StreamReaderExample.csx
Výsledek:
29 StreamReaderExample.csx
Příkaz:
wc -w StreamReaderExample.csx
Výsledek:
49 StreamReaderExample.csx
Příkaz:
wc -c StreamReaderExample.csx
Výsledek:
403 StreamReaderExample.csx
Příkaz:
wc StreamReaderExample.csx
Výsledek:
29 49 403 StreamReaderExample.csx