Linux基础
01.显示或设置系统时间
格式:date
显示当前日期时间。
格式:date mmddHHMM
格式:date mmddHHMMYYYY
格式:date mmddHHMM.SS
格式:date mmddHHMMYYYY.SS
设置当前日期时间,只有root用户才能执行,执行完之后还要执行 clock -w 来同步到硬件时钟。
mm为月份,dd为日期,HH为小时数,MM为分钟数,YYYY为年份,SS为秒数。
实例:
[root@node56 ct08]# date
2011年 08月 20日 星期六 17:37:11 CST
[root@node56 ct08]# date 08220942
2011年 08月 22日 星期一 09:42:00 CST
[root@node56 ct08]# clock -w
[root@node56 ct08]# date
2011年 08月 22日 星期一 09:42:01 CST
[root@node56 ct08]#
02.将当前目录的test.txt文件拷贝到$HOME/tmp2/目录下
cp test.txt $HOME/tmp2/
03.统计 test.txt 文件包含的行数
cat test.txt | wc -l
04.屏幕打印出test.txt中所有包含“hello world”的记录
awk '/hello world/{print}' test.txt
参考地址:https://www.cnblogs.com/xudong-bupt/p/3721210.html
05.使用vi 从上至下在test.txt文件中搜索字符串“hello world”。
vi test.txt
/hello world
n搜索下一个
06.vi 的命令行模式下,指令i、a、o 分别代表怎样的插入模式?
i,光标之前插入
a, 光标之后插入
o, 在当前行之下新开一行
07.vi 的命令行模式下,指令#x、#X 有什么区别(这里#为数字)?
x:删除光标后的字符
X:删除光标前的字符
08.显示$HOME/log/目录内容(包括隐藏文件)。
ls $HOME/log/ -la
参考链接:https://www.cnblogs.com/UniqueColor/p/6595605.html
09.将远程服务器(IP:10.10.10.10,用户:test_user)下的/tmp/abc.csv文件远程拷贝到当前服务器的当前目录。
scp test_user@10.10.10.10:/tmp/abc.csv .
参考链接:https://www.cnblogs.com/bravehunter/p/5653317.html
10.将test.txt按每300字节一个文件进行切割。
split -b 300m test.txt
参考链接:https://www.cnblogs.com/wangkongming/p/5163909.html
Oracle基础
设有表A:
姓名 | 客户类型 | 折扣率 | 地址1 | 地址2 |
夜华 | 白金 | 0.7 | 河南省 | 溪河市中原区 |
凤九 | 普通 | 0.9 | 上海市 | 浦东新区上丰路 |
墨渊 | 普通 | 0.7 | 广东省 | 广州市白云区 |
白浅 | 普通 | 0.8 | 上海市 | 宝山区广兰路 |
有表B:
姓名 | 银行账户 | 网点 | 币种 | 欠费金额 | 折扣后欠费金额 |
夜华 | 65567 | 上海 | 人民币 | 80 | |
夜华 | 65567 | 上海 | 人民币 | 100 | |
夜华 | 413789 | 深圳 | 人民币 | 90 | |
凤九 | 5817341 | 深圳 | 美元 | 607 | |
凤九 | 2420987 | 上海 | 美元 | 0 | |
凤九 | 7030002 | 上海 | 人民币 | 200 | |
墨渊 | 683468 | 深圳 | 人民币 | 400 | |
墨渊 | 99000 | 深圳 | 美元 | 123 | |
白浅 | 61300 | 上海 | 美元 | 456 | |
白浅 | 61300 | 深圳 | 人民币 | 890 |
请根据上述两张表回答如下问题:
01.查询出A表中地址1或地址2包含有‘路’字的所有记录。
select * from A where 地址1 like '%路%' or 地址2 like '%路%';
02.更新A表中所有白金客户的折扣率为0.5。
update A set 折扣率=0.5 where 客户类型=‘白金’;
03.请给表B以姓名+银行账户+币种创建一个索引。
Create Index i_name on B(姓名,银行账户,币种);
04.表B的银行账户字段类型为varchar2(10),请将其类型更改为varchar2(50)。
Alter table B modify 银行账户 varchar2(50);
05.一条语句输出A表中记录,要求这些记录的姓名在B表不存在对应记录。
select * from A where 姓名 not in (select 姓名 from B);
06.更新B表中折扣后欠费金额字段值,值的计算式:客户的欠费金额*该客户在A表中对应的折扣率。
update b set b.折扣后欠费金额 = b.欠费金额 * a.折扣率 from B b, A a where b.姓名 = a.姓名;
07.一条语句创建一张和表B表结构相同的空表。
create table C as select * from B where 1=0;