`
jiasanshou
  • 浏览: 16139 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux基础

 
阅读更多

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将光标移到屏幕最后一行。

同样要注意大小写。HL命令前面还可以加数字,表示移进屏幕的行数。如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将当前行复制到剪切缓冲区;

nyyn行复制的剪切缓冲区。

撤销和重复

u撤销前一条命令的结果;

.重复最后一天修改正文的命令。

二、插入方式

Esc或者ctrl+[退出该模式。

i 在光标左边插入正文;

a在光标右边插入正文;

o 在光标所在行下面增加新行;

O在光标所在行上面增加新行。

I在光标行的开头插入;

A在光标行的末尾插入;

正文替换:

一些命令允许进行正文替换。这等同于在进入插入方式接受替换正文之前先删去一段文字。

s用新正文替换光标所指的字符;

cw用新正文替换光标右边的字;

cb用新正文替换光标前面的字

cd用新正文替换当前光标行。

在这组命令前面加上数字,它们的功能进一步扩充;

ns 用新正文替换光标后面的n个字符;

ncw替换光标后面的n个字;

ncb替换光标前面的n个字;

ncd用正文替换下面的n行。

除前面的命令外,还有两个替换命令可以使用;

C$用新正文替换从光标开始到本行末尾的所有字符;

C0用新正文替换从光标开始到本行开头的所有字符。

三、命令方式

有许多结构更为复杂的命令,而且还可以设置很多配置选项。这些都是命令方式范围内的。命令方式下的所有命令有一个共同的特征,它们都是用冒号(:)开头。一旦送入了冒号,光标就跳到屏幕最后一行,在哪里显示冒号。现在输入的到EnterReturn键为止的所有字符都显示在屏幕最后一行。你可以检验,必要时可以改正输入。

1, 退出命令

前面看到的退出编辑程序的唯一方法是在编辑方式下使用ZZ命令。这不仅退出编辑程序,同时还将对正文所做的任何修改都保存到原始文件中去。有时候只要退出编辑程序,不要求保存编辑的内容。可以用下面的命令:

q 在未做修改的情况下退出

q!将任何修改作法,退出编辑程序。

尽量使用:q退出。

2文件的使用

下面的带冒号的命令允许从文件中读取正文和写正文到文件中去;

w将编辑的内容写到原始文件中去;

wq写文件并退出(相当于ZZ);

w file将编辑的内容写到名称为file的文件中去;

r filefile文件的内容读入,放在当前光标行的后面;

: e file 编辑新文件file代替旧的内容;

:f file 将当前正文的名称改为file

f打印当前正文的名称和状态。

有时,要修改一个文件的内容,将修改的结果写到新文件中去,保留原有的文件内容不变。

这时可以用:wfile命令。这条命令还有另外一种形式,可以在它的前面加上用哪个逗号分开的行的范围。这时,它将相应的行写到指定的文件file中。

;a,bw filea行到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]匹配ab之间的任意字符;

*匹配前一个字符的0次或多次出现;

/不管后面的字符的特殊含义。

6 正文替换

s命令用另一串字符替换行中的一串字符。这条命令有几种变形。

:s/str1/str2/str2替换行中首次出现的str1;

:s/str1/str2/gstr2替换行中每一个str1;

:.,$s/str1/str2/gstr2替换当前行到文件末尾的所有的str1;

:1,$s/str1/str2/gstr2替换整个文件中的str1;

:g/str1/s//str2/g 同上

在这些命令中,g放在末尾表示在当前光标行中对搜索字符串的每次出现重复使用本命令。不加g,命令只对行中搜索字符串的首次出现进行替换操作。g放在命令的开头规定命令对文件中所有包含搜索字符串的行进行替换操作。

7删除正文

在编辑方式下可以删除正文,但仍然有删除行的冒号命令:

:d删除当前光标行;

:3d在正文中删除3行;

:.,$d从当前光标行到文件末尾全部删除

:/str1/,/str2/d删除从str1str2的所有行。

8选项

set option

一些:

Autoindent,ignorecase,number,ruler,tabstop

9 shell切换

当处于编辑的对话过程中,可能需要执行一些Linux命令。

:! Command 执行command命令后回到编辑程序。

分享到:
评论

相关推荐

    嵌入式LINUX基础教程中文第2版 --百度网盘

    嵌入式LINUX基础教程中文第2版 高清带书签 本书是嵌入式Linux领域的名著。全面深入而又简明地阐述了构建嵌入式Linux系统的精髓。书中不仅剖析了嵌入式Linux系统,而且讲述了处理器、内核、引导加载程序、设备驱动...

    Linux基础.docx

    Linux基础

    linux基础命令linux基础命令

    linux基础命令linux基础命令

    Linux基础.ppt

    linux基础文件Linux只定义了一个操作系统内核。内核必须同命令、守护进程以及其他软件一起打包来组成一个可用的完整系统——发行版本。 1994年,Young和Mark Ewing创建了Red Hat公司,并创造了全球使用最广泛的Red ...

    Linux基础教程(清华课件)

    Linux基础教程,清华老师的课件。讲解linux基础知识,非常全面,是linux入门的好资料

    Linux基础命令教程(豪华版)

    Linux基础命令教程(豪华版) 豪华版主张学到更多的Linux命令知识。  从这里开始学习Linux命令,本课程让你更清楚地了解和掌握它,在Linux中命令是讲究大小写的,所以请管好你的Caps Lock键。  不用担心,Linux命令...

    Linux基础知识文档.pdf

    Linux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdfLinux基础知识文档.pdf

    Linux基础命令学习Linux基础命令学习

    Linux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chmLinux基础命令学习.chm

    《Linux基础千锤百炼》v2.pdf

    Linux基础部分从入门到深入,其中的命令基本都翻译整理自man文档和info文档。除了必要的基础,还有很多"少为人知"的原理、机制和"新大陆"。 这是第二版。

    第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt

    第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt第2章 Linux基础命令.ppt

    Linux基础教程(1)操作系统基础课件全集.ppt

    Linux基础教程(1)操作系统基础课件全集

    Linux基础命令教程豪华版

    Linux基础命令教程(豪华版)─────来自于Linux的强大功能 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由...

    linux基础及应用课后习题答案 .pdf

    linux基础及应用课后习题答案 .pdf 很实用的

    linux基础教程(清华课件).

    linux基础教程(清华课件) 清华大学计算机基础教育课程系列教材 汤荷美 董渊 李莉 程志锐 编著

    Linux基础命令.pdf

    Linux基础命令.pdfLinux基础命令.pdf

    Linux基础知识培训

    介绍linux基础知识,主要包括进程管理,文件系统,numa等知识点

    Linux基础教程视频版(很详细)

    Linux基础教程视频版(很详细) 第1章 了解编程语言-C语言简介 第2章 Linux下C程序开发环境 第3章 Linux基础 第3章 Linux技术实验 第3章 Shell基础 第3章 Shell基础实验 第4章 VI编辑器的实验 第4章 VI编辑器的使用 第...

    Linux基础.pdf

    Linux基础.pdf,Ubuntu,Linux,基础学习 Linux基础.pdf,Ubuntu,Linux,基础学习

Global site tag (gtag.js) - Google Analytics