- История команд Linux
- История команд Linux
- Очистить историю команд Linux
- Как очистить терминал Linux
- Как очистить терминал в Linux
- On-line журнал o Linux
- Работа в Linux с историей команд (history)
- Как очистить историю команд в Linux
- Почему мы должны удалить историю командной строки Linux?
- Удаление истории командной строки Linux
- Скрытность в Linux. Заметаем следы
- Узнать Временные Метки Файла
- Разница Между Временами «Доступа», «Модификации» и «Изменения»
- Изменение Времени «Доступа» и «Модификации» Файла
- Подделка Времени «Изменения» Файла
- Заметаем Следы 😉
- Очистить или Удалить Историю Входов в Linux
- Удаление Информации о Последних Подключениях
- Очистить Историю Команд в BASH
- Полностью удалить историю Bash
- Удалить определенную строку из истории Bash
- Очистить историю команд текущей сессии
- Не сохранять команду в истории Bash
- Не сохранять все команды текущей сессии в истории Bash
- Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod
- Синтаксис
- Классы доступа
- Операторы
- Права доступа
- Числовые права доступа
- 10 Простых Примеров :
- Запуск Команд на Удаленном Linux Сервере через SSH
- Выполнение Команд на Удаленном Linux Сервере
- Узнать uptime удаленного сервера
- Перезагрузить удаленный сервер
- Запуск Нескольких Команд через SSH
- Узнать Uptime и Disk Usage
- Узнать Memory Usage и Load Average
- Показать Версию Ядра, информацию о CPU и кол-во RAM
- Выполнение Локального Скрипта на Удаленном Linux Сервере
- Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине
- 7 Советов — Настройка Истории Команд в Bash
- 1. Добавляем Отображение Даты и Времени в Bash History
- 2. Увеличиваем Размер Хранимой Истории
- 3. Добавляем Команды Bash в Файл с Историей
- 4. Мгновенно Сохранять Историю Команд
- 5. Контролируйте Bash History
- 6. Игнорировать Определенные Команды
- 7. Одна Команда — Одна Запись в Истории
- Изменить Имя Файла с Историй Команд
История команд Linux
На сегодняшний день большинство дистрибутивов Linux имеют мощный GUI. Тем не менее, как и 20 лет назад, с помощью одного лишь терминала, вы получаете неограниченные возможности для управления системой в Linux.
Каков бы ни был ваш опыт, порой вспомнить ту или иную команду бывает достаточно сложно. Но благодаря функциям командного процессора Bash, история команд Linux превращает использование консоли в невероятно комфортный процесс.
В Bash история команд позволяет существенно сэкономить время и делает процесс работы в командной строке более эффективной. Вам не нужно постоянно вводить одни и те же команды. Нажимая клавиши управления курсором, Bash будет поочередно выводить набранные ранее команды.
История команд Linux
Для просмотра всей истории команд Linux удобнее использовать утилиту history . После выполнения, на экране будет выведена вся история команд Linux. Мы можем ограничить количество выводимых строк. Для примера, команда ниже отобразит список из последних 25 команд:
История команд Linux хранится в файле
/.bash_history . Размер файла ограничен списком из 500 выполненных команд, которые затираются по мере заполнения файла.
Чтобы увеличить количество команд в истории, необходимо добавить в файл
/.bashrc следующие настройки:
Как вы уже успели заметить, история команд Linux не учитывает дату и время выполнения команды. Чтобы добавить дату к списку команд, добавьте в конец
/.bashrc следующую строку:
Применить настройки без перезапуска:
Очистить историю команд Linux
Случаются ситуации, когда необходимо очистить историю команд Linux. Например, некоторые команды могут содержать пароли в открытом для просмотра виде. Выполните одну из команд ниже для полного или частичного удаления истории Bash:
По умолчанию, история команд Linux включена, и все команды, которые вы выполняете в командной строке, можно использовать повторно без особых затрат времени на их набор. При желании эту функцию можно отключить. В bash история команд отключается с помощью команды ниже:
Если вы передумаете, история команд Linux включается также легко, просто выполните команду:
Источник
Как очистить терминал Linux
Если вы хотите делать снимки экрана терминала Linux или вам хочется чтобы окно терминала перед выполнением команды с очень длинным выводом было пустым, вам понадобиться возможность очистки терминала.
Существует несколько способов это сделать. Можно воспользоваться горячей клавишей, или выполнить несколько команд. Можно очистить только текущий экран или полностью весь вывод. В сегодняшней статье мы расскажем как выполняется очистка терминала в Linux.
Как очистить терминал в Linux
Самый простой способ очистить терминал — воспользоваться сочетанием клавиш Ctrl + L. После нажатия этих клавиш весь уже существующий вывод переместиться вверх, так, что текущее окно терминала будет пустым:
Тем не менее вся история вывода не будет удалена, вы сможете легко получить к ней доступ просто пролистав немного вверх:
Но если вы не будете пытаться листать историю, окно будет чистым. Если этого вам мало, вы можете воспользоваться командой clear. Она полностью очищает вывод и к предыдущему выводу вы уже вернуться не сможете:
Для того чтобы утилита clear не очищала полностью историю вывода, доступную при прокрутке, а работала аналогично сочетанию клавиш Ctrl+L используйте опцию -x:
Но и у этой команды есть одна проблема. Если вы по ошибке вывели содержимое двоичного файла, ваш эмулятор может быть сломан. Все вводимые вами символы могут превратиться в кракозябры, а приглашение ввода вовсе перестанет работать. Такое происходит потому что в двоичных файлах могут случайно встретиться какие-нибудь управляющие последовательности, ломающие работу терминала.
В такой ситуации команда clear не поможет, здесь нужна команда reset:
Она сбрасывает терминал полностью, не только предыдущий вывод, но и любые настройки, заданные с помощью управляющих последовательностей. После её выполнения вы получите чистый терминал.
Как видите, очистить терминал Linux очень просто. А какие способы знаете вы? Напишите в комментариях!
Источник
On-line журнал o Linux
Работа в Linux с историей команд (history)
Как говориться «лень — двигатель прогресса» поэтому я покажу как можно еще работать с командной строкой bash, стандартно с помощью клавиш перемещения курсора можно перемещаться по списку ранее введенных команд. Если мне была нужна определенная команда из ранее введенных — „стрелка вверх“ и до тех пор пока нужная команда не появиться в терминале далее корректировка по надобности и выполнения ее.
Оказываеться есть еще один хороший способ — для просмотра списка ранее введенных команд в bash — имеется команда history. По умолчанию она выводит список команд хранящийся в истории.
$ history
1 sudo route del -net
2 cat /etc/resolv.conf
3 htop
.
50 nslookup
51 ping mail.ru
52 ifconfig
.
200 sudo aptitude full-upgrade
.
300 mc
По умолчанию все пишиться в файл
/.bash_history, а его размер — 500 команд.
Если хотим хранить историю в другом файле, то нужно в .bashrc, задать команду HISTFILE=
/.my_history.
HISTSIZE — определяет число строк, хранящихся в списке истории (в памяти интерпретатора).
HISTFILESIZE — максимальное количество команд хранящихся в файле истории.
Если интересует больше записей, по можно поменять под себя:
$ export HISTSIZE=1000
$ export HISTFILESIZE=1000
При запуске команды history без параметров, выдаеться весь список сохранненных команд, что довольно громоздко, поэтому есть возможность указать
количество выводимых строк (команд):
$ history 20
280 sudo aptitude full-upgrade
281 ps ax | grep conky
282 dig @217.23.122.130 ya.ru mx
.
300 mc
Выдаст 20 последних команд, все команды имеею свой номер, с помощью которого к ней можно обратится.
Если нам надо повторить 282 команду, то просто набираем в терминале:
$ !282
dig @217.23.122.130 ya.ru mx
; > DiG 9.5.0-P2 > @217.23.122.130 ya.ru mx
; (1 server found)
. .
Сначало показываеться команда соответствующая этому номеру, потом ее выполнения.
Cписок наиболее распространенных команд:
Дополнения:
Так же можно сохранить дату и время для каждой команды в истории, для этого в конец .bashrc дописываем:
$ nano .bashrc
и применяем изменений в .bashrc без перезапуска сеанса/системы делаем командой
$ bash
Получаем :
$ history 3
147 Aug/11 — 11:05:28 sudo aptitude install gspca-source
148 Aug/11 — 11:07:23 cd /lib/modules/2.6.32-22-generic/
149 Aug/11 — 11:11:08 modprobe gspca
Источник
Как очистить историю команд в Linux
Главное меню » Ubuntu » Как очистить историю команд в Linux
Почему мы должны удалить историю командной строки Linux?
В большинстве случаев мы не хотим раскрывать историю терминалов других пользователей вашей системы Linux. Например, если вы проводите занятия со своими учениками на лабораторном компьютере, и, возможно, вы научили их некоторым вредоносным командам, которые не рекомендуется использовать в нашей системе. Но большинство студентов не имеют представления о побочных эффектах этих важных команд. Любопытный студент может поискать в истории командной строки и протестировать ее, чтобы проверить работу каждой команды. Это может привести к сбою вашей системы много раз. Однако вы можете быстро отремонтировать или переустановить свою систему. Но это не очень хорошая практика. Итак, в этом случае мы хотим очистить историю командной строки после работы с ней. Особенно, если у вас есть общий доступ со своими друзьями или коллегами. Мы только что разработали это на простом примере; могут возникнуть другие проблемы, из-за которых вы захотите очистить историю командной строки Linux. В этой статье мы покажем вам, как можно очистить историю командной строки в системе Linux.
В этой статье мы выполнили все команды терминального приложения в Ubuntu 20.04. Следовательно, необходимо открыть окно терминала в вашей системе. Щелкните «Действия», расположенный в левом углу на рабочем столе вашей системы, а затем, используя панель поиска приложения, вы выполните поиск по ключевому слову «терминал». После завершения поиска щелкните значок терминала и запустите его.
Удаление истории командной строки Linux
Если вы хотите просмотреть историю своей команды терминала, введите в терминале следующую команду:
Обычно история командной строки сохраняется в файле с именем «bash_history». Этот файл вы можете найти в домашнем каталоге конкретного пользователя /home/username/.bash_history. Выполните приведенную ниже команду, чтобы найти файл bash_history:
Источник
Скрытность в Linux. Заметаем следы
Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).
Однажды может возникнуть необходимость подделать временные меткикакого-либо файла.
Время доступа (atime), как и время модификации (mtime) могут быть легко изменены с помощью команды touch, но для подделки метки времени изменения (ctime) стандартного решения не существует.
Тем не менее, в качестве обходного пути, можно установить системное время в то значение на которое вы хотите изменить ctime файла, затем использовать команду touch на этом файле и потом откатить системное время обратно.
Из приведенной ниже статьи вы узнаете, как сохраняя анонимность изменять временные метки файла.
Узнать Временные Метки Файла
Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat :
Разница Между Временами «Доступа», «Модификации» и «Изменения»
Временная метка | Когда она обновляется? |
---|---|
atime | Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д. |
mtime | Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл. |
ctime | Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла. |
Изменение Времени «Доступа» и «Модификации» Файла
Изменить время доступа к файлу (atime) :
Изменить время модификации файла (ctime) :
Подделка Времени «Изменения» Файла
Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).
Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.
Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.
Сохраните текущую дату и время в переменную NOW :
Установите поддельное системное время (необходим root) :
Используйте команду touch на файле для изменения всех временных меток на поддельные :
Откатите время назад (необходим root) :
Для увеличения скорости выполнения модификаций и как следствие уменьшения риска возможных последствий, вы можете выполнит приведенные выше команды следующим образом :
Заметаем Следы 😉
Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :
Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :
Очистите историю входов в Linux (необходим root) :
Очистите историю текущей сессии :
Очистить или Удалить Историю Входов в Linux
В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.
Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.
И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.
Команда | Журнал логов | Описание |
---|---|---|
last | /var/log/wtmp | История успешных входов/выходов |
lastb | /var/log/btmp | История неудавшихся попыток входа |
lastlog | /var/log/lastlog | Список последних подключавшихся пользователей |
Удаление Информации о Последних Подключениях
Для удаления всей информации о последних подключавшихся пользователях необходимо очистить журналы с логами :
Очистить Историю Команд в BASH
Полностью удалить историю Bash
Выполните следующую команду для полного удаления всей истории Bash :
Опции | Описание |
---|---|
-c | Очистить файл истории |
-w | Внести команды текущей сессии в файл с историей |
Удалить определенную строку из истории Bash
Опция | Описание |
---|---|
-d | Удалить строку с указанным номером из истории |
Очистить историю команд текущей сессии
Выполните для удаления истории команд только текущей сессии :
Опция | Описание |
---|---|
-r | Прочитать файл с текущие историей и добавить его содержимое к списку истории команд |
Не сохранять команду в истории Bash
Выполнить команду не занося ее в историю Bash :
$ команда
Поставьте пробел перед любой командой и она не будет сохранена в истории Bash.
Не сохранять все команды текущей сессии в истории Bash
Отключение HISTFILE приводит к тому, что пока Вы не выйдите из текущей сессии, любые команды которые Вы будете выполнять не будут сохраняться в файле с историей bash_history :
Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod
Команда сhmod (change mode) служит для изменения прав доступа к файлам и папкам.
Синтаксис
Команды chmod имеет следующий синтаксис :
- -R, —recursive; изменять файлы и директории рекурсивно
- -f, —silent, —quiet; не выводить сообщения об ошибках
Показать текущие права на файл / директорию можно с помощью команды ls :
или используя команду stat :
Классы доступа
Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв :
Класс | Class | Описание |
---|---|---|
u | user | владелец файла (папки) |
g | group | пользователи, которые являются членами группы к которой принадлежит файл (папка) |
o | others | пользователи, которые не являются ни владельцем файла (папки), ни входят в группу файла (папки) |
a | all | все три перечисленных выше класса, то же самое что ugo |
Операторы
Программа chmod использует оператор для того, чтобы указать каким образом будут применены права доступа к файлам или папкам. Приняты следующие операторы :
Оператор | Описание |
---|---|
+ | добавить указанные права доступа к указанному классу |
— | убрать указанные права доступа из указанного класса |
= | присвоить указанные права доступа |
Права доступа
Права доступа указывают какие полномочия следует предоставить или забрать у указанного класса. Существуют три основных вида прав доступа, которые соответствуют базовым полномочиям :
Права доступа | Name | Описание |
---|---|---|
r | read | права на чтение содержимого файла или директорию (просматривать файлы и поддиректории в папке) |
w | write | права на запись в файл или директорию (создавать файлы и поддиректории в папке) |
x | execute | права на исполнение файла в качестве программы/скрипта либо права на вход в директорию (просмотр дерева каталога) |
X | special execute | права на вход в директорию и права на исполнение файла, в случае, если хотя бы одному классу уже назначено право на исполнение (для любого из user, group или other) |
[X] сам по себе не является правом доступа, но тем не менее, может использоваться вместо x. Он на самом деле полезен только в случае использования оператора ‘+’ в сочетании с опцией -R, для того чтобы предоставить группе или остальным пользователям права доступа к дереву каталога, не давая прав на исполнение обычных файлов (например текстовых), что случится при применении команды ‘chmod -R a+rx’. Таким образом вместо нее можно использовать ‘X’, и соответственно выполнить ‘chmod -R a+rX’.
Числовые права доступа
Возможно использование прав доступа как в символьной, так и в числовой форме.
Числовая форма для прав доступа :
- Первая цифра используется для обозначения user (пользователь)
- Вторая цифра используется для обозначения group (группа)
- Третья цифра используется для обозначения others (остальные)
# | Права | Описание |
---|---|---|
7 | rwx | чтение, запись, исполнение |
6 | rw- | чтение, запись |
5 | r-x | чтение, запись |
4 | r— | чтение |
3 | -wx | запись, исполнение |
2 | -w- | запись |
1 | —x | исполнение |
0 | — | нет прав |
10 Простых Примеров :
1. Добавить всем права на чтение файла :
2. Забрать права на исполнение файла у всех :
3. Добавить всем права на чтение и запись :
4. Установить права на чтение и запись для владельца и забрать права у всех остальных :
5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :
6. Забрать у всех все права :
7. Дать всем права на права на чтение, запись и выполнение файла :
8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :
9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :
10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :
Запуск Команд на Удаленном Linux Сервере через SSH
В этой заметке Вы найдете различные примеры того, как выполнять команды на удаленном Linux сервере и получать результат локально.
Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.
- выполнить команду на удаленном Linux сервере;
- запустить множество команд через SSH;
- выполнить локальный скрипт на удаленном Linux сервере без его копирования.
Выполнение Команд на Удаленном Linux Сервере
Узнать uptime удаленного сервера
Перезагрузить удаленный сервер
Запуск Нескольких Команд через SSH
СПОСОБ 1 :
Узнать Uptime и Disk Usage
СПОСОБ 2 :
Узнать Memory Usage и Load Average
СПОСОБ 3 :
Показать Версию Ядра, информацию о CPU и кол-во RAM
Выполнение Локального Скрипта на Удаленном Linux Сервере
Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине
7 Советов — Настройка Истории Команд в Bash
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл
Чтобы изменения в
/.bashrc вступили в силу, выполните :
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл
Теперь, набрав history, Вы получите следующий вывод :
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения :
Добавьте следующую строку в файл
/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее :
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана :
5. Контролируйте Bash History
HISTCONTROL — представляет из себя список опций, разделенных двоеточиями.
Они контролируют каким образом список команд сохраняется в истории.
Опция | Описание |
---|---|
ignorespace | не сохранять строки начинающиеся с символа |
ignoredups | не сохранять строки, совпадающие с последней выполненной командой |
ignoreboth | использовать обе опции ‘ignorespace’ и ‘ignoredups’ |
erasedups | удалять ВСЕ дубликаты команд с истории |
6. Игнорировать Определенные Команды
HISTIGNORE — список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.
Не сохранять команды ls, ps и history :
Не сохранять команды начинающиеся с s :
7. Одна Команда — Одна Запись в Истории
Сохранять все строки многострочной команды в одной записи списка истории :
Изменить Имя Файла с Историй Команд
Используйте HISTFILE для изменения имени файла, в котором сохраняется история команд. Стандартное значение
Источник