Как я могу изменить свою команду `ls`?

Просто зарегистрируйтесь в папке /media/test0.

chown user.user / media / test0
12
задан 20 May 2011 в 20:08

64 ответа

ls -la | grep "^d" && ls -la | grep "^-" && ls -la | grep "^l"

Показывает ... каталоги, нормальные файлы, ссылки в этом порядке.

Сделайте это псевдонимом, и вы готовы к работе.

Нашел другой метод:

ls -l --color -h --group-directories-first

Сначала он создает каталоги и окрашивает имена файлов.

В ~/.bashrc вы можете создать псевдоним для эта команда выглядит так:

alias ls1='ls -la | grep "^d" && ls -la | grep "^-" && ls -la | grep "^l"

Пример вывода:

drwxr-xr-x 5 96 2011-05-20 13:41 . drwxr-xr-x 16 xxxx uuuu 96 2010-03-05 12:34 .. drwx------ 2 xxxx uuuu 96 2009-02-13 14:31 .ssh drwxrwxr-x 2 xxxx uuuu 96 2009-12-03 13:49 .xxx drwxrwxr-x 5 xxxx uuuu 96 2010-12-06 15:51 xxxxxx -rw------- 1 xxxx uuuu 05 2011-05-20 14:12 .bash_history -rw-r--r-- 1 xxxx uuuu 20 2009-02-12 09:33 .bash_logout -rw-r--r-- 1 xxxx uuuu 29 2009-03-06 11:47 .bashrc -rw-r--r-- 1 xxxx uuuu 80 2011-05-20 13:42 fff -rw-rw-r-- 1 xxxx uuuu 03 2011-05-18 10:21 dffff

или для второго: alias ls2=ls -l --color -h --group-directories-first

Пример вывода: drwxrwxr-x 5 xxxx uuuu 4.0K 2010-12-06 15:51 ddddd -rw-r--r-- 1 xxxx uuuu 339M 2011-05-20 13:42 sssss -rw-rw-r-- 1 xxxx uuuu 4.6M 2011-05-18 10:21 dxsssss -rwxrwxr-x 1 xxxx uuuu 68 2011-02-22 15:55 5555 -rwxr--r-- 1 xxxx uuuu 20K 2010-12-06 16:11 ffff ddddd будет в другом цвете. добавьте -a, чтобы включить скрытые файлы.

, и для этого вы создали команду ls1 и ls2.

4
ответ дан 4 August 2018 в 19:25

Одним из самых мощных инструментов в Unix-системах является команда find. Мы можем использовать его для эмуляции вывода ls с флагом -ls и поиска по типу файла с флагом -type. Таким образом, то, что вы видите ниже, - это точно такая же команда, но с find поиск двух разных типов. printf заявления только говорят, что вы хотите, чтобы это объявление было первым.

printf "****DIRS****\n"; find . -maxdepth 1 -type d -ls; echo "****FILES****"; find . -maxdepth 1 -type f -ls

Вот пример вывода:

CURRENT DIR:[/home/xieerqi/bin] $ printf "****DIRS****"; find . -maxdepth 1 -type d -ls; echo "****FILES****"; find . -maxdepth 1 -type f -ls ****DIRS**** 5795516 4 drwxrwxr-x 8 xieerqi xieerqi 4096 Aug 19 16:25 . 5795514 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./c 5795511 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./python 5795153 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:41 ./perl 5795532 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./random 5795531 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./sh 5795141 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./cs2 ****FILES**** 5795538 4 -rw-rw-r-- 1 xieerqi xieerqi 178 Aug 19 16:25 ./somefile.txt 5795539 4 -rw-rw-r-- 1 xieerqi xieerqi 219 Aug 19 16:26 ./somefile2.txt

Обратите внимание, что find перечисляет все файлы, включая скрытые файлы с ведущей точкой, например .bashrc.

Теперь, чтобы облегчить доступ к этой команде, создайте псевдоним для этого в .bashrc. Я сделал так, как

alias ls2='printf "****DIRS****\n"; find . -maxdepth 1 -type d -ls; echo "****FILES****"; find . -maxdepth 1 -type f -ls '

Исходный bashrc с . .bashrc или выйдите и введите терминал. Ваш псевдоним теперь готов к использованию в любое время.

2
ответ дан 4 August 2018 в 19:25

Одним из самых мощных инструментов в Unix-системах является команда find . Мы можем использовать его для эмуляции вывода ls с флагом -ls и поиска по типу файла с флагом -type . Таким образом, то, что вы видите ниже, является точно такой же командой, но с найдите , ища два разных типа. printf заявления только говорят, что вы хотите, чтобы это объявление было первым.

  printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls  

Вот пример вывода:

  CURRENT DIR: [/ home / xieerqi / bin] $ printf "**  ** DIRS **** ";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls **** DIRS **** 5795516 4 drwxrwxr-x 8 xieerqi xieerqi 4096 19 авг 16:25.  5795514 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./c 5795511 4 drwxrwxr-x 2 xieerqi xieerqi 4096 авг. 19 15:27 ./python 5795153 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:41 ./  perl 5795532 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./random 5795531 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./sh 5795141 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27.  / cs2 **** FILES **** 5795538 4 -rw-rw-r-- 1 xieerqi xieerqi 178 августа 19 16:25 ./somefile.txt 5795539 4 -rw-rw-r-- 1 xieerqi xieerqi 219 Aug  19 16:26 ./somefile2.txt  

Обратите внимание, что находят списки все , файлы, включая скрытые файлы с ведущая точка, например .bashrc .

