基础学习-工作

   #使用ftp nlist提取校验文件
   ftp -i -n ${IP_ADDR} ${PORT} <<END_FTP
   
   user ${USER_NAME} ${PASSWORD}
  
##nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。

   cd ${REMOTE_CHECK}
   nlist ${REMOTE_CHECK}/${CHECK_PATTERN} ${TMP_PATH}/${INTER_ID}_${DATA_DATE}.tmp
   bye
END_FTP

 

  #链接接口文件到链接目录中
  ln -fs ${DEST_DIR}/${FILE_PATTERN} ${LINK_FILE}

 

-s  file 文件非0真

#判断校验文件是否为空,如果为空返回错误2010-01-20新增
if [ ! -s ${inter_path}/${file_verf} ]

 

#判断校验文件是否能打开
if [ ! -r ${inter_path}/${file_verf} ]

 

   #判断日期长度是否为6、8或10
   if [ ${str_length} -eq 6 -o ${str_length} -eq 8 -o ${str_length} -eq 10 ]
--其中 -o 相当于 or

$? 执行指令返值 (显示命令退状态0表示没错误其任何值表明错误)

   if [ $? -eq 1 ]

 

awk命令中的
NF:每一行拥有的字段总数
NR:目前awk所处理的是‘第几行’数据
FS:目前的分隔字符

 

可以用“cal”命令打印当年的年历看看
   cal ${month} ${year}
输出当月的日历
   #判断年月是否合法

 #当月最后一天的日期
last_day=$(cal ${month} ${year}|sed '/^$/d'|tail -1|awk '{print $NF}' )
      
cal ${month} ${year}打印出当前月的日历;
cal ${month} ${year}|sed '/^$/d':将当前月的日历中以^结尾的行
cal ${month} ${year}|sed '/^$/d'|tail -1:将当前月的日历中以^结尾的行之后找到最后一行
NF 当前行的域数,即按照空格或者tab 键分有多少个字段数
$NF 即为当前行的最后一个域值
$(cal ${month} ${year}|sed '/^$/d'|tail -1|awk '{print $NF}' ) 即为输出当前月的最后一天

 

grep -w word 文件名:精确匹配,匹配单词还不是字符串,如想匹配“is”,”this”就不会被匹配
//-r/-R选项是递归搜索, 查找你搜索的目录或子目录下的所有含有某个你要找的文件

 

$0 程式执行名字
$n 程式第n参数值n=1..9
$* 程式所参数,选项参数超9
$# 程式参数数
$$ 程式PID(脚本运行前进程ID号)
$! 执行背景指令PID(台运行进程进程ID号)
$? 执行指令返值 (显示命令退状态0表示没错误其任何值表明错误)
$- 显示shell使用前选项与set命令功能相同
$@ 跟$*类似作数组用

 

查找cpu前十的进程
先执行:export UNIX95=
在执行:ps -Ao pcpu,pid,comm | sort -nr -k 1 | head -10

find . -ctime +30:找到30天之前创建的文件;
find . -ctime +30 -exec \mv -f {} ../tmp/ \
:找到30天之前创建的文件后并将其移至../tmp/目录下;

find ./ -name "*20140917*" -exec `rename 20140917 20140922 *20140917*` {} \;
find / -name '*.sh' --查找根目录下包含的所有sh文件


mkdir -p 201408{01..10}/day


转换文件编码:
piconv -f UTF-8 -t GBK filename > 新文件名
-f 原编码
-t 想要转变后的编码

1:查看文件编码:
file 文件名:
例如:file cy_201401_201503_01.txt
2:转码并输出到新文件:
piconv -f ASCII -t GB2312 report_order_avail_2014_result.txt > report_order_avail_2014.dat

piconv [-f from_encoding] [-t to_encoding] [-s string] [files...]
piconv -l
piconv -r encoding_alias
  -l,--list
     lists all available encodings
  -r,--resolve encoding_alias
    resolve encoding to its (Encode) canonical name
  -f,--from from_encoding 
     when omitted, the current locale will be used
  -t,--to to_encoding   
     when omitted, the current locale will be used
  -s,--string string        
     "string" will be the input instead of STDIN or files
The following are mainly of interest to Encode hackers:
  -D,--debug          show debug information
  -C N | -c           check the validity of the input
  -S,--scheme scheme  use the scheme for conversion
Those are handy when you can only see ascii characters:
  -p,--perlqq
  --htmlcref
  --xmlcref

dos2unix filename

 


ln命令:
ln [-s] source_path target_path

link分硬连接和软连接
ln -s /aaa/bbb/ccc .  是软连接

ln /usr/src/linux  ~/linuxsource  这个是硬连接

(1)软链接可以跨越文件系统 ,硬链接不可以 。
(2)软链接可以对一个不存在的文件名进行链接。
(3)软链接可以对目录进行链接。

shell中如何判断存在并且是一个链接文件?如何创建一个链接文件?
if [ -h filename ]
ln ./day/i_10000_20150115_VGOP1-R2.13-75301_00.verf ./link75301verf
#创建链接文件;把./day目录下i_10000_20150115_VGOP1-R2.13-75301_00.verf文件链接到当前目录下,并创建文件,文件名为link75301verf


java -cp .;c:\dir1\lib.jar Test
-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”

引用当前路径和jar包,执行test类;

shell中如何计算4乘以5:
expr 4 \* 5

 

查看系统时间:
date

系统时间修改:
date -s '20150616 12:01:00'


EOF意思:END OF FILE
格式:
命令  <<EOF
内容段
EOF

将‘内容段’整个作为命令的输入。
其实不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以来代替EOF,只是一个起始和结束的标志罢了
其中连接数据库后最好写上退出语句(\q)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值