查杀僵尸进程的父ID
ps -ef | grep defunct | more
ps -A -o stat,ppid,pid,cmd |grep -e "^[Zz]"|awk ‘{print $2}‘|xargs kill -9
按端口杀进程
kill -9 `netstat -nlp | grep :3366 | awk '{print $7}' | awk -F"/" '{ print $1 }'`
按进程名
ps -ef|grep smkernel-boot|awk -F ' ' '{print $2}'|xargs kill -9
在指定目录中查找用户root的文件
find /home/gsmc -user root -exec ls -l {} \;
#浏览当前目录中文件的绝对路径
ls | sed "s:^:`pwd`/: " #浏览当前目录中文件的绝对路径
ls | sed "s:^:`pwd`/: "|xargs file #查看文件的类型
find ./ -type f | sed "s:^:`pwd`/:" | sed "s:\./::" |xargs file #查找文件中所有文件类型
find ./ -type f | sed "s:^:`pwd`/:" | sed "s:\./::" |xargs file|grep ELF #当前目录下文件类型为二进制文件
find ./ -type f | sed "s:^:`pwd`/:" | sed "s:\./::" |xargs file|grep ELF #当前目录下文件类型为二进制文件
如果crontab日志提示有类似报错MAIL (mailed 70 bytes of output but got status 0x007f#012)
大多为任务的格式不合法,或权限问题(包括相关文件的权限)
取日期时间
DATE=`date +%F | sed 's/-//g'``date +%T | sed 's/://g'`
echo $DATE
全部数据库备份
mysqldump -uroot -p --all-databases > all_$DATE.sql #备份所有数据库
#mysqldump -uroot -p --all-databases < all_$DATE.sql
远程访问SYBASE导出表数据
export DISPLAY=:0
dbisql -c "dbf=/<path>/database/db.db;uid=XX;pwd=XX" -host 0.0.0.0 -port 2638 -nogui "select * from table1; output to /oprinfor.txt format ASCII;\commit;"
linux卸载分区,停止正在使用的分区下文件的进程
fuser -m -k /dev/sda5 #停止
fuser -m -v /dev/sda5 #查看
umount /dev/sda5 #卸载
#mkfs.ext3 /dev/sda5 #格式化
排除目录
ls |grep -v home|grep -v run|grep -v tmp|grep -v sbin|grep -v iso|grep -v mnt|xargs cp -rfv {} /tmp \;
basename /路径/文件 #返回文件名
dirname /路径/文件 #返回路径
touch {a..b}{1..2} #快捷创建文件a1 a2 b1 b2
/usr/bin/bash #shell bang
/usr/bin/env bash #shell bang
./sh.sh #子shell执行[常规]
(sh sh.sh) #子shell执行
. sh.sh #当前shell
source sh.sh # 当前shell
rpm -qc bash #查看shell 的配置文件
usermod #修改用户信息
su user1 #nologin shell
su - user1 #login shell
type -a #查看是否为shell 内部命令
echo -e "\e[1;31m ssss \e[0m" #命令行改变颜色,\e=\033,前景3开头 ,背景4开头
alias #查看已定义别名
unalias vi #取消别名定义
cp aa bb #使用别名
\cp file1 file2 #加\代表跳过cp别名
python在shell脚本里运行
#!/usr/bin/env bash
echo "shell 里使用python"
python <<-EOF
print "python in shell script"
EOF
echo "end"
查看UUID
lsblk|grep part|cut -d '/' -f 5 |grep -v part
将原有UUID写会到分区
tune2fs -U c1b9d5a2-f162-11cf-9ece-0020afc76f16 /dev/sdc1
查看存储UUID
ls -l /dev/disk/by-uuid/
用UUID挂载U盘(UUID在多台电脑上是不变的)/dev/sdX是会变化
mount UUID=xxx /mnt/usb1
查看已挂载的文件系统类型
df -T
查看未挂载的文件系统类型
lsblk -f /dev/sd*
产看文件系统的超级块信息
tune2fs -l /dev/sd*
tcp_Wrappers防火墙 该服务支持tcp_Wrappers防火墙
即该服务应用了libwrapped库文件
查看某服务(如ssh)是否应用了libwrapped库文件的方法是:
# ldd /usr/sbin/sshd |grep libwrap.so.0
>aa.txt #新建文件aa.txt
shell里的与或非
-a -o !
sh ip.sh
kill -9 `ps -ef |grep ip.sh|grep -v grep|cut -d " " -f 6` #杀除ip.sh脚本进程
执行远程服务器上命令
ssh root@xxx.xxx.xxx.xxx 'ls -l /'
带参数本地脚本
ssh root@xxx.xxx.xxx.xxx 'bash -s' < test.sh helloworld
执行远程服务器上的脚本
ssh root@xxx.xxx.xxx.xxx "/home/nick/test.sh"
执行远程服务器上带参数的脚本
指定密码远程执行命令
sshpass -p hnzr ssh root@192.168.1.X "ls /"
sshpass -p 密码 ssh 用户@192.168.1.X "whereis ftp|grep 'ftp'|cut -c1-3 "
su -c与sudo
su -c "ls" 按root执行命令 一次执行,需用root密码
sudo 一次执行需用编辑配置,且能多次执行(普通用户密码)
su - root 权限太大(root密码)
visudo回车即可进入/etc/sudoers
root ALL=(ALL) ALL
在这个下面添加如下即可
user1 ALL=(ALL) ALL
-----------------------------
笔记本电脑触摸板(鼠标)
synclient -l #查看当前触摸板设置
synclient TapButton1=1 #一个手指点击触摸板,表示左键单击 (TapButton1 表示一个手指点击,等于号后面的“1”表示左键,“2”表示中键,“3“表示右键。2,3也有不一样的,以实际为准)
synclient TapButton2=3 #两个手指点触摸板,表示右键单击
synclient touchpadoff=1 #关闭触摸板
synclient VertTwoFingerScroll=1 #表示双指垂直滚动,意思就是两个手指向下划,滚动页面。
挂载nfs
mkdir /mnt/nfs
mount -o v3 xxx.xxx.xxx.xxx:/path/dir /mnt/nfs
cd /mnt/nfs
sed p sshd_config -n #查看文件
sed -n '/search/{p;}' sshd_config #查看符合条件行
sed -n '/PermitTT/{s/no/yes/;p}' sshd_config# 修改符合条件的行
find / -type d -maxdepth 1
查看一层深度下类型为目录的文件
find / -path '/root' -o -path '/boot' -prune -o -print -maxdepth 1 -exec ls -l {} \;
排除两个目录 并执行命令
按目录查找
在当前目录除aa之外的子目录内搜索 txt文件
$ find . -path "./aa" -prune -o -name "*.txt" -print
在当前目录及除aa和bb之外的子目录中查找txt文件
$ find . \( -path "./aa" -o -path "./bb" \) -prune -o -name "*.txt" -print
在当前目录,不再子目录中,查找txt文件
$ find . ! -name "." -type d -prune -o -type f -name "*.txt" -print
yum只下载软件不安装
sudo yum install tigervnc-server --downloadonly --downloaddir=/tmp tigervnc-server
python -m SimpleHTTPServer 8002 可以提供文件服务器
centos7查看开机启动哪些服务:
systemctl list-unit-files