Programy pro práci s adresáři a soubory
Tyto prográmy umožnují editaci souborů, zjištování jejich velikostí, vytváření, mazání a plno jiných operací nad nimi.
Midnight commander
Mount
Ln
Ls
Pwd
Cd
Mkdir
Rmdir
Cp
Touch
Du
Df
File
Quota
Stat
Tree
Oprava chybného zápisu ve fstab
Vlastníci a práva
Chown
Chmod
Midnight commander
je to manager souboru a textovy editor
instalace Midnight commandera
cd /usr/ports/misc/mc
make install
spusti se příkazem
mc
je třeba většinou rehashnout shell
rehash v případě sh a
rehashhash -r při použití bashe
Klávesové zkratky
Horní menu
F1 | Nápověda |
F2 | Uživatelské Menu |
F3 | Prohlížení textu |
F4 | Editace textu |
F5 | Kopírování |
F6 | Přesun |
F7 | Nový adresář |
F8 | Smazat |
F9 | Hlavní menu |
F10 | Konec |
Adresářové panely
Ctrl+x l | Vytvoří pevný odkaz (hardlink)) na daný soubor ci adresář. |
Ctrl+x s | Vytvoří symbolický odkaz (simlink)) na daný soubor ci adresář. Název souboru začíná znakem „@ÿ a název adresáře „~ÿ . |
TAB, Ctrl+i | Prepínání mezi panely. |
Insert, Ctrl+t | O(d)značení vybraného souboru. |
Alt+g, Alt+r, Alt+j | Skok na první, prostření nebo poslední soubor v panelu. |
Ctrl-s+text | posune kurzor na soubor/adresář který začíná na text |
Alt+t | Prepíná mezi ruznými prohlížecími módy. |
Ctrl+\ | Vyvolání hot-listu adresářu. |
Ctrl+x d t | porovnání adresářů v levém a pravém panelu |
+ | výběr všech souborů, pokud použijeme / před plusem, vybereme adresáře-POZOR je třeba mít přepnuto na anglickou klávesnici a znaménko vybrat v hlavním bloku kláves, ne numerickém |
- | odvýběr všech souborů, opak předcházejícího |
Pohyb v adresáři
Ctrl+N resp. šipka dolů | přesune se o jednu položku v panelu níže |
Ctrl+P resp. šipka nahoru | přesune se o jednu položku v panelu výše |
Home, Alt+< | Presune kurzor na první rádek v panelu. |
End, Alt+> | Presune kurzor na poslední rádek. |
PageUp, Ctrl+v | Přesune kurzor o stránku dolu. |
PageDown, Alt+v | Přesune kurzor o stránku nahoru. |
Alt+o | Zobrazí obsah vybraného adresáře ve vedlejším panelu. |
Alt+y | Vrátí se o jednu zpet v historii pohybu adresáři. Ekvivalentní ke stisku znaku > v pravém rohu panelu. |
Alt+u | Jde na následující hodnotu v historii pohybu adresáři. |
Insert, Ctrl+T | označení/odznačení souboru |
Příkazová rádka
Alt+Enter | Zkopíruje název souboru na příkazovou rádku. |
Alt+Tab | Doplnování názvu souboru, adresářu,príkazu, promenných a host jmen. Funguje podobne jako tabelátor v bashi. |
Ctrl+x t | Zkopíruje název označeného souboru nebo souboru na kterém byl naposled kurzor na řádek |
Ctrl+x p | Zkopíruje cestu označeného souboru nebo souboru na kterém byl naposled kurzor na řádek |
Alt+p | Slouží pro pohyb v historii příkazové rádky vzad. |
Alt+n | Slouží pro pohyb v historii příkazové rádky vpřed. |
Alt+f | Slouží pro posun v historii příkazové rádky o slovo vpřed. |
Alt+b | Slouží pro posun v historii příkazové rádky o slovo vzad. |
Alt+h | historie zadaných příkazů do promptu |
Alt+H | historie adresářů |
Ctrl+a | Jde na zacátek rádky. |
Ctrl+e | Jde na konec rádky za vložený text. |
Alt+w | Uloží napsaný text do bufferu. |
Ctrl+y | Vloží napsaný text z bufferu na příkazovou řádku. |
Ctrl+k | Presune text od kurzoru vcetne do konce rádku do bufferu. |
Alt+Ctrl+h, Alt+Backspace | Vymaže slovo před kurzorem. |
Alt+C | Rychlé vkládání cesty |
Shift+F4 | Vytvoří nový prázdný soubor a otevře pro zápis |
Ostatní klávesové zkratky
Ctrl+r | Prekreslí panely a všechny informace. |
Ctrl+x c | Spustí obdobu príkazu chmod (zmena práv souboru) daného nebo oznaceného souboru. |
Ctrl+x o | Spustí o obdobu príkazu chown (zmena vlastníka). |
Ctrl+x i | Nastaví opacný panel do informacního módu. |
Ctrl+x q | Nastaví opacný panel do módu k rychlému prohlížení. |
Ctrl+x ! | Nastaví opacný panel tak, že zobrazuje výstup z externího programu. |
Ctrl+x h | Pridání aktuálního adresáře adresáře do hot-listu. |
Alt+? | Vyhledávání souboru prípadne souboru s určitým obsahem. |
Ctrl+o | Vypne panely mc a zobrazí shell, ve kterém mohou být videt výstupy z předcházejících programu. |
Další užitečné pomůcky
Kopírování myší je možné, pokud při označování myší držíte Shift. Vkládáme Shift+Ins, případně Shift a pravé tlačítko myši
Editor mc zavoláme příkazem mcedit.Příkaz mcedit text.txt vytvoří-pokud není- v aktuálním adresáři soubor text.txt a otevře pro úpravu.
Pokud již existuje, otevře jej pro úpravu.
Aby se při kopírování textu do mceditu neodskakovali řádky, spustíme mcedit a upravíme následující
Options/General/Return does autoindent
Konfigurace MC
Jen upozorním na lynx like motion-dovoluje to pohyb v adresáři šipkou doleva-o adresář výš, šipkou do prava-vstup do označeného adresáře
[x] show Backup files
[x] show Hidden files
[x] maRk moves down
[x] Drop down menus
[ ] miX all files
[x] Fast dir reload
[x] Verbose operation
[x] Compute Totals
[x] shell Patterns
[x] Auto save setup
[ ] auto mEnus
[x] use internal edIt
[x] Use internal view
[x] coMplete: show all
[x] rotatinG dash
[x] Lynx-like motion
[x] cd follows linKs
[ ] safe deLete
Pause after run...
( ) Never
(*) on dumb Terminals
( ) Always
Připojení k FTP
TAB- přepneme se do panelu kde budeme chtít mít FTP připojení.
F9 - vyvoláme menu
Vybereme položku FTP link (FTP připojení)
Do políčka pro připojení vepíšeme přihlašovací údaje ve tvaru ftplogin:heslo@server
Enter
uložíme si jej do oblíbených položek (Ctrl+h) zkratkou (a) , abychom nemuseli příště adresu zadávat ručně :-)), protože lenivost je hnacím motorem pokroku
Připojení k Windowsovýmu sdílení
TAB- přepneme se do panelu kde budeme chtít mít FTP připojení.
F9 - vyvoláme menu
Vybereme smb link
Do políčka pro připojení vepíšeme přihlašovací údaje ve tvaru #smb:stroj/sdileni
naskočí okénko, kam vyplníme jméno a heslo
uložíme si jej do oblíbených položek (Ctrl+h) zkratkou (a)
Poznámka- přihlašovací údaje můžeme zadávat i ve tvaru #smb:jmeno@stroj/sdileni
Mount
je to program, který připojuje disky,diskety, mechaniky a jiná datová zařízení do adresářového stromu.
Pozor, muže být namountováno více svazků do jednoho adresáře. Pak ten který byl mountován jako poslední "překryje předcházející"
Odpojení se provádí příkazem
umount
acls - zapíná ACLS, které se nechají manageovat příkazy setfacl a getfacl
async - nedoporučuje se používat, data nemusejí být konzistetní
noatime - data nebudou mít aktualizovaný čas přístupu a při přečtení souboru.Podporováno pouze na lokálních filesystémech
noauto - tyto filesystému budou přeskočeny a nebudou namountovány při zadání parametru -a
noexec - nepovolí spouštění souborů uložených na filesystému
nosymfollow - nepovolí vytvářet symlinky
ro - stejné jako parametr -r, svazek je pouze read only
Parametry příkazu
bez parametru | vypíše všechny přimountované svazky |
a | namountuje všechny souborové systémy popsané v fstab, kromě těch, které mají příznak "noauto" |
F | fstab namountuje svazky z určeného souboru fstab. Tento se může nacházet jinde než v /etc |
f | vynucení změny stavu. Používá se při odebrání rw stavu na ro, připadně pro mount rw poškozeného systému |
o | podrobnější nastavení mountu. Oddělují se čárkou a při konfliktu vyhrává to , které je uvedeno více napravo |
p | vytiskne mount informace ve formátu |
r | svazek je pouze read only |
t filesystem | specifikuje druh filesystemu, ufs je defaultní. |
v | ukecaný mod |
w | svazek je pouze read/write |
Příklady
namountuje /dev/ad14s1d do /data/data-users/, pouze pro čtení
mount -t -ro ufs /dev/ad14s1d /data/data-users/
"učesaný" výpis mountů
mount -p
/dev/ad6s1a | / | ufs | rw | 1 | 1 |
devfs | /dev | devfs | rw | 0 | 0 |
/dev/ad6s3d | /data | ufs | rw | 2 | 2 |
/dev/ad12s1d | /data/data-freebsd | ufs | rw | 2 | 2 |
/dev/ad14s1d | /data/data-users | ufs | rw | 2 | 2 |
/dev/ad8s1d | /data/data-novell | ufs | rw | 2 | 2 |
odpojí svazek z mounpointu /mnt
umount /mnt
speciální mount příkazy
mount_cd9660 | mountuje CD |
mount_ext2fs | mountuje linuxové ext2 svazky |
mount_msdosfs | mountuje svazky FAT, toto použijem i při mountu flashky (většinou jsou formátovány FAT32) |
mount_nfs | mountuje vzdálené svazky NFS |
mount_ntfs | mountuje svazky formátované NTFS- používají je windows NT, 2000, XP a Vista |
mount_nwfs | mountuje Novell svazky |
mount_reiserfs | mountuje linuxové reiser svazky |
mount_smbfs | mountuje vzdálené svazky Microsoftí sítě |
Ln
linky (zástupci) na soubory či adresáře. Oproti Windows jsou zde hardlinky a symlinky.Symlink je odkaz fungující stejně jako ve windows.
Hardlinky fungují tak, že zdrojové soubory jsou provázány s hardlinkem a cokoliv změním v jednom, změní se i v druhém. Pokud smaži zdroj,
v link zůstane včetně obsahu a obráceně.Hardlink musí být umístněn na stejném svazku, symlink může být kdekoliv.
vytvoření hardlinku do aktuálního adresáře
ln dns/bb test2
a takto vypadá hardlinklink ve výpisu
-rw-r--r-- 2 votruba votruba 12 Jun 13 08:29 test2
v aktuálním adresáři vytvoří link test3 na soubor stejného názvu z adresáře dns
ln dns/test3
vytvoření symlinku do aktuálního adresáře
ln -s dns/bb test
a takto vypadá symlink ve výpisu
lrwxr-xr-x 1 root votruba 6 Oct 31 08:10 test -> dns/bb
Ls
slouží pro výpis adresářů
-F | vypíše spec znaky různým souborům
/ pro adresář
* pro spustitelné soubory
@ pro symlinky
= pro sockety
% pro whiteout
| pro FIFO (pojmenované roury) |
-G | přiřadí barvy různým souborům |
-S | setřídí podle velikosti |
-R | vylistuje rekurzivně i podadresáře v úhledných blocích |
-T | s parametrem "l" vypíše kompletní časové údaje |
-a | vypíše všechny soubory |
-h | s parametrem "l" vypíše údaje o velikosti |
-m | položky v řadě za sebou, odděleny čárkou |
-n | s parametrem "l" vypíše UID a GID vlastníka místo jmen |
-r | vypíše to položky v obráceném pořadí |
-t | seřadí podle času vytvoření |
-u | seřadí podle času posledního přístupu |
-l | Kromě jména souboru se bude vypisovat jeho typ, práva, počet pevných odkazů na soubor, jméno vlastníka, skupiny, velikost v bytech a časový údaj (čas poslední změny, pokud nebyl vybrán jiný údaj). U souborů, jejichž časový údaj je
starší než 6 měsíců nebo novější než -1 hodina, bude místo hodiny a minuty vypsán rok. |
-1 | vypíše na každou řádku jen jednu položku |
Příklady
ls - výpíše obsah adresáře
ls –al - dlouhý výpis aktuálního adresáře včetně skrytých souborů
ls -l /etc/sysconfig - dlouhý výpis adresáře /etc/sysconfig
ls -l | more - odstránkování výpisu
Pwd
vypisuje absolutní cestu k aktuálnímu pracovnímu adresáři
Pro scripty se používá systémová proměnná $PWD
pwd Cd
změní pracovní adresář
příklady
cd /etc - přechod do adresáře etc v kořenu
cd ~ - přechod do domovského adresáře, nebo jen cd
cd .. - přechod o adresář výše
cd / - přechod do kořenového adresáře
Mkdir
vytvoří adresář
mkdir Adresarvytvoření adresáře s vnořenou cestou
mkdir -p /home/test/free/install Rmdir
maže adresáře
rmdir - smaže prázdný adresář
rm –r smaže neprázdný adresář
Cp
kopírování souborů a adresářů
cp zdroj cíl - lze kopírovat i více souborů najednou
cp –R zdroj cíl - kopíruje adresáře i s obsahem
cp –a zdroj cíl - při kopírování zachová strukturu a atributy objektů
Touch
vytvoření souboru nebo jeho aktualizace
touch soubor.txtmv – přejmenování či přesun souboru nebo adresáře
mv /cesta1/stare_jmeno_souboru /cesta2/nove_jmeno_souboru – přesune a současně přejmenuje soubor
Du
program sloužící ke zjištování velikostí adresářů a souborů
parametry
-a | vypíše velikosti všech souborů (i vnořených v podadresářích) s cestou |
-h | lidsky čitelný výstup (lepší přehlednost) |
-c | sečte velikosti objektů celého adresáře dohromady |
-d číslo | ukáže adresáře do hloubky určené číslem. -d1 jsou všechny adresáře,-d2 jsou všechny adresáře a jejich podadresáře atd. |
Zjištění velikosti pouze adresářů
du -h -d 1
Pozor: pokud budete chtít výsledek dále zpracovávat, je rozdíl ve formátu výpisu pokud použijete celou cestu a nebo jste postaveni v konkrétním adresáři.
Příklad
Takto jsou ve výpisu celé cesty
du -h -d 1 /usr/local/etc/
2.0K /usr/local/etc/pam.d
42K /usr/local/etc/rc.d
6.0K /usr/local/etc/openldap
2.0K /usr/local/etc/samba
114K /usr/local/etc/apache22
4.0K /usr/local/etc/php
336K /usr/local/etc/
a takto jen názvy adresářů(souborů)
cd /usr/local/etc/
du -h -d 1
2.0K ./pam.d
42K ./rc.d
6.0K ./openldap
2.0K ./samba
114K ./apache22
4.0K ./php
336K .
Df
Zjištění místa na particii
df -h
výpis pouze velikosti svazku
df -h | grep home | cut -d " " -f19
(home je mountpoint)
File
Výpis a popis souborů
-b | vypíše pouze typy souborů |
-z | podívej se do komprimovaných souborů |
file *
výpis podadresářů v aktuálním adresáři
file * | grep directory
Quota
Kolik místa mi zbývá na uzivatelském úctu?
parametry
g skupina | kvoty pro skupiny jichž je uživatel členem |
l | nereportuj kvoty na NFS svazku |
q | pouze informace o svazcích . Kde jsou překročené kvoty |
u uživatel | kvoty pro uživatele |
v | výpis kvot na filesystemech které nemají ukládání přiděleno |
quota -v
Stat
utilita zobrazující statistiku (podrobnosti o souboru/adresáře)
F | formát podobný příkazu ls |
s | detailně rozepsané informace |
x | lidsky čitelný a přehledný výstup |
Příklady
stat -s /root/script/
st_dev=88 st_ino=730133 st_mode=040755 st_nlink=2 st_uid=0 st_gid=0 st_rdev=2919895 st_size=512 st_atime=1234404061 st_mtime=1229343773 st_ctime=1229343773 st_birthtime=1223620236 st_blksize=4096 st_blocks=4 st_flags=0
stat -x /root/script/test.sh
File: "/root/script/test.sh"
Size: 404 FileType: Regular File
Mode: (0700/-rwx------) Uid: ( 0/ root) Gid: ( 0/ wheel)
Device: 0,88 Inode: 730286 Links: 1
Access: Thu Oct 23 13:25:45 2008
Modify: Thu Oct 23 13:25:15 2008
Change: Thu Oct 23 13:25:15 2008
Tree
aplikace pro "grafické" zobrazení stromu adresářové struktury
instalace
cd /usr/ports/sysutils/tree
make all install
rehash
připoužití jen samotného příkazu vylistuje aktuální adresář, pokud jako parametr použijeme cestu, vylistuje nám strukturu tohto umístnění
tree
.
|-- console.log
`-- script
|-- 2008-10-21-backup.log
|-- 2008-12-12-backup.log
|-- adresa
|-- test.sh
`-- zaloha.sh
Oprava chybného zápisu ve fstab
odčas se povede při editaci fstabu ,po přidání disku,že se překliknete a po rebootu koukáte
, že na vás čeká chybová hláška končící /bin/sh . Veškerá disky jsou jen pro čtení a systém prakticky nic nedělá.Stejně se nechají zakázat služby v
rc.conf, pokud vám nějaká shazuje stroj.
Oprava je jednoduchá.
reboot
při startu vybrat
single user mod (4)
mount -a -vše namountujete
fsck -y / -necháme pro sichr zkontrolovat svazek na chyby
mount -w / - namountujete kořenový svazek pro zápis
vi /etc/fstab, opravit chybny zapis
reboot
a je to-pozor,platí to pro nerootovské particie
přimountování USB klicenky
mount_msdosfs /dev/da2s1 /mnt -jmeno svazku ktery ma klicenka se zjisti prikazem
df -H
atacontrol mode ad0 Zjištění DMA režimu-atacontrolem se nechá nastavit i rychlost DMA-viz man
diskinfo -t /dev/ad0sXX - vypíše informace o disku a zjistí přístupové doby
v přehledném výpisu
Vlastníci a práva
Chown
zmena vlastnika
chown -R jmeno:skupina /cesta
změna skupiny u souboru
chgrp oracle /usr/database
Chmod
nastaveni prav
chmod -R 751 /cesta
-R vcetne podadresaru a souboru
1 cislo je pro vlastnika
2 cislo je pro skupinu
3 cislo je pro ostatni
cisla maji nasledujici vahu
4-cteni
2-zapis(vytvoření)
1-spusteni
součtem hodnot dostaneme následující práva
0 žádná práva
1 pouze spouštět
2 pouze zapisovat
3 zapisovat a spouštět
4 pouze číst
5 čísta a spouštět
6 číst a zapisovat
7 číst, zapisovat a spouštět