日期:2014-05-16 浏览次数:20730 次
?
1.dirname命令可以取给定路径的目录部分(strip non-directory suffix from file name) # 跳转到脚本所在目录 cd $(dirname "$0") 另一个写法是:cd `dirname $0` 其中反引号··等同于$()。
2.输出到屏幕同时到文件 tree . | tee test.log
3.备份压缩 tar -czvf gzip格式压缩 tar -xzvf gzip格式解压 tar tvf 查看归档文件里包含哪些文件 c -> 创建 x->还原 z->gzip v->显示文件信息 f->指定文件 C->解压到指定目录 X->排除 使用zip命令的P选项来加密zip文件 zip -P mysecurepwd var-log-protected.zip /var/log/* 不会想让密码在History中可见 zip -e var-log-protected.zip /var/log/* 检查zip文件的完整性 unzip -t var-log.zip
4.时间格式 TIME=`date +%Y-%m-%d\ %H:%M:%S`
5.复制 CP -a :相当于 -pdr 的意思; -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; -i :若目的n(destination)已经存在时,在覆盖时会先询问是否真的动作! -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; -p :连同档案的属性一起复制过去,而非使用预设属性; -r :递归持续复制,用于目录的复制行为; -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; -u :若 destination 比 source 旧才更新 destination ! \cp: 不询问,直接覆盖
6.删除 RM -d : 删除可能仍有数据的目录 (只限超级用户) -f : 略过不存在的文件,不显示任何信息 -i : 进行任何删除操作前必须先确认 -r : 同时删除该目录下的所有目录层 -v : 详细显示进行的步骤 #删除除**之外的 rm -rf !(a|b)
7.查找 find -ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写 -name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写 -size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。 -type c : 档案类型是 c 的档案。 d: 目录 c: 字型装置档案 b: 区块装置档案 p: 具名贮列 f: 一般档案 l: 符号连结 s: socket -pid n : process id 是 n 的档案 #查找并执行删除 find $DIR -name ".svn" -exec rm -rf {} \; # 为你想要找的字符串 find . -name "*" -exec grep xxx {} ; -print |more xxx
8.纠错 shopt 例子:shopt -s extglob http://world77.blog.51cto.com/414605/336147
9.改变字符大小写 tr a-z A-Z < filepath
10.cut 显示一个以冒号分隔的文件中的第一列和第三列 $ cut -d: -f 1,3 names.txt 显示文件中每行的前八个字符$ cut -c 1-8 names.txt
11.随机数 $RANDOM可以产生0-32767之间随机数
12.脚本调试 bash -xv filename.sh
13.将数据文件的指定域读取到shell脚本中 $ vi read-employees.sh #!/bin/bash IFS=: while read name empid dept do echo "$name is part of $dept department" done < ~/employees.txt
14.安装 rpm -ivh file.rpm apt-get install samba
15.mount# mount -t nfs -o hard 192.168.1.4:/home/cao /home/nfs/cao fat32: mount -t vfat -o iocharset=gb2312,codepage=936 /dev/hda? /mnt/win ISO: mount -o loop /any.iso /mnt/iso NTFS: mount /dev/hda? /mnt/win 这个还需要编译内核 USB: mount /dev/sda? /mnt/usb 不编译内核mount NTFS分区的办法: 下载 kernel-ntfs-2.4.18-14.i686.rpm 安装 mount -t ntfs /dev/hda? /mnt/win 要开机自动挂接可以修改/etc/fstab 比如添加一个 /dev/hda? /mnt/win vfat umask=0,iocharset=gb2312,codepage=936 0 0
cat /proc/loadavg 查看运行队列情况
16.grep grep -? pattern filename 查询匹配行的上下?行 grep -n pattern filename 显示匹配行的行号 grep -v pattern filename 反检索 grep -E pattern filename 扩展模式,不需要转义
17.sed sed [option] 'command' file sed '?,$d' filename 删除第?行至行尾 sed 's/a/b/g' 整行a替换为b sed 's/a/&b/g' 替换a为自己加b sed -e 多点编辑
xcopy /ekirydh path path2 >> log
?