Теперь, чтобы облегчить доступ к этой команде, создайте псевдоним для этого в .bashrc . Я сделал это так

  alias ls2 = 'printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls ' 

Источник bashrc с . .bashrc или выйти и ввести терминал. Ваш псевдоним теперь готов к использованию в любое время.

2
ответ дан 6 August 2018 в 03:36

Расширение настроек псевдонимов в .bashrc - мой предпочтительный способ получения более удобных команд ls. Мне нравится особенно «lf» (требуется установка «дерева»).

  # еще несколько псевдонимов ls alias ll = 'ls -alF' alias la = 'ls -A' alias l =  'ls -CF' alias lf = 'tree -d -L 1'  
2
ответ дан 6 August 2018 в 03:36

ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Показывает ... каталоги, нормальные файлы, ссылки в этом порядке.

Сделайте псевдоним, и вы готовы к работе.

Нашел другой метод:

ls -l --color -h - группы-каталоги - сначала

Это первое делает каталоги

В ~ / .bashrc вы можете создать псевдоним для этой команды следующим образом:

alias ls1 = 'ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Пример вывода:

 drwxr-xr-x 5 96 2011-05-20 13:41.  drwxr-xr-x 16 xxxx uuuu 96 2010-03-05 12:34 .. drwx ------ 2 xxxx uuuu 96 2009-02-13 14:31 .ssh drwxrwxr-x 2 xxxx uuuu 96 2009-12  -03 13:49 .xxx drwxrwxr-x 5 xxxx uuuu 96 2010-12-06 15:51 xxxxxx -rw ------- 1 xxxx uuuu 05 2011-05-20 14:12 .bash_history -rw-r  --r-- 1 xxxx uuuu 20 2009-02-12 09:33 .bash_logout -rw-r - r-- 1 xxxx uuuu 29 2009-03-06 11:47 .bashrc -rw-r - r-  - 1 xxxx uuuu 80 2011-05-20 13:42 fff -rw-rw-r-- 1 xxxx uuuu 03 2011-05-18 10:21 dffff 

или для второго: alias ls2 = ls -l --color -h - group-directories-first

Пример вывода: drwxrwxr-x 5 xxxx uuuu 4.0K 2010-12-06 15:51 ddddd -rw-r - r-- 1 xxxx uuuu 339M 2011-05-20 13:42 sssss -rw-rw-r-- 1 xxxx uuuu 4.6M 2011-05-18 10:21 dxsssss -rwxrwxr-x 1 xxxx uuuu 68 2011-02-22 15:55 5555 -rwxr - r-- 1 xxxx uuuu 20K 2010-12-06 16:11 ffff ddddd будет в другом цвете. добавьте -a , чтобы включить скрытые файлы.

, и для этого вы создали команду ls1 и ls2.

4
ответ дан 6 August 2018 в 03:36

Мой последний мод ls в ~ / bin:

  #! / bin / bash ACCOUNT_ID = $ UID # #SET ACCOUNT_NAME ACCOUNT_NAME = $ (cat / etc / passwd | grep $ ACCOUNT_ID  | cut -d: -f1);  ls -l -F --color -h - group-directories-first $ 1 | \ sed "s / $ ACCOUNT_NAME / \ $ USER / g" |  ack --passthru --color \\\ $ USER;   

Извините за формат сообщения. Пытался использовать его с помощью copy / paste, но, возможно, не пошел. Ура! Постскриптум Пришлось называть его ~ / bin / myls или он зависает в цикле, который никогда не достигает ls системы.

-1
ответ дан 6 August 2018 в 03:36

Вы можете написать скрипт bash под названием ~ / bin / ls , который должен переопределить / bin / ls . не забудьте запустить chmod + x ~ / bin / ls .

Я только что написал это, что, кажется, делает большую часть того, что вы хотите выполнить (в том числе прохождение дополнительных аргументов)

  #! / bin / bash DIRS = "` / bin / ls --color = auto -l $ @ | grep ^ d` "FILES =" `/ bin / ls --color  = auto -l $ @ | grep ^ \ - `", если ["$ DIRS"] затем эхо "DIRECTORIES" echo -e "$ DIRS \" fi, если ["$ FILES"], затем эхо "FILES" echo "$ FILES  \ "fi  

Кто-то может захотеть немного убрать это или улучшить форматирование вывода, но там вы идете.

И вот какой подлинный образец:

  ls DIRECTORIES drwxr-xr-x 4 oli oli 4096 2010-12-16 15:  40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 post drwxr-xr-x 9 oli oli 4096 2010-09  -16 05:23 templates FILES -rw-r-r-- 1 oli oli 5361664 2010-09-06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09  : 22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22 manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py  -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 settings.py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw  -r - r-- 1 oli oli 432 2010-06-22 20:54 views.py  

И с аргументами:

  ls -a  ДИРЕКТОРИИ drwxr-xr-x 8 oli oli 4096 2011-01-12 00:46.  drwxr-xr-x 19 oli oli 4096 2011-04-13 17:24 .. drwxr-xr-x 6 oli oli 4096 2010-02-03 13:50 .bzr drwxr-xr-x 4 oli oli 4096 2010-12  -16 15:40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 сообщение drwxr-xr-x 9 oli oli  4096 2010-09-16 05:23 шаблоны FILES -rw-r-r-- 1 oli oli 65 2010-03-27 07:58 .bzrignore -rw-r-r-- 1 oli oli 5361664 2010-09  -06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09:22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22  manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 Настройки.  py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw-r-r-- 1 oli oli 432 2010-06-22 20:54 views.py [  ! d5] 
15
ответ дан 6 August 2018 в 03:36

ls не поддерживает много выходных настроек.

Используйте

  ls -group-directories-first -l  

