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