1、概述简介
与目前流行的Windows相比,Linux是一个免费的开放源代码的操作系统,其支持多用户多任务的等优秀特点,吸引了一大批从事Unix/Linux研究和用用的爱好者,本章主要向初学者介绍什么是Unix/Linux,以及其优势特点,一边初学者能从总体上了解Unix/Linux操作系统。
UNIX系统是工作站上最常用的操作系统,1969年诞生。它是一个多用户、多任务的实时操作系统,允许多人同时访问计算机,并同时运行多个任务。UNⅨ系统具有稳定、高效、安全、方便、功能强大等诸多优点,自20世纪70年代开始便运行在许多大型和小型计算机上。
UNⅨ虽然是一个安全、稳定且功能强大的操作系统,但它也一直是一种大型的而且对运行平台要求很高的操作系统只能在工作站或小型机上才能发挥全部功能,并且价格昂贵,对普通用户来说是可望而不可及的,这为后来Unix/Linux的崛起提供了机会。Unix/Linux是一个类UNIX操作系统。
Linux在x86架构上实现了UNX系统的全部特性,具有多用户多任务的能力,同时保持了高效性和稳定性,Lnux具有如下的优秀的特点:开放性;完全免费;多用户;多任务;良好的用户界面;设备独立性;提供了丰富的网络功能;可靠的系统安全性;良好的可移植性。
目前linux操作系统分为两类:
内核版本和发行版本
内核版本 内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
发行版本 比较著名的几个发行版本有如下几个
1)RedHat Linux E Fedora Core Linux;
2)Slackware Linux:
3)SuSE Linux:
4)Debian Linux:
5)红旗 Linux(国产)
2、Unix/Linux常用命令
2.1 ls
ls-查看文件信息s是英文单词lst的简写,其功能为列出目录的内容,是用户最常用的命令之一。
它类似于DOS下的dir命令。
ls [参数] 目录或文件inux文件或者目录名称最长可以有265个字符,,代表当前目录,代表上一级目录,以开头的文件为隐藏文件,需要用-a参数才能显示常用参数及含义如下表所示。
参数
含义
-a
显示指定目录下所有子目录与文件,包括隐藏文件
-l
以长格式显示文件的详细信息
文件类型:“-”表示常规文件;“d”表示目录;“c”表示字符设备文件;“b"表示块设备文件;“s"表示管道文件;“l"表示链接文件文件
存取权限:从左到右每3位为一组,依次代表文件拥有者、同组用户和其他用户的存取权限。通常文件共有3个权限,“r表示只读;
“w”表示可写;“x”表示可执行;“-”表示未设置。文件的第一列如为-rw-r-r--,可知其为一个普通文件,文件所有者的权限是rw-,可读可写不可执行,文件所属组群的权限是r--,表示可读不可写不可执行其他人的属性是r-,表示可读不可写不可执行。只有文件的拥有者或超级用户才能设置文件的属性。
文件的属主和组:在Unix/Linux下每个文件都属于特定的用户和组,文件的属主和超级用户对文件用户最大的存取权限。
比如:
-rwxrwxrwx 可读可写可执行
-rwx------ 文件所属用户可以读写执行,但其他用户都不可读写执行
-rwxrwx--- 文件的所属用户和组内用户可以读写执行,但其他用户不可读写执行
---------- 所有用户都不可读写执行。
2.2通配符
与DOS下的文件操作类似,在Unix/ Linux系统中也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。
* 代表文件名中所有字符
?代表文件名中任意一个字符
ls d* 查找以字母d为开头的所有文件
ls a*b 查找以字母a为开头以b为结尾的所有文件
ls a? 查找a开头,文件名只有2个字母,第2个字符为任意的文件
l 通配符“[”、“]”、和“-”
用于构成字符组。“[和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。
例如,[abc]表示匹配a、b、c中的任意一个;
[a-f]表示从a到范围内的的任意一个字符。
转义字符\
如果要使通配符作为普通字符使用,可以在其前面加上转义字符。
ls [a-f]* 查找从a到f之间开头的任意文件名
ls [1-7]* 查找从1到7之间开头的任意文件名
ls [*]查找以*开头的文件名
ls a-f 查找文件名叫a-f的文件
ls \*1查找叫*1这个文件名的文件,而不是以1为结尾的所有文件
2.3 <>重定向命令
Linux允许将命令执行结果重定向到一个文件或者将一个文件内容重定向为命令的输入。
>输出重定向
>>附加输出重定向
<输入重定向
ls>a.txt 把ls显示结构放入文件a.txt中。
ls>>a.txt,追加重定向,如果a.txt已经有内容了,不会覆盖已有内容,而是在a.txt之后追加。
2.4 |管道符
一个命令的输出可以通过管道做为另一个命令的输入。
2.5more
命令如果使用ls命令来查看其内容,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下页,按下q键退出显示,按下h键可以获取帮助。
ls | more
more的功能是显示文件内容
more a.txt显示a.txt的内容
ls | more 把ls显示的结果分屏显示,把ls的输出作为more的输入使用。
2.6 cd-切换工作目录
所谓工作目录,就是当前操作所在的目录。
用户在使用Unⅸ/Linux的时候,经常需要更换工作目录cd命令可以帮助用户切换工作目录。
一后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录还可以使用“.”和“..”作为目录名,其中“.”表示当前目录,“..”表示当前目录的上层目录,即父目录。
cd目录名。
cd abc 从当前目录下进入abc子目录。
cd .. 返回上一级目录
2.7 pwd-显示当前路径
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。
2.8mkdir-新建目录
可使用mkdir命令创建一个新的目录。需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。该命令格式如下:
mkdir目录名
mkdir abc 新建立名为abc的文件夹
2.9 rmdir-删除目录
可使用rmdir命令删除一个目录。目录必须为空目录,不然提示删除失败rmdir目录名
rmdir abc 删除文件夹abc 只能删除空目录,若目录中有文件删除不了。
rm abc 删除文件abc
2.10 ln-建立链接文件
Linux链接文件类似于 windows下的快捷方式
ln源文件链接文件
ln-s源文件链接文件
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
ln a.txt a创建一个名为a链接文件,链接到a.txt,创建的是硬链接。
ln –s a.txt b 创建一个名为b的链接文件,连接到a.txt,创建的是软链接。
硬链接会占用磁盘空间,软链接不占用;如果目标文件不存在,硬链接文件还可以访问,软链接不可访问。
2.11 cal命令
查看当前日历

2.12 date
显示或设置时间

2.12 cat命令
cat命令可以用来查看或者合并文件内容。
cat文件名
·查看文件内容
cat文件名1文件名2>文件名3
·将文件1与文件2合并生成新文件3
cat 显示文件内容,但不会自动分屏

2.13grep-指定文件中搜索指定字符内容
grep [参数] 指定要搜索的字符串文件名
常用参数和含义如下表所示
参数
含义
-v
显示不包含匹配文本的所有行
-n
显示匹配行及行号
-i
忽略大小写
grep hello a.txt 在a.txt中查找字符串hello。
grep printf stdio.h在stdio.h中查找包含printf的行。
grep –v printf stdio.h在stdio.h中查找不包含printf的所有行。
grep ‘^a’ stdio. h:
在 stdio h文件中查找以a开头的行
grep ‘a$’ stdio. h:
在 stdio h文件中查找以a结尾的行
grep ‘^a.b’ stdio. h:
在 stdio. h文件中查找以a、任意一个字符和b开头的行
特殊字符
含义
^
从行首开始匹配
$
至行尾
.
任意单个字符

2.14wc-计算文件行数,字数
wc [参数] 文件名

2.15 find-查找文件命令
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。其格式如下:
find [路径] [参数]
常用的参数及含义如下表所示
参数
含义
-name
指定搜索的文件名,输出搜索结果
-user
搜索指定用户所属的文件
find ./ -name 1.txt 从当前目录开始查找所有的子目录名字为1.txt。

2.16 rm-删除文件或目录
rm [参数] 文件名
注意:使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用i参数以逐个确认要删除的文件。
常用参数及含义如下表所示
参数
含义
-i
以进行交互式方式执行
-f
强制删除,忽略不存在的文件,无需提示
-r
递归地删除目录下的内容
rm –rf * 强制删除当前面目录下所有的文件和子目录。

2.17cp-复制文件
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令
cp [参数] 源文件或目录目标文件或目录
常用参数及含义如下表所示
参数
含义
-a
该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录
-f
删除已经存在的目标文件而不提示
-i
交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r
若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
cp ./2/a.txt ./1/a.txt 拷贝当前目录下子目录2下的a.txt至当前目录下子目录1下。
2.18 mv移动或重命名文件
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。它的用法相当于DOS下的ren和move的组合。该命令格式如下:
mv [参数]源文件或目录目标文件或目录
常用参数及含义如下表所示
参数
含义
-i
交互方式操作,如果mv操作将导致对己存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-f
禁止交互式 操作,如有覆盖也不会给出提示
mv ./2/a.txt ./1/a.txt 将1.txt从2目录移至1目录
mv a.txt ../2/a.txt 在1目录中将a.txt移至上级目录的2目录中。
mv a.txt b.txt 将a.txt改名为b.txt
2.19 file-得到文件类型
Linux系统文件类型不是根据文件扩展名分类的,通过flie命令可以确认文件具体类型
flie文件名

2.20 clear-清除屏幕命令
clear命令用来清除屏幕内容,它不需要任何参数。该命令基本的使用格式如下:
clear

