正则表达式:
定义:
是指用来描述或者匹配一系列符合某个句法规则字符串的单个字符串。
组成:
普通字符以及一些特殊字符(称元字符)组成一种文字模式。
作用:
正则表达式作为一个模板,是将某一个字符模式与所搜索的字符串进行匹配
主要用于字符串处理,表单验证等场合
分类:
基本正则表达式:grep
扩展正则表达式:egrep
----------------------------------------------------------------
'':单引号
功能:屏蔽掉所有特殊字符的意义
UESR:表示环境变量,值就是当前用户
例:# touch 'a b$USER'
结果:a b$USER
"":双引号
功能:只屏蔽空格的意义
# touch "a b $USER"
结果:a broot
``:反引号
功能:预先执行引号里面的命令
例:# echo whichls 结果:whichls
# echo `which ls` 结果:alias ls='ls --color=auto' /bin/ls
------------------------------------------------------------------------
正则表达式元字符:
基本正则表达式:. * []^ $ \ {}
扩展正则表达式:+ ? |() 是基本正则表达式的延伸
. 表示任意一个字符 例a.
* 表示任意多个前面的字符 例a* 表示0个a或者多个a
\ 表示转义字符 例\* 表示 一个*
^ 表示开头 例^a 表示以a开头的字符
$ 表示结尾 例a$ 以a结尾的字符
\< 例\<good 表示good开头的单词
\> 例good\> 表示good结尾的单词
\<good\>
[] 字符范围 例[abc] 表示当前位置或者a或者b或者c
例[^abc] 表示当前位置不是或者a或者b或者c
\{m,n\} 表示字符出现的次数 例a\{m,n\} 表示a匹配m到n次
例a\{m\} 表示a匹配m次
例a\{m,\} 表示a匹配m次以上
例:/etc/samba/smb.conf
grep -v '^#' /etc/samba/smb.conf 表示不显示以#开头的行
grep -v '^#' /etc/samba/smb.conf | grep-v '^$' 表示不显示以#或者空行
grep -v '^#' /etc/samba/smb.conf | grep-v '^$' > a.txt 重定向
+:匹配一个或者多个先前的字符 例:a+ 表示a,aa,等价a\{1,\} 测试需要egrep
区别:grep 'a+'b.txt 与 egrep'a+' b.txt
?:匹配零个或者一个先前的字符 例: a? 表示0或者a 测试需要egrep
例:egrep 'a?' b.txt 可以不含a
egrep 'aa?' b.txt 至少含有一个a
egrep 'aaa?' b.txt 至少含有二个a
|:或的关系 例:x|y 表示匹配x或者y 测试需要egrep
(): 分组符号 例:ls(a|b|c)v 表示lsav或者lsbv或者lscv
vim:也可以用元字符
例:
:%s/ */ /g 把一个或者多个空格替换为一个空格
:%s/ *$// 去掉行尾的所有空格
:%s/^/ / 每行的开头加入一个空格
:%s/^[0-9][0-9]*// 去掉开头的数字。
----------------------------------------------------------
NFS(network file system) 网络文件共享
最早是SUN公司开发出来,主要用于类uinx之间的文件共享
服务器名:
nfs
依赖的服务:
5.5版本:portmap /etc/init.d/portmap restart
6.2版本:rpcbind /etc/init.d/rpcbind restart
软件安装:
yum install nfs*
配置文件:
/etc/exports
配置模式:
共享目录 能访问的客户端(访问参数)
能访问客户端的表示方式:
*:允许所有的主机都可以访问
2.2.2.111:只允许111这个主机访问
2.2.2.* 表示允许这个网段的主机访问
访问参数:
ro:表示只读
rw:表示读写
配置完后注意事项:
关闭防火墙
chkconfig --list iptables 检查防火墙是否关闭
chkconfig --level iptables off :关闭防火墙
chkconfig --level iptable on :打开防火墙
service iptables stop 关闭服务
或者/etc/init.d/iptablesstop 关闭服务
关闭selinux
vim /etc/selinux/config
SELINUX=disabled
---------------------------------
服务器端的配置
#vim /etc/exports
/ule *(ro)
/share *(rw)
service nfs restart 重启服务
客户端如何访问:
showmount -e 2.2.2.133
mount -t nfs 2.2.2.133:/ule /mnt
cd /mnt
ls
cp 1st ./
-------------------------------
df -h 查看挂在是否成功
-----------------------------------
FTP:(文件传输协议的简称)
主要用于在在网络进行文件传输与共享(可跨平台)
常见的FTP服务器软件:
windows: IIS SERVER-U
linux: WU-FTP PROFTPD VSFTP
紅帽用的VSFTP
-------------------------------
服务器名:
vsftpd
软件安装:
yum install vsftpd*
使用的端口:
21
------------------------------
配置文件:
/etc/vsftpd/vsftpd.conf
--------------------------
FTP用户分类:
1、匿名用户:
就是登录的时候,无需用户名和密码,或者用户名和密码都是ftp
2、本地用户:
需要在服务器上创建用户名和密码,然后从客户端登录
3、虚拟帐号:
把一个真实的服务器用户,虚拟为多个FTP帐号
---------------------------------
配置实例:
匿名用户仅供下载的配置:
vim /etc/vsftpd/vsftpd.conf
:g/^#/d 删除注释
anonymous_enable=YES 允许匿名用户登录
anon_root=/ftp 匿名用户登录后的FTP根目录
注意:download_enable如果有的话,这一项取值不能为NO
service vsftpd restart 或者 /etc/init.d/vsftpdrestart
客户端访问:
方法一:命令行 ftp2.2.2.133
用户名ftp
密码:ftp
下载文件get 文件名
方法二:浏览器:ftp://2.2.2.133
指定路径下载:
登录成功,可以用lcd来指定文件下载的路径
lcd /ule
get aa
退出:quit
------------------------------------------------
匿名用户上传配置:
anonymous_enable=YES
anon_root=/ftp
anon_upload_enable=YES 匿名用户上传
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_umask=022 上传文件默认权限
write_enable=YES 有写的功能
anon_other_write_enable=YES 允许匿名用户删除
service vsftpd restart
注意:
mkdir -p /ftp/upload
chmod 757 /ftp/upload 不能把ftp的根目录/ftp设置为写的权限,否则ftp不让匿名登录。
如何上传文件:put 本地文件名(带路经) ftp文件名
例:put/etc/fstab fff
------------------------------------------------------
本地用户的配置:
本地用户要登录FTP,首先在服务器上要创建本地帐号,并设置密码,才可以登录。
本地用户仅供下载的配置:
vim /etc/vsftpd/vsftpd.conf
local_enable=YES 是否允许本地用户登录FTP
local_root=/ftp 本地用户的FTP根目录
chroot_local_user=YES 将本地用户锁定在FTP根目录,主要是加强性
write_enable=NO 所有上传的总开关,
看有没有download_enable 有的话,这一项取值不能为NO
service vsftpd restart
本地用户上传:
vim /etc/vsftpd/vsftpd.con
local_enable=YES 是否允许本地用户登录FTP
local_root=/ftp 本地用户的FTP根目录
chroot_local_user=YES 将本地用户锁定在FTP根目录,主要是加强
性
write_enable=YES 所有上传的总开关
local_umask=022 创建权限的设置
service vsftpd restart
----------------------------------------------------
多用户的配置:
FTP对个用户的要求性不一,如有些用户只能下载,有些用户只能上传,有些用户既能上传又能下载,这时候,可以使用多用户配置。
多户用配置的一个重要参数:user_config_dir=...
例:tom用户只能上传,jim用户只能下载,mary用户可以上传也可以下载
#vim /etc/vsftpd/vsftpd.conf
------------------
download_enable=YES
write_enable=NO 表示大多数只能下载,不可以上传
---------------
user_config_dir=/etc/vsftpd/user_config
用户子配置的目录,如果用户的要求与主配置不一致,就需要这个参数指定的目录中创建子配置文件,子配置文件与用户名同名
#mkdir -p/etc/vsftpd/user_config
#vim /etc/vsftpd/user_config/tom
download_enable=NO
write_enable=YES
#vim/etc/vsftpd/user_config/mary
write_enable=YES
#service vsftp restart
配置详解:
#匿名用户下载
anonymous_enable=YES
anon_root=/ftp
#匿名用户上传
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
anon_other_write_enable=YES
#本地用户下载
local_enable=YES
local_root=/ftp
chroot_local_user=YES
#本地用户上传
write_enable=NO
local_umask=022
#多用户配置
download_enable=YES
user_config_dir=/etc/vsftpd/user_config
linux正则表达式、服务搭建
最新推荐文章于 2024-07-30 11:01:05 发布