检查shell语法错误
sh -n filename
shell 运行跟踪
sh -vx ***.sh
stat filename查看文件信息
sed -i 's\a\b\g'
查询启动时间: uptime
清空路由表缓存
ip route flush cache
或者:
sysctl -w net.ipv4.route.flush=1
对整个目录下所有文件执行unix2dos
find . -type f -exec unix2dos {} \;
在当前目录下查找所有链接文件并删除
find . -type l -exec rm -rf {} \;
用grep命令在当前目录下的所有普通文件中搜索hostnames这个词:
find . -name \* -type f -print | xargs grep "hostnames"
启动输入法
ibus-daemon -d
查看当前目录磁盘空间
du -sh
生成大文件
dd if=/dev/zero of=/home/foobar bs=1K count=10000
查看当前进程ID
echo $$
查看进程信息
ps -o pid,ppid,pgrp,session,tpgid,comm | cat
查看库依赖关系
ldd
生成ssh秘钥
ssh-keygen -t rsa
ssh详细信息
ssh -vvv
[email protected]
ssh 默认日志输入路径 /var/log/audit
查看apache httpd server版本
apachectl -v
查看硬件信息
lshal | grep "smbios\.system\."
Base64解码
echo -n V2UwbTZtSWNScw== | base64 -d
umask 是通过八进制的数值来定义用户创建文件或目录的默认权限。umask 表示的是禁止权限。不过文件和目录有点不同。
对于文件来说,umask 的设置是在假定文件拥有八进制666权限上进行,文件的权限就是是666减去umask的掩码数值;
对于目录来说,umask 的设置是在假定文件拥有八进制777权限上进行,目录八进制权限777减去umask的掩码数值;
查看防火墙规则
iptables -L -n
配置文件路径:/etc/sysconfig/iptables
删除规格
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
配置接口IP
ifconfig eth0:0 192.168.10.5 broadcast 192.168.10.5 netmask 255.255.255.255 up
查看文件由哪个进程打开
lsof
查看端口由哪个进程占用
lsof -i:8080
pvdisplay - display attributes of a physical volume
ubuntu修改服务启动级别,类似与chkconfig
sudo sysv-rc-conf
查看dd命令的进度
kill -USR1 `pgrep ^dd`
每隔1秒执行一个命令
watch -n1 'command'
统计代码行
$ find source_code_dir_path -type f -name "*.c" -print0 | xargs -0 wc -l
如何得到文件中的某一行?
MyString=$(YourCommand | sed -n -e '10p')
杀掉所有jboss进程
ps -ef | grep jboss | grep -v grep | awk '{print $2}' | xargs kill -s 9
Bind Mount the /var/tmp directory to /tmp
mount --bind /tmp /var/tmp
edit the /etc/fstab file to contain the following line:
/tmp /var/tmp none bind 0 0
取IP地址
ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk 'BEGIN { FS=":" } { print $2 }'
ifconfig eth0 | egrep -o "inet addr:[^ ]*" | grep -o "[0-9].*"
find . -name *.pl | xargs grep trap
生成秘钥
openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 512
更改优先级
nice -n 10 bash
如果是超级用户,则-n后面的值可以为负数:-20<=x<=19
如果您正好启动了一个进程,但意识到它应该以不同的优先级运行,那么有一种方法可以在启动之后对其进行更改,即使用 renice命令。您可以为进程指定一个绝对优先级(不是调整值)
renice +x PID
x指的是一个数字,PID为需要指定的进程的PID值
终端间对话
write admin pts/1
广播消息
wall "I will shutdown my linux server..."
ubuntu打开升级工具
sudo update-manager -d
rpm -Uvh --replacefiles --force --nodeps *.rpm
按用户指定方式查看文件
hexdump -c /tmp/test.txt
抓取本机8888端口内部通信报文
tcpdump -p -vv -s 0 -i lo port 8888 -w /tmp/a.pcap
抓ICMP echo request(请求包):
tcpdump -i eth1 'icmp[0]=8'
抓ICMP echo reply (回应包):
tcpdump -i eth1 'icmp[0]=0'
改密码
echo "admin:abc123" | chpasswd
# yum交互命令行
yum shell
查询内存、swap空间大小
cat /proc/meminfomyslq
查找最近30分钟改过的的文件,按时间排序
find . -name "*" -type f -mmin -30 | xargs ls -lt
在线扩展逻辑卷
lvextend -L +100M /dev/jmpvgnocf/lvtmp
Rounding up size to full physical extent 128.00 MB
Extending logical volume lvtmp to 97.78 GB
Logical volume lvtmp successfully resized
解压rpm
rpm2cpio xxx.rpm | cpio -div
编译srpm
rpm ivh ***.srpm
rpmbuild -bb /usr/***path/*.spc
或者
rpmbuild --rebuild /tmp/mypackage-1.0.0-1.src.rpm
排除某个文件,删除其余
find /var/chroot/mysql/* -maxdepth 0 -name '[^var]*' -exec rm -rf {} \;
终端输错密码,修改而不需要重新输入,backspace无效
ctrl+U
查看spec脚本
rpm -q --scripts MySQL-server-advanced-5.6.20-1.rhel5
查看linux发型版本
lsb_release -a
批量替换很多文件中的字符串
grep -rl "3.2.2-SNAPSHOT" *|xargs -i sed -i 's/3.2.2-SNAPSHOT/3.2.2-alpha.1/g' "{}"