, чтобы сначала получить первые.

Посмотрите на limo (не установлен по умолчанию) для альтернативы ls, который поддерживает больше настройки вывода (но не поддерживает все опции ls [ ! d3])

1
ответ дан 6 August 2018 в 03:36

Моим последним ls mod в ~ / bin является:

  #! / bin / bash ACCOUNT_ID = $ UID # #SET  ACCOUNT_NAME ACCOUNT_NAME = $ (cat / etc / passwd | grep $ ACCOUNT_ID | cut -d: -f1);  ls -l -F --color -h - group-directories-first $ 1 | \ sed "s / $ ACCOUNT_NAME / \ $ USER / g" |  ack --passthru --color \\\ $ USER;   

P.S. Должен был называть его ~ / bin / myls или он зависает в цикле, который никогда не доходит до ls в системе.

Пример вывода:

  $ sudo mkdir -vp / temp / Nother_DIR |  tee -a / tmp / record mkdir: созданный каталог `/ temp 'mkdir: созданный каталог` / temp / Nother_DIR' $ sudo chown -vR $ USER: $ USER / temp |  f |  tee -a / tmp / record изменило право собственности на `/ temp / Nother_DIR 'на $ USER: $ USER изменил право собственности на` / temp' на $ USER: $ USER $ cd / temp $ touch a b c d $ ln -sv d e |  tee -a / tmp / record `e '- & gt;  `d '$ ln -sv e f |  tee -a / tmp / record `f '- & gt;  `e '$ myls |  tee -a / tmp / record total 4.0K drwxr-xr-x 2 $ USER $ USER 4.0K 19 сентября 00:46 Nother_DIR -rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 a -  rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 b -rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 c -rw-r - r--  1 $ USER $ USER 0 сен 19 00:46 d lrwxrwxrwx 1 $ USER $ USER 1 сен 19 00:46 e - & gt;  d lrwxrwxrwx 1 $ USER $ USER 1 19 сен 00:46 f - & gt;  e  
0
ответ дан 6 August 2018 в 03:36

Вот мой быстрый удар по нему.

  $ function lss {ls -l - group-directories-first -time-style +% s $ @ |  grep -v '^ total' |  awk 'BEGIN {print ("DIRS")} {if (f! = 1 & amp; $ 1 ~ / ^ - /) {print "\nFILES";  е = 1};  printf ("% s \ t% s% s% s:% s \n", $ 7, $ 6, $ 1, $ 3, $ 4);} ';  } $ alias ls = 'lss' $ ls DIRS directory0 1305901476 drwxr-xr-x ak: ak directory1 1305901476 drwxr-xr-x ak: ak FILES filename0 1305901484 -rw-r - r-- ak: ak filename1 1305901484 -rw  -r - r-- ak: ak filename2 1305901484 -rw-r - r-- ak: ak filename3 1305901484 -rw-r - r-- ak: ak  

Преимущество этого подхода состоит в том, что он не требует нескольких обходов каталога и печатает вывод, когда он готов. Попробуйте запустить это после touch filename {0..10000} в качестве теста.

Отбросить функцию и псевдоним линий в ~ / .bashrc , чтобы сделать его постоянным.

Бенчмаркинг от Oli:

  oli @ bert: ~ / Desktop $ mkdir test oli @  bert: ~ / Desktop $ cd test oli @ bert: ~ / Desktop / test $ mkdir dir {0..100000} oli @ bert: ~ / Desktop / test $ touch имя файла {0..100000} oli @ bert: ~ /  Desktop / test $ time / bin / ls & gt; / dev / null real 0m0.975s пользователь 0m0.860s sys 0m0.110s oli @ bert: ~ / Desktop / test $ time ls --group-directories-first -l & gt; /  dev / null real 0m1.810s user 0m1.210s sys 0m0.580s oli @ bert: ~ / Desktop / test $ time lss & gt; / dev / null # метод ændrük real 0m2.035s пользователь 0m1.810s sys 0m0.780s oli @ bert  : ~ / Desktop / test $ time ~ / bin / ls & gt; / dev / null # Метод Oli real 0m5.496s пользователь 0m4.290s sys 0m1.460s  
7
ответ дан 6 August 2018 в 03:36

Одним из самых мощных инструментов в Unix-системах является команда find . Мы можем использовать его для эмуляции вывода ls с флагом -ls и поиска по типу файла с флагом -type . Таким образом, то, что вы видите ниже, является точно такой же командой, но с найдите , ища два разных типа. printf заявления только говорят, что вы хотите, чтобы это объявление было первым.

  printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls  

Вот пример вывода:

  CURRENT DIR: [/ home / xieerqi / bin] $ printf "**  ** DIRS **** ";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls **** DIRS **** 5795516 4 drwxrwxr-x 8 xieerqi xieerqi 4096 19 авг 16:25.  5795514 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./c 5795511 4 drwxrwxr-x 2 xieerqi xieerqi 4096 авг. 19 15:27 ./python 5795153 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:41 ./  perl 5795532 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./random 5795531 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./sh 5795141 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27.  / cs2 **** FILES **** 5795538 4 -rw-rw-r-- 1 xieerqi xieerqi 178 августа 19 16:25 ./somefile.txt 5795539 4 -rw-rw-r-- 1 xieerqi xieerqi 219 Aug  19 16:26 ./somefile2.txt  

Обратите внимание, что находят списки все , файлы, включая скрытые файлы с ведущая точка, например .bashrc .

Теперь, чтобы облегчить доступ к этой команде, создайте псевдоним для этого в .bashrc . Я сделал это так

  alias ls2 = 'printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls ' 

