Linux shell基础知识(中)

2018-01-12 11:18:02来源:oschina作者:梦扬人点击

分享

8.6 管道符和作业控制


8.7/8.8 shell变量


8.9 环境变量配置文件

8.6 管道符和作业控制



管道符:意思就是把前面输出的内容传递给后面的命令


grep:用来过滤指定关键词的命令,只要这一行有这一个关键词,他就会顾虑出来。(后面我们还会讲)


[root@MOMCO-02 ~]# ls 123 1.txt 2.txt 3 3.txt 3.txt~ 4.txt anaconda-ks.cfg a.txt bb.txt gyb [root@MOMCO-02 ~]# ls |wc -l【把ls现实的结果交给wc -l(wc -l:表示有多少个结果)】 11 [root@MOMCO-02 ~]# find ./ -type f【寻找当前目录下的所有文件】 ./.bash_logout ./.bash_profile ./.bashrc ./.cshrc ./.tcshrc ./anaconda-ks.cfg ./.bash_history ./.ssh/id_rsa ./.ssh/id_rsa.pub ./.ssh/known_hosts ./.ssh/authorized_keys ./.lesshst ./2.txt ./3.txt~ ./123/gyblinux ./4.txt ./.swp ./.viminfo ./1.txt ./3.txt ./a.txt ./bb.txt ./gyb [root@MOMCO-02 ~]# find ./ -type f |wc -l【寻找当前目录下的所有文件,把结果交给wc -l】 23


[root@MOMCO-02 ~]# vim 1.txt【当我们正在 编辑一个文件的时候想要查看磁盘的使用情况,这个事时候我们可以暂停这个任务,然放他在后台已暂停】


[1]+ 已停止 vim 1.txt


[root@MOMCO-02 ~]# df -h 文件系统容量 已用 可用 已用% 挂载点 /dev/sda318G 1.5G17G9% / devtmpfs122M 0 122M0% /dev tmpfs132M 0 132M0% /dev/shm tmpfs132M 4.6M 127M4% /run tmpfs132M 0 132M0% /sys/fs/cgroup /dev/sda1197M97M 100M50% /boot tmpfs27M 027M0% /run/user/0 [root@MOMCO-02 ~]# cat 1.txt 1.txt 2.txt [root@MOMCO-02 ~]# fg【启动我们刚刚暂停的后台服务】 vim 1.txt


[root@MOMCO-02 ~]# vim 1.txt


[1]+ 已停止 vim 1.txt [root@MOMCO-02 ~]# vim aa.txt


[2]+ 已停止 vim aa.txt [root@MOMCO-02 ~]# jobs【查看我们后台暂停的索引服务】 [1]- 已停止 vim 1.txt [2]+ 已停止 vim aa.txt [root@MOMCO-02 ~]# fg 2【后面加上数字指定我们要启动那个暂停的后台】 agushcjlakscusilj


[root@MOMCO-02 ~]# vim aa.txt


[2]+ 已停止 vim aa.txt [root@MOMCO-02 ~]# jobs [1]- 已停止 vim 1.txt [2]+ 已停止 vim aa.txt [root@MOMCO-02 ~]# fg 2 vim aa.txt


[2]+ 已停止 vim aa.txt [root@MOMCO-02 ~]# jobs [1]- 已停止 vim 1.txt [2]+ 已停止 vim aa.txt [root@MOMCO-02 ~]# bg 2【后台运行我们暂停的服务】 [2]+ vim aa.txt & [root@MOMCO-02 ~]# fg 2 vim aa.txt [root@MOMCO-02 ~]# jobs [1]+ 已停止 vim 1.txt [root@MOMCO-02 ~]# vmstat 1 &【下面的结果不需要看】 [2] 2693 [root@MOMCO-02 ~]# procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r bswpdfreebuff cachesisobiboincs us sy id wa st 2 09968932 0 1404880020 25556 0 0 100 0 0 0 09968928 0 14048000 0 07982 0 0 100 0 0 0 09968928 0 14048000 0 08376 0 1 99 0 0 0 09968928 0 14048000 0 88580 0 0 100 0 0 0 09968928 0 14048000 0 09783 0 1 99 0 0 0 09968928 0 14048000 0 07872 0 0 100 0 0 0 09968928 0 14048000 0 09188 1 0 99 0 0 0 09968928 0 14048000 0 08276 0 0 100 0 0 0 09968928 0 14048000 0 09386 0 0 100 0 0 0 09968928 0 14048000 0 08072 0 0 100 0 0 0 09968928 0 14048000 0 08177 0 1 99 0 0 0 09968928 0 14048000 0 08583 0 0 100 0 0 1 09968928 0 14048000 0 09490 0 0 100 0 0 0 09968928 0 14048000 0 08275 0 0 100 0 0 0 09968928 0 14048000 0 08979 0 1 99 0 0 0 09968928 0 14048000 0 07572 0 0 100 0 0 bg [1]+ vim 1.txt & [root@MOMCO-02 ~]# procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r bswpdfreebuff cachesisobiboincs us sy id wa st 1 09968928 0 14048000 0 0 109 108 0 0 100 0 0 0 09968928 0 14048000 0 09286 0 0 100 0 0 0 09968928 0 14048000 0 08680 0 1 99 0 0


