LinuxLinuxLinuxLinux基本概念及基本概念及基本概念及基本概念及常用命令常用命令常用命令常用命令一、什么是Linux终端键盘和显示器合称为终端,也称控制台,一台计算机的IO设备就是一个物理控制台。在一台机器上用软件方法实现多个相互不干扰、独立工作的控制台界面,就是实现了多个虚拟控制台。Linux虚拟控制台有六个,如果直接方式选择XWINDOW,那么xwindow在第7个虚拟终端上。在Linux系统中的字符操作控制台界面,通过组合键Alt+(F1-F6)可以切换到另外的控制台。在图像用户界面下通过组合键Ctrl+Alt+(F1-F6)可以切换到字符控制台,每一个控制台是系统中一个完全独立的会话,不同的用户可以同时使用。虚拟控制台使Linux成为一个多用户操作系统。这一多控制台的特点与Windows中的多桌面不同。在Linux中,每一个控制台可以分别由完全不同的用户来控制。例如,您可能在控制台一中以root身份登录,而在控制台二中以yifan身份登录。两个控制台在各自的用户空间中运行不同的程序。如果您是在图形模式下,那么您可以打开一个“终端”(terminal)以进入控制台窗口。通常在桌面的任务条上会有终端的按钮。您也可以从上下文菜单(在桌面上单击右键)打开终端。二、什么是shellshell是系统用户界面,它提供用户与内核交互的接口。用户就能通过键盘输入指令来操作计算机了,它再将执行结果显示给用户。shell用户界面,也就是我们常说的字符操作界面。shell是一个命令解释器,拥有自己内建的shell命令集。此外,shell也能被系统中其他有效的Linux实用程序和应用程序(utilitiesandapplicationprograms)所调用。shell是如何执行命令解释的,shell首先检查命令是否是内部命令,不是的话再检查是否是一个应用程序,这里的应用程序可以是Linux本身的实用程序,比如ls和rm,也可以是购买的商业程序,比如xv,或者是公用软件(publicdomainsoftware),就像ghostview。然后shell试着在搜索路径里寻找这些应用程序。搜索路径是一个能找到可执行程序的目录列表。如果你键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,(学过DOS的朋友,一定对内部,外部命令的含义很了解)将会显示一条错误信息。而如果命令被成功的找到的话,shell的内部命令或应用程序将被分解为系统调用并传给Linux内核。三、shell的种类目前流行的shell有:bash、ksh、csh。bash是Linux系统默认使用的shell,它由BrianFox和ChetRamey共同完成,是BourneAgainShell的缩写,内部命令一共有40个。Linux使用它作为默认的Shell是因为它有以下的特色:(1)可以使用类似DOS下面的doskey的功能,用上下方向键查阅和快速输入并修改命令。(2)自动通过查找匹配的方式,给出以某字串开头的命令。(3)包含自身的帮助功能,你只要在提示符下面键入help就可以得到相关帮助。ksh是KornShell的缩写,由EricGisin编写,共有42条内部命令。该Shell最大的优点是几乎和商业发行版的ksh完全相容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。csh是Linux比较大的内核,它由以WilliamJoy为代表的共计47位作者编成,共有52个内部命令。该Shell其实是指向/bin/tcsh这样的一个Shell,也就是说,csh其实就是tcsh。在此介绍Linux常用命令,主要是介绍bash的命令1111、、、、bashbashbashbash主要有支持三种通配符:主要有支持三种通配符:主要有支持三种通配符:主要有支持三种通配符:*匹配任何字符和任何数目的字符?匹配任何单字符[...]匹配任何包含在括号里的单字符有的还支持-,它表示字符范围,如[a-h]表示从a到h的任意一个字符bash命令的一般格式如下:命令名【选项】【参数1】【参数2】...【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个减号(-)连起来,如ls-l-a与ls-la相同。【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。使用分号(;)可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序相同。有的参数也以--开头。命令、选项和参数可以用空格或TAB隔开。2222、、、、bashbashbashbash命令命令命令命令在送入命令的任何时刻,可以按键,当这样做时,系统将试图补全此时已输入的命令。如果已经输入的字符串不足以唯一地确定它应该使用的命令,系统将发出警告声。再次按键,系统则会给出可用来补全的字符串清单。使用命令补全功能,可以使用长命令或操作较长名字的文件或文件夹。3333、历史命令、历史命令、历史命令、历史命令系统会把过去输入过的命令记忆下来,只要按方向键中的上下箭头,就可以选择以前输入过的命令了。4444、联机帮助、联机帮助、联机帮助、联机帮助可以通过man命令来查看任何命令的联机帮助信息。它将命令名作为参数,该命令的语法格式为:man【命令名】在任何命令之后给--help参数,也可以显示该命令的帮助信息。Linux的文件与文件类型,和DOS,WIN有点相似,在此不做介绍。注意LINUX文件名区分大小写。四、目录和文件的基本操作1111、文件查看和连接命令、文件查看和连接命令、文件查看和连接命令、文件查看和连接命令将文件连接到一起,用“”操作将几个文件组合成一个新的文件,或者是用“”把文件追加到已存文件的后面。语法:cat[参数]filelist-b或--number-nonblank:和n相似,但对空行不编号-s:遇到两行空白,替换为一行空白-v:显示不可打印的字符filelist:用于结合文件的可选列表。2222、分屏显示命令、分屏显示命令、分屏显示命令、分屏显示命令类似于cat,但它是每次显示一页,按空格显示下一页,按键退出。语法:more[选项]...-num:指定每屏显示的行数-d:在屏幕下面提示信息-l:more默认遇到送纸符^L会暂停,使用该选项可以取消该功能-f:计算实际行数-p:不是以卷动的方式显示每页,而是先清屏再显示-s:遇到两行空白,替换为一行空白-u:不显示下划线+/:在文件中搜索字符串string,并显示字符串所在页的内容+/:从第num行开始显示file用于显示的文件3333、按页显示文件。、按页显示文件。、按页显示文件。、按页显示文件。类似于more,但允许在文件中前后移动。语法:less[参数]文件名-i:查询时忽略大小写。-num:指定每页显示的行数-p:在文件中搜索字符串string,并从第一个符合条件的地方开始显示-S:当某列的内容超过显示画面的宽度时,直接将超出的部分截断舍弃,默认情况下会把超出的部分折回来显示五、复制、删除和移动命令1111、拷贝文件。、拷贝文件。、拷贝文件。、拷贝文件。语法:cp[选项]....-r递归拷贝目录-f删除已存在的目标文件再复制-a在备份中尽可能的保留源文件的结构和属性。2222、删除、删除、删除、删除rm[选项]....该命令用于逐个删除指定的文件或目录。默认情况下,为文件名,rm命令不删除目录,只有指定-d选项时候,才能删除目录。语法:-f强制删除,包括只读文件,并且不给用户任何提示-i在删除每个文件时提示用户-r递归删除目录下的内容3333、移动或更名文件和目录、移动或更名文件和目录、移动或更名文件和目录、移动或更名文件和目录语法:mv[参数]源文件目标文件-f强制复盖已有文件。-i在复盖已有文件前提示用户。-u在目标文件的时间比原文件新时不复盖目标文件。-v在移动文件时输出相关信息。六、创建和删除目录命令1111、创建目录命令、创建目录命令、创建目录命令、创建目录命令mkdir[参数]目录名-p如果父目录不存在,创建所有的父目录。2222、删除空目录。、删除空目录。、删除空目录。、删除空目录。语法:rmdir[参数]目录列表-p表示删除指定目录后,如果该目录的父目录为空,则将一并删除七、切换工作目录和显示目录命令1111、改变当前工作目录。、改变当前工作目录。、改变当前工作目录。、改变当前工作目录。语法:cd目录名如果后面不加目录名,则返回用户的根目录,此外用户必须拥有进入该目录的权限。另外cd~指切换到自己的主目录,cd../..可以切换到单前目录的上上目录2222、显示正在工作或当前的目录名。、显示正在工作或当前的目录名。、显示正在工作或当前的目录名。、显示正在工作或当前的目录名。语法:pwd[参数]3333、列出目录中的内容。、列出目录中的内容。、列出目录中的内容。、列出目录中的内容。语法:ls[参数][目录]-A显示所有文件,包括隐藏文件(以“.”开头的文件,但不列出当前目录“.”和上级目录“..”-a显示所有文件,包括“.”和“..”目录。-d只列出目录名;不列出它的内容。-l给出文件的长列表。包括权限、所有权、大小、文件名、最后修改时间等等。-t按时间顺序显示-F在列出的文件名后以符号表示文件类型,一般文件不加符号,可执行文件“*”,目录加“/”-R若目录下有文件,则递归地列出目录下的文件八、查找与定位命令1111、查找文件或目录命令、查找文件或目录命令、查找文件或目录命令、查找文件或目录命令语法:find[path....][expression]该命令在目录树层次中从path开始向下查找文件,将符合expression要求的文件列出来。输入命令中第一个以-、(、)、,、!开始的参数作为expression的部分,在这些符号之前的参数都被认为是要搜索的路径,在这些符号之后的才被认为是expression的部分,如果不给出path,则使用当前工作的目录,如果不给出expression,则使用-print作为预设expressionexpression的参数有二三十个之多,这里只提几个常用的:-amin在过去n分钟内被访问过的文件-anewer比文件file更晚被访问过的文件-atime在过去n天被访问过的文件-cmin在过去n分钟内修改过的文件-cnewer比文件file更新的文件-ctime在过去n天内修改过的文件-empty内容为空的文件-gid或-groupgid是n或是group名是name的文件-ipath,-path路径名称符合p的文件,ipath表示忽略大小写-name,-iname文件名称符合name的文件,iname表示忽略大小写-size文件大小是n个单位-type文件类型〉文件类型的含义与命令ls的选型一样-pid进程id是n的文件exp1exp2或者exp1-aexp2或者exp1-andexp2含义相同,表示同时满足这两个条件!expr或者-notexpr表示expr的否定exp1-oexp2或者exp1-orexp2表示满足其中一个条件就可以2222、文件定位命令、文件定位命令、文件定位命令、文件定位命令locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的distribution之中,资料库的建立都被放在contab中自动执行。语法:locate[选项]-u建立资料库,-u会由根目录开始-U建立资料库,-U则可以指定开始的位置。-e将排除在寻找的范围之外。-l如果是1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会使速度减慢,因为locate必须到实际的档案系统中取得档案的权限资料。-f将特定的档案系统排除在外,例如我们没有道理要把proc档案系统中的档案放在资料库中。-q安静模式,不会显示任何错误讯息。-n至多显示n个输出。-r使用正规运算式做寻找的条件。-o指定资料库的名称。-d指定