admin 管理员组

文章数量: 887053


2024年1月14日发(作者:怎么生成网页链接)

一、Linux操作系统介绍与基本操作

1.1 Linux操作系统介绍

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

Linux操作系统标识

基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。Linux也广泛应用在嵌入式系统上,如手机,平板电脑,路由器,电视和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用。

嵌入Linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式Linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费,性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。嵌入式Linux的应用领域非常广泛,主要的应用领域有信息家电、PDA 、机顶盒、Digital Telephone、Answering Machine、Screen Phone 、数据网络、Ethernet

Switches、Router、Bridge、Hub、Remote access servers、ATM、Frame relay 、远程通信、医疗电子、交通运输计算机外设、工业控制、航空航天领域等。

1.2 Linux系统基本操作介绍

本节主要介绍一下Linux系统的基本操作,主要包括嵌入式Linux开发常用到的一些命令和文本编辑器vi的使用,读者可以在完成第三章“VMware与Linux虚拟机的安装”的实验之后,结合本节进行实际操作。关于Linux操作系统更多的命令与操作,可以自行阅读Linux相关书籍或上网查阅资料。

1.2.1 Linux基本命令介绍

首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如Windows的DOS。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如DOS命令就是控制台命令。我们现

在要了解的是基于Linux操作系统的基本控制台命令。有一点一定要注意,和DOS命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

Linux命令语法格式为:

<命令> [<参数>] [<目标>]

命令代表了Linux系统下的一项功能指令,每个命令都允许带若干参数,参数用来影响命令的行为,参数有单字符参数和多字符参数之分,但字符参数前用“-”前导,多字符参数前用“--”前导。加前导字符的目的是为了与命令的“目标”区分开来。下面具体介绍一些基本命令及其用法。

ls :这个命令就相当于dos下的dir命令一样,肯定是我第一个就要介绍的,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l

-F。

ls -a :Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

ls -l :(这个参数是字母L的小写,不是数字1)这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。

cd :这个命令是用来进出目录的,它的使用方法和在DOS下相同。但有两点需要补充一下。首先,和DOS不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回/root这个功能同cd ~ 是一样的。

mkdir、rmdir :mkdir命令用来建立新的目录,rmdir用来删除、已建立的目录。但是rmdir只能删除空目录,如果需要删除带有文件的目录,可以参照下面rm命令的用法,使用rm -rf 目录名 进行删除。

cp :这个命令相当于dos下面的copy命令,具体用法是:cp –r [源文件(source)]

[目的文件(target)]。参数r是指连同元文件中的子目录一同拷贝。

rm :这个命令是用来删除文件的。rm命令常用的参数有三个:-i,-r,-f。比如我现在要删除一个名字为text的一个文件:rm –i test系统会询问我们:“rm:remove

‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为Linux系统中删除过的文件无法恢复,所以使用这个参数在删除前让你再确定一遍,是很有必要的。

rm –r 目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。

rm –f 文件名(目录名):这个操作可以进行强制删除。

mv :这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。另外因为Linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:mv [原文件(目录)名] [新的文件(目录)名]。

du、df :du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况。

cat :这个命令是Linux中非常重要的一个命令,它的功能是显示或连结一般的ASCII文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的

用法如下:

cat text ——显示text这个文件;

cat file1 file2 ——依顺序显示file1,file2的内容;

cat file1 file2 > file3 ——把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。

“> ”:是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果 > 左边没有文件的名称,而右边有文件名,例如:

cat > file1:结果是会空出一行空白行,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。另外,如果你使用如下的指令:

cat file1 >> file2:这将变成将file1的文件内容附加到file2的文件后面,而file2的内容依然存在,这种重定向符 >> 比 > 常用,可以多多利用。

more,less :这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。more指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或网下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。

clear :这个命令是用来清除屏幕的,它不需要任何参数,如果觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

pwd :这个命令的作用是显示用户当前的工作路径。

ln :这是Linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个链接,这个命令最常用的参数是 -s ,具体用法是:ln –s [源文件] [目标文件]。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less ,这里 -s 是符号(symbolic)的意思。这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接有软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数 -s ,它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

man :man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,在需要详细了解某个命令的时候可以去看man,具体用法为man [指令]。

1.2.2 vi的基本使用

vi是Linux系统中命令行模式下最常用的文本编辑器,它也是Unix/Linux操作系统中最经典的文本编辑器,只能编辑字符,不能对字体、段落进行排版;它既可以新建文件,也可以编辑文件;他没有菜单,只有命令,且命令繁多。

vi 的三种命令模式

1.命令模式:

命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作;否则vi会响铃警告。

2.文本编辑模式:

文本编辑模式用于字符编辑。在命令模式下输入i(插入命令)、a(附加命令)等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。

3.最后行模式:

在命令模式下,按“:”键进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。

当我们按ESC进入命令模式后,我们可以用下面的一些键位来移动光标:

j 向下移动一行

k 向上移动一行

h 向左移动一个字符

l 向右移动一个字符

ctrl+b 向上移动一屏

ctrl+f 向下移动一屏

向上箭头 向上移动

向下箭头 向下移动

向左箭头 向左移动

向右箭头 向右移动

我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。

插入模式(文本的插入),可以用下面的一些键位来实现不同的插入功能:

i 在光标之前插入

a 在光标之后插入

I 在光标所在行的行首插入

A 在光标所在行的行末插入

o 在光标所在的行的下面插入一行

O 在光标所在的行的上面插入一行

s 用输入的文本替换光标所在字符

S 用输入的文本替换光标所在行

文本内容的删除操作;

x 一个字符

#x 删除几个字符,#表示数字,比如3x

dw 删除一个单词

#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词

dd 删除一行;

#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行

d$ 删除光标到行尾的内容

J 清除光标所处的行与下一行之间的换行,行尾没有空格的话会自动添加一个空格。

#J 表示合并#(数字)行。

退出保存:

在命令模式下按 shift+: 文本底端出现冒号

:w 保存;

:w filename 另存为filename;

:wq! 保存退出;

:wq! filename 注:以filename为文件名保存后退出;

:q! 不保存退出;

:x 应该是保存并退出 ,功能和:wq!相同

撤销操作:

u命令取消最近一次的操作,可以使用多次来恢复原有的操作[1]

U取消所有操作

Ctrl+R可以恢复对使用u命令的操作

复制操作:

yy命令复制当前整行的内容到vi缓冲区

yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词

y$复制光标所在位置到行尾内容到缓存区

y^复制光标所在位置到行首内容到缓存区

#yy例如:5yy就是复制5行

#yw例如:2yw就是复制两个单词

如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如:3,5y复制第三行到第五行内容到缓存区。

查找和替换:

vi的查找和替换功能主要在末行模式完成:

至上而下的查找

/ 要查找的字符串,其中/代表从光标所在位置起开始查找,例如:/ work

至下而上的查找 要查找的字符串 例如:? work

替换

:s/old/new用new替换行中首次出现的old

: s/old/new/g 用new替换行中所有出现的old

:#,# s/old/new/g用new替换从第#行到第#行中出现的old

:% s/old/new/g用new替换整篇中出现的old

如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gc

恢复文件:

vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:

O只读打开,不改变文件内容

E继续编辑文件,不恢复.swp文件保存的内容

R将恢复上次编辑以后未保存文件内容

Q退出vi

D删除.swp文件

或者使用vi -r 文件名来恢复未保存的内容。


本文标签: 命令 文件 模式 字符