• Неправильный сбор ноутбука или руки крюки?

    Отдайте в сервис. Как надоели уже умельцы, которые чуть ли не ножницами лезут разбирать ноутбук. Ну хоть бы набор отвёрток купили подходящих. Если не подходит, даже чуть-чуть - не надо пытаться откручивать. Иначе придётся потом мучиться с откручиванием. Ну и откручивать надо равномерно, нельзя открутить все винты на системе охлаждения, а один даже не стронуть -перекос радиатора легко сколет кристалл чипа (процессора, видео и чего угодно).
    Ответ написан
    8 комментариев
  • Как сделать массовое переименование файлов в директории?

    shambler81
    @shambler81 Куратор тега Linux
    find /var/www/ -type f -exec mv {} {}_renamed \;

    find-рекурсивный поиск от заданного каталога и ниже
    /var/www- где искать, если в текущем каталоге то можно заменить на .
    -type f - только файлы
    -exec выполнить с найденным
    mv переместить
    {} то что найдено в данном случае имя файла
    \; - просто закончит команду.
    Проверить можно так, вместо переименовывания вы получите просто принт самих команд.

    find /var/www/ -type f -exec echo {} {}_renamed \;

    5fb18a8d63453365594996.png
    Отметить решенным, спасибо кэп.
    Ответ написан
    Комментировать
  • Как сделать массовое переименование файлов в директории?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    rename -e 's/(.*)/$1_renamed/' *
    Ответ написан
    1 комментарий
  • Как сделать массовое переименование файлов в директории?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    есть много способов как переименовать, вот нагугленные примеры Переименование файлов с помощью find, sed и xargs
    конкретно в вашем случае можно сделать так:
    ls -1 |awk '{print $0,$0"_renamed"}' | xargs -n2 mv

    с пробелами в названии
    ls -1 |awk '{print "\""$0"\" \""$0"_renamed\""}' | xargs -n2 mv
    Ответ написан
    2 комментария
  • Ubuntu- bash скрипты и вставка в них команд?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Ладно, не поленюсь, напишу ответ, хотя обычно на такие вопросы не отвечаю.

    Это не код.
    Это не скрипт.
    Это не bash.

    Это какая-то бредовая каша из непонятно чего. Хотя задачка довольно простая. Но проблемы у Вас начинаются прямо с постановки.
    - Домашний каталог - не обязательно в /home, он указывается в записи юзера в /etc/passwd
    - Права на домашний каталог - не обязательно $user:$user, как правило это $user:$usergroup

    Cкрипт может выглядеть примерно так (использованные команды я обьяснять не буду - по каждой есть man, и более обьемные руководства). Да, я всегда использую Bash версии 1.х
    #!/bin/sh
    
    user=$1 # Это некорректно, здесь нужна проверка на то, передан ли аргумент, только для примера
      uinfo=`getent passwd $user`
      bla=`echo $uinfo | awk 'BEGIN {FS=":"} \
            {printf "uname=%s;uid=%s;ugid=%s;uhome=%s",$1,$3,$4,$6}'`
      eval $bla
    # После этого блока у нас есть переменные uname, uid, ugid и uhome, которые
    # если юзер есть, заполнены данными, а если нет - то пустые
    
    if [ ${#uname} -ne 0 ]; then
      echo "Username exist"
      # Мы предположили, что uhome заполнен, но на самом деле это нужно проверять
     else
       echo "No username"
       # Здесь команды на создание юзера
    fi
    
    if [ -d $uhome ]; then
      echo "Homedir exist"
     else
       echo "No homedir"
       mkdir $uhome
       chown $uid:$ugid $uhome
    fi
    Ответ написан
    8 комментариев