日期:2014-05-16  浏览次数:20764 次

linux shell常用命令总结
1.uname -a 查看服务器位数
2.ifconfig linux 查看ip windows下 是ipconfig

3.ps -aux 中STAT的含义

D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
S+说明程序在后台运行,位于后台的进程组
4.shell wget php fopen

5.
sar -u 2 10                  -- 即每隔2秒检察一次,共执行20次。
du -h --max-depth=1  
du -sh /root 只显示目录大小总和
6.改变目录权限 chown auto_analtmp_user:auto_analtmp_user ./project


7.rz sz  命令上传下载文件 freebsd 是lrz lsz


8./usr/local/sbin/proftpd  不同类型ftp重启不一样

9.vipw 更改ftp账号目录,freebsd不能用这个方法

10.sort
sort |uniq -c | sort -nr|head -20

gzip 1.txt 压缩文件
gzip -c filename >filename.gz
gunzip 1.gz 解压文
gunzip –c filename.gz > filename

tar 可以把很多文件和目录打包
tar -czf all.tar.gz *.jpg
tar -zcf games.tgz /deal/getAndroidInfo/resultDir/games 将目录压缩打包
tar -xzf games.tgz
11.四则运算
index=`expr ${index} + 1`

sinaAllPV=$(($sinaAllPV+$DPV))

12.获取本地ip
LOCAL_IP=`ifconfig | awk '/inet/{print $2;exit}'`
13.
find
find ./ -type f | xargs ls |wc -l  不会出现 bash: /bin/ls: Argument list too long
find ./ -name "*" | xargs cat | awk -F'\t' '{if($3~/^http:\/\/live.video.sina.com.cn\/room\/nba/){print substr($1,1,10)}}' | sort | uniq -c
find ./auto_newshome/  -name "clickstream.20120212*" -type f |xargs mv --target-directory=/data4/etl_tmp_bak/${domainName};
删除历史文件:find ${workDir}/* -mtime +15 -type f -exec rm -rf {} \;

find /download/logs/  -name "*.gz" -mtime +15 -type f -exec rm -rf {} \;
find /usr/local/website/ky_transfer_hotsearch_word/files/statistic/  -name "*.txt" -mtime +15 -type f -exec mv {} /download/bak/jiangfeng_result/ \;

14.ftp 账号要注意跟文件的权限问题

15.cat -A 能看到文件全部
16.dos2unix 1.txt 将文件转化成unix格式
vi 看到文件里的^M,可以用tr -d "\015"
17.符号链接ln
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
-f 建立时,将同档案名删除.
ln -s abc cde 建立abc 的软连接
ln abc cde 建立abc的硬连接
18.while do
        while [ ${PSNUM} -gt 6 ]
        do
                sleep 10
                PSNUM=`ps axuw|grep sort_singer_uvuip.sh | grep -v "grep" | wc -l`
        done

19.:%s/old/new/g vi 替换命令
20.lp 是打印的意思
21.shell 选项传参示例
while getopts :UCDPAh:u:p:r:l:b:t:f: OPTION
do
case ${OPTION} in
h)
  REMOTE_IP=${OPTARG}
  ;;
u)
  USER=${OPTARG}
  ;;
p)
  PSWD=${OPTARG}
  ;;
r)
  REMOTE_DIR=${OPTARG}
  ;;
l)
  LOCAL_DIR=${OPTARG}
  ;;
b)
  BACKUP_DIR=${OPTARG}
  ;;
t)
  FILE_TYPE=${OPTARG}
  ;;
f)
  FILE_LIST=${OPTARG}
  ;;
U)
  METHOD="upload"
  ;;
D)
  METHOD="download"
  ;;
P)
  CONN_MODE="passive on"
  ;;
A)
  TRAN_MODE="ascii"
  ;;
C)
  CLEAN="true"
  ;;
\?)#show usage
  error "${PS_FULLNAME} -[U(pload) D(ownload)] -[C(lean)] -[P(assive)] -[A(scii)] -[h host] -[u user] -[p password] -[r remote path] -[l local path] -[b backup path] -[t filetype] -[f file list]."
  ;;
esac
done
22.grep -v 是匹配不包含的所有行,-i不区分大小写搜索。

23.shell export 是变量输出,可以在子进程中使用该变量,既系统变量,export a=1,declare声明变量数据类型,例如declare