Источник bashrc с . .bashrc или выйти и ввести терминал. Ваш псевдоним теперь готов к использованию в любое время.

2
ответ дан 7 August 2018 в 21:26

Расширение настроек псевдонимов в .bashrc - мой предпочтительный способ получения более удобных команд ls. Мне нравится особенно «lf» (требуется установка «дерева»).

  # еще несколько псевдонимов ls alias ll = 'ls -alF' alias la = 'ls -A' alias l =  'ls -CF' alias lf = 'tree -d -L 1'  
2
ответ дан 7 August 2018 в 21:26

ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Показывает ... каталоги, нормальные файлы, ссылки в этом порядке.

Сделайте псевдоним, и вы готовы к работе.

Нашел другой метод:

ls -l --color -h - группы-каталоги - сначала

Это первое делает каталоги

В ~ / .bashrc вы можете создать псевдоним для этой команды следующим образом:

alias ls1 = 'ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Пример вывода:

 drwxr-xr-x 5 96 2011-05-20 13:41.  drwxr-xr-x 16 xxxx uuuu 96 2010-03-05 12:34 .. drwx ------ 2 xxxx uuuu 96 2009-02-13 14:31 .ssh drwxrwxr-x 2 xxxx uuuu 96 2009-12  -03 13:49 .xxx drwxrwxr-x 5 xxxx uuuu 96 2010-12-06 15:51 xxxxxx -rw ------- 1 xxxx uuuu 05 2011-05-20 14:12 .bash_history -rw-r  --r-- 1 xxxx uuuu 20 2009-02-12 09:33 .bash_logout -rw-r - r-- 1 xxxx uuuu 29 2009-03-06 11:47 .bashrc -rw-r - r-  - 1 xxxx uuuu 80 2011-05-20 13:42 fff -rw-rw-r-- 1 xxxx uuuu 03 2011-05-18 10:21 dffff 

или для второго: alias ls2 = ls -l --color -h - group-directories-first

Пример вывода: drwxrwxr-x 5 xxxx uuuu 4.0K 2010-12-06 15:51 ddddd -rw-r - r-- 1 xxxx uuuu 339M 2011-05-20 13:42 sssss -rw-rw-r-- 1 xxxx uuuu 4.6M 2011-05-18 10:21 dxsssss -rwxrwxr-x 1 xxxx uuuu 68 2011-02-22 15:55 5555 -rwxr - r-- 1 xxxx uuuu 20K 2010-12-06 16:11 ffff ddddd будет в другом цвете. добавьте -a , чтобы включить скрытые файлы.

, и для этого вы создали команду ls1 и ls2.

4
ответ дан 7 August 2018 в 21:26

Вы можете написать скрипт bash под названием ~ / bin / ls , который должен переопределить / bin / ls . не забудьте запустить chmod + x ~ / bin / ls .

Я только что написал это, что, кажется, делает большую часть того, что вы хотите выполнить (в том числе прохождение дополнительных аргументов)

  #! / bin / bash DIRS = "` / bin / ls --color = auto -l $ @ | grep ^ d` "FILES =" `/ bin / ls --color  = auto -l $ @ | grep ^ \ - `", если ["$ DIRS"] затем эхо "DIRECTORIES" echo -e "$ DIRS \" fi, если ["$ FILES"], затем эхо "FILES" echo "$ FILES  \ "fi  

Кто-то может захотеть немного убрать это или улучшить форматирование вывода, но там вы идете.

И вот какой подлинный образец:

  ls DIRECTORIES drwxr-xr-x 4 oli oli 4096 2010-12-16 15:  40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 post drwxr-xr-x 9 oli oli 4096 2010-09  -16 05:23 templates FILES -rw-r-r-- 1 oli oli 5361664 2010-09-06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09  : 22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22 manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py  -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 settings.py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw  -r - r-- 1 oli oli 432 2010-06-22 20:54 views.py  

И с аргументами:

  ls -a  ДИРЕКТОРИИ drwxr-xr-x 8 oli oli 4096 2011-01-12 00:46.  drwxr-xr-x 19 oli oli 4096 2011-04-13 17:24 .. drwxr-xr-x 6 oli oli 4096 2010-02-03 13:50 .bzr drwxr-xr-x 4 oli oli 4096 2010-12  -16 15:40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 сообщение drwxr-xr-x 9 oli oli  4096 2010-09-16 05:23 шаблоны FILES -rw-r-r-- 1 oli oli 65 2010-03-27 07:58 .bzrignore -rw-r-r-- 1 oli oli 5361664 2010-09  -06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09:22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22  manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 Настройки.  py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw-r-r-- 1 oli oli 432 2010-06-22 20:54 views.py [  ! d5] 
15
ответ дан 7 August 2018 в 21:26

Мой последний мод ls в ~ / bin:

  #! / bin / bash ACCOUNT_ID = $ UID # #SET ACCOUNT_NAME ACCOUNT_NAME = $ (cat / etc / passwd | grep $ ACCOUNT_ID  | cut -d: -f1);  ls -l -F --color -h - group-directories-first $ 1 | \ sed "s / $ ACCOUNT_NAME / \ $ USER / g" |  ack --passthru --color \\\ $ USER;   

Извините за формат сообщения. Пытался использовать его с помощью copy / paste, но, возможно, не пошел. Ура! Постскриптум Пришлось называть его ~ / bin / myls или он зависает в цикле, который никогда не достигает ls системы.

-1
ответ дан 7 August 2018 в 21:26

ls не поддерживает много выходных настроек.

Используйте

  ls -group-directories-first -l  

, чтобы сначала получить первые.

