所有链接到本机的IP
netstat -nut | awk '$NF=="ESTABLISHED" {print $5}' | cut -d: -f1 | sort -u
关闭当前shell会话的历史记录
HISTFILE=/dev/null
输出完全路径的ls (做法有点诡异)
tar -cvf /dev/null . | while read i; do ls -l $i; done
巨大的hello world
paste < (banner hello,\ ) <(banner world)
按任意键继续
echo -n "Press any key to continue..." && read
忽略前2行
tail -n +2 foo.txt
获取X11桌面的屏幕分辨率
RES=`xrandr | grep '*' | sed 's/\s*\([0-9x]*\).*/\1/'`; echo $RES
获取ip
ifconfig eth0|awk '/HWaddr/{gsub(/:/,"",$5);print $5}'
今天高亮的日历
cal | grep --before-context 6 --after-context 6 --color -e " $(date +%e)" -e "^$(date +%e)"
列出归属于user的用户的进程和线程
$ ps -LF -u user
获取你登陆到此的源主机
who -m | sed 's/.*(\(.*\)).*/\1/'
显示当前目录的权限直到 / (可以用来检查x权限)
dir=$(pwd); while [ ! -z "$dir" ]; do ls -ld "$dir"; dir=${dir%/*}; done; ls -ld /
清除空行
sed -i.bak '/^[[:space:]]*$/d' file_name
查看打开的端口
lsof -Pn | grep LISTEN
查看你的CPU是否支持64位模式
grep -q ' lm ' /proc/cpuinfo; [ $? -eq 0 ] && echo '64bit supported'
看看最常用的命令
history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -r
把文件中的换行符(\n)去掉
cat myfile.txt | tr -d '\n'
在linux服务器上查看oracle实例的进程号
ps- ef | grep pmon
在linux服务器上查看oracle实例的进程号
ps- ef | grep
假装很忙的样子
j=0;while true; do let j=$j+1; for i in $(seq 0 20 100); do echo $i;sleep 1; done | dialog --gauge "Install part $j : `sed $(perl -e "print int rand(99999)")"q;d" /usr/share/dict/words`" 6 40;donepmon
查找重复的文件
fdupes -r .
显示所有ipv4
ip -o -4 a s
列出归属于user的用户的进程和线程
$ ps -LF -u user
猜数字游戏
A=1;B=100;X=0;C=0;N=$[$RANDOM%$B+1];until [ $X -eq $N ];do read -p "N between $A and $B. Guess? " X;C=$(($C+1));A=$(($X$N?$X:$B));done;echo "Took you $C tries, Einstein";
查看哪些程序开那些端口
netstat -tlvp
释放swap
free -m | awk '/Swap/ {print $4}'
显示倒数100行
tail /var/log/auth.log -n 100
测试硬盘的写速度
time dd if=/dev/zero of=TEST bs=4k count=512000
从一个文件中删除所有不可打印字符
tr -d '\001'-'\011''\013''\014''\016'-'\037''\200'-'\377' fileout
时钟
while [ 1 ] ; do echo -en "$(date +%T)\r" ; sleep 1; done
修改屏幕分辨率
xrandr -s 1280x1024
计时器
i=$((15*60)); while [ $i -gt 0 ]; do clear; echo $i | figlet; sleep 1; i=$(($i-1)); done;
内存统计
sar -r
监视最近运行的命令
history
带进度条的复制命令
copy(){ cp -v "$1" "$2"&watch -n 1 'du -h "$1" "$2";printf "%s%%\n" $(echo `du -h "$2"|cut -dG -f1`/0.`du -h "$1"|cut -dG -f1`|bc)';}
获知圆周率前66位的(英文)读法
pi 66 | number
显示自己在那个shell上
ps -p $$
变量自增
((x++))
打印50个-
echo - | sed -e :a -e 's/^.\{1,50\}$/&-/;ta'
显示所有用户的crontab定时任务
for i in /var/spool/cron/tabs/*; do echo ${i##*/}; sed 's/^/\t/' $i; echo; done
转载请注明:茶话汇 » 系列·Linux精选命令行(第1期)