Shell条件判断
大家好呀!今天简单聊一聊Shell条件判断相关的内容,如文件比较、整数及字符串之间的判断、多重条件判断等。
1、语法格式三种语法格式:
1)test 条件表达式
test -e file:文件file存在则为真
2)[ 条件表达式 ]
[ -d /shell01/dir1 ]:目录dir1存在则为真[ ! -d /shell01/dir1 ]:目录dir1不存在则为真
3) [[ 条件表达式 ]],支持正则
[[ -f /shell01/1.sh ]]:文件1.sh存在且为普通文件,则为真
注意中括号前后都要有空格
通过man test查看对应参数及其用法,0为真,1为假。与通常的1真0假不同。
2、条件判断相关参数2.1 文件存在与否判断1)常用
1234-e 是否存在(不管是文件还是目录,只要存在,条件就成立)-f 是否为普通文件-d 是否为目录-s 判断文件是否有内容(大小),非空则为真
!表示取反,eg:-s表示非空,! -s 表示空文件。-d表示目录存在,! -d表示目录不存在。
2)其他
12345-S socket-p pipe-c character-b blo ...
Shell编程(2)
大家好呀!今天简单介绍一下Shell基础,包括变量、数组以及四则运算等方面内容。
1、变量1.1 变量分类1)本地变量:当前用户自定义的变量。当前进程中有效,其他进程及当前进程的子进程无效。2)环境变量:当前进程有效,且能够被子进程调用。
env:查看当前用户的环境变量set:查询当前用户的所有变量(临时变量与环境变量)export:将当前变量变成环境变量
1234567# 临时将一个本地变量(临时变量)变成环境变量export A=hello env|grep ^A# 永久生效:vim /etc/profile 或者 ~/.bashrc# 系统中有一个变量PATH,即环境变量
3)全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用。
12345678910111213141516$HOME/.bashrc #当前用户的bash信息(aliase、umask等)$HOME/.bash_profile #当前用户的环境变量$HOME/.bash_logout #每个用户退出当前shell时最后读取的文件/etc/bashrc #使用ba ...
Shell编程(1)
大家好呀!今天来简单介绍一下Shell基础,Shell介于内核与用户之间,是一个命令解释器,负责命令的解释。简单理解,Shell既是一个程序也是一种脚本语言。
1、shell介绍1.1 概述shell介于内核与用户之间,是一个命令解释器,负责命令的解释。shell是人机交互的桥梁,通过在终端上输入shell命令来控制linux内核,进而控制系统硬件。
1.2 shell的种类1cat /etc/shells
终端输入ps命令,可以看到bash的进程。当用户在终端上输入命令后,会由该bash进行解析,所以解析命令的是bash,而不是终端(终端只是一个程序,而真正解析的是bash)
终端可以看做是bash的接口,而bash就是shell的一种类型(bash shell)
2、shell脚本2.1 概述1)什么是shell脚本?
简单理解,将需要执行的命令保存到文本中,按照顺序执行。由于shell是解释型的,所以无需编译。
概括而言,若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= shell脚本
2)什么时候用到脚本?
对于重复化、复杂化的工作,通过把工作的命令写成 ...
DNS服务
今天来简单聊一聊DNS服务,众所周知,在网络中计算机之间是通过IP地址进行互相访问的,当我们访问某个域名时,其背后是DNS服务器进行了域名解析,并得到对应的IP地址。域名相比于IP地址而言,更加简单易记,从而可以更方便地访问。
一、背景引入及DNS概述我们先从背景出发,然后具体介绍什么是DNS,最后通过搭建DNS服务器进行上手实战。
1、背景引入公司内网中需要通过域名访问到开发的web应用,以获得更好的访问体验。为此需要在内网中搭建DNS服务器解析域名,通过内网DNS服务,访问到公司内部应用。
如下图例,我们PC端在访问某个域名时,其实背后是DNS服务器先进行了域名解析,得到对应的IP地址,域名只是一种访问的形式,其底层还是IP地址。
2、DNS概述DNS(domain name system),即域名管理系统。域名由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,域名的好处是实现更方便的访问,而不用去记复杂的IP地址。
互联网中,计算机都是通过IP地址进行互相访问的。计算机 => IP地址。
由于IP地址复杂难记,如192.168.91.10,所以一般使用域名 ...
SAMBA服务
大家好呀!这里是码农后端。今天来简单聊一聊SAMBA服务。SAMBA服务主要用于实现windows和Linux下的文件共享、打印共享等。
一、SAMBA文件共享1、什么是SAMBA?SMB(Server Message Block)协议实现文件共享,也称为CIFS(Common Internet File System),是Windows和类Unix系统之间共享文件的一种协议。客户端主要是Windows,支持多节点同时挂载以及并发写入;主要用于windows和Linux下的文件共享、打印共享,实现匿名与本地用户文件共享。
2、SAMBA主要进程2.1 smbd进程控制发布共享目录与权限、负责文件传输 ,TCP,139 445
2.2 nmbd进程1)用于名称解析netbios,UDP,137 138 ;2)基于NETBIOS协议获得计算机名称 => 解析为相应IP地址,实现信息通讯
NetBIOS(Network Basic Input/Output System),一般指用于局域网通信的一套API
3、SAMBA环境准备1)从模板机中克隆一台Linux服务器SA ...
什么是生成式AI?
大家好呀!这里是码农后端。近些年来,AI技术的持续火爆,无不印证了AI将引领下一场工业革命。认识AI并发展使用AI,是顺应时代和技术变革的需要。今天来简单聊一聊什么是生成式AI、什么是AIGC,及其背后的工作原理和关键技术。
一、背景引入过去十年以来,AI 一直是热门技术话题,但生成式 AI,尤其是 2022年ChatGPT 的出现,使 AI 成为全球头条新闻,并掀起了前所未有的 AI 创新和采用浪潮。
生成式 AI 为个人和组织提供了巨大的工作效率优势,同时也产生了非常现实的挑战和风险,但企业正在向前迈进,深入了解该技术如何能改善其内部工作流程,并丰富其产品和服务。
管理咨询公司 McKinsey 的研究显示,三分之一的组织至少已经在一项业务职能中定期使用生成式 AI。行业分析机构 Gartner 预计,截至 2026 年,超过 80% 的组织将部署生成式 AI 应用程序,或使用生成式 AI 应用程序编程接口 (API)。
二、什么是生成式 AI?回归正题,那么到底什么是生成式 AI呢?
生成式 AI,也称作 gen AI,是一种人工智能 (AI),能够创建原创内容,如文本、图像、视 ...
NFS服务
大家好呀!这里是码农后端。今天来简单聊一聊NFS服务。NFS(Network FileSystem,网络文件系统),是一个比较轻量级的服务,如果想要搭建一个大容量的存储平台,那么使用NFS既简单又快速。
一、NFS服务概述1、背景引入为了提高用户的访问效率,现需要将原有web服务器上的静态资源文件分离出来,单独保存到一台文件服务器上。
1)搭建NFS服务器(用于静态资源的存储如图片、视频、附件)
2)使用mount指定对NFS服务器进行挂载,挂载到Web服务器中
2、环境准备由模版机CentOS7.6(通过恢复到快照还原为系统初始状态)在关机情况下使用完整克隆,克隆出3台一模一样的机器,分别为Web、NFS和Backup。
编号
主机名称FQDN
IP地址
作用
1
web.itweb.cn
10.1.1.11
Web服务器
2
nfs.itweb.cn
10.1.1.12
NFS服务器
3
backup.itweb.cn
10.1.1.13
Backup服务器
FQDN(Fully Qualified Domain Name),是一种网络标识符,用于唯一地标 ...
FTP服务
大家好呀!这里是码农后端。今天来简单聊一聊FTP服务。FTP服务是基于FTP协议(即文件传输协议)的文件传输服务,应用非常广泛。
一、FTP服务概述1、FTP概述FTP(File Transfer Protocol)是一种应用非常广泛且古老的一个互联网文件传输协议。
文件传输:文件的上传与下载
主要用于互联网中文件的双向传输(上传/下载)、文件共享
跨平台 Linux、Windows
FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输
FTP的默认端口 21号(命令端口) 20号(数据端口,主动模式下) ,默认被动模式下
FTP程序(软件):vsftpd
FTP软件名称 => vsftpd,vs(very secure ftp daemon) ,字面理解即非常安全的ftp服务
2、FTP服务的客户端工具
Linux:ftp、lftp(客户端程序)
Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox
lftp和ftp工具区别:
lftp:默 ...
数据同步服务RSYNC
大家好呀!这里是码农后端。今天来介绍一下数据同步服务RSYNC,作为Linux/Unix系统中远程或本地复制同步(复制)文件和目录最常用的命令,相比于scp命令,其具有增量备份、数据同步时保持文件的原有属性等优点。
一、RSYNC概述1、几种方式
sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。
rsync 远程同步:remote synchronous
数据同步过程
以保存文件为目标,sync数据同步会强制把缓存中的数据写入磁盘(立即保存),适合实时性要求比较高的场景。而asyn数据异步则是先将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘,适合批量数据同步的场景。
同步(Synchronous),异步(Asynchronous),远程同步(Remote Synchronous)
2、rsync特点1)可以镜像保存整个目录树和文件系统
2)可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modif ...
SSH服务搭建
大家好呀!这里是码农后端。上一篇介绍了SSH服务搭建之YUM源配置与静态IP配置,本篇将介绍SSH服务搭建的软件安装、相关服务补充以及SSH免密登录的实现。
1、安装openssh1)openssh概述
SSH服务底层的软件名称叫做openssh,open即开源,ssh即ssh服务。
openssh属于C/S架构软件,拥有客户端与服务器端。
客户端:ssh服务端:openssh-server
2)安装:
1yum install openssh -y
3)查看openssh是否安装成功
1234# 使用管道结合grep命令rpm -qa |grep openssh#或列出已安装的opensshyum list installed |grep openssh
4)获取openssh生成的文件列表
服务器端:
1234567891011121314151617rpm -ql openssh-server# 配置文件/etc/ssh/sshd_config => ssh服务的主配置文件/etc/sysconfig/sshd# 服务管理脚本/usr/lib/syst ...