Посмотрите на limo (не установлен по умолчанию) для альтернативы ls, который поддерживает больше настройки вывода (но не поддерживает все опции ls [ ! d3])

1
ответ дан 7 August 2018 в 21:26

Моим последним ls mod в ~ / bin является:

  #! / bin / bash ACCOUNT_ID = $ UID # #SET  ACCOUNT_NAME ACCOUNT_NAME = $ (cat / etc / passwd | grep $ ACCOUNT_ID | cut -d: -f1);  ls -l -F --color -h - group-directories-first $ 1 | \ sed "s / $ ACCOUNT_NAME / \ $ USER / g" |  ack --passthru --color \\\ $ USER;   

P.S. Должен был называть его ~ / bin / myls или он зависает в цикле, который никогда не доходит до ls в системе.

Пример вывода:

  $ sudo mkdir -vp / temp / Nother_DIR |  tee -a / tmp / record mkdir: созданный каталог `/ temp 'mkdir: созданный каталог` / temp / Nother_DIR' $ sudo chown -vR $ USER: $ USER / temp |  f |  tee -a / tmp / record изменило право собственности на `/ temp / Nother_DIR 'на $ USER: $ USER изменил право собственности на` / temp' на $ USER: $ USER $ cd / temp $ touch a b c d $ ln -sv d e |  tee -a / tmp / record `e '- & gt;  `d '$ ln -sv e f |  tee -a / tmp / record `f '- & gt;  `e '$ myls |  tee -a / tmp / record total 4.0K drwxr-xr-x 2 $ USER $ USER 4.0K 19 сентября 00:46 Nother_DIR -rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 a -  rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 b -rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 c -rw-r - r--  1 $ USER $ USER 0 сен 19 00:46 d lrwxrwxrwx 1 $ USER $ USER 1 сен 19 00:46 e - & gt;  d lrwxrwxrwx 1 $ USER $ USER 1 19 сен 00:46 f - & gt;  e  
0
ответ дан 7 August 2018 в 21:26

Вот мой быстрый удар по нему.

  $ function lss {ls -l - group-directories-first -time-style +% s $ @ |  grep -v '^ total' |  awk 'BEGIN {print ("DIRS")} {if (f! = 1 & amp; $ 1 ~ / ^ - /) {print "\nFILES";  е = 1};  printf ("% s \ t% s% s% s:% s \n", $ 7, $ 6, $ 1, $ 3, $ 4);} ';  } $ alias ls = 'lss' $ ls DIRS directory0 1305901476 drwxr-xr-x ak: ak directory1 1305901476 drwxr-xr-x ak: ak FILES filename0 1305901484 -rw-r - r-- ak: ak filename1 1305901484 -rw  -r - r-- ak: ak filename2 1305901484 -rw-r - r-- ak: ak filename3 1305901484 -rw-r - r-- ak: ak  

Преимущество этого подхода состоит в том, что он не требует нескольких обходов каталога и печатает вывод, когда он готов. Попробуйте запустить это после touch filename {0..10000} в качестве теста.

Отбросить функцию и псевдоним линий в ~ / .bashrc , чтобы сделать его постоянным.

Бенчмаркинг от Oli:

  oli @ bert: ~ / Desktop $ mkdir test oli @  bert: ~ / Desktop $ cd test oli @ bert: ~ / Desktop / test $ mkdir dir {0..100000} oli @ bert: ~ / Desktop / test $ touch имя файла {0..100000} oli @ bert: ~ /  Desktop / test $ time / bin / ls & gt; / dev / null real 0m0.975s пользователь 0m0.860s sys 0m0.110s oli @ bert: ~ / Desktop / test $ time ls --group-directories-first -l & gt; /  dev / null real 0m1.810s user 0m1.210s sys 0m0.580s oli @ bert: ~ / Desktop / test $ time lss & gt; / dev / null # метод ændrük real 0m2.035s пользователь 0m1.810s sys 0m0.780s oli @ bert  : ~ / Desktop / test $ time ~ / bin / ls & gt; / dev / null # Метод Oli real 0m5.496s пользователь 0m4.290s sys 0m1.460s  
7
ответ дан 7 August 2018 в 21:26

Расширение настроек псевдонимов в .bashrc - мой предпочтительный способ получения более удобных команд ls. Мне нравится особенно «lf» (требуется установка «дерева»).

  # еще несколько псевдонимов ls alias ll = 'ls -alF' alias la = 'ls -A' alias l =  'ls -CF' alias lf = 'tree -d -L 1'  
2
ответ дан 10 August 2018 в 09:43

ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Показывает ... каталоги, нормальные файлы, ссылки в этом порядке.

Сделайте псевдоним, и вы готовы к работе.

Нашел другой метод:

ls -l --color -h - группы-каталоги - сначала

Это первое делает каталоги

В ~ / .bashrc вы можете создать псевдоним для этой команды следующим образом:

alias ls1 = 'ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Пример вывода:

 drwxr-xr-x 5 96 2011-05-20 13:41.  drwxr-xr-x 16 xxxx uuuu 96 2010-03-05 12:34 .. drwx ------ 2 xxxx uuuu 96 2009-02-13 14:31 .ssh drwxrwxr-x 2 xxxx uuuu 96 2009-12  -03 13:49 .xxx drwxrwxr-x 5 xxxx uuuu 96 2010-12-06 15:51 xxxxxx -rw ------- 1 xxxx uuuu 05 2011-05-20 14:12 .bash_history -rw-r  --r-- 1 xxxx uuuu 20 2009-02-12 09:33 .bash_logout -rw-r - r-- 1 xxxx uuuu 29 2009-03-06 11:47 .bashrc -rw-r - r-  - 1 xxxx uuuu 80 2011-05-20 13:42 fff -rw-rw-r-- 1 xxxx uuuu 03 2011-05-18 10:21 dffff 

