Автор использует сервер AliYun ECS, а изображение — Ubuntu.Подробная информация о версии Ubuntu:Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)
, как купить облачный сервер выходит за рамки этой статьи.Если вы только учитесь, вы можете использовать виртуальный бокс для установки Ubuntu.
# 连接服务器
$ ssh <username>@<hostname>
# 更新系统源
$ apt update
# 升级系统源
$ apt upgrade
Необходимая среда и приложение
Git
# 安装 git
$ apt install git
конфигурация командной строки
# 1、初始化设置
$ git config --global user.name 'youngjuning'
$ git config --global user.email 'youngjuning@aliyun.com'
# 2、将 `color.ui` 设置为 `auto` 可以让命令的输出拥有更高的可读性。
$ git config --global color.ui auto
# 3、git 记住用户名和密码
$ git config --global credential.helper store
# 4、core.autocrlf
$ git config --global core.autocrlf input
Системы Linux или Mac используют LF в качестве разделителей строк, поэтому вы не хотите, чтобы Git выполнял автоматические преобразования при извлечении файлов; когда файл начинается с
CRLF
Вы определенно хотите исправить, когда файл с разделителями строк случайно импортируется, поместитеcore.autocrlf
установлен вinput
сказать Git поставитьCRLF
Перевести вLF
, не конвертировать при извлечении: Это сохранится в извлеченном файле в системах Windows.CRLF
, будет сохранен на системах Mac и Linux, включая репозиторииLF
.
Java
# 安装 jre、jdk
$ apt install openjdk-8-jre-headless openjdk-8-jdk-headless
Node
Node.js — это среда выполнения JavaScript, основанная на движке Chrome V8. Мы используемn
модуль для поддержки версии Node:
$ apt install nodejs npm build-essential
$ sudo npm install -g npm n
# 安装最新版
$ sudo n latest
## 其他命令##
# 安装指定版本
$ sudo n 10.16.0
# 安装最新的稳定版
$ sudo n lts
# 删除指定版本
$ n rm 12.10.0
# 除去当前版本以外的所有缓存版本
$ n prune
oh-my-zsh
Исправлять
~/.zshrc
нужно выполнить послеsource ~/.zshrc
приказ вступить в силу немедленно
echo $SHLL
Вы можете просмотреть текущую оболочку
apt install zsh
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
- `cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
nano ~/.zshrc
- оказаться
ZSH_THEME="robbyrussell"
,Пучокrobbyrussell
заменитьys
- Измените оболочку по умолчанию:
chsh -s /bin/zsh
- подсветка команд
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.zsh-syntax-highlighting" --depth 1
echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"
- заново открыть командную строку
echo "export EDITOR=nano" >> ~/.zshrc
vim
Рекомендуется использовать:github.com/amix/vimrc
$ git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
$ sh ~/.vim_runtime/install_awesome_vimrc.sh
$ echo "set number" >> ~/.vimrc
$ echo "set showcmd" >> ~/.vimrc
$ source ~/.vimrc
содержание
-
/
-
bin
: Содержит исполняемые программы, которые будут использоваться всеми пользователями. -
boot
: Содержит файлы, тесно связанные с запуском Linux. -
dev
: Содержит периферийные устройства. подкаталоги в нем, каждый из которых соответствует периферийному -
etc
: содержит файл конфигурации для системы -
home
: личный каталог пользователя -
lib
: Содержит файлы библиотеки, вызываемые программой, такие как.so
конец файла -
media
: Когда к компьютеру подключено съемное периферийное устройство (USB-накопитель, SD-карта, DVD, CD и т. д.). -
mnt
: используется для временного монтирования некоторых устройств -
opt
: Дополнительный пакет приложений для установки большинства сторонних программ и плагинов. -
root
: домашний каталог суперпользователя root -
sbin
: используется для хранения важных исполняемых файлов системного уровня. -
srv
: Содержит данные, к которым необходимо получить доступ после запуска некоторых сетевых служб. -
tmp
: Где обычные пользователи и программы хранят временные файлы -
usr
: Ресурс программного обеспечения Unix, который устанавливает программы, которые большинство пользователей хотят вызывать -
var
: обычно содержит программные данные, такие как файлы журналов (log)
-
Общие команды
Поисковая система команд Linux:git.io/linux
-
reboot
: перезапустите работающую операционную систему Linux. -
halt
: Выключить систему -
shutdown
: Используется для команды завершения работы системы. Команда выключения может закрыть все программы и перезапустить или завершить работу в соответствии с потребностями пользователя. -
poweroff
: запустить прямо, чтобы выключить -
history
: используется для отображения истории команд -
whice
: Найти и отобразить абсолютный путь данной команды -
pwd
: отображает текущий рабочий каталог. (Печать рабочего каталога) -
source
: Чтение и выполнение команд из указанного файла в текущей среде оболочки, благодаря чему изменения файла вступают в силу немедленно. -
updatedb
: создать или обновитьlocate
Файлы базы данных, необходимые для команды -
uname -a
: Показать всю информацию о системе Linux. -
cat /proc/version
: Показать информацию о Linux -
cat /etc/lsb-release
: просмотр информации о выпуске -
echo $SHELL
: текущая оболочка service <service> force-reload|reload|restart|start|status|stop
-
systemctl start|stop|restart|status|reload
:-
enable
: автоматически запускать службу при загрузке -
disable
: Не запускать службу автоматически при загрузке -
is-enabled
: Проверить, запускается ли служба автоматически при загрузке -
list-unit-files --type=service
: просмотр запуска и отключения служб на каждом уровне.
-
управление файлами
операции с каталогами файлов
-
ls
: Показать список содержимого каталога-
-a
: Список всех файлов, включая подразумеваемые файлы, начинающиеся с «.». -
-l
: В дополнение к каждому имени файла добавьте тип отображаемого файла, разрешение, количество жестких ссылок, имя владельца, имя группы, размер (в байтах) и информацию о времени (если не указано другое время, это относится к времени модификации) , вы можете использоватьll
заменять
-
-
du
: Отображает использование диска для каждого файла и каталога (Использование диска).-
-a
или-all
: отображает размер отдельных файлов в каталоге. -
-h
или--human-readable
: Используйте K, M, G в качестве единиц измерения для улучшения удобочитаемости информации. -
-s
или--summarize
: Отображается только общее количество с указанием только последнего значения.
-
-
cat -N
: Объединение нескольких файлов и вывод на стандартный вывод. (объединить) -
less -N
- Пробел: Перейти вперед на одну страницу (один экран)
- клавиша b: вернуться на одну страницу (один экран)
- клавиша d: вперед на полстраницы (половина экрана)
- клавиша u: вернуться на полстраницы (половина экрана)
- Клавиша ввода/клавиша e/стрелка вниз: перейти на одну строку вперед
- клавиша y/стрелка вверх: вернуться на одну строку назад
- Клавиша q: остановить чтение файла, отменить команду less
- = ключ: показывает, где вы находитесь в файле
- / клавиша: войти в режим поиска
- клавиша n: перейти к следующему совпадению
- shift+n: перейти к предыдущему совпадению
-
head
: Показать начало файла -
tail
: Отобразить последние строки указанного файла на экране.-
-f
: отображение только что добавленного содержимого файла. -
-s<秒数>
:а также-f
Параметр используется вместе, чтобы указать количество секунд между изменениями файла мониторинга, по умолчанию 1 секунда.
-
-
touch
: создать новый пустой файл -
mkdir
: используется для создания каталога-
-p
или--parents
: Если каталог верхнего уровня создаваемого каталога еще не создан, каталог верхнего уровня будет создан вместе с
-
-
cp
: Скопируйте исходный файл или каталог в целевой файл или каталог.-
-r
или-R
: Рекурсивная обработка, все файлы в указанном каталоге обрабатываются вместе с подкаталогами, рекурсивный
-
-
mv
: используется для переименования файла или каталога -
rm
: используется для удаления указанных файлов и каталогов-
-r
или-R
: Рекурсивная обработка, все файлы в указанном каталоге обрабатываются вместе с подкаталогами, рекурсивный -
-f
: принудительное удаление файлов или каталогов
-
-
ln
: используется для создания ссылки на файл- Дефект жесткой ссылки: в общем случае можно создавать только жесткие ссылки на файлы, а не на каталоги.
- Жесткая ссылка относится к использованию одного и того же
inode
номер, но имя файла другое -
ls -i
:показыватьinode
Нет
-
-s
,--symbolic
: Симлинки на исходные файлы, а не жесткие ссылки
-
locate
:Сравниватьfind
Простой в использовании инструмент поиска файлов, необходимо сотрудничатьupdatedb
использовать -
find
: найти файлы в указанном каталогеfind [何处] <何物> [做什么]
-
-name <范本样式>
: укажите строку в качестве стиля шаблона для поиска файлов или каталогов. -
-size <文件大小>
: найти файлы, соответствующие указанному размеру файла. -
-type <文件类型>
: найти только те файлы, которые соответствуют указанному типу файлов;- fобычный файл
- lсимволическая ссылка
- dсодержание
- cсимвольное устройство
- bблочное устройство
- sразъем
- p Fifo
-
-atime <24小时数>
: найти файлы или каталоги, к которым обращались в указанное время, единица рассчитывается за 24 часа; -
-exec <执行指令>
: Предположим, что возвращаемое значение инструкции Find равно TRUE, выполните инструкциюfind . -name *.txt -exec chmod 600 {} \;
можно заменить на
-ok
, ок позволит вам подтвердить операцию
-
управление полномочиями
-
sudo su
: переключить корневую идентификацию, заменить do -
useradd -m
: Созданный новый системный пользователь автоматически создает домашний каталог пользователя. -
passwd
: Используется, чтобы позволить пользователям изменять свои собственные пароли. -
`userdel -r: используется для удаления данного пользователя и файлов, связанных с пользователем
-
users
: отображает всех пользователей, которые в данный момент вошли в систему. -
usermod
: Используется для изменения основной информации о пользователе.-
-l
: переименовать пользователя./home
Имя домашнего каталога пользователя не меняется, и его необходимо изменить вручную. -
-g
: изменить группу, в которой находится пользователь. -
-G
: добавление пользователей в несколько групп, несколько групп используют,
сегментация -
-aG
или-ag
: Войдите в новую группу, не выходя из исходной группы.
-
-
groupadd
: используется для создания новой рабочей группы -
groups
: используется для печати рабочей группы, к которой принадлежит указанный пользователь -
chown
: Используется для изменения владельца или группы файла или каталога.chown <username>[:gruop] <file|dir>
-
-R
: Рекурсивная обработка, обработка всех файлов и подкаталогов в указанном каталоге вместе
-
-
chgrp
: Используется для изменения группы, к которой принадлежит файл или каталог. -
chmod
: используется для изменения прав доступа к файлу или каталогуВсего их 10,1Биты представляют тип файла, первый2-4Биты указывают права владельца на чтение, запись и выполнение.5-7Биты указывают права на чтение, запись и выполнение пользователей в одной группе.8-10Биты представляют права на чтение, запись и выполнение для других пользователей. Если у вас нет разрешения на использование
-
заполнитель.如果开启 SELinux,则第11Еще один.
.- тип файла
-
d
: Аббревиатура английского справочника, указывающаясодержание -
l
: Аббревиатура английской ссылки, указывающаяСвязь -
-
:документ
-
-
r
: Аббревиатура для чтения на английском языке, указывающаячитать -
w
: Аббревиатура английского письма, обозначающаяНапишите -
x
: Аббревиатура от английского execute, указывающаявыполнить/запустить. может запустить этот файл -
.
: метка безопасности SELinux, если бит 11.
, указывая на то, что SELinux включен
-
Назначение разрешений по номерам
- Нет разрешения: 0
- Разрешение на выполнение: 1
- Разрешение на запись: 2
- Разрешение на выполнение записи: 3
- Права на чтение: 4
- Разрешения на чтение и выполнение: 5
- Разрешения на чтение и запись: 6
- Разрешения на чтение и запись: 7
-
Используйте буквы для назначения разрешений
- u: Аббревиатура для пользователя, означающая пользователя на английском языке. указывает на владельца
- g: Аббревиатура группы, что означает группа на английском языке. Обозначает групповых пользователей
- o: Аббревиатура от слова «другой», означающая «другой» на английском языке. Указывает на другого пользователя
- a: Аббревиатура all, означающая все значения на английском языке. означает всех пользователей
- +: плюс, означает добавление разрешений
- -: знак минус, означает удаление разрешения
- =: знак равенства, указывающий на разрешение присваивания
chmod u+rx file
: владелец файла увеличивает права на чтение и запускchmod g+r file
: Увеличьте разрешение на чтение других пользователей в группе файлового файлаchmod o-r file
: другие пользователи файла файла удаляют разрешение на чтениеchmod g+r o-r file
: Другие пользователи в группе файлов увеличивают права на чтение, а другие пользователи удаляют права на чтение.chmod go-r file
: Группа другие пользователи и другие пользователи файла файла имеют право на чтение удаленыchmod +x file
: Все пользователи файла file имеют дополнительные права на запускchmod u=rwx,g=r,0=- file
: Владелец файла file назначает права на чтение, запись и выполнение; другие пользователи в группе назначают права на чтение, но не могут записывать или выполнять; другие пользователи не имеют никаких разрешений
- тип файла
Регулярные выражения и работа с данными
grep: фильтровать данные
grep(регулярное выражение глобального поиска (RE) и вывод строки, комплексный поиск регулярных выражений и вывод строки) — это мощный инструмент поиска текста, который использует регулярные выражения для поиска текста и вывода соответствующих строк. Специальные символы для фильтрации/поиска. Регулярные выражения можно использовать в сочетании с различными командами, что очень гибко в использовании.
-
-i
--ignore-case
: игнорировать разницу между символами верхнего и нижнего регистра. -
-n
--line-number
: указывает номер столбца перед отображением столбца, соответствующего стилю шаблона. -
-v
--revert-match
: Обратный поиск. -
-R/-r
--recursive
: Найти во всех подкаталогах и подфайлах можно с помощьюrgrep
заменять -
-E
--extended-regexp
: Используйте стиль шаблона как расширенную нормальную нотацию, что означает возможность использования расширенных регулярных выражений. Можно использоватьegrep
заменятьgrep -E ^p /etc/profile
grep -E [at] /etc/profile
grep -E [0-4] /etc/profile
grep -E [a-zA-Z] /etc/profile
регулярное выражение
^ # 锚定行的开始 如:'^grep'匹配所有以grep开头的行。
$ # 锚定行的结束 如:'grep$' 匹配所有以grep结尾的行。
. # 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
* # 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.* # 一起用代表任意字符。
[] # 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] # 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
\(..\) # 标记匹配字符,如'\(love\)',love被标记为1。
\< # 锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。
\> # 锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\} # 重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。
x\{m,\} # 重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
x\{m,n\} # 重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。
\w # 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
\W # \w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b # 单词锁定符,如: '\bgrep\b'只匹配grep。
сортировать файл сортировать
Сортирует все строки в текстовом файле.
-
-o
,--output=FILE
: Записать результат в ФАЙЛ вместо стандартного вывода.sort -o name.txt name_sorted.txt
-
-r
,--reverse
: расположите результаты в обратном порядке. -
-R
:--random-sort
Сортировать случайным образом, но группировать одинаковые строки. -
-n
,--numeric-sort
: Сортировка по номерам.
Главная цель
- Отсортируйте и выведите содержимое всех входных файлов.
- когда файла нет или файл
-
, прочитать стандартный ввод.
Статистика файла WC
Подсчитайте количество строк, слов и байтов файла
команда туалетаПодсчитайте количество байтов, слов и строк в указанном файле, а также отобразите и выведите статистические результаты. С помощью команды wc мы можем вычислить количество байтов, слов или столбцов файла.Если имя файла не указано или задано имя файла «-», команда wc будет считывать данные со стандартного устройства ввода. wc также дает президентский счет для указанного файла.
-
-c
: считать байты или--bytes
или--chars
: отображать только количество байтов -
-l
: подсчитать количество строк или--lines
: отображать только количество столбцов -
-m
: подсчитать количество символов. Этот флаг нельзя использовать с-c
используется с логотипом -
-w
: количество слов или--words
: отображается только количество символов. Слово определяется как строка, разделенная пробелами, символами табуляции или новой строки. -
-L
: напечатать длину самой длинной строки
uniq: удалить дубликаты в файле
Показать или игнорировать повторяющиеся строки.uniq
Команда немного «глупая» и может преобразовать последовательные повторяющиеся строки только в одну строку.
-
-c
,--count
: увеличить количество повторений в начале каждой строки -
-d
,--repeated
: показывать значения только для повторяющихся строк
Главная цель
- Запишите соседние повторяющиеся строки из входного файла (или стандартного ввода) в выходной файл (или стандартный вывод).
- Когда такой опции нет, соседние повторяющиеся строки объединяются в одну.
Резать: вырезать часть файла
объединить файлы и распечатать на стандартный вывод
-
-c
: отображать только указанный диапазон символов в строке,cut -c 2-4 file
-
-d
: Указывает разделитель полей, по умолчанию разделителем полей является «TAB». -
-f
: Отображение содержимого указанного поля.cut -d , -f 1,3 notes.csv
;cut -d , -f 2- notes.csv
перенаправление вывода
Файл черной дыры
/dev/null
, этот файл имеет единственное свойство, что он всегда пуст. Он позволяет отправлять на/dev/null
Любые данные о
>
перенаправить в файл
- Если этот файл не существует, создайте новый файл
- Если файл уже существует, он перезапишет содержимое файла без запроса согласия пользователя.
>>
перенаправить в конец файла
>>
роль и>
похоже, но не будет похоже>
Так опасно. Он записывает перенаправленный контент в конец файла и действует как добавление. Если файл не существует, создайте файл
2>
,2>>
перенаправить на стандартный вывод ошибок
$ cat not_exist_file.csv > results.txt 2> errors.log
2>&1
Комбинация встречается
- перенаправить стандартный вывод ошибок в то же место, что и стандартный вывод
- покрытие:
cat not_exist_file_csv > results.txt 2>&1
- Дописать в конце:
cat not_exist_file_csv >> results.txt 2>&1
стандартный ввод, стандартный вывод, стандартный вывод
- Ввод данных с клавиатуры в терминал, это стандартный ввод, который является stdin
- Терминал получает ввод команды с клавиатуры и выдает два вида вывода.
- Стандартный вывод: стандартный вывод. Относится к информации, выводимой терминалом (за исключением информации об ошибках).
- Стандартный вывод ошибок: stderr. Относится к сообщению об ошибке, выводимому терминалом.
перенаправление ввода
<
читать из файла
-
cat notes.csv
-
cat
Ввод, принятый командой, — это имя файла notes.csv. - затем он должен сначала открыть файл notes.csv
- Затем распечатайте содержимое файла
-
-
cat < notes.csv
-
cat
Ввод, принятый командой, является непосредственно содержимым файла notes.csv. -
cat
Команда отвечает только за печать своего содержимого - Откройте файл и передайте содержимое файла к
cat
Работа команды передается терминалу для завершения
-
<<
читать с клавиатуры
-
<<
Роль символа заключается в перенаправлении ввода с клавиатуры на ввод команды sort -n << END
|
символ трубы
Использовать вывод одной команды в качестве ввода другой команды
- Легендарный «символ трубы»:
|
-
|
Поскольку символ называется «символом трубы», его роль - «создать командную трубопровод» - Труба также является типом перенаправленного потока.
cut -d , -f 1 notes.csv | sort > sorted_names.txt
du -h | sort -n | head
-
sudo grep log -Ir /var/log | cut -d : -f 1 | sort | uniq
-
-I
: исключить двоичные файлы -
-r
: для рекурсивного обхода
-
Мониторинг процессов и систем
-
w
: Отображение информации о пользователе, вошедшем в систему в данный момент. -
uptime
: просмотр информации о загрузке системы Linux.Возможность печатать, как долго система работает в целом, и среднюю загрузку системы. Информация, отображаемая командой uptime, отображается по порядку: текущее время, продолжительность работы системы, количество пользователей, которые в настоящее время вошли в систему, и средняя загрузка системы за последние 1 минуту, 5 минут и 15 минут. минут.
-
tload
: Отображение состояния загрузки системы.Графически вывести текущую среднюю загрузку системы на указанный терминал. Предполагая, что номер терминала не указан, ситуация загрузки будет отображаться на терминале, который выполняет команду tload.
-
who
: Отображение информации о пользователе, вошедшем в систему в данный момент.Отображение информации о пользователе, вошедшем в систему в данный момент. Выполните команду who, чтобы узнать, какие пользователи в настоящее время вошли в систему.Выполнение одной только команды who покажет учетную запись входа, используемый терминал, время входа и место входа или какой X-монитор используется.
-
ps
: сообщить о состоянии текущего состояния системного процесса- выход
- UID: пользователь, запускающий процесс
- PID: номер процесса, идентификатор процесса, каждый процесс имеет уникальный номер процесса
- PPID: идентификатор родительского процесса программы, идентификатор родительского процесса
- TTY: Терминал, на котором запущен процесс.
- ВРЕМЯ: время выполнения процесса
- CMD: имя программы, запустившей этот процесс
- упражняться
-
-ef
: Перечислите все процессы всех пользователей во всех терминалах, которые можно легко просматривать с трубамиps -ef | less
-
-efH
: список процессов по дереву -
-u
: Список процессов, запущенных этим пользователем. -
-aux
: Фильтрация процессов по использованию ЦП и памяти.-
ps -aux --sort -pcpu | less
: Сортировка по загрузке ЦП в порядке убывания -
ps -aux --sort -pmem | less
: Сортировать в порядке убывания по использованию памяти
-
-
ps -axjf
,pstree
: Отображение процесса в древовидной структуре
-
Используется для сообщения о состоянии процесса текущей системы. может соответствовать
kill
Инструкции прерывают и удаляют ненужные программы в любое время. Команда ps является самой простой, а также очень мощной командой просмотра процессов.С помощью этой команды вы можете определить, какие процессы запущены и их статус, завершился ли процесс, мертв ли процесс, какие процессы слишком заняты. много ресурсов и т.д. Короче большую часть информации можно получить, выполнив эту команду. - выход
-
top
: отображение или управление запущенными программами.- клавиша q: выход
- клавиша h: показать справочную документацию
- Клавиша B: выделение некоторой информации жирным шрифтом
- Клавиши f/F: добавить или удалить определенные столбцы в списке процессов
- клавиша u: фильтрация отображения в соответствии с пользователем
- клавиша k: завершить процесс
- Ключ s: изменить время обновления страницы, по умолчанию страница обновляется каждые 3 секунды.
-
kill
: завершить процесс на основе его идентификатора процесса.-
-9
: принудительно завершить процесс
-
-
killall
: Завершить все процессы в соответствии с именем процесса, вы можете комбинироватьfind
glances
$ apt install glances -y
htop
$ apt install htop -y
Управляйте внешними и внутренними процессами
&
Символ: фоновый процесс
cp file.txt file-copy.txt &
find / -name "*log" > output_find 2>&1 &
nohup
: отсоединить процесс от терминала
Независимо от того, перенаправлены ли выходные данные команды nohup на терминал, выходные данные будут добавлены в файл nohup.out в текущем каталоге. повесить трубку
Если файл nohup.out в текущем каталоге недоступен для записи, вывод перенаправляется на$HOME/nohup.out
в файле. Если ни один файл не может быть создан или открыт для добавления, команда, указанная в параметре command, не может быть вызвана. Если стандартная ошибка является терминальной, перенаправить весь вывод указанной команды в стандартную ошибку на тот же файловый дескриптор, что и стандартный вывод.
Ctrl + Z, bg процесс для запуска в фоновом режиме
задания: отображать статус фонового процесса
fg: запустить процесс на переднем плане
Распаковка и сжатие файлов
-
tar
: Архивный инструмент под Linux для упаковки и резервного копирования-
-cvf
: создать tar-архив,tar -cvf a.tar a/
- c: Аббревиатура для создания, что означает создать
- v: Аббревиатура от verbose, что означает избыточность. Детали операции будут отображаться
- f: аббревиатура файла, что означает файл, указывает архивный файл
-
-tf
: Показать содержимое архива без распаковки -
-xvf
: разархивировать- x: Аббревиатура для экстракта, что означает «извлекать, вынимать».
-
-zcvf
: архив, затем используйте gzip для сжатия архива -
-zxvf
: распаковать, затем разархивировать -
-jcvf
: архив, затем используйте bzip2 для сжатия архива -
-jxvf
: распаковать bzip2, затем разархивировать
-
-
zcat
,zmore
,zless
-
bzcat
,bzmore
,bzless
-
unzip
,unrar
:apt install zip
Временное и отложенное выполнение
Дата: отображение или установить системное время и дату
-
date +"%H"
: 11 -
date +"%H:%M:%S"
: 11:15:51 -
date +"%Y-%m-%d"
: 2020-03-29 -
date +"%Y-%m-%d %H:%M:%S"
: 2020-03-29 11:15:51 - Изменить системное время:
date 10121430
at: выполнить задачу в указанное время
по командеИспользуется для выполнения команды в указанное время.at
Допускается довольно сложный набор методов для указания времени. он может принятьhh:mm(小时:分钟)
обозначение времени формулы. Если время прошло, оно будет выполнено на следующий день. Конечно, вы также можете использоватьmidnight
(поздно ночью),noon
(полдень),teatime
(время чая, обычно 16:00) и другие расплывчатые слова для обозначения времени. Пользователи также могут использовать 12-часовой формат времени, что означает AM (утро) или PM (полдень) после времени, чтобы указать, является ли это AM или PM. Также возможно указать конкретную дату выполнения команды, заданный форматmonth day(月 日)
илиmm/dd/yy(月/日/年)
илиdd.mm.yy(日.月.年)
. Указанная дата должна следовать за указанным временем.
Все вышеперечисленное относится к методам абсолютной синхронизации, но на самом деле можно использовать и методы относительной синхронизации, что очень удобно для организации команд, которые будут выполняться в ближайшее время. Указанный формат:now + count time-units
,now
это текущее время, time-units это единица времени, здесь может бытьminutes
(минута),hours
(Час),days
(небо),weeks
(Неделю).count
Это количество времени, будь то дни, часы и т. Другой способ определения времени - это прямое использованиеtoday
(сегодня),tomorrow
(завтра) для уточнения времени выполнения заказа.
-
at 22:10
, вам будет предложено ввести команду для<EOT>
конец ввода -
at 22:10 tomorrow
: Выполнено завтра в 22:10 -
at 22:10 03/30/2020
: Казнен в 22:10 20 марта 2020 г. -
at now +10 minutes
: Выполнить через 10 минут
atq: Список задач текущего пользователя.
- q — первая буква английского слова queue, что означает «очередь».
команда atqОтображает список задач, которые должны быть выполнены в системе, то есть перечисляет список задач текущего пользователя.
atrm: удалить указанную задачу в очереди отложенных задач
команда atrmИспользуется для удаления указанной задачи из очереди отложенных задач.
сон: отложить текущее действие на некоторое время
touch file.txt;sleep 10;rm file.txt
&&
,||
,;
-
&&
:&&
Если команда перед номером выполнена успешно, будет выполнена следующая команда. -
||
:||
Если команда перед номером не может быть выполнена, будет выполнена следующая команда. -
;
: выполнить команду после точки с запятой независимо от того, успешно ли выполнена команда до точки с запятой.
crontab отправляет и управляет пользовательскими задачами, которые необходимо периодически выполнять
команда кронтабОн используется для отправки и управления пользовательскими задачами, которые необходимо периодически выполнять.Подобно запланированным задачам в Windows, когда операционная система установлена, этот сервисный инструмент будет установлен по умолчанию, и процесс crond будет запущен автоматически. Процесс crond будет периодически запускаться каждую минуту.Проверьте, есть ли задача для выполнения, и если есть задача для выполнения, выполните задачу автоматически.
-
-e
: изменить настройки таймера для этого пользователя; -
-l
: список настроек таймера для этого пользователя; -
-r
: удалить настройки таймера для этого пользователя; -
-u <用户名称>
: укажите имя пользователя для установки таймера.
m h dom mon dow command
Формула последовательности: час день месяц неделя
m: Аббревиатура для минуты, что означает «минута» (0 ~ 59).
ч: аббревиатура часа, что означает «час» (0~23)
dom: Аббревиатура дня месяца, что означает «какой день месяца» (0~31).
mon: Аббревиатура для месяца, что означает "месяц" (1~12).
dow: Аббревиатура дня недели, что означает «день недели» (0~6, воскресенье равно 0)
команда: значение «команды» на английском языке, указывающее на команду, которую необходимо выполнять регулярно.
Специальные символы:
- Звездочка (*): представляет все возможные значения.Например, если в поле месяца указана звездочка, это означает, что командная операция будет выполняться каждый месяц после того, как будут соблюдены ограничения других полей.
- Comma (,): Диапазон списка может быть указан с разделенными запятыми значениями, например, «1,2,5,7,8,9»
- Средняя черта (-): Вы можете использовать среднюю черту между целыми числами для представления диапазона целых чисел, например, "2-6" означает "2,3,4,5,6"
- Косая черта (/): Вы можете указать интервал времени с помощью косой черты, например, «0-23/2» означает выполнение каждые два часа. В то же время косая черта может использоваться вместе со звездочками, например */10, если используется в поле минут, это означает выполнение каждые десять минут.
пример
Это должна быть новая строка, без новой строки она не вступит в силу. Перезапустите службу cron:
systemctl cron.service restart
Выполнять команду каждую 1 минуту
* * * * * command
Выполняется на 3-й и 15-й минутах каждого часа
3,15 * * * * command
Казнили на 3-й и 15-й минутах с 8:00 до 11:00.
3,15 8-11 * * * command
Выполняется каждые два дня на 3-й и 15-й минутах с 8:00 до 11:00.
3,15 8-11 */2 * * command
Выполняется каждый понедельник на 3-й и 15-й минутах с 8:00 до 11:00.
3,15 8-11 * * 1 command
Перезапускать smb каждую ночь в 21:30
30 21 * * * /etc/init.d/smb restart
Перезапускать smb в 4:45 1, 10, 22 числа каждого месяца
45 4 1,10,22 * * /etc/init.d/smb restart
Перезапускать smb каждую субботу и воскресенье в 1:10.
10 1 * * 6,0 /etc/init.d/smb restart
Перезапускать smb каждые 30 минут с 18:00 до 23:00 ежедневно
*/30 18-23 * * * /etc/init.d/smb restart
Перезапускать smb каждую субботу в 23:00
0 23 * * 6 /etc/init.d/smb restart
перезапускать smb каждый час
* */1 * * * /etc/init.d/smb restart
Перезапускать smb каждый час с 23:00 до 7:00
* 23-7/1 * * * /etc/init.d/smb restart
Перезапускайте smb 4-го числа каждого месяца и каждый понедельник-среду в 11:00.
0 11 4 * mon-wed /etc/init.d/smb restart
Перезапустите smb в 4:00 1 января.
0 4 1 jan * /etc/init.d/smb restart
Выполнять каждый час/etc/cron.hourly
скрипт в каталоге
01 * * * * root run-parts /etc/cron.hourly
SSH
- Конфигурация глобального клиента SSH:
/etc/ssh/ssh_config
- Конфигурация пользовательского SSH-клиента:
~/.ssh/config
- если
~/.ssh
не существует, выполнитьssh localhost
-
nano config
вносить правки
- если
- Конфигурация SSH-сервера:
/etc/ssh/sshd_config
Общие параметры конфигурации файла конфигурации сервера
- Порт: номер порта службы sshd (по умолчанию 22)
- PermitRootLogin: разрешить ли вход в качестве пользователя root (по умолчанию да)
- PasswordAuthentication: разрешать ли вход в систему с аутентификацией по паролю (по умолчанию да)
- PubkeyAuthentication: разрешить ли вход с аутентификацией с открытым ключом (по умолчанию да)
- PermitEmptyPasswords: разрешать ли вход с пустыми паролями (небезопасно. Не по умолчанию)
Конфигурация файла конфигурации клиента
$ nano ~/.ssh/config
Host aliyun
HostName 47.98.152.68
Port 22
User root
$ ssh aliyun
Настроить вход без пароля
-
Сгенерируйте пару ключей (открытый и закрытый ключ) в клиенте
ssh-keygen -t rsa -C "youngjuning@aliyun.com"
-
существует
~/.ssh/
В каталоге будут сгенерированы два новых файла- id_rsa: закрытый ключ
- id_rsa.pub: открытый ключ
-
-
ssh-copy-id
: Установите локальный файл открытого ключа ssh в учетную запись, соответствующую удаленному хосту.$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@47.98.152.68
команда ssh-copy-idСкопируйте открытый ключ локального хоста на удаленный хост
authorized_keys
в файле,ssh-copy-id
Команда также дает домашний каталог пользователя (home) и~/.ssh
, а также~/.ssh/authorized_keys
Установите соответствующие разрешения.-
-i
: укажите файл открытого ключа
-
Если вы все еще хотите войти в систему с паролем после настройки без пароля:
$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@47.98.152.68
Проверьте, правильно ли настроен Github для входа без пароля:
ssh -T git@github.com
Сеть Linux
wget: инструмент загрузки файлов системы Linux
команда wgetИспользуется для загрузки файлов с указанного URL. wget очень стабилен. Он обладает сильной адаптивностью в случае узкой полосы пропускания и нестабильной сети. Если загрузка не удалась из-за сетевых причин, wget будет продолжать попытки, пока не будет загружен весь файл. Если сервер прерывает процесс загрузки, он повторно подключается к серверу и возобновляет загрузку с того места, где она была прервана. Это полезно для загрузки больших файлов с серверов с ограниченным временем соединения.
wget поддерживает протоколы HTTP, HTTPS и FTP и может использовать HTTP-прокси. Так называемая автоматическая загрузка означает, что wget может выполняться в фоновом режиме после выхода пользователя из системы. Это означает, что вы можете войти в систему, запустить задачу загрузки wget, а затем выйти из системы, и wget будет выполняться в фоновом режиме до тех пор, пока задача не будет завершена.По сравнению с большинством других браузеров, которые требуют постоянного участия пользователя. при загрузке больших объемов данных это экономит много усилий, большие неприятности.
Он используется для загрузки ресурсов из сети.Если каталог не указан, загружаемые ресурсы по умолчанию будут в текущий каталог. Хотя wget мощный, его относительно просто использовать:
- Поддержка функции загрузки точки остановаЭто также самая большая точка продажи сетевых муравьев и Flashget в том, что сейчас wget также может использовать эту функцию, те пользователи, которые не очень хороши в сети, могут быть уверены;
- Поддерживает методы загрузки как по FTP, так и по HTTP.Хотя большую часть программного обеспечения можно загрузить по HTTP, иногда все же необходимо загрузить программное обеспечение по FTP;
- Поддержка прокси-сервераДля систем с высокой степенью безопасности они, как правило, не имеют прямого доступа к Интернету, поэтому поддержка прокси-сервера является обязательной функцией для загрузки программного обеспечения;
- Легко настроитьМожет быть, пользователи, привыкшие к графическому интерфейсу, не слишком привыкли к командной строке, но командная строка на самом деле имеет больше преимуществ в настройке, по крайней мере, мышкой можно кликать в разы меньше, и можно не беспокоиться о том, щелкнуть не той мышью;
- Небольшая программа, полностью бесплатнаяМаленькие программы можно игнорировать, потому что жесткий диск теперь слишком велик; следует рассматривать полностью бесплатные, хотя в Интернете есть много так называемых бесплатных программ, но реклама этих программ не является нашей любимой.
scp: копирование файлов между локальным хостом и удаленным хостом в зашифрованном виде.
команда scpКоманда, используемая для удаленного копирования файлов в Linux, и подобные ей команды — cp, но cp копирует только на локальный компьютер и не может пересекать серверы, а передача scp зашифрована. Это может немного повлиять на скорость. Когда жесткий диск вашего сервера становится системой только для чтения, использование scp может помочь вам удалить файлы. Кроме того, scp еще и очень ресурсоемкий и не сильно увеличит нагрузку на систему, в этом плане rsync сильно отстает от него. Хотя rsync немного быстрее, чем scp, когда имеется много маленьких файлов, rsync приведет к очень большому количеству операций ввода-вывода на жестком диске, а scp в основном не влияет на нормальное использование системы.
$ scp file.txt root@192.168.2.195
netstat -ntulp | grep 9001
Проверить использование порта
rsync: инструмент удаленной синхронизации данных
команда rsyncЭто инструмент удаленной синхронизации данных, который может быстро синхронизировать файлы между несколькими хостами через локальную/глобальную сеть. rsync использует так называемый «алгоритм rsync» для синхронизации файлов между двумя хостами, локальным и удаленным.Этот алгоритм каждый раз передает только разные части двух файлов, а не всю передачу целиком, поэтому он довольно быстрый. rsync — очень мощный инструмент, и его команды также имеют множество функций и опций. Мы проанализируем и объясним его опции одну за другой ниже.
- По умолчанию rsync не удаляет файлы в целевом каталоге при синхронизации. Например, ваш исходный каталог (синхронизируемый каталог) удаляет файл, но при синхронизации с помощью rsync он не удаляет тот же файл в синхронизируемом каталоге.
rsync -arv --delete
можно удалить
Сделайте резервную копию в другой каталог на том же компьютере с помощью rsync:
$ rsync -arv Images/ backups
-
-a
: сохраняет всю информацию о файле, включая разрешения, дату изменения и т. д. а - это сокращение от слова "архив"архивзначение -
-r
: рекурсивный вызов. Также включаются все файлы, представляющие подкаталоги. r является сокращением от рекурсивного ирекурсиязначение -
-v
: резервный режим. Вывод подробной информации об операции. v является сокращением от подробного иизбыточныйиметь в виду
Создайте резервную копию с помощью rsync для синхронизации локальных файлов с сервером:
$ rsync -arvz --progress --delete ~/Desktop/blog root@47.98.152.68:/home/yangjunning/
Вернуться к Ци Ню Юнь
Установите инструмент командной строки (qshell)
- Войдите в домашний каталог:
cd ~
- Загрузите сжатый пакет:
wget http://devtools.qiniu.com/qshell-linux-x86-v2.4.1.zip
- Разархивируйте сжатый пакет:
unzip ~/qshell-linux-x86-v2.4.1.zip
- Беги куда угодно:
mv ~/qshell-linux-x86-v2.4.1 /usr/local/bin/qshell
- Разрешения:
chmod +x /usr/local/bin/qshell
- Удалите сжатый пакет:
rm -rf ~/qshell-linux-x86-v2.4.1.zip
ключевые настройки
AccessKey
SecretKey
account
AccessKey
SecretKey
$ qshell account -- ak sk name
ak
sk
-> - >
qshell account
ak
, sk
, name
qshell user
qshell user ls
qshell user cu
-
qshell user cu
qshell user cu B
qshell user cu
qupload2
$ qshell qupload2 --src-dir=/var/lib/docker/volumes --bucket=my-docker-volumes