`

shell脚本使用笔录(ing)

阅读更多

常用命令

#基本操作
cd, ls, pwd, mv, cp, date

tr, rm

xargs

time
set, env
history
nohup
&

 

#文件查看及编辑
cat, less, more, head, tail
vi, gedit
sed, awk
sort, uniq
grep
find
wc
tar, zip

 

#用户及权限管理
touch, chmod, chown, chgrp
useradd, userdel, passwd
su
id, w, who, whoami

 

#查看 系统资源/使用情况 命令
top, free
fdisk, df, du
uname, hostname, ifconfig
lsof
service, chkconfig
ulimit
netstat, ps
kill

 

#网络相关
ping, telnet
wget
ssh
rsync, scp, lrzsz

 

参考资料:

1 http://zhanjia.iteye.com/blog/1797788

2 UNIX高手的10个习惯:
http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html
还有续篇,也附上连接:
https://www.ibm.com/developerworks/cn/aix/library/au-unixtips/

 

使用案例

cat /proc/meminfo
more /etc/redhat-release

 

查看端口是否被使用
# netstat -nlp | grep 端口号
 
如查找tomcat进程一般可以这么写
# ps -ef | grep tomcat
 
查看进程,根据第二列按默认进行排序
# ps -aux | sort -k 2
 
查看进程,按内存使用率升序排序
# ps -aux | sort -nk 4
 
置空文件(如果该文件正在使用,不能直接删除!如果直接删除,会导致新的数据丢失)
# > file.txt
 
按修改时间降序排序
# ls -lt
# ls -lrt
 
切换到当前用户的主/HOME目录
# cd ~
 
返回最近访问的目录,这个经常用得到,不需要自己输入目录
# cd -


lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c abc 显示abc进程现在打开的文件

 

参考:

1 lsof的使用(http://linux.ccidnet.com/art/305/20070829/1194715_1.html)

 

具体场景

1 ## 不以数字或字母开头的行

grep -n -G ^[^0-9a-z] file

 

2 window的文件转成unix的文件格式

#!/bin/sh

file=$1
tmp=$1.tmp
cat $file | tr -d '\r' > $tmp
rm $file
mv $tmp $file 

 

 还有更好的方式来转换:

unix2dos

dos2unix

cat -A

 

http://space.itpub.net/?uid-8107207-action-viewspace-itemid-474791

 

3 linux定时任务注意点:

    原来就知道在crontab文件中不能直接写shell的相对PATH的路径,要使用绝对路径。没想到在被调用的shell中的命令也需要使用绝对路径!!最好就是把环境变量在脚本里再定义一遍.

* * * * * jps >> jps.log

 

* * * * * /home/hadoop/java7/bin/jps >> jps.ab.log

如果是一段很长的代码的话,最好在shell脚本开始处重新定义JAVA_HOME, PATH。

 

4 把一段很长的字符处理成java的一个字符串

想在java代码里面直接拷贝一段很长的字符串,但是java不像groovy那样可以多行。处理如下:

cat test.txt | sed -e "s/\"/\\\\&/g" -e "s/.*/\"&\"+/"

 

5 递归列出目录下的所有文件(包括目录)

在cygwin下使用rsync同步时,使用windows的软件,不能打开同步的文件(没有权限)。可以通过chmod来修改,但是文件很多,使用下面的命令一次进行修改:

ls -R -A  -1 | awk '/^\.[^:]*:/{sub(":$","");current=$0;}{if($0!="" && $0!=current){print current "/" $0;}}' | while read s; do chmod 777 "$s"; done

 

-->有一种超级简单的方式来打印全路径:

 find .

 要执行命令的话,有两种方式:

 find /tmp -name core -type f -print | xargs /bin/rm -f

 

OR

find . -type f -exec file '{}' \;

 

   

  • 大小: 5.4 KB
分享到:
评论

相关推荐

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    109个shell脚本合集.pdf

    Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释执行程序。如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。 以下是109个Shell脚本合集中...

    shell脚本编程100例

    本书《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了检测网段主机状态、猜数字游戏、打印乘法口诀、使用rsync备份数据、切割Nginx日志、监控服务端口、使用mtime删除历史文件或日志文件...

    Shell脚本学习教程PDF版

    Shell脚本,作为Linux/Unix系统中的编程工具,是一种强大的自动化任务执行手段。它基于Bourne shell或者其扩展版本,如bash(Bourne-Again SHell),提供了一种编写简单或复杂程序的方式,使得用户能够通过命令行...

    IDEA中编写并运行shell脚本的实现

    IDEA中编写并运行shell脚本的实现 IDEA中编写并运行shell脚本的实现是指在Integrated Development Environment(IDE)中编写、配置和运行shell脚本的过程。该过程需要安装bashsupport插件,配置插件,安装git软件,...

    Shell脚本中获取进程ID的方法

    比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。 在bash中,子shell进程的PID存储在一个特殊的变量‘$$’中。这个变量...

    Shell脚本编程100例

    以上这些例子涵盖了基本的Shell脚本操作,如变量使用、条件判断、流程控制、系统命令调用以及定时任务设置等。通过学习和实践这些脚本,可以深入了解Shell脚本编程,提升系统管理能力。对于Linux系统管理员、开发者...

    250个shell脚本

    这涉及到mysqldump命令的使用,以及Shell脚本的循环控制,确保数据的安全和可恢复性。 4. Nginx访问日志切割:脚本根据日期切割Nginx的访问日志,方便日志管理和分析。使用date命令获取当前时间戳,并结合重定向和...

    shell脚本与Makefile区别.docx

    其次,Makefile 中的通用函数(如 wildcard)和通配符不能在 shell 脚本中使用。在 Makefile 中,通用函数和通配符是用来匹配文件名的,而在 shell 脚本中,它们没有这种功能。 再次,shell 中所有以 $ 开头引用的...

    android系统中调用shell脚本

    7. **考虑安全性和性能**:在使用shell脚本时,一定要注意安全问题,避免执行可能导致系统不稳定或数据泄露的命令。同时,频繁的shell调用可能会消耗大量系统资源,因此要合理优化。 8. **存储脚本的位置**:通常,...

    提高cpu利用率的shell脚本

    需要提高cpu利用率的shell脚本

    linux下shell脚本实现数据的导出

    本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用。 首先,让我们分析给出的`backup.sh`脚本: ```bash su - oracle -c " exp cg23/sa tables=exp_table1,exp_table2 file=/home/oracle/...

    C语言中文网shell脚本教程

    `2.15Shell关联数组(下标是字符串的数组).html`介绍了Shell中的关联数组,这是一种可以使用字符串作为索引的特殊数组,为Shell脚本提供了更灵活的数据结构,适用于处理复杂的数据管理任务。 6. **Shell脚本模块...

    解决Unity不能调用shell脚本传递参数的问题

    具体表现为:Unity试图通过`Process.Start`方法启动一个shell脚本,但是传递给脚本的参数没有被正确解析或使用。 #### 代码分析 在给出的Unity脚本示例中,可以看到如下关键代码: ```csharp [MenuItem("Tools/1...

    Linux-shell脚本全面学习.pdf

    * 在 shell 脚本中可以使用三类命令: Unix 命令、流程控制命令和 Shell 内置命令 * Unix 命令: + `echo`:将文字容打印在屏幕上 + `ls`:文件列表 + `wc`:计算文件行数、单词数和字符数 + `cp`:文件拷贝 + ...

    如何让Android系统或Android应用执行shell脚本

    Android 系统或 Android 应用执行 shell 脚本的方法 Android 系统或 Android 应用执行 shell 脚本是 Android 开发中的一项重要技术,通过执行 shell 脚本,可以实现一些复杂的操作,例如设置网络参数、启动服务等...

    shell脚本大全

    8. **函数和子Shell**:通过定义函数,可以封装重复使用的代码。子Shell则是在一个新的Shell环境中执行命令,对父Shell环境无直接影响。 9. **错误处理**:`set -e`可以设置脚本在遇到错误时立即退出,而`trap`命令...

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    korn-shell脚本入门.docx

    编写Korn Shell脚本需要使用文本编辑器,如vi编辑器,首先需要添加Shell名称作为第一行,然后构建脚本标头,定义变量,编写脚本主体。 4. 什么是变量?变量是Korn Shell脚本中的一种数据存储方式,允许用户在脚本中...

Global site tag (gtag.js) - Google Analytics