ctrl + c 强制结束当前进程(或者退出当前session),但是如果ctrl C 不起作用可以用ctrl \ su – ora11g su – switch user 切换用户而不用退出当前终端session,高效快捷。 (切换用户以ora11g的用户身份来操作,加-是同时将shell 环境也切换为ora11g的shell环境)
passwd ora11g 修改用户为ora11g的密码
ps命令
ps –ef | grep passwd (process status) grep 是查找包含passwd 的行
ps aux
ps –ef 是BSD风格的写法
ps aux 是UNIX风格的写法
ps -e
显示所有进程
-f
full全格式
-h
header 只显示头部不显示标题
-l
long 以长格式显示
-w
width 宽输出
-a
all 显示终端上所有进程,包括其他用户进程
-r
running 只显示正在运行的进程
-u
user 以用户为主的形式显示进程状况
一般ps aux | grep xxx 这种方式来使用ps 和grep 组合使用来查找
kill -9 进程ID (-9 表示强制杀死进程)
cat 查看某个文本文件的内容
cat –n test.txt 会给查看的文本添加行号 == nl test.txt
先用oracle用户登录到Linux终端界面
1.
sqlplus /nolog
2.
SQL>conn /as sysdba;
3.
SQL>alter user wtadmin indentified by 123(注:修改用户wtadmin的密码为123)
4.
SQL>alter user wtadmin account unlock; (解锁用户wtadmin)
5.
SQL>alter user wtadmin account lock; (锁住用户wtadmin)
SQL> select username from dba_usernames;
SQL>alter user uername identified by yourpasswd;
SQL>select * from v$tablespace 查看当前表空间
SQL>select * from sys.dba_tablespaces;
SQL>select count(*) from sys.v_$session;
SQL>shutdown immediate;重启数据库
SQL>show parameter user;
archive log list
alter system set log_archive_start=true scope=spfile 开启系统日志归档模式
alter database archive log 更改为归档模式
2018年1月22日20:49:56
1.
检查一些无用的log
RMAN>crosscheck archivelog all;
2.
删除一些过期的日志
RMAN>delete expired archivelog all;
设置为归档模式
alter database open; //打开数据库
alter database noarchivelog; //设置为非归档模式
startup mount; //开启挂载
show parameter log_archive_dest; //显示归档日志所在目录
select * from V$flash_recovery_area_usage;//查询闪回存储空间大小
echo $ORACLE_BASE;//显示oracle安装目录
du 命令
du==disk use
du – sh *
du –sh ./
du –sh filename
du –sh test* 以test开头
du –sh * | sort –hrk 1 查看大小并排序
h humaned 以人类可读的方式显示
r reverse 逆序
k 表示按第X个字段排序
df –hH
信号用于两个进程间的通信,
阻止shell向某个进程发送信号
disown 命令会将进程从作业中移除
trap 用于捕获进程
hup == hang up 打电话的时候挂断电话
nohup == no hang up 即不挂断
& 会将进程放到后台去执行,而不占用当前终端(一般如果命令执行过程太长的时候可以这样来做)
nohup和&一般一起来使用
nohup command &
nohup command > filename 2>&1 & 将command命令的标准输出和标准错误
setsid == set session id 重新创建一个新的session
setsid – run a programme in a new session which means to create a new session
替换模式(shift + r)注意就是大写R
在命令模式下按r 则替换当前光标所在的字符
而按shift + r (即大写R)则会替换光标后所有字符(除非按Esc键退出替换模式)
vim高级操作:
vi +/then test.sh 打开test.sh文件并将光标定位到第一个找到的string(then)上
vi +n filename 打开文件并将光标置于第n行
vi +r filename 在上次使用vi编辑文件时发生系统崩溃回复filename
vi + filename1 filename2 ...filenameN同时打开编辑多个文件
vi -c command filename 在打开文件前先执行指定的命令 –c command
vi –M filename 以只读的方式打开文件,不可以强制保存-m not modify 不可修改
0y$ 从开头复制文本到行尾
ye
y2/foo
可视化操作:v 在v模式下:
gU 变大写 global Upper case
gu 变小写 global uppercase
fa 在文档中跳到下一个a的字符处 (fa==forward a 朝向,指向)
fs 在文档中跳到下一个s的字符处 (fs==forward s)
t,到逗号的前一个字符 (t=towards ,朝,向)
cw 替换(删除)光标所在处的一个单词
解释下在命令模式下%s 和 s的区别:
%s 表示替换所有行,而s 表示只替换第一处匹配的项
:%s/^/xxx/g
:%s/$/xxx/g
%s 表示全局替换, ^ 行首, $ 行尾, s==substitute(替换) g==global
substitute A for B 用A替换B (substitution .n substitute .v)
:%s/new/old/gi (–gi== global ignorance) 全局忽略大小写替换
总结:
可以按ctrl tab在多个打开的远程连接窗口之前来回自由切换
在命令模式(normal)下按#可以在全文高亮或是搜寻当前光标文本
以下操作都是在命令行中:
Ctrl e
快速将光标移动到命令行结尾 (e==end)
Ctrl a
快速将光标移动到命令行开头(a==ahead)
Ctrl w
剪贴命令行中光标所在处之前的所有字符
Ctrl k
剪贴命令行中光标所在处之后的所有字符
Ctrl u
向左删除
Ctrl y
粘贴 (y==yank)
Ctrl c
强制退出
Ctrl l
清屏
Ctrl z
将当前进程挂起(suspend)
ls 命令
grep命令
grep 命令是查找,结果是显示目标匹配项的那一行,以行为单位,一般是结合其他命令来进行二次过滤和查询
grep –v (v==Verbose) 取反,查找目标内容以外(除了目标内容)的匹配项(不包括目标内容)
grep –n filename (–n显示行号)
cut 命令
cut 是截取某一行中的某一列,2个参数
-d
-d == delimiter 指定分割符或者定界符
-f
field 指定提取哪些列即哪些字段
Eg:cat /etc/passwd | grep /sbin/bash | grep –v root | cut –d “:” –f 1,3
查找除了roo以外的,以冒号作为分隔符,分别提取第一列和第三列
通常 cut 和grep 命令组合使用
chmod 命令
xargs
sort 命令
ps
paste
tee
uniq
rm
rm -rfi
exec
history
top
free
free -m
tail (默认显示文本的后十行)
tail -1 显示最后一行文本
head (默认显示文本的前十行)
cat
nl
mount
unmount (-l==lazy)就是在卸载的时候如果报设备无法卸载则可以不用停止在卸载
passwd
locate
pwd --- print work dircetory 打印当前工作目录
who
whoami
w
last
whereis
whatis
which
id
user
echo
cp
mkdir 创建目录
rmdir 删除目录
rm 删除
less 可以分页展示和向下和向上翻页
less -M 加参数-M会显示文本的%比以及文本的名称显示比例
more 只可以向下分页展示
su == switch user
sudo == switch user do 切换用户
wc –l lines
-c characters
-w words
export 将用户变量转变为系统变量
set 设置环境变量
env environment 显示环境变量
ehco $PATH
ehco $SHELL
echo $USER
echo passwd | passwd –stdin username 非交互式的修改密码(适用于脚本)
passwd username 为交互式的修改密码(适用于在终端修改)
mkpasswd -l 10 -d 3 -c 3 -C 1 -s 3
echo `mkpasswd -l 10` | passwd --stdin fuyilong
tee命令
tee: read from standard input and write to standard output and files
tee命令可以在输出信息的同时将信息记录到指定的文件中
ls | tee ls_tee.txt
-a append
append to the given files,do not overwrite
echo hello | tee hello.log 在terminal上打印hello的同时将hello输出到文件hello.log中
Eg:将整个/etc 下的文件全部打包成/tmp/etc.tar然后压缩成.gz格式
tar –cvf /tmp/etc.tar /etc 仅仅打包不压缩
tar –zcvf /tmp/etc.tar.gz /etc 打包并且压缩为.gz格式的-z表示为.gz
tar –jcvf /tmp/etc.tar.bz2 /etc 打包后以bz2格式压缩-j表示为.bz2
tar –zcvfp codebase_20170824_bak.tar.gz ./* 打包压缩当前目录下的所有文件
tar –zxvpf codebase_20170824_bak.tar.gz 解压缩到当前目录
重点:
tar –jcpPfTX test.tar.bz2 in.txt ex.txt 由这句命令的参数可以看出最后压缩的格式是.bz2格式的,-TX为指定参数,test.tar.bz2为指定压缩的文件名 in.txt包含的文件 ex.txt 排除的文件
Eg2.在/home中比2017/08/24新的文件才打包:
tar –N ‘2017/08/24’ –zcvf /home.tar.gz /home (-N==newer比较级)
Eg3:在/tmp目录下,只将/tmp/etc.tar.gz中的etc/passwd解压缩
cd /tmp
tar –zxvf /tmp/etc.tar.gz /etc/passwd
Eg4:将/etc目录下所有文件备份,并且保存文件原有的权限属性
tar –zvpf /tmp/etc.tar.gz /etc
这个-p 选项很重要,它会保留源文件的所有属性
Eg5:只备份/home,/etc,但不备份/home/dmtsai
tar –exclude /home/dmtsai –zcvf myfile.tar.gz /home/* /etc
Awk 命令 sed 命令
sed 命令的格式如下:
sed [-nefri] [action]
sed –n silent 安静模式
-e edit 编辑模式
-f filename 将多个编辑命令放到一个文件中,然后用-f 引用这个文件即可完成多个操作
-r
-i insert直接修改源文件内容,而不是输出到终端
动作 [n1[,n2]] function
function:
a add
c replace
d delete
i insert
p print 显示
s separate 单独,分开
sed –n ‘100,200p’ mysql.log 通常p和sed –n 一起使用
nl /etc/passwd | sed ‘2,5d’ d==delete
nl /etc/passwd | sed ‘3,$d’
nl /etc/passwd | sed ‘2i drink tea’
nl /etc/passwd | sed –n ‘5,7p’ –n 选项仅显示匹配的行内容
nl /etc/passwd | sed ‘/root/p’
nl /etc/passwd | sed ‘root/d’
nl /etc/passwd | sed –e ‘3,$d’ –e ‘s/bash/blueshell’ –e选项支持多个动作多个操作
sed –i ‘$a #This is a test’ test.txt
nl /etc/passwd | sed –n ‘/root/{s/bash/blueshell/;p}’
nl /etc/passwd | sed –n ‘/bash/{s/bash/blueshell/;p;q}’
nl /etc/passwd | sed ‘2,5c No 2-5 number’
nl /etc/passwd | sed ‘1,20s/old/new/g’ 表示1-20行之间进行替换操作
sed –e ‘1,10d’ –e ‘s/my/your/g’ filename –e 选项支持多个编辑任务和操作
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&
在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。
第一种
package singleton;
public class Singleton {
//导出全局成员
public final static Singleton INSTANCE = new S