[Linux] Статья поможет вам начать работу с операциями, связанными с проектом Linux, на сервере.

Оглавление

1. Сервер:

  • Публичная сеть: xxx.xxx.xxx.xxx
    • Номер счета: ххх
    • Пароль: хххххххххх

Связанные операции:

  • Скомпилировать:

    • Используйте cmake по пути, по которому находится CMakeList.txt.
      • Или используйте cmake в папке сборки...
    • Затем используйте make.
      • Или используйте make в папке сборки...
  • бегать:

    • Прямой запуск ./Loki Этот способ не будет работать в фоновом режиме
    • Используйте nohup ./Loki для работы в фоновом режиме
      • nohup 即 не повесил трубку
      • Как правило, мы можем добавить «&» в конце, чтобы одновременно запустить команду в фоновом режиме, и мы также можем использовать «>filename 2>&1», чтобы изменить имя файла перенаправления по умолчанию.
      • Удобнее использовать nohup ./Loki&, можно продолжать пользоваться терминалом
  • Просмотр журналов:

    • хвост -f nohup.out
  • Просмотр процесса:

    • Команда ps отображает запущенный процесс, а также некоторые pid, процессор, использование памяти и т. д.

      -A :所有的进程均显示出来 包括其他terminal
      -a :不与terminal有关的所有进程
      -u :有效用户的相关进程
      -x :一般与a参数一起使用,可列出较完整的信息
      -l :较长,较详细地将PID的信息列出
      
    • ps найти идентификатор процесса

      ps -ef | grep Lokikil
      
  • Завершить процесс:

    • убить убить процесс убить -9 324423

    • kill -9 pgrep Lokiубивает все процессы локи

      kill -signal PID
      
      1:SIGHUP,启动被终止的进程
      2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
      9:SIGKILL,强制中断一个进程的进行
      15:SIGTERM,以正常的结束进程方式来终止进程
      17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
      
  • Посмотреть производительность:

    • Команда top — это широко используемый инструмент анализа производительности в Linux, который может отображать состояние использования ресурсов каждого процесса в системе в режиме реального времени, аналогично диспетчеру задач Windows.

      top [参数]
      -b 批处理
      -c 显示完整的治命令
      -I 忽略失效过程
      -s 保密模式
      -S 累积模式
      -i<时间> 设置间隔时间
      -u<用户名> 指定用户名 **这个也很好用**
      -p<进程号> 指定进程
      -n<次数> 循环显示的次数
      

      например: top -p 2913 Нажмите q, чтобы вернуться в командную строку

      Linux中输入:top
      键盘按下:Shift+m
      
      输入q是退出top命令
      
  • Показать содержимое файла:

    • cat отображает контент с первой строки

      -b:列出行号,只列出非空白行
      -n:列出所有行的行号
      
    • хвост показывает конец файла

      tail -10 filename 显示文件最后10行
      
  • Просмотр текущей пропускной способности

    • загрузить
  • Просмотр размера хранилища, занимаемого текущей рабочей областью

    • ты - ш
  • основной файл, связанный

    • Как правило, при сбое программы в указанном каталоге создается основной файл. Основной файл — это просто образ памяти (плюс отладочная информация), который в основном используется для отладки.

    • Включите или отключите создание основных файлов
      Используйте следующую команду, чтобы запретить системе создавать основные файлы:
      ulimit -c 0 Следующая команда может проверить, включена ли опция для создания основных файлов:
      ulimit -a Эта команда отобразит все пользовательские настройки. , среди которых опция -a означает «все».
      Вы также можете изменить системные файлы, чтобы настроить параметр ядра.Обычно
      в /etc/profile есть такое предложение, чтобы запретить создание файлов ядра.Обычно этот параметр разумен:
      # По умолчанию файлы ядра отсутствуют
      ulimit -S -c 0 > /dev/ null 2>&1 Однако иногда в процессе разработки для отладки проблем все же необходимо открыть файл ядра в конкретной пользовательской среде для генерации настроек
      . .bash_profile, чтобы разрешить определенным пользователям создавать файлы ядра.
      Если ulimit -c 0 также запрещено создавать файлы ядра, а ulimit -c 1024 ограничивает размер создаваемых файлов ядра не более 1024 КБ.

2. Процесс развертывания проекта:

  1. ps -ef | grep 'имя-проекта' или top -u 'имя-пользователя' Посмотреть PID процесса проекта
  2. kill -9 'PID' убивает текущий процесс
  3. git ветка просмотреть текущую ветку
  4. git pull origin вытягивает удаленную ветку в каталог ветки
  5. git checkout 'branchName' переключается на требуемую ветку git checkout -b 'branchName' создает новую ветку на основе текущей ветки
  6. git pull origin 'branchName' извлекает фиксацию ветки
  7. Перейдите в папку сборки проекта
    1. make clean удаляет сгенерированный exe-файл
    2. cmake... Обратите внимание на два момента, сгенерируйте кеш cmake
    3. make -j8 создать исполняемый файл
    4. nohup ./'exe-name' & запустить исполняемый файл и означает вывод журнала в фоновом режиме
    5. tail -f nohup.out просмотреть лог
  8. Это заканчивается здесь

3. Используйте curl для отправки сообщений или получения запросов на сервер Linux:

CURL отправляет запрос POST

Ошибка отправки команды в следующем посте, пожалуйста, обратитесь к способу отправки json по ссылке.

1. get不带参数
	curl -v "http://10.1.29.250:30505/mcu/status"
