一、功能介紹:
1.收集服務器信息
主要收集服務器系統版本、IP地址、ARP連接、路由信息、密碼信息、歷史命令、當前權限、網絡連接、進程信息、服務信息、SSH登錄信息、環境變量、計劃任務等多種信息。2.目錄結構信息收集
主要對服務器上的目錄結構進行信息收集,方便查看服務器的結構目錄。3.關鍵詞信息收集
通過在腳本中設置關鍵字,可以在服務器上搜索包含該關鍵字的文件,并將該文件所在的目錄寫入到指定文件中,然后我們可以通過查詢該文件來訪問指定目錄,在配置文件中找到我們所需要的關鍵信息。二、使用方法:1.查看幫助
gather-h
2.常規掃描
gather-s
常規掃描主要掃描服務器信息,將結構輸出到/tmp/report/result.txt中
3.全部掃描(建議使用)
gather-a
全部掃描會收集服務器信息、收集服務器目錄結構、對關鍵字進行信息收集,并將結果輸出到/tmp/report目錄下,會生成tree.txt、result.txt、keyword.txt
4.結果輸出
#!/bin/bash
#exportpath
exportPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/sbin/:$PATH
#createresultdir
RESULT_DIR=/tmp/report
mkdir-p${RESULT_DIR}
RESULT_FILE=${RESULT_DIR}/result.txt
RESULT_TREE=${RESULT_DIR}/tree.txt
RESULT_KEY=${RESULT_DIR}/keyword.txt
if[-f"$RESULT_FILE"];then
rm-rf${RESULT_FILE}
fi
if[-f"$RESULT_TREE"];then
rm-rf${RESULT_TREE}
fi
#catsystemversion
SYS_VER=`cat/proc/version`
sys_debian="Debian"
SSH_DIR=~/.ssh/
CON_DIR=/var/spool/cron/crontabs/
showip=`iprouteshow|grep-n'eth0s*protos*kernels*scopes*links*src'|sed's/^.*src//g'|seds/metric.*$//g`
userinfo=`foriin$(cut-d":"-f1/etc/passwd2>/dev/null);doid$i;done2>/dev/null`
#sensitivedata
a_dir=("/etc/""/opt/""/var/""/home/""/root/""/usr/")
#a_file=("redis.conf""mongodb.conf""server.xml""vsftpd.conf""ldap.conf""nginx.conf""apache2.conf""smb.conf")
#banner
echo-e"33[36m--------------------------------------------------------33[0m"
echo-e"33[31m██████╗█████╗████████╗██╗██╗███████╗██████╗33[0m"
echo-e"33[31m██╔════╝██╔══██╗╚══██╔══╝██║██║██╔════╝██╔══██╗33[0m"
echo-e"33[31m██║███╗███████║██║███████║█████╗██████╔╝33[0m"
echo-e"33[31m██║██║██╔══██║██║██╔══██║██╔══╝██╔══██╗33[0m"
echo-e"33[31m╚██████╔╝██║██║██║██║██║███████╗██║██║33[0m"
echo-e"33[31m╚═════╝╚═╝╚═╝╚═╝╚═╝╚═╝╚══════╝╚═╝╚═╝33[0m"
echo-e"33[36m--------------------------------------------------------33[0m"
echo
echo-e"33[31mLinuxServerProbeScript33[0m"
echo-e"33[31mHostname:33[0m33[32m`hostname`33[0m"
echo-e"33[31mKernel:33[0m33[32m`uname-m`33[0m"
echo-e"33[31mUser:33[0m33[32m`whoami`33[0m"
echo-e"33[31mIP:33[0m33[32m${showip}33[0m"
echo-e"33[31mReport:33[0m33[32m/tmp/report33[0m"
echo-e"33[31mHelp:33[0m33[32muse-h33[0m"
echo-e"33[36m-------------------------------33[0m"
#usage
usage(){echo"Usage:$0[-s][-a][-t][-k>]"1>&2;exit1;}
#checksystem
funsys()
{
os=`uname-o`
os_re=`uname-n`
os_ke=`uname-rv`
ver=$(echo$SYS_VER|grep"${sys_debian}")
if[["$ver"!=""]]
then
echo-e"OS:33[32m${os}${os_re}33[0m"
echo-e"Kernel:33[32m${os_ke}33[0m"
echo-e"33[36m-------------------------------33[0m"
echo-e"33[31mGatherStartat33[0m`date`"
echo-e"33[36m-------------------------------33[0m"
else
echo-e"OS:33[32m${os}${os_re}33[0m"
echo-e"Kernel:33[32m${os_ke}33[0m"
echo-e"33[36m-------------------------------33[0m"
echo-e"33[31mGatherStartat`date`...33[0m"
echo-e"33[36m-------------------------------33[0m"
fi
}
#dirstruct
funtree()
{
ifcommand-vtree>/dev/null2>&1;then
foriin${a_dir[@]}
do
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
echo-e"33[32m${i}33[0m">>$RESULT_TREE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
tree${i}>>$RESULT_TREE2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mdirectorystructureinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mdirectorystructureinfo......33[31mFAILED33[0m"
fi
else
forsin${a_dir[@]}
do
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
echo-e"33[32m${s}33[0m">>$RESULT_TREE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
ls-R-t-s-a${s}>>tree.txt2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mdirectorystructureinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mdirectorystructureinfo......33[31mFAILED33[0m"
fi
fi
}
#findkey
funkey()
{
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_KEY
echo-e"33[32mFindKeywordInfo33[0m">>$RESULT_KEY
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_KEY
#findthekeyword--pass
echo-e"33[32mIncludethekeyword--passInfo33[0m">>$RESULT_KEY
find/-maxdepth4-name*.conf-typef-execgrep-Hnpass{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.ini-typef-execgrep-Hnpass{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.log-typef-execgrep-Hnpass{};>>$RESULT_KEY2>&1
#findthekeyword--includecurrentuser
echo-e"33[32mIncludethekeyword--`whoami`Info33[0m">>$RESULT_KEY
find/-maxdepth4-name*.conf-typef-execgrep-Hn`whoami`{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.ini-typef-execgrep-Hn`whoami`{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.log-typef-execgrep-Hn`whoami`{};>>$RESULT_KEY2>&1
#findthekeyword--sqlserver
echo-e"33[32mIncludethekeyword--sqlserverInfo33[0m">>$RESULT_KEY
find/-maxdepth4-name*.conf-typef-execgrep-Hnmssql{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.conf-typef-execgrep-Hnsqlserver{};>>$RESULT_KEY2>&1
#findthekeyword--mysql
echo-e"33[32mIncludethekeyword--mysqlInfo33[0m">>$RESULT_KEY
find/-maxdepth4-name*.my.cnf-typef-execgrep-Hnmysql{};>>$RESULT_KEY2>&1
#findfilesthatweremodifiedwithin72hours
echo-e"33[32mweremodifiedwithin72hoursfileInfo33[0m">>$RESULT_KEY
find/-name"*.*"-ctime-2>>$RESULT_KEY2>&1
#findtheSUIDfilewithrootaccess
echo-e"33[32mtheSUIDfilewithrootaccessInfo33[0m">>$RESULT_KEY
find/-uid0-perm-4000-typef>>$RESULT_KEY2>&1
if[[$?-eq0]]
then
echo>>$RESULT_KEY
echo-e"33[31mGather33[0mfindkeywordinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mfindkeywordinfo......33[31mFAILED33[0m"
fi
}
#commonmode
funsip()
{
#releaseinformation
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mReleaseInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/*-release>>$RESULT_FILE2>&1
cat/proc/version>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mreleaseinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mreleaseinfo......33[31mFAILED33[0m"
fi
#ifconfig
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mIPAddressInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
ipaddressshow>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mipaddressinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mipaddressinfo......33[31mFAILED33[0m"
fi
#arp
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mArpInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
arp-v>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0marpinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0marpinfo......33[31mFAILED33[0m"
fi
#route
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mRouteInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
route-v>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mrouteinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mrouteinfo......33[31mFAILED33[0m"
fi
#/etc/passwd
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSystemPasswdFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
if["$userinfo"]
then
echo-e"
$userinfo">>$RESULT_FILE2>&1
else
:
fi
hashesinpasswd=`grep-v'^[^:]*:[x]'/etc/passwd2>/dev/null`
if["$hashesinpasswd"]
then
echo-e"e[00;33mItlookslikewehavepasswordhashesin/etc/passwd!e[00m
$hashesinpasswd">>$RESULT_FILE2>&1
else
:
fi
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/passwd......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/passwd......33[31mFAILED33[0m"
fi
#/etc/shadow
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSystemShadowFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/shadow>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/shadow......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/shadow......33[31mFAILED33[0m"
fi
#/etc/sudoers
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSystemSudoersFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/sudoers2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/sudoers......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/sudoers......33[31mFAILED33[0m"
fi
#compgen
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mUserexecutablecommandsFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
compgen-c>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mUserexecutablecommands......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mUserexecutablecommands......33[31mFAILED33[0m"
fi
#passwordpolicyinformation
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mPasswordpolicyInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/login.defs2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/login.defs......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/login.defs......33[31mFAILED33[0m"
fi
#/root
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mChecksroothomedirectoryInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
ls-ahl/root/>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mroothomedirectory......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mroothomedirectory......33[31mFAILED33[0m"
fi
#netstat
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mNetStatus33[0m">>$RESULT_FILE
echo-e"33[36m------------------TCP---PORT------------------------33[0m">>$RESULT_FILE
netstat-antp>>$RESULT_FILE2>&1
echo-e"33[36m------------------UDP---PORT------------------------33[0m">>$RESULT_FILE
netstat-anup>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mnetstat......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mnetstat......33[31mFAILED33[0m"
fi
#process
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mProcessInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
psaux>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mprocessinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mprocessinfo......33[31mFAILED33[0m"
fi
#services
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mServicesInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/services2>/dev/null|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mservicesinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mservicesinfo......33[31mFAILED33[0m"
fi
#iptables
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mIptablesInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
iptables-nL>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0miptablesinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0miptablesinfo......33[31mFAILED33[0m"
fi
#bashenv
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mBashEnv33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mcurrentuser33[0m">>$RESULT_FILE
echo-e"33[36m-----------------------33[0m">>$RESULT_FILE
envinfo=`env2>/dev/null|grep-v'LS_COLORS'2>/dev/null`
if["$envinfo"]
then
echo-e"
$envinfo">>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
else
:
fi
cat~/.bashrc2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo$PATH>>$RESULT_FILE2>&1
echo-e"33[36m-----------------------33[0m">>$RESULT_FILE
echo-e"33[32msystemenvprofile33[0m">>$RESULT_FILE
echo-e"33[36m-----------------------33[0m">>$RESULT_FILE
cat/etc/profile2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mbashenv......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mbashenv......33[31mFAILED33[0m"
fi
#commandhistory
HISTFILE=~/.bash_history
exportHISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:"`whoami`":"
set-ohistory
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mCommandHistory33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
history>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat$HISTFILE>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mcommandhistory......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mcommandhistory......33[31mFAILED33[0m"
fi
#userlogininfo
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mLoginInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
w>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
last>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
lastlog>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mlogininfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mlogininfo......33[31mFAILED33[0m"
fi
#hosts
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mHostsInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
find/etc/home-typef(-name"*.rhosts"-o-name"*.equiv")>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/hosts>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mhostsinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mhostsinfo......33[31mFAILED33[0m"
fi
#fstab
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mMountInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/fstab>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/fstab......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/fstab......33[31mFAILED33[0m"
fi
#sshauthkeyconfig
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSSHAuthKeyConfig33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
sshfiles=`find/(-name"id_dsa*"-o-name"id_rsa*"-o-name"known_hosts"-o-name"authorized_hosts"-o-name"authorized_keys")-execls-la{}2>/dev/null;`
if["$sshfiles"];then
echo-e"e[00;31mSSHkeys/hostinformationfoundinthefollowinglocations:e[00m
$sshfiles">>$RESULT_FILE2>&1
echo-e"
">>$RESULT_FILE2>&1
else
:
fi
if[-d"${SSH_DIR}"]
then
foriin`ls-1${SSH_DIR}>>$RESULT_FILE2>&1`
do
cat${SSH_DIR}${i}>>$RESULT_FILE2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0msshauthkey......33[32mOK33[0m"
else
echo-e"33[31mGather33[0msshauthkey......33[31mFAILED33[0m"
fi
else
echo-e"33[31mGather33[0msshauthkey......33[31mFAILED33[0m"
echo-e"33[31m.sshNosuchfileordirectory33[0m">>$RESULT_FILE
fi
#crontab
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mCrontabConfig33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
ls-al/etc/cron*>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/rc.local>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cut-d":"-f1/etc/passwd|xargs-n1crontab-l-u>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
if[-d"${CON_DIR}"]
then
foriin`ls-1${CON_DIR}>>$RESULT_FILE2>&1`
do
cat${CON_DIR}${i}>>$RESULT_FILE2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mcrontab......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mcrontab......33[31mFAILED33[0m"
fi
else
echo-e"33[31mGather33[0mcrontab......33[31mFAILED33[0m"
echo-e"33[31mNosuchfileordirectory33[0m">>$RESULT_FILE
fi
}
#getopts
#./gather-t10-s
whilegetoptsshtaARGS
do
case$ARGSin
s)
#commonmode
funsys
funsip
;;
a)
#all
funsys
funsip
funtree
funkey
;;
k)
#key
funsys
funkey
;;
t)
#dirstruct
funsys
funtree
;;
h)
#help
echo"CommonMode:-s"
echo"FullMode:-a"
echo"DirTreeMode:-t"
echo"FindKeywordMode:-k"
usage
;;
*)
#paramerror
echo"$1isnotanoption"
usage
;;
esac
done
Footer
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Linux
+關注
關注
87文章
11509瀏覽量
213673 -
服務器
+關注
關注
13文章
9786瀏覽量
87900
原文標題:【收藏】Linux服務器信息收集工具,附腳本!
文章出處:【微信號:釋然IT雜談,微信公眾號:釋然IT雜談】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
如何配置Linux防火墻和Web服務器
在當今數字化時代,網絡安全顯得尤為重要。Linux作為一種開源操作系統,廣泛應用于服務器管理和網絡配置中。本篇文章將詳細介紹如何配置Linux防火墻和Web服務器,確保內網與外網的安全

服務器數據恢復—Linux系統服務器崩潰的數據恢復案例
服務器數據恢復環境:
linux操作系統服務器中有一組由4塊SAS接口硬盤組建的raid5陣列。
服務器故障:
服務器工作過程中突
如何在Linux中配置DNS服務器
本文詳細介紹了如何在Linux中配置DNS服務器,包括DNS工作原理、本地緩存、DNS查詢過程,以及正向和反向查詢的配置。步驟包括服務器配置、編輯BIND配置文件、添加解析信息和客戶端

服務器數據恢復—linux操作系統云服務器數據恢復案例
某ECS網站服務器,linux操作系統+mysql數據庫。mysql數據庫采用innodb作為默認存儲引擎。
在執行數據庫版本更新測試時,操作人員誤誤將在本來應該在測試庫執行的sql腳本在生產庫上執行,導致生產庫上部分表被tr

Linux 服務器檢查以及常用運維 shell 命令
前言 今天帶來的內容是在華為云主機 Flexus 云服務器 X 實例上操作,玩轉一些 Linux 腳本以及安裝 JDK。比如:檢查系統環境、安裝 JDK、使用 mkdir/touch 命令創建

Flexus 云服務器 X 實例實踐:安裝 Ward 服務器監控工具
了強大而靈活的計算能力。而在系統運維管理方面,Ward 這一專為 Linux 系統打造的監控工具功能強大,當我們將其安裝在華為云 Flexus 云服務器 X 實例上時,又會擦出怎樣的火花呢? 一、Flexus 云

termius如何使用,termius如何使用的過程,linux服務器遠程連接的實用教程
? ?? ? ?隨著技術的不斷進步,服務器遠程連接技術也在不斷提升其性能和安全性,以滿足企業日益增長的需求。本文將和大家一起討論termius如何使用的過程以及Linux遠程桌面

如何在Linux系統上設置站群服務器IP地址
在Linux系統上設置站群服務器的IP地址,可以通過以下步驟進行,主機推薦小編為您整理發布如何在Linux系統上設置站群服務器IP地址。
如何使用 Mobaxterm 建立 Linux 服務器連接
不同的會話類型。為了連接到 Linux 服務器,你可以選擇以下會話類型之一: SSH :用于安全地連接到遠程服務器。 Telnet :不安全的連接方式,不推薦使用,
服務器數據恢復—Linux網站服務器硬盤出現壞扇區的數據恢復案例
服務器數據恢復環境:
一臺linux操作系統網站服務器,該服務器上部署了幾十個網站,使用一塊SATA硬盤。
服務器故障&原因:
如何優化Linux服務器的性能
優化Linux服務器的性能是一個綜合性的任務,涉及硬件、軟件、配置、監控等多個方面。以下是一個詳細的指南,旨在幫助系統管理員和運維人員提升Linux服務器的性能和穩定性。
Linux服務器性能查看方法
Linux服務器性能查看是系統管理員和開發人員在日常工作中經常需要進行的任務,以確保系統穩定運行并優化資源使用。以下將詳細介紹多種Linux服務器性能查看的方法,這些方法涵蓋了CPU、
服務器數據恢復—xfs文件系統服務器數據恢復案例
某公司一臺服務器,連接了一臺存儲。該服務器安裝linux操作系統,文件系統為xfs。
在運行過程中該服務器出現故障,管理員使用xfs_repair
在Linux服務器上使用IAR Build Tools實現DevOps和CI/CD
Linux服務器上使用IAR工具,IAR于2020年推出了可以在Linux服務器上運行的IAR Build Tools。IAR Build

評論