Vim: 文本编辑器
vim 文件名
vim + n(行号) 如 vim + 3 /etc/passwd 光标在第三行;
+ /word 光标在有word的行首;
Vim主要有三种模式:
命令,输入,末行这三种模式
命令模式 —> 输入模式
1) i I
2) a A
3) o O
4) c C
命令模式 —> 末行模式
:
在命令模式下: 光标移动: h(左) , l (右); k(上) , j(下)
单词间跳转: w 下一个单词的词首
e 下一个单词的词尾
b 前一个单词的词首
行首行尾间跳转: ^(非空字符的行首),0(空字符行首)
$(此行最后的字符)
句间跳转: ) 下一句句首; ( 前一句句首
段间跳转: } 下一段段首; { 上一段段首
行间跳转: nG 或:n 跳到第n行; G 跳到最后一行;
1G 跳到第一行;
Ctrl+f 向下翻一屏; crtl+b 向上翻一屏 ;
Ctrl+d 向下翻半屏; ctrl+u 向上翻半屏;
编辑的命令:
x: 删除一个字符 d dd ,dw ,de ,db ,d),d$等是删除到光标定位的位置。删除掉的内容不会马上清空,而是保存在缓冲区内的。
p: 粘贴;
y: 复制;
u: 撤销最近一次的操作;U 撤销上回的所有操作;ctrl+r 撤销撤销
. : redo 重做;
查找并替换的命令:s///gi s 表示搜索替换;g表示全局替换;i表示忽略大小写
配置vi和vim
动态配置 :set (列举一小部分重要的配置项目)或 :set all (例举所有配置项目)
:set number 设置行号; :set autoindent(ai) 自动缩进
:set ignorecase(ic) 忽略大小写; :set nowrap 不拆行显示
Syntax enable on ,off ,enable, clear 语法着色。
若是取消用 :set no[] 如 :set noai
永久配置: ~/.vimrc 或者 ~/.exrc
要保存这些配置,因此每次启动编辑器时都能够使用它们,需要把那些配置项目的命令放在~/.vimrc文件中。如果该文件不存在,vi和vim就会读取较老的~/.exrc文件。
在vi中我们还可以分屏查看,在末行模式中输入:split,或ctrl+w,s 会水平分割屏幕;
Ctrl+w,v 会垂直分割屏幕;ctrl+w,方向键会在窗口切换
当我们分割的不是一个文件而是多个文件时:vim +o 1.diff 2.diff 水平分割2个文件; +O 垂直分割 查看我们也可以用ctrl+w,方向键。
当我们用 vim 1..diff 2.diff 时 这时会先显示1..diff 然后再末行模式输next 会显示 2..diff; previous 会显示 1.diff ; last 显示最后一个; first显示第一个文件;
退出时我们用 qall 关闭全部;
什么是进程?
进程就是被载入内存的一个指令集合。
在Linux系统中,触发任何一个事件,系统都会将定义成为一个进程,并且给这个进程一个ID,称为PID,同时根据这个进程的用户与相关属性关系,给这个PID一组有效的权限设置。Linux内核通过进程的PID来跟踪他的方方面面,运行信息位于/proc目录中,其中进程号在1——32767中产生。进程号1永远属于init这个进程。因为init是你启动linux时的第一个进程。而后其他进程都是他衍生出来的,是她的子进程。子进程都是从父进程衍生出来的。我们可以用命令“pstree”来看产生的进程。
内核的几大功能:内存管理,进程管理,硬件管理,cpu管理,文件系统管理。
查看进程信息(ps) a 包括所有终端的进程;
系统中有两种进程:用户进程(终端进程) ; 守护进程(在启动Linux时都运行了)
x 显示不包括终端进程,显示守护进程;
u 显示进程所有者的信息,谁发起了这个进程。
o 显示定制的信息 如 pid tty
-e 显示所有信息(=ax)
-f 显示完整格式的信息 如 ps -ef
Pid 进程号
Command 那个命令启动了这个进程
%cpu cpu使用率
%men 内存使用率
State 进程状态 D(不可打断的休眠) R(running) S(sleeping)T(stopped)X(dead)<(高优先级进程) N(低优先级进程) L(被锁定在内存中) Z(zombie) l(多线程)+(在前台运行的程序) start(进程的开始时间)
Tty
Euser effictive user name
Ruser 发起者
Vsz 占用虚拟内存大小
Rss 非虚拟内存大小
Time 占用cpu的累加时间
我们也可以用 ps aux | grep x 显示特定进程。
Pgrep 支持正则表达式的命令
Pgrep -U root
-G student
Pgrep -l 1 ; pgrep -U root -v 反向显示;
按确切的程序名称: pidof 如 pidof bash
进程之间通讯的信号;常用信号,
信号15, term(默认) 整洁终止
信号 9, kill 立即终止
信号1, hup 重读配置文件
我们可以用man 7 signal 显示完整列表;
给进程发送信号
按PID : kill pid 如 kill 3428
按名称: killall comm 如 killall httpd
按模式: pkill pattern 关闭某些匹配模式的进程
调度优先性决定对CPU的使用:
优先性受进程的(Nice value)影响,这个值的范围是-20到19之间,默认为0!值越小说明对cpu的使用越优先。
我们可以改变调度优先值:
在启动进程时: nice -n 5 命令(如ifconfig)
在启动后: renice 5 PID 如 renice 15 -p PID
只有根用户才能降低nice的值(提高其优先性),普通用户只能提高nice值。
查看nice值: ps axo pid ,nice
显示实时的进程信息,动态查看进程信息的命令 top
Top默认每隔5秒刷新一次。
#top
Cpu(s)0.0%us(用户发起的进程) 0.1%sy(系统发起的进程) 0.0%ni(修改nice值的百分比) 99.4%id(cpu的空闲率) 0.0%wa(cpu等待) 0.0%hi(硬件中断)0.0%si(软中断)0.0%st(被虚拟机偷走的时间)
Top -b -n 2
在后台运行进程:在命令行添加一个&
暂停某个运行进程:使用ctrl+z或发送信号17(stop)
管理后台进程和暂停进程
列举进程的号码和名称:jobs jobs -l 同时也显示进程号: -r 仅列出那些运行状态的作业; -s 仅列出那些停止状态的作业
在后台运行:bg %作业号码; %可以省略
在前台运行:fg %作业号码;
发送信号:kill -[信号] [%作业号码] %不可省略
一次性运行进程使用at (用mail查看创建的进程已经完成),重复性运行使用crontab
At time 创建 使用ctrl+d结束 crontab -e
-l 列举 crontab -l
-c 作业号码 详情
-d 作业号码 删除 crontab -r
Crontab 包括以下几段:
Min hour day month week-day command
如 10 3,9 * * * echo “how are you!”
在每天的9:10和3:10分别发送
用crtontab编写的文件保存在/var/spoo/cron/中
为了弥补crontab要24小时在线的缺点,这时使用anacron,他可以在开机后执行所没有执行的作业。
Trap 捕捉信号 如 trap “do not interrup me!” INT (ctrl+c)
环境变量
Path 命令搜索路径
声明坏境变量:export A 或 declare -x A
某些通用变量
Ps1 变量设置提示符;默认常用的转义序列包括:
\h 主机名; \u 用户名;\w 当前工作目录; \$ 若是root用户显示#,若是普通用户显示$。
别名(aliase)
如 alias dir= 'ls -l'
撤销别名 unalias 别名
如果想使用rm命令本身而不通过它的别名,需用\rm
如 alias rm=“rm -i”
\rm -r junk
登录shell和非登录shell
登录shell是某个用户登录到系统后启动的shell。非登录的shell是使用其他方式启动的shell,可能是被用户或程序发出bash命令后启动。
Bash启动任务:profile
保存在/etc/profile文件(全局)和~/.bash_profile文件(用户)中
只为登录shell运行。
用于设置环境变量,运行命令(如邮件检查程序脚本)
/etc/profile shell脚本是登录shell启动后运行的第一个启动脚本,它只为登录的shell运行;非登录shell不会引用这个脚本。
登录shell 首先调用/etc/profile这个文件,该文件调用/etc/profile.d。然后,~/.bash_profile这个文件被调用。
Bash 启动任务: bashrc
保存在/etc/bashrc文件(全局)和~/.bashrc文件(用户)中
为所有shell运行
用于设置本地变量,定义别名。
Bash退出任务
保存在~/.bash_logout文件中(用户)
在退出登录shell时运行
用于创建自动备份,清除临时文件。
转载于:https://blog.51cto.com/gomyway/631014