1. Empty log files in batch
find . -name "*.log" -exec bash -c ">{}" \;
2. Copy files in batch
find . -maxdepth 1 -type f -exec grep -q "pattern" '{}' ';' -exec cp '{}' /path/to/destination ';'
3. Rename file in batch
for i in `find . -maxdepth 1 -name "*SNAPSHOT*.jar"`; do mv $i `echo $i | sed s/-SNAPSHOT//`;done
4. Diff file (Advanced)
diff -r --ignore-all-space --ignore-blank-lines --ignore-matching-lines='#ident' --ignore-matching-lines='# **' --exclude=MANIFEST.MF --exclude="*test*" --exclude="*svn*"
5. Usage samples
if [ $# -ne 1 ]
then
echo "Usage: `basename $0` {INTG|UA}"
exit -1
else
INPUT=`echo $1 | tr '[:lower:]' '[:upper:]'`
if [ "$INPUT" = "UA" ]; then
DBCONNECT_STRING=$DBCONNECT_STRING_CORP_POS_UAT
elif [ "$INPUT" = "INTG" ]; then
DBCONNECT_STRING=$DBCONNECT_STRING_CORP_POS_INTG
else
echo "Unkown parameter: $1"
exit -1
fi
fi
if [ $# -ne 2 ]
then
echo "Usage: `basename $0` {PORT-NUMBER} {MBEAN-NAME}"
exit -1
else
RET=`expr match $1 "[0-9]*$"`
if [ "$RET" -gt 0 ]; then
echo "Port number is: $1"
else
echo "Invalid port number: $1"
exit -1
fi
echo "MBean name is: $2"
fi
6. SVN revert or delete unversioned files in batch
svn st -u | awk -F "[ ]*" '{print $4}' | xargs svn revert
svn st -u | awk -F "[ \t]*" '{print $2}' | xargs rm -rf
7. Remove version number in artifact id
echo ant-1.7.1.jar | sed -e "s/-[0-9]\+\(\.[0-9]\)*\(_[A-Z][0-9]\)*\(-SNAPSHOT\)\?//g"
8. Find big files by du:
du -sh * 2>/dev/null | egrep "[0-9]+G"
du -s --block-size=M * 2>/dev/null| sort -rn
9. Check if specific class in jar file:
for i in `ls`; do jar tf $i | grep "ClassName" && echo $i; done
10. Collect footprint of CPU/MEM:
top -b -d 1 -p pid > stat.txt
11. Check the exact start time / running time of a specific process
ps -eo pid,lstart,etime | grep [pid]
12. Find PID of process which occupies specified port
/usr/sbin/lsof -i:[port] or netstat -ap | grep [port]
13. Find last reboot time of linux server
last reboot
14. .bashrc
HOME=SOME_FOLDER
eval `dircolors ~/.dircolors`
PS1="\[\e[32;1m\][\$(date '+%m-%d %H:%M:%S')]\[\e[32;1m\][\[\e[36;1m\]\u\[\e[33;1m\]@\[\e[35;1m\]\h\[\e[33;1m\]:\[\e[36;1m\]\w\[\e[32;1m\]]$\[\e[0m\] "
alias ll='ls -ltr --color=tty'
alias p='ps -eo pid,ppid,user,lstart,etime,args --no-headers --sort pid | grep -v $$ | awk '\''BEGIN {format = "\033[32m%5s \033[36m%5s \033[35m%-6s \033[33m%24s \033[36m%12s \033[0m%-s\n"; printf format, "PID", "PPID", "UID", "STARTED", "ELAPSED", "COMMAND"; printf format, "-----", "-----", "------", "------------------------", "------------", "--------------------" }; {printf "\033[32m%5s \033[36m%5s \033[35m%-6s \033[33m%-3s %-3s %-2s %-8s %-4s \033[36m%12s \033[0m", $1, $2, $3, $4, $5, $6, $7, $8, $9; for(i=10;i<NF;i++){printf $i " "}; print $NF}'\'''
function pg() {
p | egrep "PID|-----|$1" | grep -v egrep
}
15. Create root user
#useradd -o -u 0 -g 0 -M -d /root -s /bin/bash admin
#passwd admin
16. Check cron jobs for each user in the system
cat /etc/passwd | cut -d: -f1 | xargs -t -i crontab -l -u {}
17. Create SSH tunnel user
#userdel -r tunneluser
#useradd -M -s /usr/sbin/nologin tunneluser
#useradd -M -s /usr/bin/passwd tunneluser
18. Convert command line option to JVM arguments
if [ $# -gt 0 ]; then
params=( "$@" )
for param in "${params[@]}"; do
if [ "`expr \"$param\" : \"--.*=.*\"`" -ne "0" ]; then
param=${param/--/-D}
JAVA_OPTIONS="$JAVA_OPTIONS $param"
fi
done
fi
相关推荐
Linux命令行技巧_Linux_shell_skills
B shell与 C shell的区别 B shell和C shell都是Linux操作系统中的shell类型,它们之间存在一些关键的区别。 首先,让我们从B shell开始。B shell,全称为Bourne shell,是UNIX最初使用的shell。它在每种UNIX上都...
Shell是Linux和Unix系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面,允许用户通过命令行执行各种操作。本篇文章将深入探讨Shell的基础知识,包括其概念、重要性、基本语法以及如何进行Shell编程练习...
本手册涵盖了 Shell 编程的基础知识,包括 Shell 概述、Shell 解析器、Shell 脚本入门、Shell 中的变量等。 Shell 概述 Shell 是一种命令行接口,允许用户与操作系统进行交互。学习 Shell 编程可以让开发者更好地...
Shell是Unix和Linux操作系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面,允许用户通过输入命令来执行系统功能。Shell不仅是一个命令行接口,还是一个强大的编程语言,用户可以编写脚本来自动化一...
Shell脚本是一种强大的编程工具,它在Unix和Linux操作系统中广泛应用于自动化和任务调度。在Shell脚本中,创建子Shell是一种常见的操作,它可以提供一个隔离的执行环境,使得在其中执行的命令和脚本不会影响到父...
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
A compendium of shell scripting recipes that can immediately be ... Come out of your shell and dive into this collection of tried and tested shell scripting recipes that you can start using right away!
**C语言中文网shell脚本教程** 这是一份关于Shell脚本编程的离线学习资料,包含了一系列HTML文件,旨在帮助用户深入理解并掌握Linux Shell脚本编程技术。以下是其中涉及的一些关键知识点: 1. **Shell命令的本质**...
提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为...
Windows Shell 编程.pdf 看过一些对windows 外壳的扩展程序,在使用上一般都是直接利用windows的外壳API做一些工作,因为外壳操作需要一些比较专业的知识,因此,大部分编程人员特别是使用集成编程环境的程序人员对...
Linux Shell是Linux操作系统中的一种命令解释器,它提供了一个用户与操作系统内核交互的界面,使得用户可以通过文本命令行执行各种操作。Shell脚本则是一种编程语言,它允许用户编写包含一系列命令的程序,实现自动...
此外,Shell并非固定不变的,用户可以根据个人需求选择不同的Shell类型,常见的Shell包括Bourne Shell (`sh`)、Bourne-Again Shell (`bash`)、C Shell (`csh`)、T C Shell (`tcsh`) 和 Korn Shell (`ksh`)等。...
Shell 教程 shell 脚本编写方 在 Unix 操作系统中,shell 程序是一个非常重要的概念,它可以帮助用户轻松地完成任务。 Shell 程序的编写方法可以分为两部分:基本概念和实例。下面,我们将对 shell 程序的基本概念...
After a quick review of Unix utilities, the book’s authors take you step-by-step through the process of building shell scripts, debugging them, and understanding how they work within the shell’s ...