取日期:
select add_months(sysdate,-1) from dual
/*************************************** **oracle 日期相关操作 ***************************************/ --求当前年第一天 select trunc(sysdate,'yyyy') from dual; --求当前月第一天 select trunc(sysdate,'mm') from dual; --求当前周第一天 select trunc(sysdate,'d') from dual; --求月天数 select to_char(last_day(sysdate),'dd') from dual; --求年天数 select trunc(add_months(sysdate,12),'yyyy')-trunc(sysdate,'yyyy') nts from dual; --求当前月所在季度 select to_char(sysdate,'q') from dual; --求当天是星期几 select to_char(sysdate,'dy') rq from dual; --求当前周是当月第几周 select to_char(sysdate,'w') rq from dual; --求当前周是今年第几周 select to_char(sysdate,'ww') rq from dual; --求当前季度第一天 select trunc(sysdate,'q') from dual; --列出当月所有日期 select trunc(sysdate,'mm') +rownum-1 from dual connect by rownum<=to_char(last_day(sysdate),'dd'); --列出当年所有日期 select trunc(sysdate,'yyyy')+rownum-1 from dual connect by rownum<=365;
/** ********************************************************************************************************************* */
AS3的反射功能以前做过一下,过一小段时间就忘记了,查了以前的代码才知道。这次把他记录下来。
反射功能:
根据类型名字,能够生成这个类型的对象;或者
根据某个类型对象,生成新的对象,就是”原型(prototype)"的概念。
像C++这类静态语言,实现反射须要外部支持,因为他语言类型本身不支持完整的运行时类型信息。AS3语言支持这类功能。
AS3中通过,describeType(obj:Object) 和getDefinitionByName(name:String) 就可以实现反射。
1. 获取对象名字
如果我们应用已经知道对象名字,这步就不用做了。
var xml:XML = describeType(data); objName = xml.@name;
2. 根据名字生成对象
var ObjClass:Class = getDefinitionByName(objName) as Class; var obj:Object = new ObjClass();
最多就上面两步,就能实现反射了。
一、现象分析
之前在操作U盘时候,出现不能挂载,应该文件系统出现bug。在xp下面也不能格式化。后来在ubuntu下试试,也是不可以挂载。挂载时候报, /dev/sdf4 bad superblock error。
整个尝试流程:
1.检查ext文件系统的正确性
sudo e2fsck /dev/sdf4
结果如下:
e2fsck 1.41.11 (14-Mar-2010)
e2fsck: 超级块无效, trying backup blocks...
e2fsck: Bad magic number in super-block 当尝试打开 /dev/sdf4 时
The 超级块 could not be read or does not describe a correct ext2
文件系统. If the 设备 is valid and it really contains an ext2
文件系统 (and not swap or ufs or something else), then the 超级块
is corrupt, and you might try running e2fsck with an alternate 超级块:
e2fsck -b 8193 <设备>
2.重设superblock
sudo e2fsck -b 8193 /dev/sdf4
显示信息如下:
e2fsck 1.41.11 (14-Mar-2010)
e2fsck: Bad magic number in super-block 当尝试打开 /dev/sdf4 时
The 超级块 could not be read or does not describe a correct ext2
文件系统. If the 设备 is valid and it really contains an ext2
文件系统 (and not swap or ufs or something else), then the 超级块
is corrupt, and you might try running e2fsck with an alternate 超级块:
e2fsck -b 8193 <设备>
这个命令执行没有效果,汗
3.检测
sudo e2fsck -f /dev/sdf4
信息:
e2fsck 1.41.11 (14-Mar-2010)
e2fsck: 超级块无效, trying backup blocks...
e2fsck: Bad magic number in super-block 当尝试打开 /dev/sdf4 时
The 超级块 could not be read or does not describe a correct ext2
文件系统. If the 设备 is valid and it really contains an ext2
文件系统 (and not swap or ufs or something else), then the 超级块
is corrupt, and you might try running e2fsck with an alternate 超级块:
e2fsck -b 8193 <设备>
后来想想干脆格式化得了。
4.格式化,我将其格式成vfat文件系统
sudo mkfs -V -t vfat /dev/sdf4
信息:
mkfs (util-linux-ng 2.17.2)
mkfs.vfat /dev/sdf4
mkfs.vfat 3.0.7 (24 Dec 2009
命令执行没有异常
5.检查vfat文件系统
sudo fsck -a -V -t vfat /dev/sdf4
信息如下:
fsck from util-linux-ng 2.17.2
[/sbin/fsck.vfat (1) -- /dev/sdf4] fsck.vfat -a /dev/sdf4
dosfsck 3.0.7, 24 Dec 2009, FAT32, LFN
/dev/sdf4: 0 files, 1/1957125 clusters
此命令执行OK,U盘正常工作了。
二、关于文件系统一些基本点
用下列命令查看前Linux内核提供了对哪些文件系统的支持
cat /proc/filesystems
如下:
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev debugfs
nodev securityfs
nodev sockfs
nodev pipefs
nodev anon_inodefs
nodev inotifyfs
nodev devpts
ext3
ext2
ext4
nodev ramfs
nodev hugetlbfs
nodev ecryptfs
nodev fuse
fuseblk
nodev fusectl
nodev mqueue
nodev binfmt_misc
vfat
查看/etc/fstab内容,
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/sda1 / ext4 errors=remount-ro 0 1
/dev/sda5 none swap sw 0 0
这个文件描述系统中各种文件系统的信息。一般而言,应用程序仅读取这个文件,而不对它进行写操作。对它的维护是系统管理员的工作。在这个文件中,每个文件系统用一行来描述,在每一行中,用空格或TAB符号来分隔各个字段,文件中以#开头的行是注释信息。Fstab文件中的纪录的排序十分重要。因为fsck,mount或umount等程序在做它们的工作时会按此顺序进行。
三、接下来,列出一些文件系统操作命令
1.fdisk
fdisk命令用来进行磁盘分区。
使用权限:超级用户。
格式:fdisk [-l] [-b SSZ] [-u] device
主要选项:
-l: 察看指定的设备的分区表状况。
-b SSZ:将指定的分区大小输出到标准输出上,单位为区块。
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。
device:要这些操作的设备名称。
应用说明:
fdisk是各种Linux发行版本中最常用的分区工具,是被定义为Expert级别的分区工具。它还包括一个二级选单,首先输入命令,然后出现问答式界面,用户通过在这个界面中输入命令参数来操作fdisk。
选单详细介绍:
a:设定硬盘启动区。
b:编辑一个BSD类型分区。
c:编辑一个DOS兼容分区。
d: 删除一个分区。
l: 察看指定的设备的分区表状况。
m:显示Fdisk命令各个参数的说明。
o:创建一个DOS分区。
n:设定新的硬盘分区。
p:打印分区信息。
s:创建一个空Sun分区表。
t:改变硬盘分区类型。
q: 结束分区,不保存操作内容。
v:校验硬盘分区表。
w:结束分区,保存操作内容。
x:进入高级操作模式。
2.mkfs
mkfs命令用来在Linux下建立各种文件系统,也即是格式化命令
使用权限:超级用户。
格式:
mkfs [-V] [-t fstype] [fs-options] device [size]
主要选项:
-V:输出帮助信息。
-t fstype: 指定要建立何种文件系统。如没有任何指定,则使用缺省的文件系统类型(目前是 ext2)。
fs-options:传递给实际的文件系统制作工具的文件系统相关的选项。
size:是指该文件系统用的区块数。
device:既可以是设备名,(如: /dev/hda1, /dev/sdb2) 也可以是文件系统的挂载点,(如: /, /usr, /home)。
应用说明:
mkfs命令本身并不执行建立文件系统的工作,它是在 Linux下各文件系统专用程序(mkfs.fstype)的前端程序。各文件系统专用程序可以在/sbin、/sbin/fs、/sbin/fs.d等目录中找到。主要包括:mkfs.dos用来创建DOS文件系统。mkfs.reiserfs用来创建reiserfs文件系统。mkfs.jfs用来创建jfs文件系统。mkfs.vfat用来创建vfat文件系统。
出于对Linux各个发行版本的兼容性,对于建立同一Linux文件系统的命令可能有不同命令名称,实际功能是相同的,如mkfs.ext2、mkfs.ext3、mke2fs都是用来创建ext2/ext3文件系统。