или для второго: alias ls2 = ls -l --color -h - group-directories-first

Пример вывода: drwxrwxr-x 5 xxxx uuuu 4.0K 2010-12-06 15:51 ddddd -rw-r - r-- 1 xxxx uuuu 339M 2011-05-20 13:42 sssss -rw-rw-r-- 1 xxxx uuuu 4.6M 2011-05-18 10:21 dxsssss -rwxrwxr-x 1 xxxx uuuu 68 2011-02-22 15:55 5555 -rwxr - r-- 1 xxxx uuuu 20K 2010-12-06 16:11 ffff ddddd будет в другом цвете. добавьте -a , чтобы включить скрытые файлы.

, и для этого вы создали команду ls1 и ls2.

4
ответ дан 10 August 2018 в 09:43

Одним из самых мощных инструментов в Unix-системах является команда find . Мы можем использовать его для эмуляции вывода ls с флагом -ls и поиска по типу файла с флагом -type . Таким образом, то, что вы видите ниже, является точно такой же командой, но с найдите , ища два разных типа. printf заявления только говорят, что вы хотите, чтобы это объявление было первым.

  printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls  

Вот пример вывода:

  CURRENT DIR: [/ home / xieerqi / bin] $ printf "**  ** DIRS **** ";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls **** DIRS **** 5795516 4 drwxrwxr-x 8 xieerqi xieerqi 4096 19 авг 16:25.  5795514 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./c 5795511 4 drwxrwxr-x 2 xieerqi xieerqi 4096 авг. 19 15:27 ./python 5795153 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:41 ./  perl 5795532 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./random 5795531 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./sh 5795141 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27.  / cs2 **** FILES **** 5795538 4 -rw-rw-r-- 1 xieerqi xieerqi 178 августа 19 16:25 ./somefile.txt 5795539 4 -rw-rw-r-- 1 xieerqi xieerqi 219 Aug  19 16:26 ./somefile2.txt  

Обратите внимание, что находят списки все , файлы, включая скрытые файлы с ведущая точка, например .bashrc .

Теперь, чтобы облегчить доступ к этой команде, создайте псевдоним для этого в .bashrc . Я сделал это так

  alias ls2 = 'printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls ' 

Источник bashrc с . .bashrc или выйти и ввести терминал. Ваш псевдоним теперь готов к использованию в любое время.

2
ответ дан 10 August 2018 в 09:43

Моим последним ls mod в ~ / bin является:

  #! / bin / bash ACCOUNT_ID = $ UID # #SET  ACCOUNT_NAME ACCOUNT_NAME = $ (cat / etc / passwd | grep $ ACCOUNT_ID | cut -d: -f1);  ls -l -F --color -h - group-directories-first $ 1 | \ sed "s / $ ACCOUNT_NAME / \ $ USER / g" |  ack --passthru --color \\\ $ USER;   

P.S. Должен был называть его ~ / bin / myls или он зависает в цикле, который никогда не доходит до ls в системе.

Пример вывода:

  $ sudo mkdir -vp / temp / Nother_DIR |  tee -a / tmp / record mkdir: созданный каталог `/ temp 'mkdir: созданный каталог` / temp / Nother_DIR' $ sudo chown -vR $ USER: $ USER / temp |  f |  tee -a / tmp / record изменило право собственности на `/ temp / Nother_DIR 'на $ USER: $ USER изменил право собственности на` / temp' на $ USER: $ USER $ cd / temp $ touch a b c d $ ln -sv d e |  tee -a / tmp / record `e '- & gt;  `d '$ ln -sv e f |  tee -a / tmp / record `f '- & gt;  `e '$ myls |  tee -a / tmp / record total 4.0K drwxr-xr-x 2 $ USER $ USER 4.0K 19 сентября 00:46 Nother_DIR -rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 a -  rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 b -rw-r - r-- 1 $ USER $ USER 0 сен 19 00:46 c -rw-r - r--  1 $ USER $ USER 0 сен 19 00:46 d lrwxrwxrwx 1 $ USER $ USER 1 сен 19 00:46 e - & gt;  d lrwxrwxrwx 1 $ USER $ USER 1 19 сен 00:46 f - & gt;  e  
0
ответ дан 10 August 2018 в 09:43

ls не поддерживает много выходных настроек.

Используйте

  ls -group-directories-first -l  

, чтобы сначала получить первые.

Посмотрите на limo (не установлен по умолчанию) для альтернативы ls, который поддерживает больше настройки вывода (но не поддерживает все опции ls [ ! d3])

1
ответ дан 10 August 2018 в 09:43

Мой последний мод ls в ~ / bin:

  #! / bin / bash ACCOUNT_ID = $ UID # #SET ACCOUNT_NAME ACCOUNT_NAME = $ (cat / etc / passwd | grep $ ACCOUNT_ID  | cut -d: -f1);  ls -l -F --color -h - group-directories-first $ 1 | \ sed "s / $ ACCOUNT_NAME / \ $ USER / g" |  ack --passthru --color \\\ $ USER;   

Извините за формат сообщения. Пытался использовать его с помощью copy / paste, но, возможно, не пошел. Ура! Постскриптум Пришлось называть его ~ / bin / myls или он зависает в цикле, который никогда не достигает ls системы.

-1
ответ дан 10 August 2018 в 09:43

Вы можете написать скрипт bash под названием ~ / bin / ls , который должен переопределить / bin / ls . не забудьте запустить chmod + x ~ / bin / ls .

