shell 命令总结和vi命令的总结

来源:互联网 发布:淘宝异常订单删除处理 编辑:程序博客网 时间:2024/05/01 12:40
 

Shell的定义

Shell是操作系统的最外层。Shell合并编程语言以控制进程和文件,以及启动和控制其他程序。Shell通过提示您输入,像操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。

Shell编程的常用技巧阐述

1、字符串的截取

 Shell字符串的截取问题:

一、linux shell截取字符串变量的前八位,有如下方法

1)、expr  substr  "$a" 8

2)、echo $a|awk `{print substr(,1,8)}`

3)、echo $a|cut  -c 1-8

4)、expr  $a:`\(.\\.)*`

5)、echo  $a|dd bs=1 count=8  2>/dev/null

第一种方法 

${varible##*string} 从左向右截取最后一个   string后的字符串 

 ${varible#*string}从左向右截取第一个string后的                 字符串   

${varible%%string*}从右向左截取最后一个string后的字符串   

${varible%string*}从右向左截取第一个string后的字符串   

“*”只是一个通配符可以不要  

例子:  

$ MYVAR=foodforthought.jpg  

 $ echo ${MYVAR##*fo} 

rthought.jpg  

$ echo ${MYVAR#*fo}  

 odforthought.jpg  

 第二种方法:

${varible:n1:n2}:截取变量variblen1n2之间的字符串。   

可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:   

$ EXCLAIM=cowabunga   

$ echo ${EXCLAIM:0:3}   

cow   

$ echo ${EXCLAIM:3:7}   

abunga   

这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。   

三、按照指定要求分割:   

比如获取后缀名  

 ls -al | cut -d “.” -f2 

2. 大小写转换

echo $uppercase |tr [A-Z] [a-z]   

echo $lowercase |tr [a-z] [A-Z]

窗体顶端

 

clear 清屏

cd – 后退

cd $MYPATH 进入指定目录(环境变量已设)

ls 列出文件

ls al 列出所有文件,包含隐藏文件

whoami 查看自己用户名

cd mydir 进入目录

cd my* 进入目录

tar cvf ddd.tar abc.* def ghi 压缩文件(可以多个)

tar xvf ddd.tar 解压缩

rm rf mydir 删除目录,不带确认

grep abc *.pc 文件内容中查找abc

grep c abc *.txt 查找内容abc,并统计

grep i abc *.txt 查找内容abc,大小写不敏感

set|grep TL_ABC 在环境变量中过滤TL_ABC

diff abc.txt /usera/def.txt 比较文件

find . name abc*” 目录中查找文件

cp p abc.txt /mydir/abc_d.txt 拷贝

ps ef|grep UserA 列出某用户的进程

shellABC.sh > abc.log 覆盖输出

shellABC.sh >> abc.log 追加输出

exit 退出

su userABC 切换用户

last 查看最近登录的用户

Esc+K 重复上次输入的命令(多次k向上翻)

   编辑上次的命令: Esc+i 插入 Esc+x 删除 h 向左 l 向右

ipcs oq|grep 5000 查看消息队列

make 自动查找目录下的makefile并编译

man sighold 查看该函数定义 man socket

cat abc.txt 查看文件

more abc.txt 分页查看文件

vi abc.txt 编辑文件

netstat 查看网卡

netstat 查看路由

alias pss=ps ef|grep abc’ 设置快捷shell名pss,常用在.profile中

which pss ,或which cc 查cc所在的目录

PS1=$PWD>;export PS1 显示当前目录,而不是$ (常用在.profile中)

set o vi 常用在Esc显示^K的情况下

cp /dev/null abc.log 清空文件 (大文件常常vi打不开(:%d),直接用此命令)

. .profile 修改$HOME的.profile文件后不用重新登陆,用此命令立刻生效

set|grep ABC, 查看环境变量,或用env

who|wc 统计在线人数

pwd 查看当前目录

ipcs oq 查看消息队列是否拥堵

tail f abc.log 跟踪文件末尾

chmod +x find_me.sh 加执行权限

netstat an|grep 52 查看包含52的端口网络状态

netstat an|grep LISTEN 查看侦听端口网络状态

ls l|grep ^d’ 列出目录

ls l|grep ^[^d]’ 列出非目录

grep userABC /etc/services 查看DB2端口等信息

grep userABC /etc/passwd 查看$HOME所在目录

dbx a 99878 调试attach到PID(有关dbx调试命令见其他)

原创粉丝点击