Skip to content

Commit aefd38f

Browse files
committed
úkoly 2: Bash I
1 parent d282a4d commit aefd38f

1 file changed

Lines changed: 212 additions & 0 deletions

File tree

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# Úkoly - Bash I
2+
3+
U úkolů označených ⌨* budeš potřebovat počítač.
4+
Ostatní zkus dát „z hlavy“.
5+
6+
## 1. ⌨*
7+
8+
Co dělá příkaz `ls -v`?
9+
10+
* **A.** Vypíše verzi programu `ls` ......................................... --version
11+
* **B.** Vypíše jméno aktuálního adresáře, ne jeho obsah..................... pwd
12+
* **C.** Seřadí soubory podle hodnot (víceciferných) čísel v názvech ........ SPRÁVNÁ ODPOVĚĎ
13+
* **D.** Vypíše obsah adresáře kompaktně – jednotlivá jména oddělí čárkou .... -m
14+
15+
Bonus: Jaké přepínače mají ostatní efekty?
16+
17+
## 2.
18+
19+
Začnu-li (jako uživatel `mh`) v adresáři `/home/mh/data`, které z těchto příkazů mě dostanou do `/home/mh`?
20+
21+
* **A.** `cd .`
22+
* **B.** `cd /`
23+
* **C.** `cd /home/mh` ..... SPRÁVNÁ ODPOVĚĎ
24+
* **D.** `cd ../..`
25+
* **E.** `cd ~`............. SPRÁVNÁ ODPOVĚĎ
26+
* **F.** `cd home`
27+
* **G.** `cd ~/data/..` .... SPRÁVNÁ ODPOVĚĎ
28+
* **H.** `cd` .............. SPRÁVNÁ ODPOVĚĎ
29+
* **I.** `cd ..` ........... SPRÁVNÁ ODPOVĚĎ
30+
* **J.** otevření nového terminálu
31+
32+
## 3.
33+
34+
Mám-li níže ukázané adresáře, a `pwd` vypisuje `/home/mh/vec`, co ukáže `ls -F ../archiv`?
35+
36+
{{ figure(
37+
img=static('hierarchy.svg'),
38+
alt='Diagram adresářové struktury',
39+
) }}
40+
41+
<!--
42+
{% raw %}
43+
```graphviz
44+
digraph hierarchy {
45+
node [shape=folder];
46+
"/" -> home;
47+
home -> mh;
48+
mh -> vec;
49+
vec -> archiv;
50+
archiv -> "2020-09-01";
51+
archiv -> "2020-09-16";
52+
archiv -> "2020-10-01";
53+
mh -> archiv2;
54+
archiv2 [label="archiv"]
55+
archiv2 -> original;
56+
archiv2 -> pnas_final;
57+
archiv2 -> pnas_2
58+
}
59+
```
60+
{% endraw %}
61+
-->
62+
63+
64+
* **A.** `../archiv`: Adresář nebo soubor neexistuje
65+
* **B.** `2012-12-01 2013-01-08 2013-01-27`
66+
* **C.** `2012-12-01/ 2013-01-08/ 2013-01-27/`
67+
* **D.** `original pnas_final pnas_2`
68+
* **E.** `original/ pnas_final/ pnas_2/` ............. SPRÁVNÁ ODPOVĚĎ
69+
70+
## 4.
71+
72+
Vypadá-li disk jako v předchozím úkolu a `pwd` vypisuje `/home/mh/archiv`, které z těchto příkazů vypíšou `pnas_2/ pnas_final/ original/`?
73+
74+
* **A.** `ls pwd`
75+
* **B.** `ls -r -F` ................. SPRÁVNÁ ODPOVĚĎ
76+
* **C.** `ls -r -F /home/mh/archiv`.. SPRÁVNÁ ODPOVĚĎ
77+
78+
## 5. ⌨*
79+
80+
Zadej tenhle příkaz:
81+
82+
```console
83+
$ touch novy_soubor.txt
84+
```
85+
86+
1. Co tenhle příkaz udělal? (Nápověda: Použij `ls`)
87+
88+
Vytvořil prázdný novy_soubor.txt ve složce, ve které jsme v ten moment byli.
89+
90+
2. Když se do aktuálního adresáře podíváš grafickým manažerem souborů, ukáže se ti `novy_soubor.txt`?
91+
92+
Ano, ukáže.
93+
94+
3. Pusť `ls -l`. Zjistíš z výpisu, co nový soubor obsahuje?
95+
96+
Ne.
97+
98+
99+
4. K/ čemu slouží příkaz `touch`?
100+
101+
K vytvoření souboru.
102+
103+
## 6.
104+
105+
Po tom, co pustíš následující příkazy, si uvědomíš, že soubory `sucrose.dat` a `maltose.dat` jsou špatně umístěné – měly by být v adresáři `raw`.
106+
107+
```console
108+
$ ls -F
109+
analyzed/ raw/
110+
$ ls -F analyzed
111+
fructose.dat glucose.dat maltose.dat sucrose.dat
112+
$ cd analyzed
113+
```
114+
115+
Doplň příkaz, který je tam přesune.
116+
117+
```console
118+
$ mv sucrose.dat maltose.dat ../raw/
119+
```
120+
121+
## 7.
122+
123+
Vytvořila sis soubor `statsitika.txt`, ve kterém máš nějaké výpočty. Ale ve jméně je překlep! Které z těchto příkazů to spraví?
124+
125+
* **A.** `cp statsitika.txt statistika.txt`
126+
* **B.** `mv statsitika.txt statistika.txt` SPRÁVNÁ ODPOVĚĎ
127+
* **C.** `cp statsitika.txt .`
128+
* **D.** `mv statsitika.txt .`
129+
130+
131+
## 8.
132+
133+
Co vypíše `ls` na konci této sekvence příkazů?
134+
135+
```console
136+
$ pwd
137+
/home/jamie/data
138+
$ ls
139+
proteiny.dat
140+
$ mkdir rekombinace
141+
$ mv proteiny.dat rekombinace
142+
$ cp rekombinace/proteiny.dat ../proteiny2.dat
143+
$ ls
144+
```
145+
146+
147+
* **A.** `proteiny2.dat rekombinace`
148+
* **B.** `rekombinace` ..............SPRÁVNÁ ODPOVĚĎ
149+
* **C.** `proteiny.dat rekombinace`
150+
* **D.** `proteiny2.dat`
151+
152+
## 9.
153+
154+
Máš následující soubory:
155+
156+
```console
157+
$ ls -F
158+
analyzed/ fructose.dat raw/ sucrose.dat
159+
```
160+
161+
Zkus napsat co nejkratší příkaz, kterým přesuneš `fructose.dat` a `sucrose.dat` do adresáře `analyzed/`.
162+
163+
mv fructose.dat sucrose.dat analyzed/
164+
165+
## 10.
166+
167+
Které z následujících sad příkazů vytvoří tuhle strukturu adresářů?
168+
169+
```plain
170+
2016-05-20/
171+
└── data
172+
├── processed
173+
└── raw
174+
```
175+
176+
**A.** .................................... SPRÁVNÁ ODPOVĚĎ
177+
```console
178+
$ mkdir 2016-05-20
179+
$ mkdir 2016-05-20/data
180+
$ mkdir 2016-05-20/data/processed
181+
$ mkdir 2016-05-20/data/raw
182+
```
183+
184+
**B.** ..................................... SPRÁVNÁ ODPOVĚĎ
185+
```console
186+
$ mkdir 2016-05-20
187+
$ cd 2016-05-20
188+
$ mkdir data
189+
$ cd data
190+
$ mkdir raw processed
191+
```
192+
193+
**C.**
194+
```console
195+
$ mkdir 2016-05-20/data/raw
196+
$ mkdir 2016-05-20/data/processed
197+
```
198+
199+
**D.** ..................................... SPRÁVNÁ ODPOVĚĎ
200+
```console
201+
$ mkdir -p 2016-05-20/data/raw
202+
$ mkdir -p 2016-05-20/data/processed
203+
```
204+
205+
**E.**
206+
```console
207+
$ mkdir 2016-05-20
208+
$ cd 2016-05-20
209+
$ mkdir data
210+
$ mkdir raw processed
211+
```
212+

0 commit comments

Comments
 (0)