`
liudaoru
  • 浏览: 1575831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell脚本整理

阅读更多

 

fdisk -l

 

mkfs.ext2 /dev/cciss/c0d1 

 

mount /dev/cciss/c0d1 /search

分享到:
评论
15 楼 liudaoru 2011-04-22  
netstat -tan | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'


结果示例:

TIME_WAIT        231
CLOSE_WAIT       34
SYN_SENT         3
FIN_WAIT1        19
FIN_WAIT2        9
ESTABLISHED      660
SYN_RECV         41
LISTEN   10
14 楼 liudaoru 2010-09-30  
LINUX下shell编程的快速参考手册(转)

1. 系统
# passwd:修改口令
# exit:退出系统

2. 文件
# cp:复制文件或目录,参数:-a递归目录,-i覆盖确认
# mv:改名移动
# rm:删除,参数:-r递归删除

3. 目录
# mkdir:创建目录
# rmdir:删除空目录
# cd:改变工作目录
# pwd:查看当前路径
# ls:列目录,参数:-a所有文件,-c按时间排序,-l详细信息

4. 文本
# sort:排序
# uniq:删除重复行

5. 备份压缩
# tar:档案,参数:-c创建新档案,-r追加到末尾,-t列出档案内容,-u更新文件,-x释放文件,-f使用档案文件或设备,-M多卷,-v详细报告,-w每步确认。例tar cvf text.tar *.txt
# gzip:压缩解压缩,参数:-d解压,-r递归压缩
# unzip:解压缩,参数:-d目录,-x解压缩

6. 权限
# chmod:改变权限,r可读,w可写,x可执行。0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
# chgrp:改变所属用户组
# chown:改变属主

7. 管理
# wall:发送信息到全部登录用户
# write:向某个用户发送信息
# mesg y:设定允许别人给自己发送信息
# sync:缓存同步校验
# shutdown:关机,参数:-r重启,-h关机不重启,-f快速关机,-c取消关机
# free:查看内存
# uptime:显示系统运行时间
# df:磁盘占用空间,参数:-a显示所有文件系统
# du:磁盘使用情况
# dd:拷贝并格式转换
# fdformat:低格软盘
# echo:显示文字
# cal:日历
# date:系统日期和时间
# clear:清屏

8. 我的回忆 by tom2sun
# who:查看当前用户
# finger:查看其他用户信息
# rlogin:远程登录
# rcp:远程复制
# netstat:网络状态
# cat:一次完全显示
# more:分屏显示
# file:列出文件类型
# grep:查找内容
# find:查找文件
# ps:当前运行程序,参数-a显示所有进程
# at:时间,命令,Ctrl+D结束
# lp:打印
# nice:指定优先级
# renice:调整优先级
# kill:终止进程
# man:获取命令帮助
# touch:改变时间记录
# ln:链接
# mount -t vfat /dev/hda1 /mnt/dos:挂载Dos分区(不适用于Unix-Center)

9. FTP
# ftp:启动FTP程序
ftp>
open:打开
close:关闭
bye:离开
get:下载
put:上传
mget/mput:多个文件下载/上传
reget:恢复下载
binary:二进制传送文件
ascii:ASCII码传送
cd:改变远程目录
lcd:改变本地目录
mkdir:建目录
rmdir:删除目录
delete:删除文件
mdelete:一次删除多个
rename:重命名
status:显示状态
prompt:交互式
hash:每传送1024字节显示#(hash)
size:显示文件大小
reset:重置

10. vi
a,i:进入输入状态
ESC:返回命令状态
:命令模式
Q!:退出

11. 快键及其他
Alt+F1~F6:访问多个虚拟控制台(不适用于Unix-Center)
Tab:命令补全
末尾&:后台进程

----------------------------------------

硬件系统:

1、如何查看cpu的状态?
# psrinfo -v
# mpstat 可以列出多cpu负载的状态

2、如何查看内存?
# prtconf | grep 'Memory' 可以查看内存的多少.
# /usr/platform/sun4u/sbin/prtdiag

3、如何动态添加swap分区? # $su - root ----- 成为超级用户
# mkfile 100m /home/swapfile ----- 创建100m的Swap文件
# /usr/sbin/swap -a /path/filename ----- 激活Swap文件
# /usr/sbin/swap -l ----- 验证swap文件
# /usr/sbin/swap -d /path/filename ----- 取消swap文件
# rm -rf /home/swapfile ----- 删除swap文件

4、如何查看当前网卡是以何种速率起来的?
# dmesg |grep Link

5、如何调整x-window的分辨率和刷新频率?
字符界面登陆,运行:#/kdmconfig

6、如何使用光、软驱?
一般情况下用:
# /etc/init.d/volmgt start
# volcheck
以上方法不行,用:
# /etc/init.d/volmgt stop
# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom --挂接光驱
# mount -F pcfs /dev/diskette0 /floppy --挂接软驱
solaris定义系统磁盘文件系统说明:
ufs – UNIX文件系统。是Solaris缺省的文件系统。
hsfs – 高密度CD-ROM文件系统,是只读文件系统。
pcfs – PC文件系统,支持DOS格式化的软盘

7、SCSI设备的命名规则是什么?
带有总线控制器的硬盘的使用,下面列出了总线控制器的硬盘命名习惯:
cWtXdYsZ
c Logical controller number
t Physical bus target number
d Drive number
s Slice (or partition) number (0 to 7)
例如:
/dev/rdsk/c0t0d0s0 该原始接口对应第一个控制器的第一个SCSI目标地址的第一个硬盘的第一片(根)
/dev/rdsk/c0t0d0s2 该原始接口对应第一个控制器的第一个SCSI目标地址上的第一个硬盘的第三片(表示整上硬盘)

8、如何查看硬盘的使用情况?
# df -k 可以看到已安装的文件系统的空间大小及剩余空间大小。
# quota -v 查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。
# du -sk * 查看目录的使用情况
# du -k | sort -n 可以迅速发现那个目录是最大的。

9、如何查看硬盘物理信息?
# format 这个命令也可以查看硬盘的类型和分区的详细情况
# iostat -E 看硬盘的大小和型号
# prtvtoc /dev/rdsk/c0t0d0s0 显示某个磁盘的分区状况

10、查看系统内核命令。
# isainfo 看内核的bit,
# isainfo -kv 调整内核
# modinfo 显示可载入的模组
# prtconf 显示系统硬件配置(周边设备)
#sysdef 显示可载入的模组,硬件配置与一些可以调整的核心参考值
#ulimit -a

11、打印当前的OBP版本号
# prtconf –V
OBP 3.20.0 2000/10/24 10:47
# /usr/platform/sun4u/sbin/prtdiag –v | grep OBP
OBP 3.20.0 2000/10/24 10:47 POST 6.1.0 2000/10/24 10:49
ok. .version
Release 3.20 Version 0 created 2000/10/24 10:47
OBP 3.20.0 2000/10/24 10:47
POST 6.1.0 2000/10/24 10:49
OBDIAG 4.5.1 2000/10/24 10:48

12、查看及启动系统的32位或64位内核模式
64位模式
# isalist –v
sparcv9+vis sparcv9 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
# isainfo –v
64-bit sparcv9 applications
32-bit sparc applications
# isainfo –b
64
启动64位内核模式
ok. boot kernel/sparcv9/unix

32位模式
# isalist –v
sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
# isainfo –v
32-bit sparc applications
# isainfo –b
32
启动32位模式
ok. boot kernel/unix

13、测定当前的显示器刷新频率
# /usr/sbin/fbconfig –rev \?

14、如何配置网卡ip?
# ifconfig -a --查看网卡,例如是hme0
# ifconfig hme0 unplumb --停止网卡
# ifconfig hme0 plumb --起用网卡
# ifconfig hme0 inet 192.168.2.3 netmask 255.255.255.0 up --添加ip、子网掩码
# vi /etc/defaultrouter 添加默认路由的ip
# vi /etc/hostname.hme0 添加主机名
# vi /etc/nodename 添加主机名
# vi /etc/resolv.conf
domain china.com 你的域名
nameserver 202.106.0.20 你使用的nds ip
# vi /etc/nsswitch.conf 更改 hosts:file dns

15、 PROM状态命令与参数
格式: OK>; 指令
命令 说明
banner 显示当前机器配置状况,CPU,内存,hostid,EtherNet
probe-scsi 显示内部SCSI通道所挂接设备
probe-scsi-all 显示所有SCSI通道及所挂接设备
probe-ide 显示所有IDE通道及所挂接设备(针对U10,U5)
devalias 显示设备别名,如 cdrom,disk,disk0,disk1等
printenv 无参数,显示环境变量或
参数为环境变量名 如: printenv auto-boot?
setenv 设置环境变量,如: setenv auto-boot? false
set-default 恢复环境变量预定值 如:set-default auto-boot?
set-defaults 恢复所有环境变量预定值
boot device option 启动主机
设备别名: cdrom 或 disk
设备名: /pci@1f,4000/scsi@3,1/disk@6,0:f
option -r 设备配置
-s 单用户
eject cdrom|floppy 弹出cdrom或floppy
reset 复位
test net
watch-net-all
show-devs

16、查找网卡名称及接口个数
# grep network /etc/path_to_inst

17、如何一块网卡帮定三个ip,并且子网掩码不同?
举例说明,网卡名hme0:
# vi /etc/hosts
127.0.0.1 localhost
192.168.2.1 dbs loghost
192.168.9.15 dd
192.168.9.65 aa
# vi /etc/netmasks
192.168.2.0 255.255.255.0
192.168.9.0 255.255.255.192
192.168.9.64 255.255.255.252

#vi /etc/hostname.hme0
dbs
#vi /etc/hostname.hme0:1
dd
#vi /etc/hostname.hme0:2
aa
# ipconfig hme0 inet 192.168.2..1 netmask 255.255.255.0 up
# ipconfig hme0:1inet 192.168.9.15 netmask 255.255.255.192 up
# ipconfig hme0 inet 192.168.9.65 netmask 255.255.255.252 up
# init 6
#ipconfig -a

18、如何在prom状态下查看光纤硬盘 ?
stop +a进入ok状态:
ok>; select 光纤卡设备名(可用show-devs查看到)
ok>; show-children

19、主机双屏幕设置。
1.Confirm there are two Video Cards。
2.Confirm driver installed and patches installed if need。
3.vi /usr/dt/config/Xservers.
comment the last line.
and uncomment the nearest line like this.
4.reboot.

20、查看硬盘参数及其物理地址:
#format </dev/null

21、显示磁盘的分区情况:
#prtvtoc /dev/rdsk/c0t0d0s2
系统应用:

1、、查看系统运行级别
# who -r 看运行级别

2、进程工具
pstop pid  停止进程
prun pid  重新启动进程
ptime pid  使用微状态计算进程时间
pwait pid  等待指定的进程终止
pcred pid 显示可信度    *
pfiles pid 显示已打开文件的fstat和fcntl信息   *
pflags pid 显示每个lwp的/proc跟踪标志,等待和待有信号量以及其他状态信息  *
pldd  pid 显示链接到每个进程的动态链接库   *
pmap pid  显示地址映射空间   *
psig pid 显示信号操作    *
pstack pid 显示每个lwp的十六进制与符号堆跟踪   *
ptree pid 显示包含指定PID的进程树
pwdx  pid 显示当前工作目录   *
后面加*的必须是超级用户执行。
这些工具在/usr/proc/bin/里面。

3、patch软件包的安装
每个补丁都有编号。例如补丁号为101945,版本是34的话,这个补丁的目录名就是101945-34.
# patchadd 105160-01 安装补丁
# patchrm 删除补丁
# patchadd -p 检查系统的补丁情况
# showrev -p 查看所有已经安装的patch

4、如何容许root用户远程登录?
# vi /etc/default/login
CONSOLE=/dev/console ---用#注释掉这一行。

5、如何限定telnet登陆数?solaris pts的数量缺省为47, 修改/etc/system文件, 增加如下内容:
set maxusers=数量
set pt_cnt=数量

6、显示已经使用和未使用的i-node数目
# df –F ufs –o i

7、显示cpu使用率最高的进程
# ps –eo pid,pcpu,args | sort +1n
该命令输出当前系统进程的pid, CPU占用率及命令描述,并以pcpu来排序

8、查看当前的OpenWindows版本
# showrev –w
OpenWindows version:
X11 Version 6.4.1 5 November 2001

9、查看当前CDE的版本
# /usr/ccs/bin/what /usr/dt/bin/dtmail
/usr/dt/bin/dtmail:
CDE Version 1.4.6_06
CDEVersion1.4.6_06

10、文消掉本中的^M
# cat test.dat | tr -d '\015' >; test.out
这样可以将 test.dat 内 ^M(\015) 这个字元去掉, 产生 test.out

11、关机命令。
关闭系统的方式根据关闭的原因而不同.执行关闭有的是为了转至执行等级S,有的是要停止操作系统并关闭设备的电源.
(1) /usr/sbin/shutdown –gtime –ilevel -y
(2) init 0
(3) halt
(4) STOP+A ; sync
(5) 关闭电源
紧急情况,按Stop_A , 如Stop_A不起作用,则将设备电源关闭再打开.这是
极端情况.这两种方法不是干净的关闭,是突然关闭的,仅在紧急情况使用.

12、Solaris下怎么发送即时消息?
用wirte命令到单个用户的终端。
$ wirte username
输入消息正文,结束按ctrl-d,消息就会出现在用户终端。
用户可以用mesg n[y]来决定是否启动接受消息。

用wall,是发给所有系统用户。
$ wall
hello ,i love you ...... 结束用ctrl-D.

rwall -n netgroup 给网络上所有用户。
$ rwall -n workgroup --------发给组workgroup下的每一个用户
hi ! no smoking ...... 结束用ctrl -d

$ rwall sune450 ------或者主机名为sune450。用法如上。。。

13、系统是sunos5.8, 不知何种原因现在唯一的普通用户起不了Terminal, vi等,但是超级用户可以,如何补救?
用/etc/skel/local.cshrc 替换掉登陆路径下的 .cshrc, 重新登陆, 就OK了!
$cp /etc/skel/local.cshrc ./

14、关机时这个题是什么意思?
/usr/sbin/vold[724]: [ID 244572 daemon.error] 卸载 /vol 时发生问题;中断系统调用
uxwdog[481]: [ID 248799 daemon.error] error communicating with server (Broken pipe)

你还没卸下来/VOL就启动,才出问题,运行:
# umount -f /vol后再做。

15、find常用的例子:
命令格式: find dir -name filename command
例子:
# find . -name hello -print 寻找目前目录及所有的子目录内叫hello的文档。
# find . -ctime +7 -print 找出七天内未被更动的文档
# find . -size +2000m -print 找出大小超过2000 bytes的文档
# find /tmp -user b1234567 -print 在/tmp下属於b1234567的文档
# find . -name '*.c' -exec rm {} 删除所有的.c档
# find . -name test\* -print 显示当前目录及其子目录文件名前4位为test的文件名

16、忘记solarsi的root口令怎么办?
方法一:
1.别怕 ,跟我来.
2.把你的solaris光盘放进cdrom
3.键入stop+a
4.当出现'ok'字样时,键入boot cdrom -s
5.cd /tmp
6.mkdir /tmp/xxx (xxx是什么鬼东西就无关紧要了)
7.mount /dev/dsk/c0t0d0s0 /tmp/xxx (在这里c0t0d0s0是你的root盘)
8.运行csh
9.TERM=sun;export TERM或者
setenv TERM vt220
10.cp /tmp/root/xxx/shadow /tmp/root/xxx/shadow/shadow.backup
11.vi /tmp/root/xxx/shadow并且将password里root项删除。
12.重启动,你就可以以无密码的root登陆了,这时更改你的密码。
要是没有shadow,就把/etc/passwd里root用户名后面的X删掉,就可以了
方法二:
找一台有系统的solaris机器,把忘记密码的系统放进去mount上来,重复方法一10以后的步骤.

solaris for x86的机器:
用光盘启动到要你安装的时候退出去就成单用户,剩下的操作如上。

17、常见文件的解压
一般而言,在solaris下,会有这么几种格式的软件:
1) .gz结尾的文件,我们用gunzip或者gzip -d来解压,再用tar来解压.
2) .tar结尾的文件,我们肯定知道用tar xvf的格式来解压.
3) .zip结尾的文件,我们用unzip,注意,这个只有在高版本的solaris下,才有.而且该文件格式以solaris的patch比较多.
4) .Z结尾的文件,我们一般用uncompress来解压(当然,每个人的习惯不一样.)
上面讲的是解压,一般解压后,会生成这么几种方式:
1)生成.local的文件,这个时候,我们用: pkgadd -d xxx.local来安装.
2) 生成一个目录,而且该目录下会有一些pkg信息,我们用: pkgadd -d . ;指在当前目录下,安装,并且按照缺省的路径来安装.
3) 生成一个数字的目录,一般是指solaris的patch,这个时候我们用patchadd来安装.

18、如何在命令行界面替换一个文件中的字符段?
# vi file 在命令模式中输入:
:1, $s/diag/peng/g 全文件查找diag并替换为peng

19、请问TERM=VT100和TERM=dtterm都在什么情况下设置?
一般情况下如果你在机器的显示器上登陆或者通过XMANAGER等登陆,就默认是dtterm,telnet 一般是ansi,当你通过telnet修改文件的时候,需要设置成 TERM = VT100 ; export

TERM

20、如何查看系统的版本?
$ uname -X
$ more /etc/release

21、命令行进入CDE:
#/usr/dt/bin/dtlogin -daemon;exit
or
#/etc/rc2.d/S92dtlogin start;exit;

22、查看patch安装过程中返回错误代码的含义:
#more /usr/sbin/patchadd

23、如何从一台SOL8的机器登录到另外一台SOL8的CDE桌面上去。
登陆CDE的时候点击一下菜单:选择--登陆远程主机--

24、如何查看你的默认语言环境? C.Arthur
# more /etc/default/init

25、如何更改/home的权限?
停掉autofs服务,或者将/etc/auto_master的home注释掉:
#vi /etc/auto_master
------------内容如下----------
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
#/home auto_home -nobrowse
/xfn -xfn
第三方软件应用或技巧:

1、查看当前的bind版本信息
# nslookup –class=chaos –q=txt version.bind

2、在登录时显示系统指定的消息?
#vi /etc/motd ----删除所有过时的消息,输入新消息
注意:对于已经登录且正在使用系统的用户不显示该消息,超过一屏的消息无法显示。每次修改该文件后,该文件的时间戳随之更新。

3、去掉文本中^M
# dos2unix aaa.txt bbb.txt,会去掉aaa.txt中的^M,生成bbb.txt文件。

4、将系统中7天前的txt文件查找并打包。
# find / -mtime -7 >;aaa.txt
# tar cvf bbb.tar -I aaa.txt
---查找出文件记录在aaa.txt文件中,在作成bbb.tar文件包。

5、查找并删除比某一天更老的文件:
#find . ! -mtime -<days>; | /usr/bin/xarys rn -rf

6、solaris9普通用户下无法正确输入中文的解决方法:
在用户目录在#vi .profile 修改如下:
stty cs8 -istrip

7、请问如何防止telnet登陆发呆时间过长被踢呢?
这里,vi /etc/default/login
# TIMEOUT sets the number of seconds (between 0 and 900) to wait before
# abandoning a login session.
#
#TIMEOUT=300
修改之后不是立即生效,在这之后所又的login session都符合这个要求,但是在修改之前已经建立的连接不受影响。

8、如何安装gcc。
去sunfreeware.com上下载相应平台的pkg包的gcc版本。
#pkgadd -d gcc*
设置环境变量:
bash 和sh 的shell:
vi $home/.profiel
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin;export PATH
CC=gcc;export CC
csh的shell:
vi $home/.cshrc
set path=( /bin /usr/bin /usr/ucb /etc /usr/local/bin /usr/local/sbin .)
setenv CC gcc

9、列出当前目录下的目录。
ls -al | grep '^d'

10、用命令行来打开一个新的terminal。
/usr/dt/bin/dtterm
X86或者Vmware:

1、在Solaris10 x86上挂接window98分区的方法。
#mount -F pcfs /dev/dsk/c0d1p0:e /mnt
总结一下:
偶的硬盘是接在IDE1的slaver盘上,用上述命令可将E:盘挂在/mnt
目录下。如果你的电脑只有一个硬盘,并且是接在主板的IDE1槽,设为
Master盘(通常这种情况较多),现在想挂WIN98下的D:盘,可输入
#mount -F pcfs /dev/dsk/c0d0p0:d /mnt
注意,/mnt可以改为任意的其它空目录,如/data(我在文件管理器中自己
新建的一个目录),可改为
#mount -F pcfs /dev/dsk/c0d0p0:d /data
按回车后如没有任何出错提示,则表示挂接成功,你就可以进入挂接的文件夹(此处为/data)找到你所挂接的win98的D:分区上的文件了。
本方法经过偶N次实验,是确实可行的。为后来者不再偶走过的弯路,偶特在此总结一下,哪位初学者不会在Solaris10 x86(Solaris9也应该行)
挂win98分区的话,可参考本方法。
13 楼 liudaoru 2010-09-29  
三种shell脚本调用方法(fork, exec, source)

fork ( /directory/script.sh)
fork是最普通的, 就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本.
运行的时候开一个sub-shell执行调用的脚本,sub-shell执行的时候, parent-shell还在。
sub-shell执行完毕后返回parent-shell. sub-shell从parent-shell继承环境变量.但是sub-shell中的环境变量不会带回parent-shell
exec (exec /directory/script.sh)
exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本与父脚本在同一个shell内执行。但是使用exec调用一个新脚本以后, 父脚本中exec行之后的内容就不会再执行了。这是exec和source的区别
source (source /directory/script.sh)
与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行. 所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用.source可以简写为:
.

source ./directory/script.sh 可以写成

. ./directory/script.sh

注意两个点之间的空格

From http://mindream.wang.blog.163.com/blog/static/2325122220084624318692/
12 楼 liudaoru 2010-09-07  
11 楼 liudaoru 2010-08-11  

tail -f a.log | grep usetime | grep format | awk -F"Total:" '{if($2 > 40) {print $0}}'
10 楼 liudaoru 2010-07-22  
kill `pgrep -f abc`

杀进程
9 楼 liudaoru 2010-01-06  
vi中正则替换:
:%s#.*\t[0-9].*\n##g
8 楼 liudaoru 2010-01-04  
nload 查看网络流量
7 楼 liudaoru 2009-12-30  
mysql统计信息:mysqladmin extended-status
6 楼 liudaoru 2009-12-30  
可以通过查看/proc目录下面的文件查看硬件信息
比如cpuinfo 表示的是CPU的信息文件
    meminfo 表示的是内存的信息文件
    诸如此类,应该很容易明白各种文件的信息
他是个虚拟文件目录,存放于内存中。
文件内容就是linux内核获取的计算机的硬件信息。
其中不仅是硬件信息,还有系统配置,系统状态等等内容。
5 楼 liudaoru 2009-12-30  
机器硬件信息:
dmidecode | grep "Product"
4 楼 liudaoru 2009-12-17  
tail -10000000 abc.log|grep Time:|awk -F"Time:" '{print $2}'|awk -F"ms" '{print $1}'|head|awk '{total += $i}END {avg = total * 1.0 / NR; print "Avg:", avg}'
3 楼 liudaoru 2009-11-27  
dos2unix, unix2dos 用来实现 DOS <=> UNIX text file 转换
aptitude install sysutils
行末:
DOS 格式 0d 0a
UNIX 格式 0a

可用功能相同的指令組合
dos2unix:
sed -i'' "s/\r//" file

cat file | col -b > newfile

cat file | tr -d "\r" > newfile

cat file | tr -d "\015" > newfile

unix2dos:
sed -i'' "s/$/\r/" file

sed -i'' "s/$/\x0d/" file

-i后面的是单引号组成

以上适用 GNU sed, FreeBSD 下的 sed 不适用

url:http://solecjj.blogbus.com/logs/19425369.html
2 楼 liudaoru 2009-11-20  
iostat -xk 3
1 楼 liudaoru 2009-11-20  
grep 'CAccess' access.log | grep 'URI:/q?' | awk '{print $10}' | awk -F: 'BEGIN{total=0;count=0;} {total=total+$2;count++;} END{print count" "total/count}' 

相关推荐

    Linux教程+ shell学习笔记 + Shell脚本常用命令+shell脚本100例资源合集

    shell脚本 是一种shell编写的脚本程序。 shell编程跟Java、PHP 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执 行的脚本解释器就可以了。 为什么要学习和使用shell? Shell属于内置的脚本 程序开发...

    精心整理shell脚本100例(最新版).pdf

    精心整理shell脚本100例(最新版).pdf

    shell常用命令整理

    - CLI Shell允许用户通过键入命令来完成任务,这种方式在自动化脚本编写、远程管理等方面具有很高的灵活性。 #### 二、常用Shell命令 接下来我们将详细介绍一些常用的Shell命令及其应用场景。 ##### 1. `ls` ...

    精心整理shell脚本100例(最新版).zip

    这个"精心整理shell脚本100例(最新版).zip"文件很可能包含了各种实用且具有代表性的Shell脚本实例,帮助用户更好地理解和掌握Shell编程技巧。 1. **基础概念** - **Shell**: 是操作系统提供的一个命令解释器,它...

    Shell常用命令整理

    ### Shell常用命令整理 在日常的Linux系统管理与开发工作中,掌握一些基本的Shell命令是非常必要的。这些命令可以帮助我们高效地完成各种任务,比如文件管理、目录导航等。接下来,我们将详细介绍几个常用的Shell...

    shell脚本编程02

    综上所述,"shell脚本编程02"涵盖了变量替换、文件批量操作、子串处理以及内部命令变量的高级应用,这些都是编写高效shell脚本必不可少的知识点。通过学习和实践这些内容,你将能够更好地驾驭Linux环境下的自动化...

    shell脚本监控rabbitmq异常发送邮件通知.rar

    Shell脚本将与RabbitMQ的管理命令相结合,通过检查节点状态、队列长度、内存使用情况等关键指标来判断RabbitMQ集群是否正常运行。 从压缩包内的文件名“shell脚本监控rabbitmq异常发送邮件通知”来看,脚本可能包含...

    Linux 环境下的常见 Shell 脚本操作片段

    **Shell 脚本大全** 精心收集、整理了 Linux 环境下的常见 Shell 脚本操作片段。 当您面临以下问题时,**Shell 脚本大全** 也许可以给你一些借鉴: - 你想要执行某个操作,却不知 Shell 命令如何写 - 你想要快速掌握...

    shell脚本基础入门 详细介绍完整版

    以上是根据文档整理的Shell脚本基础知识点。学习Shell脚本编程需要不断的练习和调试。编写脚本时应注意脚本的可读性和健壮性,同时,编写脚本后应当进行测试,确保其在各种条件下都能按预期执行。在编写脚本的过程中...

    android开发中高效实用的shell命令脚本

    android开发中有很多实用的shell命令,可以减少我们在手机端的操作,提高开发效率,我将我在工作中常用的shell命令收集整理封装成脚本,作一个分享.

    Linux常用的系统监控shell脚本

    ### Linux常用的系统监控Shell脚本知识点解析 在Linux系统管理中,使用Shell脚本来监控系统的运行状态是一种常见且有效的手段。下面将详细解析几个典型的Linux系统监控Shell脚本,涵盖网络流量监控、CPU与内存使用...

    shell命令手册

    Shell 命令手册是对 shell 命令的分类和整理,对需要使用 shell 脚本的人员非常实用。本手册涵盖了 Linux 系统管理命令、文件管理命令、处理命令、网络命令、安全命令等多个方面的命令,总计超过 100 个命令。 在 ...

    linux常用shell脚本

    在本资料包中,"linux常用shell脚本"包含了个人整理的运维必备脚本和配置,让我们一起深入探讨一下这个领域的知识。 1. **Shell基础知识** - **Shell类型**:主要有Bash(Bourne-Again SHell)、Sh(Bourne Shell...

    Shell脚本实现从文件夹中递归复制文件

    ### Shell脚本实现从文件夹中递归复制文件 #### 背景介绍 在日常工作中,有时我们可能需要从多层嵌套的文件夹结构中提取特定的文件或者进行数据整理工作。对于这种需求,手动操作显然是低效且耗时的。此时,利用...

    整理的shell命令使用方法.doc

    8. `source` 命令:读取并执行指定的Shell脚本,将脚本中的环境变量设置应用到当前Shell环境中。 9. `cut` 命令:用于从文件或标准输入中提取指定字段,例如 `echo $PATH | cut -d ':' -f 3,5` 提取环境变量`PATH`...

    linux学习资料(精心整理)服务器搭建 shell脚本 c语言

    【标题】"Linux学习资料(精心整理)服务器搭建 shell脚本 c语言"涵盖了Linux系统学习的几个关键领域,包括Linux服务器的搭建、shell脚本的编写以及C语言的基础与应用。这些主题对于IT专业人士,尤其是那些希望提升...

    shell编程打包整理,

    "shell编程打包整理"这个主题涵盖了对Shell脚本编写、调试、优化和组织的知识点。 首先,让我们了解什么是Shell。Shell是操作系统提供的一种命令行界面,用户可以通过它来执行系统命令、操作文件和控制程序。在...

    shell脚本学习课件笔记整理.rar

    shell从入门到应用,也包含AWK sed等操作,提供课件以及各种完整脚本以便学习。此课件视频来源于B站,链接为:https://www.bilibili.com/video/BV1st411N7WS?from=search&seid=5240570590491899209。

Global site tag (gtag.js) - Google Analytics