Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Терминал  (Прочитано 620 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lealse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Терминал
« : 16 Ноябрь 2016, 01:08:56 »
Всех приветствую!
Не могли бы вы подсказать, как через терминал изменить название файла на текущую дату?
Пробовал по различному. В файл текущую дату заносит без проблем ( date>название_файла)
Спасибо!

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Терминал
« Ответ #1 : 16 Ноябрь 2016, 01:48:12 »
Код: Bash
  1. mv old_file_name $(date +"%Y-%m-%d")
  2.  
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн lealse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Терминал
« Ответ #2 : 16 Ноябрь 2016, 03:02:00 »
Большое спасибо!
Всё круто работает)
Было бы шикарно, если бы ты ещё помог с двумя задачками. Битый час уже сижу, лажу по разным сайтам, не получается написать код в терминале для вывода в файл всех исполняемых файлов в заданной директории. И ещё одна проблема - вывод в файл списка всех файлов, начинающихся с символа (ну, например a).
Спасибо заранее!

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7083
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Терминал
« Ответ #3 : 16 Ноябрь 2016, 03:15:21 »
lealse, ты лучше чем готовое разберись как пайп работает | Вывод всех файлов можешь получить через ls (man ls расскажет тебе как посмотреть только файлы с правом на исполнение), его вывод в пайп, с пайпа читай, например регуляркой на перле, перенаправляй результат в файл при помощи >.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5660
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Терминал
« Ответ #4 : 16 Ноябрь 2016, 10:29:25 »
man ls расскажет тебе как посмотреть только файлы с правом на исполнение
И мне расскажите. find <dir> -max-depth 1 -type f -executable
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн lealse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Терминал
« Ответ #5 : 16 Ноябрь 2016, 11:00:10 »
+
Всю ночь ковырялся - итог нулевой. Не выводит файлы. Просто . выводит

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Терминал
« Ответ #6 : 16 Ноябрь 2016, 11:30:51 »
lealse,
Код: Bash
  1. man find
  2.  
Я понимаю, новичек, все такое, но делать домашнее задание за вас никто не обязан
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн svtv1

  • Старожил
  • *
  • Сообщений: 2652
  • Это Я
    • Просмотр профиля
Re: Терминал
« Ответ #7 : 16 Ноябрь 2016, 11:51:41 »
ls --color
Может это, исполняемые файлы будут отображаться другим цветом, у меня зеленый  :).
"Если достаточно долго сидеть возле реки - мимо проплывет труп твоего врага"

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7083
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Терминал
« Ответ #8 : 16 Ноябрь 2016, 15:14:57 »
Azure, ls -al грепаешь первую колонку, смотришь исполняемый ли файл (ну или тут через awk/sed/perl пропускаешь). Но с find будет проще.

Оффлайн lealse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Терминал
« Ответ #9 : 16 Ноябрь 2016, 23:06:52 »
lealse,
Код: Bash
  1. man find
  2.  
Я понимаю, новичек, все такое, но делать домашнее задание за вас никто не обязан

Да, Вы правы... Но я просто попросил. Это очень маленькая часть того, что мне нужно сделать. Ну и поняв пару таких команд, я думаю, я смог бы понять и другие
Спасибо!

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Терминал
« Ответ #10 : 16 Ноябрь 2016, 23:52:37 »
lealse, для того, что бы понять, нужно хотя бы ознакомится со стандартными командами и узнать, что они делают. команда man - выдает manual по команде.
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5660
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Терминал
« Ответ #11 : 17 Ноябрь 2016, 10:38:31 »
Это очень маленькая часть того, что мне нужно сделать.
То что Вас просят — неотъемлемая часть обучающего процесса. Если не чуствуете к этому наклонности может следует выбрать другую профессию? Тут или делаешь сам, или делает кто-то за тебя за твои деньги/услуги/отношение/…, а ты зарабатываешь совсем на другом.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

quatro

  • Гость
Re: Терминал
« Ответ #12 : 17 Ноябрь 2016, 14:47:01 »
lealse, здесь уже подсказали, что делать для изучения команд:

Код: Bash

    man find

Еще можно набрать после команды --help. Ну и чтобы понять нужно делать.

Оффлайн lealse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Терминал
« Ответ #13 : 18 Ноябрь 2016, 17:38:04 »
Я не настолько, хм)

Сейчас начал читатать, как создавать местные .бат файлы

про man и --help я уже знал, но не понимал, где вся инфа - а там нужно было просто промотать вниз.. (затупил)

Всем спасибо, ребята!

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Терминал
« Ответ #14 : 18 Ноябрь 2016, 18:14:40 »
lealse, сравнивать пакетный (batch) файл с shell скриптом не совсем корректно, хоть они и есть аналогами.
.BAT (.CMD, .BTM) интерпретируются только оболочкой или ее эмулятором.
.SH/.RUN/... да хоть и без разширения могут выполнятся любым интерпретаром, что указан в хедере скрипта (деректива #!). На самом деле расширение в UNIX системах используются для удобства пользователя, для информативности - на каком языке (если это скрипт) написан файл. система их различает по флагам и хедерам)

То есть можно написать так
Код: Bash
  1. #!/bin/sh
  2. echo date +"%Y-%m-%d"
  3.  

Код: PHP
  1. #!/usr/bin/env php
  2. <?= date("Y-m-d") ?>
  3.  
« Последнее редактирование: 18 Ноябрь 2016, 18:19:08 от EvangelionDeath »
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

 

Страница сгенерирована за 0.111 секунд. Запросов: 24.