2. get带参数
	curl -v "http://10.1.29.250:30505/mcu/status?version=1&client_version=1.1.0&seq=1001&host=aaa.com"
	使用&符号将参数分割
3. post不带参数
	curl "http://10.1.29.250:30505/mcu/closeRoom"
4. post带参数
	curl -d "username=123&password=123" "http://10.1.29.250:30505/mcu/closeRoom"

4. Загрузка, скачивание и сортировка по индексу

  • Скачивайте и загружайте файлы в 4G

    • sz имя файла скачать
    • загрузка рз
  • сортировать по времени или размеру

    • ll -rt сортировать по времени
    • ll -Sh сортировать по размеру
    • -t для убывания

Пять, связанные с git

Получить текущего пользователя, вошедшего в систему:

git config user.name   //获取当前登录的用户
git config user.email  //获取当前登录用户的邮箱

Изменить пользователя для входа:

git config --global user.name 'userName'    // 修改登陆账号,userName为你的git账号
git config --global user.email 'email'      // 修改登陆邮箱,email为你的git邮箱
git config --global user.password 'password'  // 修改登陆密码,password为你的git密码

До и после смены версии в одной ветке

git checkout [old.commit]
git checkout [latest.commit]

Пароль требуется для каждого git pull/push

输入 vi .gitconfig进入文件:
如果没有的话就新建.gitconfig文件,例如我的在home/loki/.gitconfig

按键i进入插入模式:

插入以下代码:
[credential]
helper = store -–file .git-credentials

ESC退出编辑 输入括号内容(:wq) 保存退出即可,可能第一次还是需要输入账号密码,之后便可以不用输入

git отменяет изменение файла на сервере

6. Операции, связанные с журналом

хвост

-f 监视追加动态的文件 可以加上数字在前面,如 tail -1000f nohup.out

grep

-A5 显示查询到的前5行一起显示
-B5 后5行
-C5 上下5行
--color 查询到的内容高亮显示

Обычно используется:

tail -f a.log |grep -E --color 'order|product'  

动态展示文件中出现的 order或者product字符 不区分大小写,并且高亮显示

tail -8000f a.log | grep --color --line-buffer "order" | grep --color --line-buffer "product"

动态查询最后8000行,同时查询一条数据中同时包含多个字符串的信息,进行高亮显示, 比如:日志中包含某个方法,并且订单号是多少的日志

cat nohup.out |grep -C200 'error:10002'
查询日志中所有包含 ‘error:10002’ 上下2000行的信息

df -TH Просмотр разделов диска

vi добавляет номера строк

  1. Введите «:set nu» в «командном режиме» редактора vi, чтобы временно добавить номер строки;
  2. Выполните следующие операции, чтобы навсегда установить номер строки: введите «vi ~/.vimrc» в Teminal, отредактируйте «set nu» на пустой странице, сохраните и выйдите (нажмите ESC для выхода, введите: wq для сохранения) и снова откройте редактор ви.

Семь, операции, связанные со сценарием оболочки

Ссылки:

#! /bin/bash
## author:yangyuhang
## This is a test shell scirpt
## description: 使用方法:
## 	如果所作的修改或升级不需要切换分支可以使用该脚本一键执行以下操作,
## 	直接将该文件放到build文件夹下,输入命令sh test.sh 便可以顺序执行以下命令,
## 	将Loki置换为其他可执行文件的名称即可。
## Warning: 选择适合的make -j 系数

make clean
echo "clean the make file"

git pull
echo "pull the new commit"

cmake ..
echo "generate the new cmakeCache"

make -j8
echo "generate the executable file"

kill -9 $(ps -ef|grep Loki|grep -v grep|head -n 1|awk '{print $2}')
echo "kill Loki"

nohup ./Loki &
echo "start Loki"

tail -100f nohup.out
echo "start log"

8. Операции, связанные с удалением файлов:

1. Удалить файлы до или в течение указанного времени

  • Отображение файлов до и после указанного времени

    显示20分钟前的文件
    find /home/prestat/bills/test -type f -mmin +20 -exec ls -l {} \;
    
    显示20分钟内的文件
    find /home/prestat/bills/test -type f -mmin -20 -exec ls -l {} \;
    
    显示20天前的文件
    find /home/prestat/bills/test -type f -mtime +20 -exec ls -l {} \;
    
  • Удалить файлы до и после указанного времени

    删除20分钟前的文件
    find /home/prestat/bills/test -type f -mmin +20 -exec rm {} \;
    
    删除20分钟内的文件
    find /home/prestat/bills/test -type f -mmin -20 -exec rm {} \;
    

Ссылка: https://blog.csdn.net/Daisy_ljq/article/details/82260464

2. Восстановить файлы, удаленные rm, но для некоторых операций требуются привилегии root

Ссылка: https://www.jianshu.com/p/43aa40a5609e

3. rm или rm -rf освобождения дискового пространства Linux не может реализовать освобождение

Иногда, когда программа запущена, пространство раздела диска заполнено, и программа прерывается.Попробуйте удалить файл, когда он не заполнен, и обнаружите, что место раздела диска не освобождается после удаления, потому что rm удаляет ссылку. . . Изучив соответствующую информацию в Интернете, я узнал, что пространство раздела диска действительно будет освобождено после завершения соответствующего процесса . Для решения проблемы полного пространства рекомендуется использовать команду kill. . .

おすすめ

転載: blog.csdn.net/Daibvly/article/details/125409083