`

Shell skills take away

 
阅读更多

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.zip

    Linux命令行技巧_Linux_shell_skills

    B shell与 C shell的区别

    B shell与 C shell的区别 B shell和C shell都是Linux操作系统中的shell类型,它们之间存在一些关键的区别。 首先,让我们从B shell开始。B shell,全称为Bourne shell,是UNIX最初使用的shell。它在每种UNIX上都...

    shell shell练习 shell入门

    Shell是Linux和Unix系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面,允许用户通过命令行执行各种操作。本篇文章将深入探讨Shell的基础知识,包括其概念、重要性、基本语法以及如何进行Shell编程练习...

    Shell编程中文手册.pdf

    本手册涵盖了 Shell 编程的基础知识,包括 Shell 概述、Shell 解析器、Shell 脚本入门、Shell 中的变量等。 Shell 概述 Shell 是一种命令行接口,允许用户与操作系统进行交互。学习 Shell 编程可以让开发者更好地...

    Shell源码(Shell源码)

    Shell是Unix和Linux操作系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面,允许用户通过输入命令来执行系统功能。Shell不仅是一个命令行接口,还是一个强大的编程语言,用户可以编写脚本来自动化一...

    shell变量与创建子shell详解

    Shell脚本是一种强大的编程工具,它在Unix和Linux操作系统中广泛应用于自动化和任务调度。在Shell脚本中,创建子Shell是一种常见的操作,它可以提供一个隔离的执行环境,使得在其中执行的命令和脚本不会影响到父...

    LinuxShell脚本学习基础视频

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

    Shell Scripting

    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脚本教程

    **C语言中文网shell脚本教程** 这是一份关于Shell脚本编程的离线学习资料,包含了一系列HTML文件,旨在帮助用户深入理解并掌握Linux Shell脚本编程技术。以下是其中涉及的一些关键知识点: 1. **Shell命令的本质**...

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

    提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为...

    Windows Shell 编程.pdf

    Windows Shell 编程.pdf 看过一些对windows 外壳的扩展程序,在使用上一般都是直接利用windows的外壳API做一些工作,因为外壳操作需要一些比较专业的知识,因此,大部分编程人员特别是使用集成编程环境的程序人员对...

    linux_shell实例精解

    Linux Shell是Linux操作系统中的一种命令解释器,它提供了一个用户与操作系统内核交互的界面,使得用户可以通过文本命令行执行各种操作。Shell脚本则是一种编程语言,它允许用户编写包含一系列命令的程序,实现自动...

    SHELL十三问,PDF

    此外,Shell并非固定不变的,用户可以根据个人需求选择不同的Shell类型,常见的Shell包括Bourne Shell (`sh`)、Bourne-Again Shell (`bash`)、C Shell (`csh`)、T C Shell (`tcsh`) 和 Korn Shell (`ksh`)等。...

    shell教程shell脚本编写方

    Shell 教程 shell 脚本编写方 在 Unix 操作系统中,shell 程序是一个非常重要的概念,它可以帮助用户轻松地完成任务。 Shell 程序的编写方法可以分为两部分:基本概念和实例。下面,我们将对 shell 程序的基本概念...

    Shell.Programming.in.Unix.Linux.and.OS.X.4th.Ed

    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 ...

Global site tag (gtag.js) - Google Analytics