Я только что написал это, что, кажется, делает большую часть того, что вы хотите выполнить (в том числе прохождение дополнительных аргументов)

  #! / bin / bash DIRS = "` / bin / ls --color = auto -l $ @ | grep ^ d` "FILES =" `/ bin / ls --color  = auto -l $ @ | grep ^ \ - `", если ["$ DIRS"] затем эхо "DIRECTORIES" echo -e "$ DIRS \" fi, если ["$ FILES"], затем эхо "FILES" echo "$ FILES  \ "fi  

Кто-то может захотеть немного убрать это или улучшить форматирование вывода, но там вы идете.

И вот какой подлинный образец:

  ls DIRECTORIES drwxr-xr-x 4 oli oli 4096 2010-12-16 15:  40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 post drwxr-xr-x 9 oli oli 4096 2010-09  -16 05:23 templates FILES -rw-r-r-- 1 oli oli 5361664 2010-09-06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09  : 22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22 manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py  -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 settings.py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw  -r - r-- 1 oli oli 432 2010-06-22 20:54 views.py  

И с аргументами:

  ls -a  ДИРЕКТОРИИ drwxr-xr-x 8 oli oli 4096 2011-01-12 00:46.  drwxr-xr-x 19 oli oli 4096 2011-04-13 17:24 .. drwxr-xr-x 6 oli oli 4096 2010-02-03 13:50 .bzr drwxr-xr-x 4 oli oli 4096 2010-12  -16 15:40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 сообщение drwxr-xr-x 9 oli oli  4096 2010-09-16 05:23 шаблоны FILES -rw-r-r-- 1 oli oli 65 2010-03-27 07:58 .bzrignore -rw-r-r-- 1 oli oli 5361664 2010-09  -06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09:22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22  manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 Настройки.  py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw-r-r-- 1 oli oli 432 2010-06-22 20:54 views.py [  ! d5] 
15
ответ дан 10 August 2018 в 09:43

Вот мой быстрый удар по нему.

  $ function lss {ls -l - group-directories-first -time-style +% s $ @ |  grep -v '^ total' |  awk 'BEGIN {print ("DIRS")} {if (f! = 1 & amp; $ 1 ~ / ^ - /) {print "\nFILES";  е = 1};  printf ("% s \ t% s% s% s:% s \n", $ 7, $ 6, $ 1, $ 3, $ 4);} ';  } $ alias ls = 'lss' $ ls DIRS directory0 1305901476 drwxr-xr-x ak: ak directory1 1305901476 drwxr-xr-x ak: ak FILES filename0 1305901484 -rw-r - r-- ak: ak filename1 1305901484 -rw  -r - r-- ak: ak filename2 1305901484 -rw-r - r-- ak: ak filename3 1305901484 -rw-r - r-- ak: ak  

Преимущество этого подхода состоит в том, что он не требует нескольких обходов каталога и печатает вывод, когда он готов. Попробуйте запустить это после touch filename {0..10000} в качестве теста.

Отбросить функцию и псевдоним линий в ~ / .bashrc , чтобы сделать его постоянным.

Бенчмаркинг от Oli:

  oli @ bert: ~ / Desktop $ mkdir test oli @  bert: ~ / Desktop $ cd test oli @ bert: ~ / Desktop / test $ mkdir dir {0..100000} oli @ bert: ~ / Desktop / test $ touch имя файла {0..100000} oli @ bert: ~ /  Desktop / test $ time / bin / ls & gt; / dev / null real 0m0.975s пользователь 0m0.860s sys 0m0.110s oli @ bert: ~ / Desktop / test $ time ls --group-directories-first -l & gt; /  dev / null real 0m1.810s user 0m1.210s sys 0m0.580s oli @ bert: ~ / Desktop / test $ time lss & gt; / dev / null # метод ændrük real 0m2.035s пользователь 0m1.810s sys 0m0.780s oli @ bert  : ~ / Desktop / test $ time ~ / bin / ls & gt; / dev / null # Метод Oli real 0m5.496s пользователь 0m4.290s sys 0m1.460s  
7
ответ дан 10 August 2018 в 09:43

Одним из самых мощных инструментов в Unix-системах является команда find . Мы можем использовать его для эмуляции вывода ls с флагом -ls и поиска по типу файла с флагом -type . Таким образом, то, что вы видите ниже, является точно такой же командой, но с найдите , ища два разных типа. printf заявления только говорят, что вы хотите, чтобы это объявление было первым.

  printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls  

Вот пример вывода:

  CURRENT DIR: [/ home / xieerqi / bin] $ printf "**  ** DIRS **** ";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls **** DIRS **** 5795516 4 drwxrwxr-x 8 xieerqi xieerqi 4096 19 авг 16:25.  5795514 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./c 5795511 4 drwxrwxr-x 2 xieerqi xieerqi 4096 авг. 19 15:27 ./python 5795153 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:41 ./  perl 5795532 4 drwxrwxr-x 2 xieerqi xieerqi 4096 Aug 19 15:27 ./random 5795531 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27 ./sh 5795141 4 drwxrwxr-x 2 xieerqi xieerqi 4096 19 авг 15:27.  / cs2 **** FILES **** 5795538 4 -rw-rw-r-- 1 xieerqi xieerqi 178 августа 19 16:25 ./somefile.txt 5795539 4 -rw-rw-r-- 1 xieerqi xieerqi 219 Aug  19 16:26 ./somefile2.txt  

Обратите внимание, что находят списки все , файлы, включая скрытые файлы с ведущая точка, например .bashrc .

