Helo's Blog - Linux
type: channel
link: https://www.ishelo.com/tag/Linux/
items: linux指令学习之防火墙
items: linux指令学习之常用管理命令
items: linux指令学习之文本处理
items: vim的使用
items: linux指令学习之文件与权限
items: Linux中的Screen用法

linux指令学习之防火墙
type: item
date: 2020-03-28T16:40:00+08:00
description: 说明：CentOS 7.8默认使用的是firewall作为防火墙。以CentOS 7.8的firewall为例进行介绍。 启动防火墙服务 systemctl start firewalld.service 关闭防火墙服务 systemctl stop firewalld.service 重启防火墙服务 systemctl restart firewalld.service 显示防火墙的状态 systemctl status firewalld.service 开机启动防火墙 systemctl enable firewalld.service 开机时禁用防火墙 systemctl disable firewalld.service 查看防火墙是否开机启动 systemctl is-enabled firewalld.service 查看版本 firewall-cmd --version 查看帮助 firewall-cmd --help 显示状态。 firewall-cmd --state 查看防火墙规则 firewall-cmd --list-all 查看所有打开的端口 firewall-cmd --zone=public --list-ports 重新载入，更新防火墙规则 firewall-cmd --reload 查看区域信息 firewall-cmd --get-active-zones 查看指定接口所属区域 firewall-cmd --get-zone-of-interface=eth0 拒绝所有包 firewall-cmd --panic-on 取消拒绝状态 firewall-cmd --panic-off 查看是否拒绝 firewall-cmd --query-panic 开启80端口，–permanent永久生效，没有此参数重启后失效 firewall-cmd --zone=public --add-port=80/tcp --permanent ``` 查看80端口是否开放 firewall-cmd --zone=public --query-port=80/tcp 删除80端口配置 firewall-cmd --zone=public --remove-port=80/tcp --permanent

linux指令学习之常用管理命令
type: item
date: 2020-03-15T09:40:00+08:00
description: echo 命令描述：echo命令用于在终端输出字符串或变量提取后的值。 命令格式：echo [字符串 | $变量]。 命令用法示例： 显示普通字符串 echo "Hello World" 显示变量 首先在shell环境中定义一个临时变量name。 export name="Tom" 使用echo命令将变量name的值显示到终端。 echo $name 显示结果定向至文件 以下命令会将文本This is a test text.输出重定向到文件test.txt中，如果文件已存在，将会覆盖文件内容，如果不存在则创建。其中>符号表示输出重定向。 echo "This is a test text." > test.txt 如果您希望将文本追加到文件内容最后，而不是覆盖它，请使用>>输出追加重定向符号。 显示命令执行结果 以下命令将会在终端显示当前的工作路径。 echo `pwd` [scode type="yellow"]pwd命令是用一对反引号（``）包裹，而不是一对单引号（''）。[/scode] 使用$(command)形式可以达到相同效果。 echo $(pwd) date 命令描述：date命令用于显示和设置系统的时间和日期。 命令格式：date [选项] [+格式]。 其中，时间格式的部分控制字符解释如下： 字符 说明 %a 当地时间的星期名缩写（例如： 日，代表星期日） %A 当地时间的星期名全称 （例如：星期日） %b 当地时间的月名缩写 （例如：一，代表一月） %B 当地时间的月名全称 （例如：一月） %c 当地时间的日期和时间 （例如：2005年3月3日 星期四 23:05:25） %C 世纪；比如 %Y，通常为省略当前年份的后两位数字（例如：20） %d 按月计的日期（例如：01） %D 按月计的日期；等于%m/%d/%y %F 完整日期格式，等价于 %Y-%m-%d %j 按年计的日期（001-366） %p 按年计的日期（001-366） %r 当地时间下的 12 小时时钟时间 （例如：11:11:04 下午） %R 24 小时时间的时和分，等价于 %H:%M %s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 %T 时间，等于%H:%M:%S %U 一年中的第几周，以周日为每星期第一天（00-53） %x 当地时间下的日期描述 （例如：12/31/99） %X 当地时间下的时间描述 （例如：23:13:48） %w 一星期中的第几日（0-6），0 代表周一 %W 一年中的第几周，以周一为每星期第一天（00-53） 命令用法示例： 按照默认格式查看当前系统时间 date 按照指定格式查看当前系统时间 date "+%Y-%m-%d %H:%M:%S" 查看今天是当年中的第几天 date "+%j" 将系统的当前时间设置为2020年03月15日8点0分0秒 date -s "20200315 08:00:00" 校正系统时间，与网络时间同步 安装ntp校时工具 yum -y install ntp 用ntpdate从时间服务器更新时间 ntpdate time.nist.gov wget 命令描述：在终端中下载文件。 命令格式：wget [参数] 下载地址。 参数说明： 参数 作用 -b 后台下载 -P 下载到指定目录 -t 最大重试次数 -c 断点续传 -p 下载页面内所有资源，包括图片、视频等 -r 递归下载 命令使用示例： 下载一首歌到路径/root/song/ -p参数默认值为当前路径，如果指定路径不存在会自动创建。 wget -P /root/song/ https://pan.ishelo.com/Music/%E6%96%B0%E7%88%B1%E6%8B%BC%E6%89%8D%E4%BC%9A%E8%B5%A2.mp3 如果wget报错，可能是你的Linux没有装，以centos7为例，可以这么安装： yum install wget -y ps 命令描述：ps命令用于查看系统中的进程状态。 命令格式：ps [参数]。 命令参数说明： 参数 作用 -a 显示现行终端机下的所有程序，包括其他用户的程序 -u 以用户为主的格式来显示程序状况 -x 显示没有控制终端的进程，同时显示各个命令的具体路径 -e 列出程序时，显示每个程序所使用的环境变量 -f 显示当前所有的进程 -t 指定终端机编号，并列出属于该终端机的程序的状况 命令使用示例： ps -ef | grep sshd top 命令描述：top命令动态地监视进程活动与系统负载等信息。 命令使用示例： top 命令输出参数解释： 输出视图中分为两个区域，一个统计信息区，一个进程信息区。 统计信息区 第一行信息依次…

linux指令学习之文本处理
type: item
date: 2020-03-04T19:43:00+08:00
description: cat 命令描述：cat命令用于查看内容较少的纯文本文件。 命令格式：cat [选项] [文件]。 命令参数说明： 参数 说明 -n或--number 显示行号 -b或--number-nonblank 显示行号，但是不对空白行进行编号 -s或--squeeze-blank 当遇到有连续两行以上的空白行，只显示一行的空白行 命令使用示例： cat test.txt more 命令描述：more命令从前向后分页显示文件内容。 常用操作命令： 操作 作用 Enter 向下n行，n需要定义，默认为1行 Ctrl+F或空格键（Space） 向下滚动一页 Ctrl+B 向上滚动一页 = 输出当前行的行号 !命令 调用Shell执行命令 q 退出more 命令使用示例： #从第20行开始分页查看系统日志文件/var/log/messages more +20 /var/log/messages less 命令描述：less命令可以对文件或其它输出进行分页显示，与moe命令相似，但使用 less 可以随意浏览文件，而 more 仅能向前移动，却不能向后移动。 命令格式：less [参数] 文件 。 命令参数说明： 参数 说明 -e 当文件显示结束后，自动离开 -m 显示类似more命令的百分比 -N 显示每行的行号 -s 显示连续空行为一行 命令常用操作： 操作 作用 /字符串 向下搜索字符串 ?字符串 向上搜索字符串 n 重复前一个搜索 N 反向重复前一个搜索 b或pageup键 向上翻一页 空格键或pagedown键 向下翻一页 u 向前翻半页 d 向后翻半页 y 向前滚动一行 回车键 向后滚动一行 q 退出less命令 命令使用示例： #查看命令历史使用记录并通过less分页显示 history | less head 命令描述：head命令用于查看文件开头指定行数的内容。 命令格式：head [参数] [文件]。 命令参数说明： 参数 说明 -n [行数] 显示开头指定行的文件内容，默认为10 -c [字符数] 显示开头指定个数的字符数 -q 不显示文件名字信息，适用于多个文件，多文件时默认会显示文件名 命令使用示例： #查看/etc/passwd文件的前5行内容 head -5 /etc/passwd tail 命令描述：tail命令用于查看文档的后N行或持续刷新内容。 命令格式：tail [参数] [文件]。 命令参数说明： 参数 说明 -f 显示文件最新追加的内容 -q 当有多个文件参数时，不输出各个文件名 -v 当有多个文件参数时，总是输出各个文件名 -c [字节数] 显示文件的尾部n个字节内容 -n [行数] 显示文件的尾部n行内容 常用操作命令： 操作 作用 ctrl+c 退出文本实时查看界面 命令使用示例： #查看/var/log/messages系统日志文件的最新10行，并保持实时刷新 tail -f -n 10 /var/log/messages stat 命令描述：用来显示文件的详细信息，包括inode、atime、mtime、ctime等。 命令使用示例： #查看/etc/passwd文件的详细信息 stat /etc/passwd wc 命令描述：wc命令用于统计指定文本的行数、字数、字节数。 命令格式：wc [参数] [文件]。 命令参数说明： 参数 说明 -l 只显示行数 -w 只显示单词数 -c 只显示字节数 命令使用示例： #统计/etc/passwd文件的行数 wc -l /etc/passwd file 命令描述： file命令用于辨识文件类型。 命令格式：file [参数] [文件]。 命令参数说明： 参数 说明 -b 列出辨识结果时，不显示文件名称 -c 详细显示指令执行过程，便于排错或分析程序执行的情形 -f [文件] 指定名称文件，其内容有一个或多个文件名称时，让file依序辨识这些文件，格式为每列一个文件名称 -L 直接显示符号连接所指向的文件类别 命令使用示例： #查看/var/log/messages文件的文件类型 file /var/log/messages diff 命令描述：diff命令用于比较文件的差异。 命令使用示例： diff first.txt second.txt grep 命令描述：grep命令用于查找文件里符合条件的字符串。 在Shell脚本中，grep通过返回一个状态值来表示搜索的状态： 0：匹配成功。 1：匹配失败。 2：搜索的文件不存在。 命令格式：grep [参数] [正则表达式] [文件]。 命令常用参数说明： 参数 说明 -c或--count 计算符合样式的列数 -d recurse或-r 指定要查找的是目录而非文件 -e [范本样式] 指定字符串做为…

vim的使用
type: item
date: 2020-02-29T09:40:00+08:00
description: 说明：的文章中我们很多都用到了vim进行一些文本的编辑和操作，在这里做一个详细的介绍。 vim VIM是自由软件，受到了广大Linux用户的喜爱。Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器，在Vi的基础上改进和增加了很多特性。 vim的用法 vim有三种操作模式，分别是命令模式（Command mode）、输入模式（Insert mode）和底线命令模式（Last line mode）。 三种模式切换快捷键如下表所示： 模式 快捷键 命令模式 ESC 输入模式 i或a 底线命令模式 : 命令模式 在命令模式中控制光标移动和输入命令，可对文本进行复制、粘贴、删除和查找等工作。 使用命令vim filename后进入编辑器视图后，默认模式就是命令模式，此时敲击键盘字母会被识别为一个命令，例如在键盘上连续敲击两次d，就会删除光标所在行。 以下是在命令模式中常用的快捷操作： 操作 快捷键 光标左移 h 光标右移 l（小写L） 光标上移 k 光标下移 j 光标移动到下一个单词 w 光标移动到上一个单词 b 移动游标到第n行 nG 移动游标到第一行 gg 移动游标到最后一行 G 快速回到上一次光标所在位置 Ctrl+o 删除当前字符 x 删除前一个字符 X 删除整行 dd 删除一个单词 dw或daw 删除至行尾 d$或D 删除至行首 d^ 删除到文档末尾 dG 删除至文档首部 d1G 删除n行 ndd 删除n个连续字符 nx 将光标所在位置字母变成大写或小写 ~ 复制游标所在的整行 yy（3yy表示复制3行） 粘贴至光标后（下） p 粘贴至光标前（上） P 剪切 dd 交换上下行 ddp 替换整行，即删除游标所在行并进入插入模式 cc 撤销一次或n次操作 u{n} 撤销当前行的所有修改 U 恢复撤销操作 Ctrl+r 整行将向右缩进 >> 整行将向左退回 << 若档案没有更动，则不储存离开，若档案已经被更动过，则储存后离开 ZZ 输入模式 在命令模式下按i或a键就进入了输入模式，在输入模式下，您可以正常的使用键盘按键对文本进行插入和删除等操作。 底线命令模式 在命令模式下按:键就进入了底线命令模式，在底线命令模式中可以输入单个或多个字符的命令。 以下是底线命令模式中常用的快捷操作： 操作 快捷键 保存 :w 退出 :q 保存并退出 :wq（:wq!表示强制保存退出） 将文件另存为其他文件名 :w new_filename 显示行号 :set nu 取消行号 :set nonu 使本行内容居中 :ce 使本行文本靠右 :ri 使本行内容靠左 :le 向光标之下寻找一个名称为word的字符串 :/word 向光标之上寻找一个字符串名称为word的字符串 :?word 重复前一个搜寻的动作 :n 从第一行到最后一行寻找word1字符串，并将该字符串取代为word2 :1,$s/word1/word2/g或 :%s/word1/word2/g

linux指令学习之文件与权限
type: item
date: 2019-12-01T20:52:00+08:00
description: tree 命令描述：tree命令用于以树状图列出目录的内容。 tree命令没有内置在系统中，使用tree命令需要执行以下命令来安装： yum install -y tree 命令使用示例： tree /home/helo/download/ ls 命令描述： ls命令用于显示指定工作目录下的内容。 命令格式：ls [参数] [目录名]。 参数说明： 参数 说明 -a 显示所有文件及目录（包括隐藏文件） -l 将文件的权限、拥有者、文件大小等详细信息列出（ll等同于ls -l） -r 将文件反序列出（默认按英文字母正序） -t 将文件按创建时间正序列出 -R 递归遍历目录下文件 命令使用示例： #查看当前目录下的所有文件（包括隐藏文件）。 ll -a #查看Linux系统上的文件、目录和设备的权限。 ls -l /boot/ 上述ls -l命令中显示的第一列就是文件权限信息，共11位字符，分5部分。 第1位表示存档类型，d表示目录，-表示一般文件。 第2~4位表示当前用户的权限（属主权限）。 第5~7位表示同用户组的用户权限（属组权限）。 第8~10位表示不同用户组的用户权限（其他用户权限）。 第11位是一个半角句号.，表示SELinux安全标签。 用户权限每组三位，rwx分别表示读、写、执行权限，对应八进制表示为4、2、1。 例如efi目录的root用户权限为drwxr-xr-x.。 该目录对root用户具有读写和执行所有权限。 该目录对root组其他用户有读和执行权限。 该目录对其他用户只有执行权限。 所以该权限表示对应八进制权限表示为： 属主权限：4+2+1=7。 属组权限：4+1=5。 其他用户权限：1。 即751。 pwd 命令描述：获取当前工作目录的绝对路径。 命令使用示例： pwd cd 命令描述：cd命令用于切换工作目录。 命令使用示例： cd cd /usr/local cd ../.. cd / 在路径表示中： 一个半角句号（.）表示当前目录，例如路径./app/log等同于app/log。 两个半角句号（..）表示上级目录，例如路径/usr/local/../src等同于/usr/src，其中local和src目录同级。 cd命令的默认参数为~，符号~表示当前用户的家目录，即在root用户登录时，命令cd、cd ~和cd /root执行效果相同。 touch 命令描述：touch命令用于修改文件或者目录的时间属性，包括存取时间和更改时间。若文件不存在，系统会建立一个新的文件。 命令格式：touch [参数] [文件]。 参数说明： 参数 说明 -c 如果指定文件不存在，不会建立新文件 -r 使用参考文件的时间记录 -t 设置文件的时间记录 命令使用示例： #创建两个空文件 touch first.txt second.txt mkdir 命令描述：mkdir命令用于新建子目录。 命令格式：touch [参数] [目录]。 参数说明： 参数 说明 -p 确保目录名称存在，不存在的就新建一个 命令使用示例： #创建目录a/b/c mkdir -p a/b/c rm 命令描述：rm命令用于删除一个文件或者目录。 命令格式：rm [参数] [文件]。 参数说明： 参数 说明 -l 删除前逐一询问确认 -f 无需确认，直接删除 -r 删除目录下所有文件 命令使用示例： #无需确认直接删除文件 rm -f first.txt #无需确认直接删除目录及目录下的文件 rm -rf a cp 命令描述： cp命令主要用于复制文件或目录。 命令格式：cp [参数] [源文件] [目标文件]。 参数说明： 参数 说明 -d 复制时保留链接 -f 覆盖已经存在的目标文件而不给出提示 -l 覆盖前询问 -p 除复制文件的内容外，还把修改时间和访问权限也复制到新文件中 -r 复制目录及目录内的所有项目 命令使用示例： cp second.txt a/b/ mv 命令描述： mv命令用来为文件或目录改名、或将文件或目录移入其它位置。 命令格式：mv [参数] [源文件] [目标文件] 参数说明： 参数 说明 -l 若指定目录已有同名文件，则先询问是否覆盖旧文件 -f 如果目标文件已经存在，不会询问而直接覆盖 命令使用示例： mv a/b/second.txt a/first.txt #将当前目录内容全部移动到/tmp目录中 mv ./* /tmp rename 命令描述：rename命令用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本。C语言版本的rename命令，不支持正则表达式。 命令使用示例： rename .txt .sh rename first FIRST chmod 命令描述：chmod命令…

Linux中的Screen用法
type: item
date: 2019-09-29T22:14:00+08:00
description: Screen语法 screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>] 参数说明 -A 将所有的视窗都调整为目前终端机的大小。 -d <作业名称> 将指定的screen作业离线。 -h <行数> 指定视窗的缓冲区行数。 -m 即使目前已在作业中的screen作业，仍强制建立新的screen作业。 -r <作业名称> 恢复离线的screen作业。 -R 先试图恢复离线的作业。若找不到离线的作业，即建立新的screen作业。 -s 指定建立新视窗时，所要执行的shell。 -S <作业名称> 指定screen作业的名称。 -v 显示版本信息。 -x 恢复之前离线的screen作业。 -ls或--list 显示目前所有的screen作业。 -wipe 检查目前所有的screen作业，并删除已经无法使用的screen作业。 常用screen参数 新建一个叫yourname的session screen -S yourname 列出当前所有的session screen -ls 回到yourname这个session screen -r yourname 远程detach某个session screen -d yourname 结束当前session并回到yourname这个session screen -d -r yourname kill掉一个screen: 使用screen名字，kill掉。 screen -S session_name -X quit 激活screen： screen -r session_name 并利用exit退出并kiil掉session。 关闭所有的screen: 先看看有多少个screen screen -ls |awk '/Socket/'|awk '{print $1}' 如果有20个screen，关闭所有screen screen -ls|awk 'NR>=2&&NR<=20{print $1}'|awk '{print "screen -S "$1" -X quit"}'|sh 快捷键命令 在每个screen session 下，所有命令都以 ctrl+a(C-a) 开始。 C-a c -> 创建一个新的运行shell的窗口并切换到该窗口 C-a n -> Next，切换到下一个 window C-a p -> Previous，切换到前一个 window C-a 0..9 -> 切换到第 0..9 个 window Ctrl+a [Space] -> 由视窗0循序切换到视窗9 C-a C-a -> 在两个最近使用的 window 间切换 C-a d -> detach，暂时离开当前session，将目前的 screen session (可能含有多个 windows) 丢到后台执行，并会回到还没进 screen 时的状态，此时在 screen session 里，每个 window 内运行的 process (无论是前台/后台)都在继续执行，即使 logout 也不影响。 C-a z -> 把当前session放到后台执行，用 shell 的 fg 命令则可回去。 C-a k -> kill window，强行关闭当前的 window 参考资料 http://www.gnu.org/software/screen/