*.命令语法:
a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号;
b.指令太长的时候,可以使用“”符号使指令连续到下一行;
c.各种符号的意义:
'' 单引号,最普通的引号,将内容作为普通字符串处理
"" 双引号,可以识别内容中$标识的变量。(PATH="$PATH":/home/new)
`` 反引号,将内容作为命令执行,并返回最终结果,该功能亦可用$()替代
& 将指令变为后台运行
$ 取变量的值
~ 家目录
| 管道,仅能处理正确的信息
&& 前面指令正确的情况下执行后面指令(类似于C++编译器中对&&的优化处理)
|| 前面命令错误的情况下执行后面指令
d.减号的用途:代替stdin或stdout,使得管线|的使用更加灵活(如:tar -cvf - /home | tar -xvf -,将/home打包但不保存为文件仅传送至stdout,经过管线后由 stdin接受并解包到当前文件夹)
e.通配符:*表示任意字符串(可以为空),?表示任意单个字符,[^a-h]表示任意不是a~h之间的字符,[abc]表示a或b或c;
*.快捷键:
0."Tab" 命令补全(两次Tab显示所有可选命令,在目录下直接按Tab相当于执行ls指令...)
a."Ctrl+C" 终端中中断当前程序
b."Ctrl+L" 终端中清屏并复位
c."q" 退出某些程序(如退出man的帮助信息)
d."Ctrl+Alt+T" 打开终端
e."Ctrl+Alt+左右" 切换工作区
f."Ctrl+Alt+F1~F7" 切换终端(其中F7为图形界面的终端)
g."Ctrl+D" EOF或exit,键盘输入结束
h."Ctrl+U" 清除当前行输入的指令
i."Ctrl+S" 暂停屏幕输出
j."Ctrl+Q" 恢复屏幕输出
k."Ctrl+Z" 暂停当前命令
*.环境变量:
HOME 用户家目录,~也标识家目录
SHELL 当前使用的shell
ENV 用户的个人环境设定文件
PATH 命令执行时搜寻的路径
LANG 语种
RANDOM 随机数(/dev/random)
*.系统变量:(非环境变量,可通过echo或set | grep查看)
PS1,prompt 系统命令提示符格式变量,定义每行命令的提示符的格式,如“linux:~ # ”。PS1是bash的变量,promopt是csh的变量
$ 当前shell的PID (进程ID,与ps -ef中的相同)
? 上一个命令的返回值,正确执行的命令返回0,错误指令返回错误码
OSTYPE 操作系统的等级
HOSTTYPE 主机的等级
MACHTYPE 硬件的等级
1.系统操作类:
启动图形界面 startx
操作说明 man (空格翻页,/word搜索词)
关机 shutdown (一般可用 sudo shutdown -h now)
halt/poweroff (暴力关机)
重启 reboot (相当与 shutdown -r now,常用sync;sync;sync;reboot)
注销 exit (退出当前用户,不关机)
挂载硬盘到目录 mount [分区名称<hda*等>] [挂载目录] (-l显示当前挂载状态,-o添加挂载选项,如中文编码iocharset=cp950,若想开机自动挂载,应写入/etc/fstab中)
卸载硬盘 umount [分区文件/挂载目录]
查看硬盘的总容量、已用容量 df* (-ikmh区分单位,-a显示全部,-T显示文件系统)
硬盘分区 fdisk [硬盘名称<hda,sda等>] (-l显示分区表,只修改分区表而未格式化)
硬盘格式化 mke2fs (格式化为ext2文件系统)
读取硬盘信息 dumpe2fs [设备] (获得硬盘文件系统的信息)
更改分区卷标 e2label [设备名称] [卷标Label]
检查硬盘坏轨 fsck [分区名称<hda1,sda3等>]
将内存数据同步写入硬盘 sync
硬盘效能检测与启用 hdparm [硬盘名称] (-d是否开始DMA模式,-Tt测试cache与实际效能)
静态显示进程 ps* (ps显示当前shell,ps -l显示当前用户进程,ps aux显示所有进程,ps -ef|grep 关键字 检查是否存在匹配关键字的进程)
动态显示执行中进程 top (-b 显示所有进程,可重定向)
杀死进程 kill* [进程ID]
显示日历 cal [月份] [年份]
显示设置系统时间 date [时间] (时间格式为[MMDDhhmm [[CC]YY][.ss]],如date 112711562007)
显示设置硬件时间 hwclock (-w 更新hwclock为当前date)
显示系统运行时间 uptime
显示内存使用 free
显示系统信息 uname (-a显示所有系统信息)
显示设置主机名 hostname
显示目前登陆的用户 who* (用命令w会获得更多信息,命令whoami可以查看当前使用的用户)
显示目前及过去登陆的用户 last [-f 文件名] (无参数时列出/var/log/wtmp中存储的所有登录信息,有参数时列出文件中最后一条登录信息)
显示设置网络设备 ifconfig (可查看各网卡的IP等信息,并设置IP等信息,默认显示激活网卡,-a显示全部)
显示网络状态 netstat* (-rn 查看路由信息,-an 查看所有网络状况)
检测网络连接 ping* [IP]
列出被进程打开的文件的信息 lsof* [文件名] (查看谁在使用某文件)
[-u 用户名] (查看某用户在使用的所有文件)
[-u ^用户名] (查看除该用户外其他用户在使用的文件)
[-p 进程号] (查看某进程使用的文件)
[-i :端口号] (查看谁在使用某个端口)
查看文件编码信息 file [文件名] (查看是否ASCII、UTF-8等)
备份文件系统 dump [-f 备份设备] [目录或文件系统] (将目录或文件系统备份至指定设备,fstab中的dump选项值也会影响是否进行备份操作)
bash声明删除环境变量 export [环境变量名] [环境变量值] (记录在.profile文件中,直接export与env的效果相同)
csh声明环境变量 setenv [环境变量名] [环境变量值] (环境变量值无需加引号,但其中的变量需用双引号,如:setenv PATH "$PATH":/bin)
改变用户shell chsh (-l显示所有shell)
显示账户信息 finger [账户名]
查看指令类型 type [指令名] (-tpa ,找指令的功能比which强大一些)
查看当前shell的环境变量 env
查看当前生效的所有变量 set (set -x执行指令前先显示指令,)
由用户输入赋值变量 read [变量名] (-p后结提示字符,-t限制输入时间,常用于脚本编写)
宣告变量类型 declare [变量名] (-a数组-i整数-x环境变量-r只读)
typeset [变量名]
命令别名 alias [别名](=)['命令'] (将代码写入对应shell的rc文件中即可,.bashrc为等号,.cshrc为空格,取消别名unalias)
清屏 clear
设置tty终端属性 stty
2.用户权限类:
设置用户密码 passwd* [用户名] (可用来开启root账户)
切换用户并跳转至家目录 su - * [用户名] (用户为root时可不填用户名,使用-表示切换用户时同时切换至该用户的shell否则使用原用户的shell)
以高级用户身份运行 sudo (近似于以root身份运行)
更改文件群组 chgrp* [组名] [文件名]
更改文件拥有者(和群组) chown* [所有者名]:[组名] [文件名] (-R修改目录下所有文件)
更改文件权限 chmod* [权限] [文件名] (权限可用<augo><+-=><rwx>或数字两种方式表示)
用户创建文件默认权限 umask (修改默认权限,参数为需要"拿掉"的权限,其中rwx分别为421,拿掉r+x则为4+1=5,参数共有4位表示4组权限:特殊/用户/组/其他)
更改文件特殊属性 chattr [属性] [文件名](如+i会禁止文件的删除更名链接写入)
显示文件特殊属性 lsattr [文件名] (查看文件特殊属性,包括ASacdijsu)
创建群组 groupadd [组名]
创建用户 useradd [用户名] (-d 用户路径 -s Shell -g 群组)
adduser (不同Linux发布版本中效果不同,有的同useradd,有的是一个添加用户的Script)
删除用户 userdel [用户名] (-rf 强制删除用户及目录)
更改用户 usermod (-d 用户目录)
查看用户组ID id [用户名] (-a显示全部组ID)
3.文件存储管理类:
打开文件夹 cd* [目录路径] (cd - 回到上次进入的目录,cd或cd ~进入用户目录,cd ~username进入某用户家目录,目录名中有空格。以“ ”转义)
显示当前绝对路径 pwd* (如果当前在软连接指向的路径中,默认显示软链接路径,-P显示确实的路径)
建立文件夹 mkdir* [目录路径] (-p自动建立中间目录,如mkdir -p dir1/dir2/dir3)
删除空文件夹 rmdir* [目录路径] (-p自动删除中间目录,如rmdir -p dir1/dir2/dir3)
拷贝文件 cp* [源文件 源文件] [目标路径] (-r递归复制文件夹,-u复制改变的文件<当源文件比目标文件新时才复制>,-p连同文件属性一同复制,否则会采用当前用户和组以及默认权限,-d若源文件为软连接则复制后仍为软连接,-a相当于-pdr ,-l复制为硬链接,-s复制为软连接)
删除文件 rm* [文件路径] (删除非空文件夹需加-rf)
列出当前路径的文件及其属性 ls [目录路径] (-a表示显示所有文件,-l显示详细信息,-t按时间排序,-S按容量排序)
列出当前路径所有文件及其属性 ll* [目录路径] (相当于 ls -l,这是用户配置的快捷命令)
查看文件夹已用容量 du [文件夹] (-s仅显示总计,-b以字节为单位,-m以M为单位(m为1024制M为1000制))
移动文件 mv* [源位置] [目标位置] (重命名也使用这个命令~想想~~)
顺序查看文件 cat [文件路径] (-n显示行号,直接显示完,文件长则来不及看)
倒序查看文件 tac [文件路径] (-n显示行号,直接显示完,文件长则来不及看)
按页查看文件 more [文件路径] (空格翻页,/查找,:f显示文件名)
按页查看文件 less* [文件路径] (可前后翻页。/向下搜寻,?向上搜寻,n搜寻下一个,q退出。)
按二进制格式显示文件 od [文件路径] (一般用于非文本文件,如二进制文件,-t设置输出类型:a 预设字符 c ASCII d 十进制 f 浮点数 o 八进制 x 十六进制)
输出文件尾部 tail [文件路径] (-f 持续更新显示尾部10行;-n 行数n 使用显示尾部n行)
输出文件并添加行号 nl [问你件路径] (可控制行号的输出方式)
建立链接 ln [目标文件] [源文件] (-s提供软链接<符号链接>,否则为硬链接)
设定文件访问修改时间为当前 touch* [文件路径] (不存在则创建新文件,故可用来建立文件,touch -d 'YYMMDD HH:mm'指定目标时间,touch -d 'HH:mm'亦可)
查找可执行文件 which* [文件名] (通过PATH环境变量查找可执行文件)
查找文件(配合数据库) whereis [文件名] (-b查找二进制文件<可执行文件>,-s源文件,很快)
查找文件(配合数据库) locate* [文件名] (和whereis一样使用数据库,很快,但太新的文件找不到)
查找文件(搜寻硬盘) find* [查找范围路径] [-name 文件名,-size <+->1000<kc>]
更新数据库 updatedb* (更新之后就可以放心whereis和locate了~)
查看文件类型 file* [文件路径]
解压tar类压缩文件 tar* [压缩文件] (-xvf解包*.tar,-zxvf解包解压缩*.tar.gz,-j采用bzip2解压缩)
压缩tar类文件(夹) tar* [压缩文件] [源文件(夹)] (-cvf打包*.tar,-zcvf打包压缩*.tar.gz,-j采用bzip2压缩,-P采用绝对路径压缩不拿掉首位的'/')
查看压缩文件内容 tar* [压缩文件] (-tvf查看*.tar内容,-ztvf查看*.tar.gz内容)
FTP功能 ftp [主机名/IP](get,put,by,user)
查看文件的inode信息 stat [文件名]
压缩为zip文件 zip [压缩后文件名] [压缩前文件名]
解压zip文件 unzip [压缩文件] (-o直接覆盖文件,同样支持解压.Z文件)
压缩为.Z文件 compress [压缩前文件名] (直接压缩为“压缩前文件名.Z”,并删除源文件)
解压.Z文件 uncompress [压缩前文件名] (直接将“压缩前文件名.Z”解压为“压缩前文件名”,并删除源文件)
批量文件重命名 rename [源字段] [目标字段] [文件名带通配符] (如rename foo foo0 ./foo*)
获取某路径中的文件名 bashname [路径] (basename /opt/oracle/product --> product)
获取某路径中的目录名 dirname [路径] (dirname /opt/oracle/product --> /opt/oracle)
4.重定向类:
管道 输入 | 输出 (将前者作为后者输入进行处理)
覆盖文件 输入 > 文件 (将前者输出到指定文件,覆盖文件内容,:>用户清空文件)
追加到文件末尾 输入 >> 文件 (将前者输出到指定文件,追加到文件末尾)
输出正确信息 输入 1> 文件
输出错误信息 输入 2> 文件
输入信息 文件 < 输入
以符号作为结束符 输出 > 文件 < 符号
虚拟垃圾桶 /dev/null (重定向到此的数据会直接消失)
5.数据库类:
a. linux命令(在linux命令行中执行)
登录sqlplus sqlplus 用户名/密码@服务名as 角色(sysdba等)
数据库监听 lsnrctl (以oracle用户登录,status查看监听状态,start启动监听,stop关闭监听)
创建删除数据库(图形界面) dbc (需配置DISPLAY环境变量)
创建删除实例(图形界面) dbca (需配置DISPLAY环境变量)
创建删除监听服务名(图形界面) netca (需配置DISPLAY环境变量)
查看数据库裸设备 lvs -a
导入导出用户数据 expdp user/pwd@ORA11 dumpfile=user.dmp logfile=user.log
impdp user/pwd@ORA11 dumpfile=user.dmp logfile=user.log
impdp user_new/pwd@ORA11 schemas=user remap_schema=user:user_new dumpfile=user.dmp logfile=user.log
exp user/pwd@ORA11 buffer=10000000 file=user.dmp log=user.log
imp user_new/pwd@ORA11 fromuser=user touser=user_new buffer=10000000 file=user.dmp log=user.log
批量插数据 sqlldr userid=user/pwd@ORA1 control=result.ctl log=user.log rows=1000 errors=0 readsize=3096000 bindsize=3096000
b. sqlplus命令(在sql命令行中执行)
停止Oracle服务 shutdown immediate
启动Oracle服务 startup (startup mount仅启动控制文件,不启动数据文件,可在此时更改配置后再用alter database open启动数据文件)
登陆其他用户 conn 用户名/密码
查看数据库参数 show parameter XXX (service服务,instance实例,processe连接数<session数>)
查看归档日志信息 archive log list
AWR报告 @$ORACLE_HOME/rdbms/admin/awrrpt
更改AWR报告生成周期 exec dbms_workload_repository.modify_snapshot_settings (interval=>20, retention=>3*24*60); (20表示20分钟)
6.程序类:
显示gcc版本 gcc -v
打印内存镜像 jmap -dump:live ,format=b ,file=[文件名] [PID]
jconsole (图形界面) jconsole -J-Xmx512M (需要配置DISPLAY变量)
7.HA双机类:
显示HA双机状态 hastatus
启动HA双机 hastart
停止HA双机 hastop -all -force
操作HA双机资源 hares (-online,-offline)
8.vi文本编辑器:
一般模式:
iaor进入编辑模式,/?查找替换,:进入命令模式,ESC回到一般模式
hjkl对应左上下右移动光标,gg移动至首行,G移动至末行,nG移动至n行,^移动至行首,$移动至行尾,(移动至文件首,)移动至文件尾
x向后删除,X向前删除,dd删除当前行,ndd删除当前n行,
yy复制当前行,nyy复制当前n行,p在当前行下面粘贴
u撤销,CTRL+r重做
命令模式:
:wq!,:w filename 文件另存为,:r filename 读入另一个文件,:e! 还原文档至最初状态,:! [命令]暂时离开vi查看命令执行结果,:set nu 显示行号,:set nonu 隐藏行号
:m ,ns;oldstr;newstr; 替换m行至n行之间的oldstr为newstr
9.实用功能类:
gedit文本编辑器 gedit [文件路径](文件不存在会自动创建,不保存则会消失)
下载并安装软件 sudo apt-get install [软件名]
计算器 bc* (支持 + - * / ^ %, scale=n设定小数位数, quit退出)
显示环境变量PATH echo* $PATH (PATH中记录了命令的默认搜寻路径)
查看当前shell echo $0
查找文件/文本中字符串 gerp [范本] [文件或目录] (从文件中查找含有范本的项,-r递归子目录,-i不区分大小写,-v反向选择,-n行号,-c计算搜寻到的次数)
输入 | grep (grep常结合重定向进行使用)
计算字数 wc [文件] (-c字节数,-l行数,-w字数)
输入 | wc (wc常结合重定向进行使用)
TCP抓包 tcpdump port 1521 and host 10.137.161.26 ([-w 文件名]输出到文件,-i 指定网卡,-s 指定包文件大小,-c指定抓取报文数量)
tcpdump -s 0 port 1521 and host 10.137.161.26 -Xvvv -w [文件名]
tcpdump -s 0 -i lo port 1521 and host 10.137.161.26 (z转)
DHCP相关命令 rcdhcpd (status查看状态,start启动,stop停止)
转换并拷贝文件 dd if=[文件输入] of=[文件输出] bs=[数据块大小] count=[数据块数量](可用于测试读写速度)
设置用户定时任务 crontab [-u 用户名] [-e 编辑 -l 列出 -r 删除] (定时任务的格式为“分/n 时-时 日 月 周”,系统定时任务在/etc/crontab)
根据标准输入构造命令行 xargs [命令] (-e指定EOF,-0还原特殊字符为一般字符,-n指定一个命令使用几个参数,不指定命令则使用echo命令,-I指定标志字符用于确定命令参数的位置)
输入 | xargs [命令] (xargs常结合重定向进行使用)
ping程序检测网络连接 ping [IP] (-i 设置时间间隔,单位为s,-s设置数据包字节数)
文本编程处理 awk (对输入文本进行处理,支持简单编程)
文本分析处理 sed (对文本分析后进行处理,a新增,c取代,d删除,i插入,p打印,s正则取代,)
sed s/正则表达式/欲替换的内容/g [文件]
文本截取 cut (-d 分隔字符,-f 第几个字段多个字段以逗号分隔)
换行符格式转换 dos2unix
unix2dos
递归批量拷贝文件 cp `find [源路径] -name "*.*"` [目标路径]
find [源路径] -name "*.*" | xargs -I {} cp {} [目标路径]
find [源路径] -name "*.*" | awk '{print $0}END{print "[目标路径]"}' | xargs cp
执行历史命令 !!执行上一条命令,!30执行30条之前的命令,!cd执行最近的cd开头的命令
共享屏幕 screen -S [session名] (命名当前session,建立共享屏幕)
screen -x [session名] (连接某个session的共享屏幕)
排序 sort (-k 以哪个字段进行排序,-r反向排序,-n将字段作为数字处理,-u效果同uniq)
剔除连续的重复信息 uniq (-i忽略大小写,-c计数)
分割大文档 split [大文档] {分割文件前缀] (-b 字节数,-l 行数,合并文件则可以通过数据流重导向来实现:cat xx* >> filename)
查询某进程建立的总数 lsof -p 20658 | grep ESTABLISHED | wc -l
测试命令 test (-e测试文件/文件夹是否存在)
秒级延时 sleep
毫秒级延时 usleep
统计TCP连接状态 netstat -n | awk '/^tcp/ {++state [$NF]} END {for (key in state) print key ,"t",state [key]}'
删除大量文件 find -name "*.*" | xargs rm -rf (直接rm会报错命令太长)