Portál AbcLinuxu, 1. května 2025 11:30
Pěkné. K tomu ls bych dodal parametr -d. V případě adresáře pak nevypíše jeho obsah, ale vlastní adresář:
# ls -dl grub drwxr-xr-x 2 root root 4096 2009-10-13 00:02 grub # ls -l grub total 400 -rw-r--r-- 1 root root 63 2009-09-09 20:23 device.map -rw-r--r-- 1 root root 13840 2009-09-09 20:23 e2fs_stage1_5 .....
Opat jedno velke LOLNechápu. Proč jako? Knížka sice stará, ale perfektní.
ls -Z
;)
drwxr-xr-x 13 houska users 4096 24. pro 2007 gspca drwxr-xr-x 4 root root 4096 4. bře 2009 home drwxr-xr-x 14 root root 12288 9. říj 11.03 lib drwx------ 2 root root 16384 26. úno 2009 lost+found ...
2 (pro vlastní jméno a pro .. záznam)Je to pro jméno a pro . (jednu tečku), pokud má podadresář, tak +1 za každou dvoutečku v podřazeném adr.
Určitou "zvláštností" je, že velikost adresáře se obvykle nezmenšuje při vymazání souborů v něm.To je spíš problém implementace adresáře v příslušném souborovém systému - zatímco "klasické" soborové systémy vycházející z původního unixového soborového systému (UFS), tj. např. Ext2/3, to opravdu tak dělají, tak souborové systémy používající jiné metody interního uložení dat (napr. stromy, jako ReiserFS a mám pocit že i BtrFS a ZFS) většinou adresáře při odstranění položek zmenší.
když někdo otevře (fopen) soubor, pak se počet odkazů na inodu zvednePozor, toto není pravda. Lze vyzkoušet např. následujícím programem:
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main() { struct stat st; int fd=open("filename", O_CREAT|O_EXCL, 0666); if(fd < 0) { perror("open"); return 1; } unlink("filename"); fstat(fd, &st); printf("%d", st.st_nlink); return 0; }
soucet velikosti souboru a adresaru uvnitrTen se zase dělá pomocí příkazu du -c.
du -sh
, vyplivne to jen výsledek bez spousty výpisů.
du -h --max-depth=1
... kdyz clovek zjistuje kterej adresar zabira nejvic mista
du dir | sort -n | tail -20
ln
by bylo vhodné upozornit, že první argument je při vytváření symbolického linku interpretován jinak než při vytváření hardlinku. Zatímco bez -s
je to soubor, který linkujeme, s přepínačem -s
určuje cíl linku. Takže vytváříme-li symbolický link jinde než v aktuálním pracovním adresáři, je potřeba psát cestu vzhledem k cílovému adresáři (kde vytváříme link), ne vzhledem k pracovnímu (jako je to u ln
, cp
apod.).
Často se opravdu jedná o kopie a nechci, aby se při změně jedné změnila i druhá.
Přesně, ono by to pak mohlo dopadnou jako v tom vtipu o norton commanderovi
Jestli vzděláváte lid prostý v užívání Unixových nástrojů, pak prosím opravdu o Unixové standardy. GNU is Not Unix.
-X, -U, -S ... kdo bude psát skripty podle vašeho článku opisujícího linuxové/GNU přepínače ls, ten se bude na Unixech divit, protože opravdu nedělají to, co je tady popsáno, pokud na té které variantě Unixu vůbec existují.
Jestli vzděláváte lid prostý v užívání Unixových nástrojů, pak prosím opravdu o Unixové standardy. GNU is Not Unix.
-X, -U, -S ... kdo bude psát skripty podle vašeho článku opisujícího linuxové/GNU přepínače ls, ten se bude na Unixech divit, protože opravdu nedělají to, co je tady popsáno, pokud na té které variantě Unixu vůbec existují.
Z toho vždycky rostu. Dělám hodně na AIXu a každou chvíli nadávám, jak jsou ty Unixy sto let za opicemi
No některé užitečné volby by mohli implementovat, neříkám, že úplně všechno. No a čisté vi je tragédie. Zvýrazňování syntaxe by se občas hodilo. Chápu, že z pohledu administrátora tam jsou super fičury, ale jako programátor to vidím trochu jinak. To je jako kdybych sedl z BMW do trabanta.Já bych to přirovnal, jako "přesednout si z BMW do náklaďáku nebo do traktoru". Tak, jako s BMW nebudete nikdy orat pole, tak nebudete nikdy s traktorem (nebo náklaďákem) s plně naloženou vlečkou lítat 200 km/h po dálnici a nebudete na něj balit rošťenky...
už vidím, jak si někdo koupí *PRODUKČNÍ* traktor, dá si tam klimatizaci, elektricky vyhřívané sedačky, rádio s CD přehrávačem, tónovaná skla atdJá dost dobře nechápu proč by to někdo dělal i u osobního *PRODUKČNÍHO* automobilu, ale budiž.
No některé užitečné volby by mohli implementovat, neříkám, že úplně všechno. No a čisté vi je tragédie. Zvýrazňování syntaxe by se občas hodilo. Chápu, že z pohledu administrátora tam jsou super fičury, ale jako programátor to vidím trochu jinak. To je jako kdybych sedl z BMW do trabanta.
Prostě potřeby jsou jiné, a tomu i odpovídá "uživatelský komfort" - už vidím, jak si někdo koupí *PRODUKČNÍ* traktor, dá si tam klimatizaci, elektricky vyhřívané sedačky, rádio s CD přehrávačem, tónovaná skla atd, když s ním bude jezdit 20 různých lidí polem nepolem, cestou necestou...
No když to má konkurence, tak proč ne? Ona třeba ta klimatizace v traktoru by se v parném létě mohla hodit.
Kéž by v Linuxu byla taková virtualizace, memory management a stabilita jako na AIXu!Jasně, že komerční unixy* mají něco do sebe a v určitých oblastech vynikají. To ale neznamená, že nejsou v jiných oblastech skutečně „sto let za opicemi“. Není to tak, že by byly jen jiné než Linux – Linux je skutečně v některých oblastech (tady např. shell a některé příkazy) výrazně lepší a modernější. *) i Solaris, nebo i jiné systémy jako třeba BSD
Linux je skutečně v některých oblastech (tady např. shell a některé příkazy) výrazně lepší a modernější.A proto se tomu neříká Linxu, ale GNU. Brání někdo stáhnout coreutils, přeložit je a nahradit tím ty původní bazmeky?
Brání někdo stáhnout coreutilsBrání někdo stáhnout coreutils či jiné GNU utility
Ano. Nemám roota a i kdybych měl, tak těch strojů, na kterých se pohybuji je spousta, a na produkci bych to stejně nedostal. Administrátoři to dělat nebudou, jednak je to nepálí, pak by to někdo musel zaplatit a je jasné, že systém bez externích programů o které by se museli starat se lépe administruje. V tomhle by právě měla vyjít vstříc IBM.Linux je skutečně v některých oblastech (tady např. shell a některé příkazy) výrazně lepší a modernější.A proto se tomu neříká Linxu, ale GNU. Brání někdo stáhnout coreutils, přeložit je a nahradit tím ty původní bazmeky?
ll
, který obvykle odpovídá příkazu ls -hal
... no ale to je detail.
ls -ltr |tail # Vypiš naposledy změněné soubory
ls -lt | head
-h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G)
$ ls -l celkem 11292 drwx------ 2 tux tux 4096 2009-08-15 14:44 Desktop -rwxr-xr-x 1 tux tux 2795704 2009-08-29 18:59 gajim-0.11.4-1.x86.package ... $ ls -lh celkem 12M drwx------ 2 tux tux 4,0K 2009-08-15 14:44 Desktop -rwxr-xr-x 1 tux tux 2,7M 2009-08-29 18:59 gajim-0.11.4-1.x86.package
df -h
, spočítání velikosti adresáře du -sh
, nebo "emko" u výpisu volné paměti free -m
. Udělal jsem si na to aliasy, aby se mi to rovnou vypisovalo v těch přepočítaných jednotkách, je to čitelnější.
ls
je, ze nedovede vypsat pocet polozek v adresari. Pokud nekdo vi, jestli to jde, at se ozve. Ja pouzivamls | wc -l
ls | wc -l
funguje a není potřeba ls -1 | wc -l
.
-1
), ale trochu mi to přijde jako že se ten program pokouší myslet za uživatele.
ls | wc -l
trochu hral, tak jsem se nad tim taky zarazil a prepocitaval jsem vysledek rucne, abych se presvedcil, ze to opravdu funguje, i kdyz je to zvlastni (nectu si jen tak man
stranky z nudy, spis kdyz jen neco potrebuju, tudiz o nejakem interaktivnim modu taky nevim).
Rozbité symlinky jdou hledat a mazat přes GNU find:
find -P ~ -xtype l
find -P ~ -xtype l -delete
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.