Скажите `ls` сортировать по обычным кодам ASCII, а не & ldquo; разумно & rdquo;

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

Как добавить диски в RAID-0?

Env:

centos 7 (ядро: 3.10.0-327.22.2.el7.x86_64) Версия mdadm v3.4 - 28 января 2016 г. Первые 3 диска по 10 ГБ каждый Четвертый диск также 10 ГБ

Как добавить диски к RAID-0?

$ sudo mdadm --create --verbose /dev/md0 --level=0 --name=DB_RAID2 --raid-devices=3 /dev/xvdh /dev/xvdi /dev/xvdj
$ sudo mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Sep  5 14:25:10 2017
     Raid Level : raid0
     Array Size : 31432704 (29.98 GiB 32.19 GB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Tue Sep  5 14:25:10 2017
          State : clean 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

     Chunk Size : 512K

           Name : temp:DB_RAID2  (local to host temp)
           UUID : e8780813:5adbe875:ffb0ab8a:05f1352d
         Events : 0

    Number   Major   Minor   RaidDevice State
       0     202      112        0      active sync   /dev/xvdh
       1     202      128        1      active sync   /dev/xvdi
       2     202      144        2      active sync   /dev/xvdj

$ sudo mkfs -t ext4 /dev/md0
$ sudo mount /dev/md0 /mnt/test

Добавить диск в RAID-0 в один шаг (не работает):

$ sudo mdadm --grow /dev/md0 --raid-devices=4 --add /dev/xvdk
mdadm: level of /dev/md0 changed to raid4
mdadm: added /dev/xvdk
mdadm: Failed to initiate reshape!

Возможно, это

Добавить диск в RAID-0 в один шаг (не работает):

$ sudo mdadm --grow --level 4 /dev/md0
mdadm: level of /dev/md0 changed to raid4
$ cat /proc/mdstat 
Personalities : [raid0] [raid6] [raid5] [raid4] 
md0 : active raid4 xvdj[2] xvdi[1] xvdh[0]
      31432704 blocks super 1.2 level 4, 512k chunk, algorithm 5 [4/3] [UUU_]

unused devices: <none>

Step- 2: Добавить диск:

$ sudo mdadm --manage /dev/md0 --add /dev/xvdk
mdadm: added /dev/xvdk

Подождать до восстановления:

$ cat /proc/mdstat 
Personalities : [raid0] [raid6] [raid5] [raid4] 
md0 : active raid4 xvdk[4] xvdj[2] xvdi[1] xvdh[0]
      31432704 blocks super 1.2 level 4, 512k chunk, algorithm 5 [4/3] [UUU_]
      [=>...................]  recovery =  8.5% (893572/10477568) finish=3.5min speed=44678K/sec

$ cat /proc/mdstat 
Personalities : [raid0] [raid6] [raid5] [raid4] 
md0 : active raid4 xvdk[4] xvdj[2] xvdi[1] xvdh[0]
      31432704 blocks super 1.2 level 4, 512k chunk, algorithm 5 [4/4] [UUUU]

unused devices: <none>

Шаг-2: Добавить диск:

[ f6]

Дождитесь изменения:

$ cat /proc/mdstat 
Personalities : [raid0] [raid6] [raid5] [raid4] 
md0 : active raid4 xvdk[4] xvdj[2] xvdi[1] xvdh[0]
      31432704 blocks super 1.2 level 4, 512k chunk, algorithm 5 [5/4] [UUUU_]
      [===>.................]  reshape = 16.2% (1702156/10477568) finish=6.1min speed=23912K/sec

$ cat /proc/mdstat
Personalities : [raid0] [raid6] [raid5] [raid4] 
md0 : active raid0 xvdk[4] xvdj[2] xvdi[1] xvdh[0]
      41910272 blocks super 1.2 512k chunks

Шаг 4: измените размер файловой системы:

$ sudo mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Sep  5 14:25:10 2017
     Raid Level : raid0
     Array Size : 41910272 (39.97 GiB 42.92 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Sep  5 14:55:46 2017
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

     Chunk Size : 512K

           Name : temp:DB_RAID2  (local to host temp)
           UUID : e8780813:5adbe875:ffb0ab8a:05f1352d
         Events : 107

    Number   Major   Minor   RaidDevice State
       0     202      112        0      active sync   /dev/xvdh
       1     202      128        1      active sync   /dev/xvdi
       2     202      144        2      active sync   /dev/xvdj
       4     202      160        3      active sync   /dev/xvdk
$ df -h
/dev/md0         30G   45M   28G   1% /mnt/test

Фактическое изменение размера и после изменения размера:

$ sudo resize2fs /dev/md0
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/md0 is mounted on /mnt/test; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 5
The filesystem on /dev/md0 is now 10477568 blocks long.

$ df -h /dev/md0
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0         40G   48M   38G   1% /mnt/test
11
задан 10 June 2011 в 18:01

24 ответа

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE=C ls

Или вы можете добавить export LC_COLLATE="C" в свой .bashrc, чтобы сделать его постоянным (возможно, неожиданным сортировка результатов в другом месте).

Дополнительная информация о форумах Ubuntu.

9
ответ дан 25 July 2018 в 21:45
  • 1
    Наверное, я просто схожу с этим, так что у него нет побочных эффектов. – Martin Ueding 9 June 2011 в 02:05
  • 2
    Это не работает для меня. Я получаю это - & gt; paste.pocoo.org/show/403333 (это немецкий, но это не должно иметь значения) – dAnjou 9 June 2011 в 14:55
  • 3
    @dAnjou LC_COLLATE=C ls устанавливает традиционный порядок сортировки POSIX, который является ASCII, в котором верхний регистр предшествует подчеркиванию. Чтобы иметь знак подчеркивания до верхнего регистра, вам нужно попасть под капот и создать собственное определение локали в каталоге / usr / share / i18n / locales. – misterben 9 June 2011 в 15:36
  • 4
    Возможно, это сработало в прошлом, но он не работает на Ubuntu 12.04. – Mikel 2 June 2012 в 00:18
  • 5
    Начиная с Ubuntu 14.04, LC_COLLATE=C ls не работает, но LC_ALL=C ls. – jwodder 17 January 2015 в 07:48

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE=C ls

Или вы можете добавить export LC_COLLATE="C" в свой .bashrc, чтобы сделать его постоянным (возможно, неожиданным сортировка результатов в другом месте).

Дополнительная информация о форумах Ubuntu.

9
ответ дан 31 July 2018 в 11:52

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE=C ls

Или вы можете добавить export LC_COLLATE="C" в свой .bashrc, чтобы сделать его постоянным (возможно, неожиданным сортировка результатов в другом месте).

Дополнительная информация о форумах Ubuntu.

9
ответ дан 2 August 2018 в 03:21

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE=C ls

Или вы можете добавить export LC_COLLATE="C" в свой .bashrc, чтобы сделать его постоянным (возможно, неожиданным сортировка результатов в другом месте).

Дополнительная информация о форумах Ubuntu.

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

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE=C ls

Или вы можете добавить export LC_COLLATE="C" в свой .bashrc, чтобы сделать его постоянным (возможно, неожиданным сортировка результатов в другом месте).

Дополнительная информация о форумах Ubuntu.

9
ответ дан 6 August 2018 в 03:31

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE=C ls

Или вы можете добавить export LC_COLLATE="C" в свой .bashrc, чтобы сделать его постоянным (возможно, неожиданным сортировка результатов в другом месте).

Дополнительная информация о форумах Ubuntu.

9
ответ дан 7 August 2018 в 21:19

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE = C ls

Или вы можете добавить export LC_COLLATE = " C! в ваш .bashrc, чтобы сделать его постоянным (может быть, в случае непредвиденных результатов сортировка в другом месте).

Дополнительная информация о форумах Ubuntu .

9
ответ дан 10 August 2018 в 09:37

В качестве одноразовой команды вы можете сделать это:

LC_COLLATE = C ls

Или вы можете добавить export LC_COLLATE = " C! в ваш .bashrc, чтобы сделать его постоянным (может быть, в случае непредвиденных результатов сортировка в другом месте).

Дополнительная информация о форумах Ubuntu .

9
ответ дан 13 August 2018 в 15:48
  • 1
    Наверное, я просто схожу с этим, так что у него нет побочных эффектов. – Martin Ueding 9 June 2011 в 02:05
  • 2
    Это не работает для меня. Я получаю это - & gt; paste.pocoo.org/show/403333 (это немецкий, но это не должно иметь значения) – dAnjou 9 June 2011 в 14:55
  • 3
    @dAnjou LC_COLLATE = C ls устанавливает традиционный порядок сортировки POSIX, который представляет собой ASCII, в котором верхний регистр находится перед подчеркиванием. Чтобы иметь знак подчеркивания до верхнего регистра, вам нужно попасть под капот и создать собственное определение локали в каталоге / usr / share / i18n / locales. – misterben 9 June 2011 в 15:36
  • 4
    Возможно, это сработало в прошлом, но он не работает на Ubuntu 12.04. – Mikel 2 June 2012 в 00:18
  • 5
    Начиная с Ubuntu 14.04, LC_COLLATE = C ls не работает, но делает LC_ALL = C ls . – jwodder 17 January 2015 в 07:48

будет ls | sort делать не то, что вам нужно?

1
ответ дан 25 July 2018 в 21:45
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort:

#!/usr/bin/env python import sys for i in sorted(sys.stdin): sys.stdout.write(i)

Сохраните ее, например, в /bin/pysort и сделать его исполняемым (sudo cp whatever.py /bin/pysort и sudo chmod a+x /bin/pysort) и запустить его как ls | pysort:

stefano@lenovo:~/t$ ls | pysort _b a c
6
ответ дан 25 July 2018 в 21:45
  • 1
    Я бы, вероятно, поместил его в ~/bin, но с хорошим отступлением. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort делать не то, что вам нужно?

1
ответ дан 31 July 2018 в 11:52
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort:

#!/usr/bin/env python import sys for i in sorted(sys.stdin): sys.stdout.write(i)

Сохраните ее, например, в /bin/pysort и сделать его исполняемым (sudo cp whatever.py /bin/pysort и sudo chmod a+x /bin/pysort) и запустить его как ls | pysort:

stefano@lenovo:~/t$ ls | pysort _b a c
6
ответ дан 31 July 2018 в 11:52
  • 1
    Я бы, вероятно, поместил его в ~/bin, но с хорошим отступлением. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort делать не то, что вам нужно?

1
ответ дан 2 August 2018 в 03:21
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort:

#!/usr/bin/env python import sys for i in sorted(sys.stdin): sys.stdout.write(i)

Сохраните ее, например, в /bin/pysort и сделать его исполняемым (sudo cp whatever.py /bin/pysort и sudo chmod a+x /bin/pysort) и запустить его как ls | pysort:

stefano@lenovo:~/t$ ls | pysort _b a c
6
ответ дан 2 August 2018 в 03:21
  • 1
    Я бы, вероятно, поместил его в ~/bin, но с хорошим отступлением. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort делать не то, что вам нужно?

1
ответ дан 4 August 2018 в 19:18
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort:

#!/usr/bin/env python import sys for i in sorted(sys.stdin): sys.stdout.write(i)

Сохраните ее, например, в /bin/pysort и сделать его исполняемым (sudo cp whatever.py /bin/pysort и sudo chmod a+x /bin/pysort) и запустить его как ls | pysort:

stefano@lenovo:~/t$ ls | pysort _b a c
6
ответ дан 4 August 2018 в 19:18
  • 1
    Я бы, вероятно, поместил его в ~/bin, но с хорошим отступлением. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort делать не то, что вам нужно?

1
ответ дан 6 August 2018 в 03:31
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort:

#!/usr/bin/env python import sys for i in sorted(sys.stdin): sys.stdout.write(i)

Сохраните ее, например, в /bin/pysort и сделать его исполняемым (sudo cp whatever.py /bin/pysort и sudo chmod a+x /bin/pysort) и запустить его как ls | pysort:

stefano@lenovo:~/t$ ls | pysort _b a c
6
ответ дан 6 August 2018 в 03:31
  • 1
    Я бы, вероятно, поместил его в ~/bin, но с хорошим отступлением. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort делать не то, что вам нужно?

1
ответ дан 7 August 2018 в 21:19
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort:

#!/usr/bin/env python import sys for i in sorted(sys.stdin): sys.stdout.write(i)

Сохраните ее, например, в /bin/pysort и сделать его исполняемым (sudo cp whatever.py /bin/pysort и sudo chmod a+x /bin/pysort) и запустить его как ls | pysort:

stefano@lenovo:~/t$ ls | pysort _b a c
6
ответ дан 7 August 2018 в 21:19
  • 1
    Я бы, вероятно, поместил его в ~/bin, но с хорошим отступлением. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort не делает точно, что вам нужно?

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

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort :

  #! / usr /  bin / env python import sys для i в отсортированном (sys.stdin): sys.stdout.write (i)  

Сохраните его, например, в / bin / pysort [ ! d2] и сделать его исполняемым ( sudo cp what.py / bin / pysort и sudo chmod a + x / bin / pysort ) и запустить его как ls | pysort :

  stefano @ lenovo: ~ / t $ ls |  pysort _b a c  
6
ответ дан 10 August 2018 в 09:37

На всякий случай нет встроенного способа сделать это, вы можете использовать простую замену для sort :

  #! / usr /  bin / env python import sys для i в отсортированном (sys.stdin): sys.stdout.write (i)  

Сохраните его, например, в / bin / pysort [ ! d2] и сделать его исполняемым ( sudo cp what.py / bin / pysort и sudo chmod a + x / bin / pysort ) и запустить его как ls | pysort :

  stefano @ lenovo: ~ / t $ ls |  pysort _b a c  
6
ответ дан 13 August 2018 в 15:48
  • 1
    Я бы, вероятно, поместил его в ~ / bin , но приятный резерв. Вероятно, лучше использовать globbing внутри python, так как вывод ls может быть странным, если имя файла содержит новую строку. – Martin Ueding 9 June 2011 в 02:08

будет ls | sort не делает точно, что вам нужно?

1
ответ дан 13 August 2018 в 15:48
  • 1
    нет, это сортирует его как "a _b c" – Stefano Palazzo♦ 9 June 2011 в 00:55
  • 2
    нет! и сортировка также не имеет возможности для этого :-) – Rinzwind 9 June 2011 в 00:55
  • 3
    Странно, что сортировка имеет так много специальных способов сортировки, но не «используется значение ASCII», один … – Martin Ueding 9 June 2011 в 02:07

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

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