Linux 笔记
系统中的每一个进程用一个称为进程识别号(process identity number,PID)的唯一的整数值来加以识别。
在Linux系统中,只有现存的进程一分为二时才能建立新的进程。新进程称为现存进程的子进程,而现存的进程则变为双亲进程。一个单独的双亲进程可以产生许多子进程,而这些子进程又可以产生他们自己的子进程。这表示所有在Linux机器上运行的进程从子进程,双亲进程到祖进程等形成一个树形的层次结构。这个进程的树形结构的根是一个称为init的进程。它是系统中所有其他进程的共同的祖先。它的pid值是1,是系统启动时运行的第一个实际进程。
输入ps命令本身,它就能列出为你运行的一些进程。-x开关将列额外出没有终端控制的进程,而-a开关将理出系统中所有其他用户运行的进程已经自己的进程。-j开关将在PPID列中显示进程的双亲进程的PID。
其中有一列是tty,就是终端的名字。使用tty命令可以得到登录时使用的终端:
$ tty
/dev/tty1
从中可以看到1号终端的全名是/dev/tty1。类似的,2号终端是/dev/tty2。等等。按惯例,/dev目录是系统用来保存特殊文件的地方。虚终端就是使用特殊文件的一个例子。
有时,需要强制结束一个进程。只要这是你控制的进程,通常因为执行了它,就可以用Kill命令来结束它的运行。要做的是将需要结束的进程的pid作为kill命令的参数。Kill命令将向这一进程发出结束运行的信号。可能出现进程忽视kill命令发出信号的情况。加-9开关,它就能发出不能忽视的信号。
空间:
为了按文件系统来检查可用的和已用的磁盘空间,可以用df命令:
要找出特定分区用掉了多少空间,还留有多少空间可供使用时,df命令是有用的。然而,它不能找出起始目录用了多少空间,它的子目录和文件用了多少空间,要找出这一类磁盘利用信息,可以用du命令。-s开关可以用来取得总数。
当操作系统针对固定的内存资源平衡各种不同的需求时,内存的数据库在空闲内存清单,磁盘高速缓存,进程内存和交换空间之间来回调度。整个过程是动态进行的。所有有关这些内存区的信息可以用free命令来显示:
监视内存使用方式如何随时间变化对管理具有指导意义。这可以用top命令来完成。它在屏幕上提供大量的系统统计信息。这些信息每隔几秒就改变一次top命令实际是free命令和ps命令的结合。还增加了一些新内容。进程的显示按照使用cpu时间长短排序。使用时间最长的排在前面。
VI:
一、编辑方式
K 上移;
J 下移;
h 左移
l 右移
ctrl –f 在文件中前移一页(相当于page down)
ctrl –b 在文件中后移一页(相当于page up)
在屏幕上找到需要的一页时,可以用下面的命令快速移动光标:
H 将光标移到屏幕上的起始行(或最上行)
M将光标移到屏幕中间;
L将光标移到屏幕最后一行。
同样要注意大小写。H和L命令前面还可以加数字,表示移进屏幕的行数。如2H将光标移到屏幕的第二行,3L将光标移到倒数第三行。
当光标移到所要的行时,行中的正确位置可以用下面的命令来实现:
w光标右移到下一个字的开头;
e光标右移到一个字的末尾;
b 光标左移到前一个字的开头;
0(零)光标左移到本行的开始;
^移到光标到行中第一个非空字符;
$右移光标到本行末尾。
搜索字符串:
/string 向文件尾搜索给定的字符串 string;
?String 向文件头搜索给定的字符串string;
n搜索过程中向前或向后搜索,找出字符串下次出现的位置。
替换和删除
在编辑方式下,可以用其他字符替换光标所指的字符,或者从当前光标位置删除一个或多个字符。
r c 用c替换当前光标指示的字符;
x 删除当前光标位置的字符;
dw删除光标右边的字;
db删除光标前面的字;
dd删除光标所在的行,并去掉空隙。
在上面的任何命令前面加上数字,他们的功能扩充如下:
nr c从光标位置开始用c替换n个字符;
nx从光标位置开始删除n个字符;
ndw在光标右边删除n个字;
ndb在光标前面删除n个字;
ndd删除n行,并去掉空隙。
其他常用的删除命令(前面不能加数字)是:
d$才当前光标起删除字符直到行的结束;
d0从当前光标开始删除字符直到行的开始;
J删除本行的回车字符,并和下一行合并。
剪切和粘贴:
从正文中删除字符,字或行时,他们并未被抛弃。而是将它们复制到一个内存缓冲区中,这可能很有用,因为有一对命令允许将该缓冲区中的内容粘贴到正文中,或者粘贴在同一个位置,或者粘贴到新的位置,完成标准的剪切和粘贴功能。这个命令是:
P(小写) 将缓冲区的内容粘贴到当前光标的后面;
P(大写)将缓冲区的内容粘贴到当前光标的前面。
Vi中有若干命令对。其中一对大小写字母提供类似的功能。在这种情况下,小写命令在光标后面进行操作,大写命令在光标前面进行操作。
有时需要复制一段正文到一个新的位置,而不是用剪切和粘贴移动块。要做的是将这段正文复制到剪切缓冲区中而不删除它。这时可以用:
yy将当前行复制到剪切缓冲区;
nyy将n行复制的剪切缓冲区。
撤销和重复
u撤销前一条命令的结果;
.重复最后一天修改正文的命令。
二、插入方式
Esc或者ctrl+[退出该模式。
i 在光标左边插入正文;
a在光标右边插入正文;
o 在光标所在行下面增加新行;
O在光标所在行上面增加新行。
I在光标行的开头插入;
A在光标行的末尾插入;
正文替换:
一些命令允许进行正文替换。这等同于在进入插入方式接受替换正文之前先删去一段文字。
s用新正文替换光标所指的字符;
cw用新正文替换光标右边的字;
cb用新正文替换光标前面的字
cd用新正文替换当前光标行。
在这组命令前面加上数字,它们的功能进一步扩充;
ns 用新正文替换光标后面的n个字符;
ncw替换光标后面的n个字;
ncb替换光标前面的n个字;
ncd用正文替换下面的n行。
除前面的命令外,还有两个替换命令可以使用;
C$用新正文替换从光标开始到本行末尾的所有字符;
C0用新正文替换从光标开始到本行开头的所有字符。
三、命令方式
有许多结构更为复杂的命令,而且还可以设置很多配置选项。这些都是命令方式范围内的。命令方式下的所有命令有一个共同的特征,它们都是用冒号(:)开头。一旦送入了冒号,光标就跳到屏幕最后一行,在哪里显示冒号。现在输入的到Enter或Return键为止的所有字符都显示在屏幕最后一行。你可以检验,必要时可以改正输入。
1, 退出命令
前面看到的退出编辑程序的唯一方法是在编辑方式下使用ZZ命令。这不仅退出编辑程序,同时还将对正文所做的任何修改都保存到原始文件中去。有时候只要退出编辑程序,不要求保存编辑的内容。可以用下面的命令:
:q 在未做修改的情况下退出
:q!将任何修改作法,退出编辑程序。
尽量使用:q退出。
2文件的使用
下面的带冒号的命令允许从文件中读取正文和写正文到文件中去;
:w将编辑的内容写到原始文件中去;
:wq写文件并退出(相当于ZZ);
:w file将编辑的内容写到名称为file的文件中去;
:r file将file文件的内容读入,放在当前光标行的后面;
: e file 编辑新文件file代替旧的内容;
:f file 将当前正文的名称改为file。
:f打印当前正文的名称和状态。
有时,要修改一个文件的内容,将修改的结果写到新文件中去,保留原有的文件内容不变。
这时可以用:wfile命令。这条命令还有另外一种形式,可以在它的前面加上用哪个逗号分开的行的范围。这时,它将相应的行写到指定的文件file中。
;a,bw file将a行到b行的内容写到file中。
:r file命令用来读入指定文件file的内容,并将它插在当前光标行的后面。这条命令有助于将原先分段准备的材料结合在一起。
当完成了当前的正文的编辑工作后,如果想接着编辑另外一个文件,可以使用:e file命令。
它的优点是:不用退出编辑程序再重新进入。在编辑文件的过程中,可以改变正在编辑的文件的名称,这可以用:f file命令来实现。如果在这条命令中不给出文件名称,vi将垒成当前正文的名称以及一些状态信息。如文件的行数,光标所在行的行号等。
3 行号
正在编辑的正文的所有行都有一个行号与他们结合在一起。可以用下面的命令将光标移到指定的行。
:n将光标移到第n行。
:345就光标移到第345行。
:345w myfile将第345行写到myfile文件中;
:3,8w myfile将第3行到第8行写到myfile文件中;
:1,.w myfile将第1行到当前行写到myfile文件中。
:.,$w myfile将当前行到最后一行写到myfile文件中。
:.,.+4w myfile从当前行开始将5行的内容写到myfile文件中。
:1,$w myfile 写整个文件到myfile(相当于:w myfile)。
4 字符串搜索
除了用数字指定行号外,还可以给出要搜索的正文字符串来指定要的行号。如果希望从当前行先前搜索正文,则放在两个斜杠字符之间。向后搜索则放在两个问号之间。
:/str/将光标前移到下一个包含str字符串的行;
:?str?将光标后移到最近的包含str字符串的行;
:/str/w myfile将第一个包含str字符串的行写到myfile文件中;
:/str1/,/str2/w myfile将从包含str1的行到包含str2的行的正文写到myfile文件中。
5规则表达式
:/^struct/
^字符比较每行开头的字符串。所有上面的命令表示:找出以字符串struct开头的行。
其他类似:
^放在字符串前面,匹配行首的字;
$放在字符串后面,匹配行尾的字;
/<匹配一个字的字头;
/>匹配一个字的字尾;
.匹配任何单个正文字符;
[str]匹配str在的任何单个字符;
[^str]匹配任何不在str中的单个字符;
[a-b]匹配a到b之间的任意字符;
*匹配前一个字符的0次或多次出现;
/不管后面的字符的特殊含义。
6 正文替换
:s命令用另一串字符替换行中的一串字符。这条命令有几种变形。
:s/str1/str2/用str2替换行中首次出现的str1;
:s/str1/str2/g用str2替换行中每一个str1;
:.,$s/str1/str2/g用str2替换当前行到文件末尾的所有的str1;
:1,$s/str1/str2/g用str2替换整个文件中的str1;
:g/str1/s//str2/g 同上
在这些命令中,g放在末尾表示在当前光标行中对搜索字符串的每次出现重复使用本命令。不加g,命令只对行中搜索字符串的首次出现进行替换操作。g放在命令的开头规定命令对文件中所有包含搜索字符串的行进行替换操作。
7删除正文
在编辑方式下可以删除正文,但仍然有删除行的冒号命令:
:d删除当前光标行;
:3d在正文中删除3行;
:.,$d从当前光标行到文件末尾全部删除
:/str1/,/str2/d删除从str1到str2的所有行。
8选项
:set option
一些:
Autoindent,ignorecase,number,ruler,tabstop
9 shell切换
当处于编辑的对话过程中,可能需要执行一些Linux命令。
:! Command 执行command命令后回到编辑程序。
分享到:
相关推荐
Linux基础学习篇940页 Linux基础学习篇940页是一本详细的Linux基础学习指南,涵盖了Linux操作系统的各个方面。该书共分为二十四章,涵盖了Linux基础知识、文件系统、进程管理、用户管理、网络管理、系统安全等方面...
linux基础教程 Linux,在今天的广大电脑爱好者心中已经不再是那个遥不可及的新东西了,如果说几年前的 Linux 是星星之火的话,如今 Linux 不仅在服务器领域的应用取得较大进展,而且在桌面应用领域也有越来越多的人...
本教程“Linux基础及应用教程(基于CentOS7) 第2版”是针对初学者设计的,旨在帮助学习者掌握Linux系统的基础知识和实际应用技能。教程内容涵盖CentOS 7这个流行的Linux发行版,因其稳定性和广泛的企业支持而备受...
### Linux基础及应用知识点解析 #### 一、Linux概述 **知识点1:Linux的基本特性** - **多用户性**:Linux支持多个用户从相同或不同的终端同时使用同一台计算机。这意味着在同一时间,Linux系统能够响应来自不同...
嵌入式LINUX基础教程中文第2版 高清带书签 本书是嵌入式Linux领域的名著。全面深入而又简明地阐述了构建嵌入式Linux系统的精髓。书中不仅剖析了嵌入式Linux系统,而且讲述了处理器、内核、引导加载程序、设备驱动...
Linux 基础知识点总结 本文档总结了 Linux 基础知识点,涵盖了 Linux 操作系统的基本概念、文件系统、shell 编程、进程管理、磁盘管理、网络管理等方面的知识。 一、文件系统 * Linux 文件系统的基本概念:文件、...
Linux基础教程.pdf
Linux基础知识学习文档是一份全面介绍Linux操作系统的入门资料,涵盖了从基本概念到实际操作的多个方面。这份文档可能包括了Linux的起源、发行版选择、安装过程、桌面环境、文件系统结构、用户权限管理以及常用命令...
Linux基础教程,清华老师的课件。讲解linux基础知识,非常全面,是linux入门的好资料
### Linux基础知识概览 在《兄弟连Linux基础知识》这一系列教程中,主要涵盖了Linux操作系统的基础知识,适合初学者快速入门并全面了解Linux的基本操作。以下将详细介绍该教程中所涉及的一些核心知识点: #### 1. ...
Linux基础入门PPT是针对想要了解和学习嵌入式Linux的初学者精心准备的一份教程。这份资料由知名教育机构“华清远见”提供,标签中的"far LINUX sight"可能暗示了其深入浅出的教学理念,旨在帮助学员开阔对Linux系统...
Linux基础命令教程(豪华版) 豪华版主张学到更多的Linux命令知识。 从这里开始学习Linux命令,本课程让你更清楚地了解和掌握它,在Linux中命令是讲究大小写的,所以请管好你的Caps Lock键。 不用担心,Linux命令...
**Linux基础千锤百炼 v2.pdf** 在IT领域,Linux操作系统扮演着至关重要的角色,尤其对于系统管理员、开发者和爱好者来说,理解并熟练掌握Linux基础是必不可少的。"Linux基础千锤百炼 v2.pdf"是专为那些希望深入学习...
### Linux基础命令教程豪华版知识点总结 #### 一、Shell概念与作用 - **定义**:Shell是Linux操作系统中连接用户与内核之间的桥梁,它作为命令解释器接收用户输入的命令并将其发送到内核执行。 - **作用**: - ...
Linux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdf
嵌入式linux基础教程-图灵.pdf 高清版
本Linux基础培训教程PPT文档旨在帮助初学者理解和掌握Linux操作系统的基本概念、常用命令以及系统管理技能。 1. **Linux简介**: Linux是一个自由和开放源代码的操作系统内核,由林纳斯·托瓦兹在1991年创建。它...
本套“Linux基础培训”PDF文档旨在帮助初学者掌握Linux命令行基础,逐步踏入Linux的世界。以下是对每讲内容的概览: 1. **Linux培训系列第一讲**:这通常会涵盖Linux的基本概念,包括它的历史、哲学以及与Windows和...
Linux基础教程(1)操作系统基础课件全集