1。历史命令的调用如果想要使用原先的历史命令有这样几种方法:
使用上、下箭头调用以前的历史命令
使用“!n”重复执行第n条历史命令使用“!!”重复执行上一条命令
使用“!字串”重复执行最后一条以该字串开头的命令
使用“!$”重复上一条命令的最后一个参数
2. Bash常用快捷键
快捷键 作用
ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。ctrl+E 把光标移动到命令行结尾。
ctrl+C 强制终止当前的命令。
ctrl+L 清屏,相当于clear命令。
ctrl+U 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删 除,使用这个快捷键会更加方便ctrl+K删除或剪切光标之后的内容。
ctrl+Y 粘贴ctrl+U或ctrl+K剪切的内容。
ctrl+R 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就会从历史命 令中搜索。
ctrl+D 退出当前终端。
ctrl+Z 暂停,并放入后台。
ctrl+S 暂停屏幕输出。
ctrl+Q 恢复屏幕输出。
3.小括号和大括号的主要区别在于:
()执行一串命令时,需要重新开一个子shell进行执行
{}执行一串命令时,是在当前shell执行;
()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开;
()最后一个命令可以不用分号;
{}最后一个命令要用分号;
{}的第一个命令和左括号之间必须要有一个空格;
()里的各命令不必和括号有空格;
()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令。
4.编辑vim /etc/bashrc文件里的PS 或者vim /etc/profile.d/name.sh里写入PS1也行。 PS1变量:命令提示符设置 PS1是一个很有意思的变量,是用来定义命令行的提示符的,可以安装我们自己的需求来定义自己喜欢的提示符。PS1可以支持以下这些选项:\d:显示日期,格式为“星期月日”
\H:显示完整的主机名。如默认主机名“localhost.localdomain”
\h:显示简写主机名。如默认主机名“localhost”
\t:显示24小时制时间,格式为“HH:MM:SS”
\T:显示12小时制时间,格式为“HH:MM:SS”
\A:显示24小时制时间,格式为“HH:MM”
\@:显示12小时制时间,格式为“HH:MM am/pm”
\u:显示当前用户名
\v:显示Bash的版本信息
\w:显示当前所在目录的完整名称
\W:显示当前所在目录的最后一个目录
\#:执行的第几个命令
\$:提示符。如果是root用户会显示提示符为“#”,如果是普通用户会显示提示符为$
PS1="\[\e[33m\][\u@\H \t]\\$\[\e[0m\]"
5.设置系统光盘开机自动挂载:/etc/fstab 在最后一行加入/dev/cdrom /mnt iso9660 defaults 0 0 即可
或者: echo "/dev/sr0 /media iso9660 defaults 0 0">>/etc/fstab cdrom是sr0的快捷方式(设备文件名 挂载点 文件系统 挂载选项 是否可备份‘0不可备份1每天备份2定时备份’ 是否检测磁盘‘0不检查1启动前检测2启动后检测’)
6./etc/rc.d/rc.local文件这个配置文件会在用户登陆之前读取,这个文件中写入什么命令,在每次系统启动时都会执行一次。也就是说,我如果有任何需要在系统启动就运行的工作,只需要写入/etc/rc.d/rc.local这个配置文件即可
7.启动引导程序(Boot Loader)早期的Lilo引导程序已经不是很常见了,grub相比来讲有很多优势,主要有:支持更多的文件系统;grub的主程序可以直接在文件系统中查找内核文件;在系统启动时,可以利用grub的交互界面编辑和修改启动选项;可以动态的修改grub的配置文件,这样在修改配置文件之后不需要重新安装grub,而只需要重新启动就可以生效了。grub的作用有以下几个:第一是加载操作系统的内核;第二是拥有一个可以让用户选择的菜单,来选择到底启动哪个系统;第三还可以调用其他的启动引导程序,来实现多系统引导。
8.系统修复模式: Linux的单用户模式有些类似Windows的安全模式,只启动最少的程序用于系统修复。在单用户模式(运行级别为1)中,Linux引导进入 根shell,网络被禁用,只有少数进程运行。单用户模式可以用来修改文件系统损坏、还原配置文件、移动用户数据等。 1)、如何进入单用户模式,开机看到系统选项时按“e”即可进去。若root密码忘记可在进入的命令行里输入passwd root 进行重置密码;若需修改系统启动项vim /etc/inittab ; 若挂载磁盘问题vim /etc/fstab; 如果系统重要文件丢失可用chroot 目录名 ;
9.如果想让源码包服务被service命令识别并管理,只要做个软链接把启动脚本链接到/etc/init.d/目录中即可(也可以cp复制过去)。要想让源码包服务被chkconfig命令识别,除了需要把服务的启动脚本链接到/etc/init.d/目录中,还要修改这个启动脚本,在启动脚本的开头加入:# chkconfig: 运行级别启动顺序关闭(chkconfig: 35 86 76) # description: 说明(# source package apache) 然后需要使用“chkconfig --add 服务名”的方式把服务加入chkconfig命令管理中。命令格式如下:[root@localhost ~]# chkconfig [选项] [服务名] 选项: --add:把服务加入chkconfig命令的管理 --del:把服务从chkconfig命令的管理中删除。 要想把服务设置为开机自启,可以把启动命令加入文件vim /etc/rc.d/rc.local 中。
10.服务管理总结图:
11、进程查看
ps命令是用来静态显示系统中进程的命令。不过这个命令有些特殊,它的部分命令的选项不能加入“-”,比如命令“ps aux”,其中“aux”是选项,但是这个选项不能加入“-”。这是因为ps命令的部分选项需要遵守BSD操作系统的格式。所以ps命令的常用选项的组合是固定的。 选项: a:显示一个终端的所有进程,除了会话引线 u:显示进程的归属用户及内存的使用情况 x:显示没有控制终端的进程。-l:长格式显示。显示更加详细的信息 -e:显示所有进程,和-A作用一致
解释下ps aux命令的输出:
USER:该进程是由哪个用户产生的;
PID:进程的ID号;
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端(可以通过alt+F1-F7键切换不同的终端),tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端,一般是远程连接的终端,第一个远程连接占用的是pts/0终端,第二个远程连接占用pts/1,依次增长。
STAT:进程状态。常见的状态有:
D:不可被唤醒的睡眠状态,通常用于I/O情况
R:该进程正在运行
S:该进程在睡眠状态,可被唤醒
T:停止状态,可能是在后台暂停或进程在除错状态
W:内存交互状态(从2.6内核开始无效)
X:死掉的进程(应该不会出现)
Z:僵尸进程。进程已经终止,但是部分程序还在内存当中。
<:高优先级(以下状态在BSD格式当中出现)
N:低优先级
L:被锁入内存
s:包含子进程
l:多线程(小写L)
+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
12.top
top命令的输出内容是动态的,默认每3秒刷新一次。
top [选项] 选项:
-d 秒数:指定top命令每隔几秒更新。默认是3秒
-b:使用批处理模式输出。一般和“-n”选项合用,用于把top命令重定向到文件中
-n 次数:指定top命令执行的次数。一般和“-b”选项合用
-p:指定PID。只查看某个PID的进程
-s:使top在安全模式运行,避免在交互模式中出现错误
-u 用户名:只监听某个用户的进程
在top命令的交互模式当中可以执行的命令:
?或h:显示交互模式的帮助
P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
T:按照CPU的累积运算时间排序,也就是用TIME+项排序
k:按照PID号,给予某个进程一个信号。一般用于终止某个进程,信号9 是强制终止的信号
r:按照PID号,给某个进程重设优先级(Nice)值
q:退出top
top命令的执行结果详解:命令的输出主要分为两大部分:第一部分是前五行,显示的是整个系统的资源使用状况,我们就是通过这些输出判断服务器的健康状态;第二部分从第六行开始,显示的是系统中进程的信息。
再来看top命令的第二部分输出,主要是系统进程信息。这部分和ps命令的输出比较类似,只是如果在终端中执行top命令不能看到所有的进程,而只能看到占比靠前的进程。
PID:进 程ID
USER:该进程所属的用户
PR:优先级,数值越小优先级越高
NI:优先级,数值越小优先级越高
VIRT:该进程使用的虚拟内存的大小,单位KB
RES:该进程使用的物理内存的大小,单位KB
SHR:共享内存大小,单位KB
S:进程状态
%CPU:该进程占用CPU的百分比
%MEM:该进程占用内存的百分比
TIME+:该进程总共占用的CPU时间
COMMAND:进程的命令名
15.vmstat命令监控系统资源,语法: vmstat 刷新延时 刷新次数
解释下这个命令的输出:
procs:进程信息字段:
r:等待运行的进程数,数量越大,系统越繁忙。
b:不可被唤醒的进程数量,数量越大,系统月繁忙。
memory:内存信息字段:
swpd:虚拟内存的使用情况,单位KB。
free:空闲的内存容量,单位KB。
buff:缓冲的内存容量,单位KB。
cache:缓存的内存容量,单位KB。
16.用户的crontab(循环执行定时任务)设置每个用户都可以实现自己的crontab定时任务,只要是使用这个用户身份执行“crontab -e”命令即可,当然这个用户不能加入/etc/cron.deny文件中。crontab命令格式如下:[root@localhost ~]# crontab [选项] 选项: -e:编辑crontab定时任务 -l:查询crontab任务 -r:删除当前用户所有的crontab任务,如果有多个任务,只想删除一个,可以所以用“crontab -e” -u 用户名:修改或删除其他用户的crontab任务。只有root可用
crontab -e #进入crontab编辑界面。会打开vim编辑你的工作。
16.系统中常见的日志文件
17.