版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基础环境搭建*ifconfig位于 /sbin路径下*1.以root用户登录2.查看环境变量 echo $PATH3.到sbin目录下查看是否有ifconfig文件 ls /sbin|grep ifconfig4.若果没有,则查找ifconfig 文件 yum search ifconfig5.安装ifconfig包 yum install y net-tools/*配置网络(虚拟机作为服务器VMware+CentOS)*1.设置虚拟机网卡为桥接模式,不勾选复制物理机网络2.虚拟机网卡设为动态获取ip3.修改配置文件ifcfg-eth0(/etc/sysconfig/network-scrip
2、ts/ifcfg-eth0 (有可能是ifcfg-eno16777736)需要注意:mac地址配置文件(ifcfg-eth0)的地址和ifconfig查看的一致手动添加IP等照图片设置/etc/resolv.conf设置空*配置网络(虚拟机作为服务器VMware+CentOS且与宿主机一样可以连接外网)*设置桥接模式,勾选复制物理机网络设置静态ip与宿主机在同一网段宿主机 ip虚拟机网卡 VMnet8CentOS 静态ip修改配置文件ifcfg-eth0( /etc/sysconfig/network-scripts/ifcfg-eth0 (有可能是ifcfg-eno16777736)必须重新
3、启动网卡:Service network restart重新装成图行界面,外网不知为啥不通,后来把ifcfg-exxx(网卡配置文件)的HWADDR设为一个错误的,又改为正确的,重启,就好了,不知为啥。*安装VMware Tools*Vmware tool需要perl环境和gcc编译环境1.先安装内核 yum install kernel-devel (必须是与gcc版本一致的)查看内核版本:# unamer安装GCC: # yum install gcc安装perl # yum install y perl*注意要在线安装:因为有得包需要即时下载2.安装VMware Tools(1)、在VM
4、Ware选VM - Install VMWare Tools,就会在桌面出现VMWare Tools图示让你安裝在这里要挂载光驱:1、mkdir /mnt/cdrom2、加载:mount /dev/cdrom /mnt/cdrom3、挂载: umount /dev/cdrom /mnt/cdrom(2)、#cd /mnt/cdrom 显示:VMWareTools-9824.tar.gz。(3)、将VMWareTools-9824.tar.gz复制到/tmp,进行解压缩。#cp VMWareTools-9824.tar.gz /tmp# tar -zxvf VMwareTools-6.0.2-5
5、9824.tar.gz(4)、进入解压缩后的vmware-tools-distrib目录# cd vmware-tools-distrib/执行vmware-install.pl安裝VMWare Toolsrootlocalhost vmware- HYPERLINK /cpro/ui/uijs.php?app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=4c282abb23648962&k=tools&k0=tools&kdi0=0&luki=9&n=10&p=baidu&q=csai_cpr&rb=0&rs=1&seller_id=1&
6、sid=62896423bb2a284c&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1730417&u=http%3A%2F%2Fwww%2Eshangxueba%2Ecom%2Fjingyan%2F121597%2Ehtml&urlid=0 tools-distrib# ./vmware-install.pl!可能会遇到的问题:在安装时,会找不到header路径原因:gcc版本与kernel版本不一致解决方法:分别查CentOS kernel版本 kernel-devel及kernel-headers版本先查找centos的kernel版本:uname -r版本号为
7、3.10.0-123.el7.x86_64但我通过命令行查找安装的kernel-devel 和kernel-headers如下kernel-devel: 命令:rpm -qa|grep kernel-devel输出:kernel-devel-3.10.0-123.13.2.el7.x86_64kernel-headers:命令:rpm -qa|grep kernel-headers输出:kernel-headers-3.10.0-123.13.2.el7.x86_64具体版本和centos内核的版本有一些出入,如果主版本是相同的,但还是找不到kernel-header.于是我打算安装和kern
8、el相同的版本yum install kernel-devel-3.10.0-123.el7.x86_64一路下来还会报错,需要根据错误改.c或.h文件我遇到的时报filesystems.c的gui_t和kgui_t类型不兼容/tmp/modconfig-vD6daJ/vmhgfs-only/filesystem.c:240:15: error: incompatible types when assigning to type gid_t from type kgid_tsi-gid = current_gid();解决方法:The solution above worked for me:
9、cd /vmware-tools-distrib/lib/modules/sourcetar xf vmhgfs.tarcd vmhgfs-only/sharedapply change to compat_dcache.h (remove line 54,56-60 )then tar up the new directory into vmhgfs.tar, and run the install.大概意思就是,先把compat_dcache.h文件修改保存了,然后把原来的vmhgfs.tar删除或备份一下,重新打包一个vmhgfs.tar替代原来的vmghfs.tar然后再重新安装./v
10、mware-install.pl挂载共享文件夹Windows 机器03共享了 /share/yasi 目录,并且赋予了写的权限,在Windows机器下可以用 yasi/pass 登录。在一台CentOS 6.3机器上尝试将该共享目录 mount 到 /mnt/yasi 上#mount-tcifs/03/share/yasi/mnt/yasi-ousername=yasi,password=pass特别注意:这里的username和password都是windows系统的用户名和密码(在windows下能够访问yasi文件夹的用户)在这里还有坑mount:blockdevice/03/share
11、/yasiiswrite-protected,mountingread-onlymount:cannotmountblockdevice/03/share/yasiread-only【原因】需要安装cifs-utils【解决】安装cifs-utils#yuminstallcifs-utils.x86_64然后重新执行 mount-tcifs/03/share/yasi/mnt/win-ousername=yasi,password=pass就mount上了,并且具有写的权限。查看mount的文件#df h定制环境搭建(维修客)安装MongoDB下载压缩包 HYPERLINK 选择RHEL 7
12、linux 64 bit 压缩包(mongodb-linux-x86_64-2.6.10.tgz.gz)上传到 /usr/local/mongodb目录下(mongodb需要自己创建)解压# tar zxvf mongodb-linux-x86_64-2.6.10.tgz.gz#cd mongodbxxxxxx#cd bin新建配置文件 vi mongodb.conf其中/data/test/db和/data/test/logs都是自己新建的目录#mkdir p /data/test/db#mkdir p /data/test/logs安装nginx(1)下载 HYPERLINK /en/do
13、wnload.html /en/download.html传到/usr/local/nginx目录下(2)解压 #tar zxv -f nginxxxxxx(3)./configure -prefix=/usr/local/nginx可能会遇到一些问题,解决方法:有时候,我们需要单独安装nginx,来处理大量的下载请求。单独在Centos5安装nginx遇到的rewrite和HTTP cache错误解决办法:wget /download/nginx-0.8.33.tar.gztar -zxvf nginx-0.8.33.tar.gzcd nginx-0.8.33./configure -pre
14、fix=/usr/local/nginx安装Nginx时报错./configure: error: the HTTP rewrite module requires the PCRE library.安装pcre-devel解决问题yum -y install pcre-devel错误提示:./configure: error: the HTTP cache module requires md5 functionsfrom OpenSSL library. You can either disable the module by using-without-http-cache option
15、, or install the OpenSSL library into the system,or build the OpenSSL library statically from the source with nginx by using-with-http_ssl_module -with-openssl= options.解决办法:yum -y install openssl openssl-devel/configure: error: the HTTP gzip module requires the zlib library.You can either disable t
16、he module by using without-http_gzip_moduleoption, or install the zlib library into the system, or build the zlib librarystatically from the source with nginx by using with-zlib= option.则需要安装“zlib-devel”即可。SSH执行以下命令:yum install -y zlib-devel总结:yum -y install pcre-devel openssl openssl-devel./configu
17、re -prefix=/usr/local/nginxmakemake install一切搞定刚不久安装了一台centos7,发现有很多的不同,现在说一下,我发现的不同的操作,希望大家在操作过程中发现了不同也记录下来,以被查询与centos6一样,采用的是最小化安装,进入后用ifconfig查看网络情况,结果没这个命令,只能装一个了yum -y install net-tools,装好了之后,看看发现网卡没启动,到/etc/sysconfig/network-scripts/这个目录下去改发现网卡名也不一样了,以前是叫ifcfg-eht0,现在是这个ifcfg-enp4s0,改好了之后,用se
18、rvice network restart启动一下,这个还是可用。想关掉防火墙:用service iptables stop结果是不行了出现:Redirecting to /bin/systemctl stop iptables.service听说以systemd代替了upstart和system V,防火墙也改了,改成了firewalld,以后的启动与关闭程序只能以 systemctl stop(或start) firewalld.service查看防火墙状态:firewall-cmdstate永久性关闭防火墙#chkconfig -level 35 iptables off (注意中间的是
19、两个英式小短线;重启)抛砖引玉,大家每人补充一条吧!安装说明系统环境:CentOS-6.3软件:nginx-1.2.6.tar.gz安装方式:源码编译安装安装位置:/usr/local/nginx 下载地址:/en/download.html安装前提在安装nginx前,需要确保系统安装了g+、gcc、openssl-devel、pcre-devel和zlib-devel软件。安装必须软件:rootadmin /#yum install gcc-c+yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 检查系统安
20、装的Nginx:rootadmin local# find -name nginx./nginx./nginx/sbin/nginx./nginx-1.2.6/objs/nginx 卸载原有的Nginxrootadmin /# yum remove nginx 安装将安装包文件上传到/usr/local中执行以下操作:rootadmin local# cd /usr/localrootadmin local# tar -zxv -f nginx-1.2.6.tar.gzrootadmin local# rm -rf nginx-1.2.6.tar.gzrootadmin local# mv n
21、ginx-1.2.6 nginxrootadmin local# cd /usr/local/nginxrootadmin nginx# ./configure -prefix=/usr/local/nginxrootadmin nginx# makerootadmin nginx# make install 配置#修改防火墙配置:rootadmin nginx-1.2.6# vi + /etc/sysconfig/iptables#添加配置项-A INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT#重启防火墙rootadmi
22、n nginx-1.2.6# service iptables restart 启动#方法1rootadmin nginx-1.2.6# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf#方法2rootadmin nginx-1.2.6# cd /usr/local/nginx/sbinrootadmin sbin# ./nginx停止#查询nginx主进程号ps -ef | grep nginx#停止进程kill -QUIT 主进程号#快速停止kill -TERM 主进程号#强制停止pkill -9 nginx重启
23、rootadmin local# /usr/local/nginx/sbin/nginx -s reload测试#测试端口netstat na|grep 80#浏览器中测试 HYPERLINK http:/ip:80 http:/ip:80在图行界面系统,又出了新问题,解决方法如下:*开关服务器步骤*点虚拟机绿色按钮,开启CentOS登录开启反向代理服务器nginx开启网卡service network start到sbin下 # ./nginx关闭防火墙 systemctl stop firewalld.service用浏览器方式测试 HYPERLINK http:/ip:80 http:/
24、ip:80关服务器按相反顺序取反stop/start关机 shutdown*88故障排查*查看nginx是否ok#./nginx t使用系统信号控制Nginx进程。 Nginx通过识别标准的系统信号来控制进程状态。如:HUP、QUIT、TERM、INT等。(可以使用“kill -l”命令查看可用的进程控制信号列表)killall-sHUPnginx/重新加载配置文件,等同于“killall-1nginx”killall-sQUITnginx/安全退出,等同于“kill3nginx”killall-sTERMnginx/快速退出,不等待处理完当前连接添加Nginx服务控制脚本。考虑到 HYPER
25、LINK /topicnews.aspx?tid=14 o CentOS CentOS的使用习惯,可以添加一个Nginx服务脚本,以便使用chkconfig和service命令管理Nginx服务。(本脚本在RHEL上可以使用)vi/etc/init.d/nginx#!/bin/sh#chkconfig:9020#description:NginxServerControlScript#/如需使用chkconfig管理,注意以上两行内容不可少case“$1”instart)/usr/local/nginx/sbin/nginx;stop)/usr/bin/killall-sQUITnginx;r
26、estart)$0stop$0start;reload)/usr/bin/killall-sHUPnginx;*)echo“Usage:$0start|stop|restart|reload”exit1esacexit0chmoda+x/etc/init.d/nginx/添加执行权限chkconfig-level2345nginxon/设置开机启动以上Nginx脚本可以通过service命令进行管理控制。servicenginxstop/关闭servicenginxstart/启动servicenginxrestart/重启servicenginxreload/重新加载小知识:安装中文语言包:
27、yum groupinstall chinese-support于是开装中文语言包:yum install fonts-chinese.noarch yum install m17n-db-common-cjk yum install m17n-db-chinesecentos7命令行解决中文乱码时间:2015-03-13 01:50:32 标签: HYPERLINK /so/1/centos7 o centos7 centos7 HYPERLINK /so/1/%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81 o 中文乱码 中文乱码参考了一些网上的资料版本信息zhan
28、gfenlocalhost$cat/etc/redhat-releaseCentOSLinuxrelease7.0.1406(Core)zhangfenlocalhost$uname-mx86_64zhangfenlocalhost$uname-r3.10.0-123.el7.x86_64zhangfenlocalhost$uname-aLinuxlocalhost.localdomain3.10.0-123.el7.x86_64#1SMPMonJun3012:09:22UTC2014x86_64x86_64x86_64GNU/Linuxzhangfenlocalhost$centos7解决中
29、文乱码问题rootlocalhost#cat/etc/locale.confLANG=en_US.UTF-8rootlocalhost#cp/etc/locale.conf/etc/locale.conf_bakrootlocalhost#vim/etc/locale.confLANG=zh_CN.GB18030LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CNSUPPORTED=zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:enSYSFONT=lat0-sun16*前端部署*从版本库取被测试版本,比如:wxk_front.tar
30、.gz通过ftp或共享文件夹上传到服务器 /mnt/hgfs 目录下通过 tar zxvf wxk_front.tar.gz 解压拷贝到/var/www/wxk/ 目录下(www和wxk目录手动创建)修改service.js(/var/www/wxk/app/scripts/service.js) ip设置为服务器ip*后端部署*1./var/hfga把服务端开发提供的三个文件(api-service,auth-service,store-service)放到该目录下,另外需要自行写两个.sh文件,驱动执行(run-api.sh,run-store.sh),写好要运行一下,把服务起来.起数据库
31、 mongo起服务器 nginx如果服务器睡眠了,还需要起网service network start关防火墙 systemctl stop firewalld.servicre注意:数据库那块有一些需要配置(数据库授权)维修客环境搭建记录:1. cp nginx* /mnt/stat -na|grep 803.nginx -t4.cd /usr/local/nginx/5.ln -s /usr/local/nginx/sbin/nginx .6.nginx -s7.cd /usr/local/nginx/conf/8.vi nginx.conf9.nginx -s reload10.cd /
32、var/11.mkdir hfga12.cd hfga13.cp /mnt/hgfs/* .14.mongo15.cd /bin/16.ln -s /usr/local/mongodb/mongodb-iunx-x86_64-2.6.9/bin/* .17.mongo18.cd /var/hfga/19.mongod -h | less20.mkdir db21.mongod -syslog -fork -dbpath ./db/22.mongo23.mongo -version24.ssh neutrous12(不用)25.vi run-api.sh26.vi run-store.sh27.
33、chmod a+x run-api.sh run-store.sh28./run-store.sh29./run-api.sh30.mkdir conf31.cd conf/32.vi conf.json33.mkdir wxk-web34.mv app/ bower_components/ bower.json wxk-web/35.cd /var/36.vi /usr/local/nginx/conf/37.cd /usr/local/nginx/38.cd conf39.vi nginx.conf40.cd html41.vi conf42.cd conf43.vi nginx.conf
34、44.cd /var45.mkdir -p www46.cd www47.mv /var/hfga/wxk-web/ wxk48.cd wxk49.nginx -s reload总结:1.安装虚拟机2.安装CentOS3.配置网络4.安装nginx(要修改nginx.conf文件,监听端口)注意:配置路劲5.安装mongodb(启动并配置表)6.编写conf.json7.把服务程序放到指定目录(写run-api.sh,run-store.sh脚本,并运行)8.把前端程序放到指定目录(修改service.js的ip与服务器一致)9.如果部局域网,记得关防火墙 systemctl stop fir
35、ewalld.service,其他机子才能访问前端:Angular + js后端:Martini + go服务器:Nginx数据库:MongoDB操作系统:CentOS从git取版本注册git账户激活生成pub 公钥和私钥$ssh-keygen t rsa f /.ssh/a(a为公钥文件名)然后把公钥的内容放到点:add到命令行,建一个文件夹比如:wxk然后在wxk目录下执行:gitclonessh:/lijun12:29418/wxk/release 如果做了这个配置文件就可以这样用clone命令了$git clone gerrit2:wxk/release理论上是吧版本克隆到releas
36、e目录下取版本,在release目录下执行$git fetch origin tags$git tag$git checkout v2.4.3$cat README或者$git branch$git checkout master$git tag$git pull origin master都可以 HYPERLINK /cspku/articles/Git_cmds.html Git常用命令查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co - # 抛弃工作区修改git co
37、 . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区git rm # 从版本库中删除文件git rm -cached # 从版本库中删除文件,但不删除文件git reset # 从暂存区恢复到工作文件git reset - . # 从暂存区恢复到工作文件git reset -hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改git ci git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做git ci -am some commentsgit
38、 ci -amend # 修改最后一次提交记录git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象git revert HEAD # 恢复最后一次提交的状态查看文件diffgit diff # 比较当前文件和暂存区文件差异 git diffgit diff # 比较两次提交之间的差异git diff . # 在两个分支之间比较git diff -staged # 比较暂存区和版本库差异git diff -cached # 比较暂存区和版本库差异git diff -stat # 仅仅比较统计信息查看提交记录git log git log # 查看该文件每次提交记录git l
39、og -p # 查看每次详细修改内容的diffgit log -p -2 # 查看最近两次详细修改内容的diffgit log -stat #查看提交统计信息tigMac上可以使用tig代替diff和log,brew install tigGit 本地分支管理查看、切换、创建和删除分支git br -r # 查看远程分支git br # 创建新的分支git br -v # 查看各个分支最后提交信息git br -merged # 查看已经被合并到当前分支的分支git br -no-merged # 查看尚未被合并到当前分支的分支git co # 切换到某个分支git co -b # 创建新的分
40、支,并且切换过去git co -b # 基于branch创建新的new_branchgit co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除git co $id -b # 把某次历史提交记录checkout出来,创建成一个分支git br -d # 删除某个分支git br -D # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)分支合并和rebasegit merge # 将branch分支合并到当前分支git merge origin/master -no-ff # 不要Fast-Foward合并,这样可以生成merge提交git
41、rebase master # 将master rebase到branch,相当于:git co & git rebase master & git co master & git merge Git补丁管理(方便在多台机器上开发同步时用)git diff ./sync.patch # 生成补丁git apply ./sync.patch # 打补丁git apply -check ./sync.patch #测试补丁能否成功Git暂存管理git stash # 暂存git stash list # 列所有stashgit stash apply # 恢复暂存的内容git stash drop
42、 # 删除暂存区Git远程分支管理git pull # 抓取远程仓库所有分支更新并合并到本地git pull -no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并git fetch origin # 抓取远程仓库更新git merge origin/master # 将远程主分支合并到本地当前分支git co -track origin/branch # 跟踪某个远程分支创建相应的本地分支git co -b origin/ # 基于远程分支创建本地分支,功能同上git push # push所有分支git push origin master # 将本地主分支推到远程主分支gi
43、t push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)git push origin # 创建远程分支, origin是远程仓库名git push origin : # 创建远程分支git push origin : #先删除本地分支(git br -d ),然后再push删除远程分支Git远程仓库管理 HYPERLINK /6492/ o GitHub如何运作:时间并不决定一切 GitHubgit remote -v # 查看远程服务器地址和仓库名称git remote show origin # 查看远程服务器仓库状态git r
44、emote add origin git github:robbin/robbin_site.git # 添加远程仓库地址git remote set-url origin git :robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm # 删除远程仓库创建远程仓库git clone -bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库scp -r my_project.git git : # 将纯仓库上传到服务器上mkdir robbin_site.git & cd robbin
45、_site.git & git -bare init # 在服务器创建纯仓库git remote add origin git :robbin/robbin_site.git # 设置远程仓库地址git push -u origin master # 客户端首次提交git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且trackgit remote set-head origin master # 设置远程仓库的HEAD指向master分支也可以命令设置跟踪远程库和本地库git branch -set-upstream mast
46、er origin/mastergit branch -set-upstream develop origin/develop就这个设置耗了我一天时间CentOS双网卡,上网设置有线网卡连内网,无线usb网卡连wifi这里的设置,尤其要注意,有线网卡的配置文件把gateway= 置空,否则外网将按内网走,就访问不了外网。外网网卡的配置文件必须设gateway=(这个是我这里的网关)其他的按默认就可以了 _ 修复需要改三个地方:网卡配置文件,内网网关依然置为空。外网要手动设置ip/etc/sysconfig/network 这个文件要写如下内容:NETWORKING=yesHOSTNAME=lo
47、calhost.localdomain/etc/resolv.confNameserver 14一些相关命令:关闭网卡:service network stop开启网卡:service network start重新开启:service network restart查看网态:systemctl status network.service查看外网连接:iw 外网网卡名字比如:wlp2s05 link查看外网设备:iw dev验证时要一步一步验证,比如:先ping网关,再查dns超级好用的本地与服务器文件交互的工具:Xshell安装配置完后,新建一个连接,端口为22 ,输入服务器的用户名和密码
48、就可以了操控服务器了。Rz:上传Sz:下载超级好用,不用开什么ftp之类的东东CentOS常用命令查看系统版本 # cat /proc/version # uname -a # uanme -r查看版本信息 # lsb_release a加载usb模块加载: #modprobe usb-storage查看U盘设备:#fdisk l 假如u盘是sdb1挂载:mount /dev/sdb1 /mnt/udisk(udisk是自己建的)挂载光驱:mount /dev/cdrom /mnt/cdrom(cdrom是自己建的)查看网络网络配置:#ifconfig路由信息:#route 查看进程#ps e
49、f | grep nginx(你要查看的)显示协议统计和当前tcp/ip端口#netstat an统计一个文件行数 # wcl filename举例:#cat /etc/passwd | grep /bin/bash | wc -l这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。Tr 字符转换命令举例:#Trs a-z newfile.txt假如textfile.t
50、xt文件的内容是aaaabbbbccccdddd经过上述命令后的newfile.txt文件内容是abcdstty echo 关闭回显stty echo 打开回显10.#PATH=$PATH:$HOME/bin将HOME/bin添加到PATH*i18n 国际化 l10n 本地化*11.#echo This is a test of the emergency broadcast system | wcWc将统计这个句子的行数,字数,字节数统计结果:1 9 49 wc l 统计行wc w 统计字数wc c 统计字节数12.#tail n 25 f /var/log/messages观察不断成长的系
51、统日志查看从末尾数倒数25行日志文件内容13.#sort seq.txtsort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。14:#lp d 打印机名文件名15.#sed sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:sed -nefri command 输入文本常用选项:-n使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n
52、参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e直接在指令列模式上进行 sed 的动作编辑; -f直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作; -rsed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法) -i直接修改读取的档案内容,而不是由萤幕输出。常用命令:a 新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行) c 取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d 删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i 插入, i
53、 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作 s取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!举例:(假设我们有一文件名为ab)删除某行 rootlocalhost ruby# sed 1d ab #删除第一行 rootlocalhost ruby# sed $d ab#删除最后一行 rootlocalhost ruby# sed 1,2d ab#删除第一行到第二行 rootlocalhost ruby# sed 2,$d a
54、b #删除第二行到最后一行显示某行. rootlocalhost ruby# sed -n 1p ab#显示第一行 rootlocalhost ruby# sed -n $p ab #显示最后一行 rootlocalhost ruby# sed -n 1,2p ab #显示第一行到第二行 rootlocalhost ruby# sed -n 2,$p ab #显示第二行到最后一行使用模式进行查询 rootlocalhost ruby# sed -n /ruby/p ab #查询包括关键字ruby所在所有行 rootlocalhost ruby# sed -n /$/p ab #查询包括关键字$
55、所在所有行,使用反斜线屏蔽特殊含义增加一行或多行字符串 rootlocalhost ruby# cat ab Hello! ruby is me,welcome to my blog. end rootlocalhost ruby# sed 1a drink tea ab#第一行后增加字符串drink tea Hello! drink tea ruby is me,welcome to my blog.end rootlocalhost ruby# sed 1,3a drink tea ab#第一行到第三行后增加字符串drink tea Hello!drink tea ruby is me,w
56、elcome to my blog. drink teaend drink tea rootlocalhost ruby# sed 1a drink teanor coffee ab#第一行后增加多行,使用换行符n Hello!drink tea or coffee ruby is me,welcome to my blog. end代替一行或多行 rootlocalhost ruby# sed 1c Hi ab#第一行代替为Hi Hi ruby is me,welcome to my blog. end rootlocalhost ruby# sed 1,2c Hi ab#第一行到第二行代替
57、为Hi Hi end替换一行中的某部分格式:seds/要替换的字符串/新的字符串/g (要替换的字符串可以用正则表达式)rootlocalhost ruby# sed -n /ruby/p ab | sed s/ruby/bird/g #替换ruby为bird rootlocalhost ruby# sed -n /ruby/p ab | sed s/ruby/g #删除ruby 插入 rootlocalhost ruby# sed -i $a bye ab#在文件ab中最后一行直接输入bye rootlocalhost ruby# cat ab Hello! ruby is me,welco
58、me to my blog. end bye全称:stream editor#sed 2d example删除example文件的第二行。#sed 2,$d example 删除 example文件的第二行到末尾所有行$ sed $d example删除example文件的最后一行。$ sed /test/d example删除example文件所有包含test的行。$ sed s/test/mytest/g example在整行范围内把test替换为mytestUnix命令行程序和内建指令(更多)文件系统 HYPERLINK /view/250626.htm o cat cat HYPERL
59、INK /view/22623.htm o cd cd HYPERLINK /view/1229012.htm o chmod chmod HYPERLINK /view/1229019.htm o chown chown HYPERLINK /view/1188586.htm o chgrp chgrp HYPERLINK /view/2761036.htm o cksum cksum HYPERLINK /view/631858.htm o cmp cmp HYPERLINK /view/25561.htm o cp cp HYPERLINK /view/43913.htm o du du
60、 HYPERLINK /view/111942.htm o df df HYPERLINK /view/1757895.htm o fsck fsck HYPERLINK /view/3123051.htm o fuser fuser HYPERLINK /view/1156839.htm o ln ln HYPERLINK /view/370184.htm o ls ls HYPERLINK /view/4811972.htm o lsattr lsattr HYPERLINK /searchword/?word=lsof&pic=1&sug=1&enc=utf8 o 待创建 lsof HY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工设备租赁合同样本
- 房屋租赁合同书范本5篇
- 商标权许可使用协议书
- 挖掘机租赁协议书
- 设计长期合作协议范本新
- 水利枢纽建筑监理合同
- 建筑施工技术咨询合同
- 维修锅炉合同2024年
- 创意合作合同书范例
- 2024城市供水特许经营协议范本
- 2024至2030年中国高岭土产业园区市场深度调查与投资前景咨询报告
- 新人教PEP版(三起)三年级上册英语全册课件(2024年新版教材)
- 音乐治疗导论智慧树知到答案2024年湖南科技大学
- 中学英语八年级《How often do you exercise》说课稿
- 2024江苏扬州市邗江区邗粮农业发展限公司招聘总账会计1人(高频重点提升专题训练)共500题附带答案详解
- 2024年江苏省镇江市中考英语试卷(附答案)
- 执行力课件(完美版)
- 《直播运营实务》 课件 1.3直播电商相关法律规定与监管
- 视频会议系统保障应急预案
- 2023乌鲁木齐法院书记员真题
- 跨平台游戏互操作性和可移植性
评论
0/150
提交评论