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 Adresar
vytvoř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.txt

mv – 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

Počet přístupů na stránky 1