[1]+ 已停止 vim 1.txt [root@MOMCO-02 ~]# [root@MOMCO-02 ~]# [root@MOMCO-02 ~]# 0 09968928 0 14048000 043 104 117 0 0 100 0 0 0 09968928 0 14048000 0 08177 1 0 99 0 0 0 09968928 0 14048000 0 09791 0 1 99 0 0 jo 0 09968928 0 14048000 0 0 108 104 0 0 100 0 0 bs [1]+ 已停止 vim 1.txt [2]- 运行中 vmstat 1 & [root@MOMCO-02 ~]# 0 09968928 0 14048000 0 097 103 0 0 100 0 0 1 09968928 0 14048000 0 08984 0 1 99 0 0 0 09968928 0 14048000 0 08175 0 0 100 0 0 0 09968928 0 14048000 0 08481 0 0 100 0 0 0 09968928 0 14048000 0 09088 0 0 100 0 0 0 09968928 0 14048000 0 08880 0 0 100 0 0 0 09968928 0 14048000 0 07972 0 0 100 0 0 0 09968928 0 14048000 0 09793 0 1 99 0 0 0 09968928 0 14048000 0 07975 0 0 100 0 0 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r bswpdfreebuff cachesisobiboincs us sy id wa st 1 09968928 0 14048000 0 0 10189 0 2 98 0 0 0 09968928 0 14048000 0 07772 0 0 100 0 0 bg 0 09968928 0 14048000 0 09793 0 0 100 0 0 2 -bash: bg: 任务 2 已在后台 [root@MOMCO-02 ~]# 0 09968928 0 14048000 0 09494 0 0 100 0 0 0 09968928 0 14048000 0 09383 1 1 98 0 0 0 09968928 0 14048000 0 08577 0 0 100 0 0 0 09968928 0 14048000 0 07570 0 0 100 0 0 ^C [root@MOMCO-02 ~]# 0 09968928 0 14048000 0 07177 0 0 100 0 0 0 09968928 0 14048000 0 07173 0 0 100 0 0 0 09968928 0 14048000 0 08279 0 0 100 0 0 0 09968928 0 14048000 0 08174 0 1 99 0 0 jo 0 09968928 0 14048000 0 09291 0 0 99 1 0 0 09968928 0 14048000 0 08578 0 0 100 0 0 b 0 09968928 0 14048000 0 08483 0 0 100 0 0 s [1]+ 已停止 vim 1.txt [2]- 运行中 vmstat 1 & [root@MOMCO-02 ~]# 0 09968928 0 14048000 0 09591 0 0 100 0 0 0 09968928 0 14048000 0 08782 0 0 100 0 0 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r bswpdfreebuff cachesisobiboincs us sy id wa st 1 09968928 0 14048000 0 08377 0 1 99 0 0 0 09968928 0 14048000 0576253 0 0 100 0 0 0 09968928 0 14048000 0 04738 0 0 100 0 0 0 09968928 0 14048000 0 06561 1 1 98 0 0 0 09968928 0 14048000 0 06457 0 0 100 0 0 fg 0 09968928 0 14048000 0 05755 0 1 99 0 0 2 vmstat 1 0 09968928 0 14048000 0 05955 0 0 100 0 0 0 09968928 0 14048000 0 04237 0 0 100 0 0 ^C [root@MOMCO-02 ~]# jobs [1]+ 已停止 vim 1.txt [root@MOMCO-02 ~]# fg vim 1.txt [root@MOMCO-02 ~]# sleep 1000【什么都不干,睡觉1000秒】 ^Z [1]+ 已停止 sleep 1000 [root@MOMCO-02 ~]# jobs [1]+ 已停止 sleep 1000 [root@MOMCO-02 ~]# sleep 200 ^Z [2]+ 已停止 sleep 200 [root@MOMCO-02 ~]# jobs [1]- 已停止 sleep 1000 [2]+ 已停止 sleep 200 [root@MOMCO-02 ~]# fg【如果你不指定那个,他就会默认选择最后面的那个】 sleep 200 ^Z [2]+ 已停止 sleep 200 [root@MOMCO-02 ~]# bg 1【后台运行。你可以看下面的结果】 [1]- sleep 1000 & [root@MOMCO-02 ~]# jobs [1]- 运行中 sleep 1000 & [2]+ 已停止 sleep 200 [root@MOMCO-02 ~]# fg sleep 200 ^C [root@MOMCO-02 ~]# jobs [1]+ 运行中 sleep 1000 & [root@MOMCO-02 ~]# fg sleep 1000 ^C


第二个终端 [root@MOMCO-02 ~]# jobs [root@MOMCO-02 ~]# sleep 100 &【我们使用jobs查不出来的,只能使用这个命令。】 [1] 2711 [root@MOMCO-02 ~]# jobs [1]+ 运行中 sleep 100 &

8.7/8.8 shell变量



我们只之前讲到的变量PATH这是系统自制的变量。除了PATH外还有HOME,PWD , LOGNAME等。


这些变量是在那里规定的那,实际上系统有很多的配置文件,我们可以使用下面的命令来获取到这些变量。系统自带的变量一般都是大写的英语字母:


[root@MOMCO-02 ~]# env【查看系统一些常用的变量】我们一样也可以使用set【set内容(shell脚本)太多我就不黏贴了自己输入看看,他不仅可以查看系统自带的变量也可以查看用户自定义的一些变量。】 XDG_SESSION_ID=11【等号的左边都是变量的名字】 HOSTNAME=MOMCO-02 SELINUX_ROLE_REQUESTED= TERM=xterm SHELL=/bin/bash HISTSIZE=2000 SSH_CLIENT=192.168.119.1 58306 22 SELINUX_USE_CURRENT_RANGE= SSH_TTY=/dev/pts/3 USER=root LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36: MAIL=/var/spool/mail/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin PWD=/root LANG=zh_CN.UTF-8 SELINUX_LEVEL_REQUESTED= HISTCONTROL=ignoredups SHLVL=1 HOME=/root LOGNAME=root SSH_CONNECTION=192.168.119.1 58306 192.168.119.11 22 LESSOPEN=||/usr/bin/lesspipe.sh %s XDG_RUNTIME_DIR=/run/user/0 _=/usr/bin/env [root@MOMCO-02 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@MOMCO-02 ~]# a=111【用户自定义变量。不是环境变量,环境变量是系统自带的】 [root@MOMCO-02 ~]# echo $a 111 [root@MOMCO-02 ~]# set |grep 111【我们自定义的变量在set里面也会显示的我们使用这个命令可以查看的】 _=111 a=111


[root@MOMCO-02 ~]# set |less【如果感觉上面的命令看着不好我们可以使用这个,自己查找。我们使用的env是查不到的。】


系统的自带的环境变量我们没有权限干涉他,但是我们可以改配置,不过我们最好不要去改。


其实我们可以自己定义变量的,我们先来看变量的名字:


名字的规则(可以是字母、数字和下划线,但是开头不可以是数字。)


[root@MOMCO-02 ~]# a1=2 [root@MOMCO-02 ~]# echo $a1 2 [root@MOMCO-02 ~]# a_1=2 [root@MOMCO-02 ~]# echo $a_1 2 [root@MOMCO-02 ~]# _1=3 [root@MOMCO-02 ~]# echo $_1 3 [root@MOMCO-02 ~]# 1a=3 -bash: 1a=3: 未找到命令 [root@MOMCO-02 ~]# 1_A=3 -bash: 1_A=3: 未找到命令 [root@MOMCO-02 ~]# a=b c d【当我们定义的变量的里面有特殊符号的时候我们就用单引号】 -bash: c: 未找到命令 [root@MOMCO-02 ~]# a='b c d' [root@MOMCO-02 ~]# echo $a b c d [root@MOMCO-02 ~]# a="bc$d"【尽量我们不要用双引号,以为有时候定义的变量不正确】 [root@MOMCO-02 ~]# echo $a bc [root@MOMCO-02 ~]# a='bc$d' [root@MOMCO-02 ~]# echo $a bc$d


变量的累加


[root@MOMCO-02 ~]# a=1 [root@MOMCO-02 ~]# b=2 [root@MOMCO-02 ~]# echo $a$b 12 [root@MOMCO-02 ~]# a='bc$d' [root@MOMCO-02 ~]# echo $a$b bc$d2 [root@MOMCO-02 ~]# c="a$bc" [root@MOMCO-02 ~]# echo $c a [root@MOMCO-02 ~]# c="a$b"c [root@MOMCO-02 ~]# echo $c a2c [root@MOMCO-02 ~]# c='a$b'c [root@MOMCO-02 ~]# echo $c a$bc[root@MOMCO-02 ~]# c="a$bc" [root@MOMCO-02 ~]# echo $c a [root@MOMCO-02 ~]# c="a$b"c [root@MOMCO-02 ~]# echo $c a2c [root@MOMCO-02 ~]# c='a$b'c [root@MOMCO-02 ~]# echo $c a$bc


全局变量


紫色的标记使我们的第二个终端输入的命令


[root@MOMCO-02 ~]# w【我们可以使用“w”查看我们所有的登录终端信息】 16:06:32 up 7:16, 3 users, load average: 0.00, 0.01, 0.05 USER TTY FROMLOGIN@IDLEJCPUPCPU WHAT root pts/0192.168.119.116:060.00s 0.11s 0.04s w root pts/1192.168.119.116:0611.00s 0.05s 0.05s -bash root pts/3192.168.119.112:242:26m 0.09s 0.09s -bash [root@MOMCO-02 ~]# echo $SSH_TTY【我们可以使用这个命令查看我们当前是在什么终端】 /dev/pts/0 [root@MOMCO-02 ~]# echo $SSH_TTY【这是我们打开的另外的一个终端】 /dev/pts/1 [root@MOMCO-02 ~]# aming=linux【我们在第一个终端自定义一个变量】 [root@MOMCO-02 ~]# echo $aming【我们在第一个终端是可以查看到的】 linux [root@MOMCO-02 ~]# echo $aming【我们在第二个终端是不可以查看到的】

[root@MOMCO-02 ~]# bash【现在我们在运行一个bash(变量)】 [root@MOMCO-02 ~]# w 16:17:19 up 7:27, 3 users, load average: 0.00, 0.01, 0.05 USER TTY FROMLOGIN@IDLEJCPUPCPU WHAT root pts/0192.168.119.116:067.00s 0.09s 0.00s w root pts/1192.168.119.116:063:510.05s 0.05s -bash root pts/3192.168.119.112:242:36m 0.09s 0.09s -bash [root@MOMCO-02 ~]# pstree【这个也可以查看我们当前在那里】 systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─agetty ├─auditd───{auditd} ├─chronyd ├─crond ├─dbus-daemon───{dbus-daemon} ├─firewalld───{firewalld} ├─lvmetad ├─master─┬─pickup │└─qmgr ├─polkitd───5*[{polkitd}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd─┬─2*[sshd───bash] │ └─sshd───bash───bash───pstree【红色我们远程登录获得一个绿色的bash,然后我们在获得bash里面有运行了一个蓝色的bash,这个bash是子bash】 ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd [root@MOMCO-02 ~]# echo $aming【可以看到我们虽然在第一个终端但是我们在子bash里面一样不能查看到我们自定义的aming变量】


[root@MOMCO-02 ~]# exit [root@MOMCO-02 ~]# echo $aming linux [root@MOMCO-02 ~]# bash [root@MOMCO-02 ~]# pstree systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─agetty ├─auditd───{auditd} ├─chronyd ├─crond ├─dbus-daemon───{dbus-daemon} ├─firewalld───{firewalld} ├─lvmetad ├─master─┬─pickup │└─qmgr ├─polkitd───5*[{polkitd}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd─┬─2*[sshd───bash] │ └─sshd───bash───bash───pstree ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd


[root@MOMCO-02 ~]# echo $aming


[root@MOMCO-02 ~]# export aming=linux【我们使用这个命令在子bash下面把变量aming设置成全局变量,这样你就可以载子bash或者子子bash都可以看到变量aming。export设置的全局变量只是针对你当前的bash下的子bash生效,并不对你的父级生效。】没有设置的时候叫本地变量,设置后叫全局变量 [root@MOMCO-02 ~]# echo $aming linux [root@MOMCO-02 ~]# bash [root@MOMCO-02 ~]# pstree systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─agetty ├─auditd───{auditd} ├─chronyd ├─crond ├─dbus-daemon───{dbus-daemon} ├─firewalld───{firewalld} ├─lvmetad ├─master─┬─pickup │└─qmgr ├─polkitd───5*[{polkitd}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd─┬─2*[sshd───bash] │ └─sshd───bash───bash───bash───pstree ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd [root@MOMCO-02 ~]# echo $aming linux [root@MOMCO-02 ~]# bash [root@MOMCO-02 ~]# pstree systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─agetty ├─auditd───{auditd} ├─chronyd ├─crond ├─dbus-daemon───{dbus-daemon} ├─firewalld───{firewalld} ├─lvmetad ├─master─┬─pickup │└─qmgr ├─polkitd───5*[{polkitd}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd─┬─2*[sshd───bash] │ └─sshd───bash───bash───bash───bash───pstree ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd [root@MOMCO-02 ~]# echo $aming linux


[root@MOMCO-02 ~]# echo $aming linux [root@MOMCO-02 ~]# unset aming【取消我们自定义的变量】 [root@MOMCO-02 ~]# echo $aming【可以看到我们的变量aming没有了】


8.9 环境变量配置文件


现在我们讲一下环境变量的配置文件(我们已理解为主)。



我们看上面的图片,我们的环境变量配置文件分成两个维度,第一个维度是以/etc/开头系统层次,第二个维度是用户层次。


我们可以看到系统层次和用户层次都有一个profile和bashrc。我们也可以把profile和bashrc看成两个层次。


profile是用户登陆的时候加载到


bashrc是用户或系统执行一些shell脚本的时候加载到


关于这两个文件我们不要动他。


[root@MOMCO-02 ~]# vim .bash_profile【用户的变量我们是可以编译的】


真不知道咋做笔记了,没事多看看。http://v.apelearn.com/student.php?view_unit=1717


[root@MOMCO-02 ~]# vim /etc/bashrc【我们输入命令的时候前面的前缀就在这个文件里面】


[root@MOMCO-02 ~]# cd /etc/sysconfig/network-scripts/ [root@MOMCO-02 network-scripts]# echo $PS1 [/u@/h /W]/$ [root@MOMCO-02 network-scripts]# PS1='[/u@/h /w]/$' [root@MOMCO-02 /etc/sysconfig/network-scripts]# 【我们把W改成w,当前我们我们切换一个目录的时候后缀会显示绝对路径】


[root@MOMCO-02:~]#PS1='/[/033[01;32m/]/u@/h/[/033[00m/]:/[/033[01;36m/]/W/[/033[00m/]/$'【我们把他改成带颜色的】


我们还有一个PS2


root@MOMCO-02:~#echo $PS2 > root@MOMCO-02:~#for i in `seq 1 100` > do > echo $PS2 > doen > ^C root@MOMCO-02:~#PS2="#" root@MOMCO-02:~#for i in `seq 1 100` #fvj -bash: 未预期的符号 `fvj' 附近有语法错误 root@MOMCO-02:~#


扩展


bashrc和bash_profile的区别:http://http://ask.apelearn.com/question/7719


简易审计系统:http://http://www.68idc.cn/help/server/linux/2014042190951.html


关于PROMPT_COMMAND环境变量的含义:http://www.linuxnote.org/prompt_command-environment-variables.html


阿铭Linux:http://v.apelearn.com

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台