Теперь, чтобы облегчить доступ к этой команде, создайте псевдоним для этого в .bashrc . Я сделал это так

  alias ls2 = 'printf "**** DIRS **** \n";  найти .  -maxdepth 1-тип d -ls;  эхо "**** FILES ****";  найти .  -maxdepth 1-type f -ls ' 

Источник bashrc с . .bashrc или выйти и ввести терминал. Ваш псевдоним теперь готов к использованию в любое время.

2
ответ дан 13 August 2018 в 15:56

ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Показывает ... каталоги, нормальные файлы, ссылки в этом порядке.

Сделайте псевдоним, и вы готовы к работе.

Нашел другой метод:

ls -l --color -h - группы-каталоги - сначала

Это первое делает каталоги

В ~ / .bashrc вы можете создать псевдоним для этой команды следующим образом:

alias ls1 = 'ls -la | grep "^ d" & amp; & amp; & amp; ls -la | grep "^ -" & amp; & amp; & amp; ls -la | grep "^ l"

Пример вывода:

 drwxr-xr-x 5 96 2011-05-20 13:41.  drwxr-xr-x 16 xxxx uuuu 96 2010-03-05 12:34 .. drwx ------ 2 xxxx uuuu 96 2009-02-13 14:31 .ssh drwxrwxr-x 2 xxxx uuuu 96 2009-12  -03 13:49 .xxx drwxrwxr-x 5 xxxx uuuu 96 2010-12-06 15:51 xxxxxx -rw ------- 1 xxxx uuuu 05 2011-05-20 14:12 .bash_history -rw-r  --r-- 1 xxxx uuuu 20 2009-02-12 09:33 .bash_logout -rw-r - r-- 1 xxxx uuuu 29 2009-03-06 11:47 .bashrc -rw-r - r-  - 1 xxxx uuuu 80 2011-05-20 13:42 fff -rw-rw-r-- 1 xxxx uuuu 03 2011-05-18 10:21 dffff 

или для второго: alias ls2 = ls -l --color -h - group-directories-first

Пример вывода: drwxrwxr-x 5 xxxx uuuu 4.0K 2010-12-06 15:51 ddddd -rw-r - r-- 1 xxxx uuuu 339M 2011-05-20 13:42 sssss -rw-rw-r-- 1 xxxx uuuu 4.6M 2011-05-18 10:21 dxsssss -rwxrwxr-x 1 xxxx uuuu 68 2011-02-22 15:55 5555 -rwxr - r-- 1 xxxx uuuu 20K 2010-12-06 16:11 ffff ddddd будет в другом цвете. добавьте -a , чтобы включить скрытые файлы.

, и для этого вы создали команду ls1 и ls2.

4
ответ дан 13 August 2018 в 15:56

Расширение настроек псевдонимов в .bashrc - мой предпочтительный способ получения более удобных команд ls. Мне нравится особенно «lf» (требуется установка «дерева»).

  # еще несколько псевдонимов ls alias ll = 'ls -alF' alias la = 'ls -A' alias l =  'ls -CF' alias lf = 'tree -d -L 1'  
2
ответ дан 13 August 2018 в 15:56

Вы можете написать скрипт bash под названием ~ / bin / ls , который должен переопределить / bin / ls . не забудьте запустить chmod + x ~ / bin / ls .

Я только что написал это, что, кажется, делает большую часть того, что вы хотите выполнить (в том числе прохождение дополнительных аргументов)

  #! / bin / bash DIRS = "` / bin / ls --color = auto -l $ @ | grep ^ d` "FILES =" `/ bin / ls --color  = auto -l $ @ | grep ^ \ - `", если ["$ DIRS"] затем эхо "DIRECTORIES" echo -e "$ DIRS \" fi, если ["$ FILES"], затем эхо "FILES" echo "$ FILES  \ "fi  

Кто-то может захотеть немного убрать это или улучшить форматирование вывода, но там вы идете.

И вот какой подлинный образец:

  ls DIRECTORIES drwxr-xr-x 4 oli oli 4096 2010-12-16 15:  40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 post drwxr-xr-x 9 oli oli 4096 2010-09  -16 05:23 templates FILES -rw-r-r-- 1 oli oli 5361664 2010-09-06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09  : 22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22 manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py  -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 settings.py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw  -r - r-- 1 oli oli 432 2010-06-22 20:54 views.py  

И с аргументами:

  ls -a  ДИРЕКТОРИИ drwxr-xr-x 8 oli oli 4096 2011-01-12 00:46.  drwxr-xr-x 19 oli oli 4096 2011-04-13 17:24 .. drwxr-xr-x 6 oli oli 4096 2010-02-03 13:50 .bzr drwxr-xr-x 4 oli oli 4096 2010-12  -16 15:40 markitup drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 сообщение drwxr-xr-x 9 oli oli  4096 2010-09-16 05:23 шаблоны FILES -rw-r-r-- 1 oli oli 65 2010-03-27 07:58 .bzrignore -rw-r-r-- 1 oli oli 5361664 2010-09  -06 16:32 db.db -rw-r - r-- 1 oli oli 0 2008-12-11 09:22 __init__.py -rwxr-xr-x 1 oli oli 542 2008-12-11 09:22  manage.py -rw-r-r-- 1 oli oli 13 2010-03-23 ​​18:14 settingsdev.py -rw-r-r-- 1 oli oli 2642 2010-12-16 15:40 Настройки.  py -rw-r-r-- 1 oli oli 1818 2010-12-16 15:40 urls.py -rw-r-r-- 1 oli oli 432 2010-06-22 20:54 views.py [  ! d5] 
15
ответ дан 13 August 2018 в 15:56

Другие вопросы по тегам:

Похожие вопросы: