ssh 远程主机执行命令或脚本
免密操控 免密操控不可以逆向,即可以一个主控方对应多个被控方,但不可以一个被控方对应多个主控方。 以下以 gitlab-runner 账户远程免密登录 root@192.168.56.100 为例: 先执行 su gitlab-runner 切换到 gitlab-runner 账户 在你的主控端机器上使用 ssh-keygen 命令创建公钥,使用 ssh-keygen -t rsa 来创建,程序会询问存放目录,如果不需要修改,直接回车几次即可 将 ~/.ssh 目录下 id_rsa.pub 文件拷贝到受控机器的 ~/.ssh 目录中,然后将文件内容导入到 ~/.ssh/authorized_keys 文件 12345# 主控方机器执行:scp ~/.ssh/id_rsa.pub root@192.168.56.100:~/.ssh/id_rsa.pub# 受控方机器执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 在受控方机器设置权限: ~/.ssh 权限设置为 700,~/.ssh/authorized...
curl 命令用法
摘自:https://www.cnblogs.com/aftree/p/9293071.html , https://www.jianshu.com/p/07c4dddae43a curl是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl设计为无用户交互下完成工作; curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传...。 curl命令语法1curl [options] [URL...] 常用参数 参数 描述 -I/--head 只显示传输文档,经常用于测试连接本身 -o/--output 把输出写到该文件中,必须输入保存文件名 -O/--remot...
awk 命令用法
基本语法awk 的基本语法格式为 awk '{[pattern] action}' {filenames},注意只能使用单引号。 12# 每行按空格或 TAB 分割,输出文本中的第 1、4 列awk '{print $1,$4}' log.txt 常用选项-F 指定分隔符-F 选项用于指定字段分隔符,相当于内置变量 FS。 12# 使用逗号分割awk -F, '{print $1,$2}' log.txt -v 设置变量1awk -va=1 '{print $1,$1+a}' log.txt -f 使用脚本文件1awk -f cal.awk log.txt 常用技巧取倒数第 N 列使用 $(NF-(n-1)) 可以取倒数第 N 列。其中 $NF 表示倒数第 1 列,$(NF-1) 表示倒数第 2 列。 12# 取第 2 列、倒数第 1、倒数第 2、倒数第 4 列(以冒号为分隔符)awk -F&quo...
sed 命令用法
简介sed 是 Stream Editor(流编辑器)的缩写,用于对文本进行过滤和转换。 语法1sed [选项] [动作] [文件] 示例: 12# 带 g 则全局修改,不带则只修改匹配的第一个sed -i 's/{原字符串}/{将要修改的字符串}/g' build.xml 常用选项 选项 说明 -e <script> 或 --expression=<script> 以选项中指定的脚本来处理输入的文本文件 -f <script文件> 或 --file=<script文件> 以选项中指定的脚本文件来处理输入的文本文件 -h 或 --help 显示帮助信息 -n 或 --quiet 或 --silent 仅显示脚本处理后的结果(静默模式) -V 或 --version 显示版本信息 -i 直接修改文件内容 常用动作 动作 说明 a 新增,在新的一行出现(当前行的下一行) c 替换,替换指定范围的行 d 删除指定行 i ...
sort 命令用法
简介sort 命令用于对文件的行进行排序。 语法1sort [选项] [文件] 常用选项 选项 说明 -b 忽略每行前面开始处的空格字符 -c 检查文件是否已经按照顺序排序 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符 -f 排序时,将小写字母视为大写字母 -i 排序时,除了 040 至 176 之间的 ASCII 字符外,忽略其他的字符 -m 将几个排序好的文件进行合并 -M 将前面 3 个字母依照月份的缩写进行排序 -n 依照数值的大小排序 -u 唯一(unique),输出的结果是去重后的 -o <输出文件> 将排序后的结果存入指定的文件 -r 以相反的顺序来排序(降序) -t <分隔字符> 指定排序时所用的字段分隔字符 -k field1[,field2] 按指定的列进行排序 --help 显示帮助信息 --version 显示版本信息
xargs 命令用法
简介xargs 命令用于将标准输入转换为命令行参数,一般与管道一起使用。 语法1somecommand | xargs [选项] command 常用选项 选项 说明 -a file 从文件中读入作为标准输入 -e flag 或 -E flag 当 xargs 分析到含有 flag 这个标志时就停止(flag 必须是一个以空格分隔的标志) -p 每次执行一个参数时询问一次用户 -n num 表示命令在执行时一次使用的参数个数,默认是用所有的 -t 先打印命令,然后再执行 -i 或 -I 将 xargs 的每项名称,一般是一行一行赋值给 {},可以用 {} 代替 -r 或 --no-run-if-empty 当 xargs 的输入为空时则停止执行,不再继续 -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数 -L num 从标准输入一次读取 num 行送给 command 命令 -l 同 -L -d delim 指定分隔符,默认的 xargs 分隔符是回车,...
grep 命令用法
简介grep 命令用于在文件中查找符合条件的字符串。 grep 指令用于查找内容包含指定模式的文件,如果发现某文件的内容符合所指定的模式,默认会将包含该模式的那一行显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。 语法1grep "<查找内容>" [选项] [文件或目录...] 常用选项基本选项 -i 或 --ignore-case:忽略字符大小写的差别 -v 或 --invert-match:显示不包含匹配文本的所有行 -n 或 --line-number:在显示符合模式的那一行之前,标示出该行的行号 -c 或 --count:计算符合模式的行数 -l 或 --file-with-matches:列出文件内容符合指定模式的文件名称 -L 或 --files-without-match:列出文件内容不符合指定模式的文件名称 -o 或 --only-matching:只显示匹配部分 -w 或 --word-regexp:只显示完整单词匹配的行 -x 或 --line-regexp:只显示完整行匹...
head 命令用法
简介head 命令用于查看文件的开头部分内容,默认显示 10 行。 语法1head [选项] [文件] 常用选项 选项 说明 -n <行数> 显示指定的行数(默认为 10 行) -c <字节数> 显示指定的字节数 -q 隐藏文件名(多文件时) -v 显示文件名(多文件时)
crontab 的用法及纠错
在线工具crontab 在线网站: https://tooltt.com/crontab/c/56.html 在线 cron 表达式生成: https://cron.qqe2.com/ 安装 cronCentOS 默认自带,如需安装: 1234yum -y install vixie-cron# 验证info crontab 基本使用命令12345678crontab -u # 设定某个用户的 cron 服务,一般 root 用户在执行这个命令的时候需要此参数crontab -l # 列出某个用户 cron 服务的详细内容crontab -r # 删除某个用户的 cron 服务crontab -e # 编辑某个用户的 cron 服务# 示例:crontab -u root -l # root 查看自己的 cron 设置crontab -u fred -r # root 想删除 fred 的 cron 设置 查看日志12345# 查看执行日志tail -f /var/log/cron# 查看任务执行日志(排错用,root 替换为对应用户名)t...
Shell (Bash) 学习记录
Shell 脚本脚本以 #!/bin/bash 开头。 输出 Hello World ! 到 /usr/test.txt(如果输入文本中带引号和 $,需要用 \ 进行转义): 12#!/bin/bashecho "\"Hello World\" !" > /usr/test.txt 删除日志的一份 Shell 脚本,当前路径在 s 下,然后要删除 a、b、c 下的 log: 1/s/a /s/b /s/c 12345678910111213141516171819202122232425#!/bin/bash# 定义变量folders# ()是数组folders=(a,b,c)# 使用${folders}引用变量# 逻辑循环for file in ${folders[*]}do cd ${file} for subfile in ./* do # test -d:检测是否是文件 (shell-test命令参考: https://www.cnblo...
