linux常用命令详解教程精华

上传人:仙*** 文档编号:68154017 上传时间:2022-04-01 格式:DOC 页数:42 大小:546.50KB
收藏 版权申诉 举报 下载
linux常用命令详解教程精华_第1页
第1页 / 共42页
linux常用命令详解教程精华_第2页
第2页 / 共42页
linux常用命令详解教程精华_第3页
第3页 / 共42页
资源描述:

《linux常用命令详解教程精华》由会员分享,可在线阅读,更多相关《linux常用命令详解教程精华(42页珍藏版)》请在装配图网上搜索。

1、Linux知识点梳理(收集自网络)主机名什么是主机名无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在(以实验为目的的局域网域网实验性除外),每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的;主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为

2、其命名。主机名相关的配置文件:/etc/hosts;主机名配置文件主机名的配置文件大多是/etc/hosts ;hosts - The static table lookup for host name(主机名查询静态表);由于 Linux 发行版本众多,与主机名相关的配置文件有时也有所不同。现在我们说说常见版本的主机名配置文件;主机名配置文件 /etc/hosts解说Fedora/Redhat 或以Fedora/Redhat为基础打包的发行版,主机名配置文件是 /etc/hostsDebian或以Debian为基础打包的发行版,主机名配置文件是 /etc/hostname 和/etc/hos

3、tsSlackware的主机名配置文件是 /etc/hosts 那我们来读读 /etc/hosts的内容,看这个文件是用来做什么的。hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过hostname来访问。注:在debian 中还有一个/etc/hostname的文件,这个文件就是直接把本地主机名写进去就行了,但要和 /etc/hosts中的本地主机名保持一致。/etc/hosts 的内容一般有如下类似内容:127.0.0.1 localhost.localdomain localhos

4、t192.168.1.195 debian.localdomain debian 注:一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。第一部份:网络IP地址;第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain第二部份:主机名(主机名别名),其实就是主机名;当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian 127.0.0.1 是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程

5、序,就可以用回环地址来测试。为什么需要定义域名呢?其实理解也简单,比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计hostname;127.0.0.1 localhost.localdomain localhost192.168.1.2 ftp.localdomain ftp 192.168.1.3 mail.localdomain mail192.168.1.4 smb.localdomin smb 把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就可以通过hostname

6、来访问了。主机名(hostname)和域名(Domain)的区别主机名就机器本身的名字,域名是用来解析到IP的。但值得一说的是在局域网中,主机名也是可以解析到IP上的;比如我们前面所说举的例子;局域网的机器,不能通过主机名互访的原因有的弟兄可能会说,我的hostname彼此不能互访,其实这也问题也简单,我们前面已经提到了一个简单的解决办法。就是要让局域网中的所有主机都有一个通用的,并且包含所有主机的/etc/hosts文件;另一个是做解决办法是做局域网DNS服务器,如果您的主机特别少,就用前面所说的简单方法就行;如何做DNS服务器,我将在以后的文档中专题介绍;不过我值得一提的是做任何服务器都是

7、以效率优先的原则为基础。比如我们在局域网中两台机器,我们还有必要做DNS服务器吗?无论怎么解决,最终的都是用最有效率的办法解决问题;我们不能说明DNS多高级。如果DNS是为外网服务的,那就另说了,不做也得做。对不对?主机名修改工具 hostname其实主机名的修改也有专用工具,就是hostname ;我认为如果用这个工具来修改主机名,不如直接修改 /etc/hosts 来的方便;您可以查看 hosname -help或 man hostname的帮助。在这里我们只说简单的用法;hostname 工具是用来显示和设置系统主机名,看下面的洋文;hostname - show or set the

8、systems host name举例解说:显示主机名:hostnamerootlinuxsir01 # hostnamelinuxsir01此主机的主机名是linuxsir01,不加参数是用来显示当前操作的主机的主机名;临时设置主机名:我们可以用hostname 后接主机名,这样就可以设置当前操作的主机的主机名,比如我们想把主机名设置为linuxsir02;rootlinuxsir01 # hostname linuxsir02rootlinuxsir01 # hostname 注:显示主机名linuxsir02通过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会

9、存在;所以您想修改主机名,想一直有效的,还是用前面所说修改主机名配置文件 /etc/hosts;显示主机IP:显示当前主机名的IP,可以用-i参数;rootlinuxsir01 # hostname -i192.168.1.3本文未尽事宜有时我们在登入桌面时,会提示找不到hostname ,这时您要做的是修改/etc/hosts,为您的机器添加一个主机名;先用 ifconfig -a 来查看主机的IP地址,然后把你主机的IP地址,指定主机名(这里文意有点不明!)补充修改主机名详细文摘用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值。#hostname 主机名 /更改

10、主机名#hostname /查看机器名#hostname -i /查看本机器名对应的ip地址另外一种方法就是之久修改配置文件1.修改/etc/sysconfig/network里面的主机名字。# vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=yourname /在这修改hostname,(必须重起后生效?)/debian和基于debian的版本没有/etc/sysconfig/network,对应的是/etc/hostnamevi /etc/hostnameyourname2.修改/etc/hosts里面的名字# vi /etc/hosts12

11、7.0.0.1 localhost.localdomain localhost (我的debian和ubuntu的默认配置都是127.0.0.1 localhost,没有中间一项)192.168.1.121 yourname /在这修改hostname,ip要对应你ifconfig查到的。/有时候只有这一行127.0.0.1 yourname localhost.localdomain localhost修改 /etc/hosts。不修改的话,apache等需要解析主机名的服务将不能启动127.0.0.1 newhost localhost网上有很多朋友说直接修改/etc/hosts文件就可以

12、,但系统本身用到主机名的地方不会变化,所以我觉得/etc/hosts 是网络中用的,/etc/sysconfig/network(/etc/hostname)是本机起作用,而且经络测试也是这样的总结:所以要修改主机名,就两个文件都更改更改主机名时需注意。tomcat有时会因为hosts localhost.域名变更而引起无法启动关闭报警音和修改分辨率(虚拟机)-来自网络,需验证Vmware上装的Linux,在Shell下由于输错命令或是种种原因,会发出“嘟嘟”的报警声,并不是声卡发出的,而是主板的报警,所以不能通过关闭音箱来解决。寝室里经常响起这样的声音非常刺耳,今天在网上找到了解决方法,记下

13、:将/etc/inputrc中的set bell-style none 前的去掉,之后重启系统即可。不过这种方法试了并不见效,不过思路是对了,bell-style的取值范围是:none, visible, audible,想要把报警声去掉应该是将/etc/inputrc中的set bell-style visible前的#去掉,如果没这句话,可以自己添上。去掉linux报警声音其实内核模块pcspkr是驱动系统喇叭的模块,把它禁用了就行了。在命令行上打入:sudo modprobe -r pcspkr就行了。最好的办法是加入到blacklist,方法如下:在/etc/modprobe.d/bl

14、acklist中,加入blacklist pcspkr即可再次测试,没有讨厌的系统喇叭声音了。1shell报警声方法1#vi /etc/inputrc=# do not bell on tab-completionset bell-style none=方法2#echo set bell-style none /.bashrc注:上边只是去掉shell中的tab报警声,如果还有其它的报警声可以用下面命令:setterm -blength 0或将其加入到/etc/bashrc中。2gdm登录报警#vi /etc/gdm/custom.conf=greeterBrowser=trueSoundOn

15、Login=false=或者在 terminal下去行下面命令1:rmmod pcspkr2 :xset b offLinux字符界面下设置分辨率vi /boot/grub/menu.lst| 640x480 800x600 1024x768 1280x1024256 | 0x301 0x303 0x305 0x30732k | 0x310 0x313 0x316 0x31964k | 0x311 0x314 0x317 0x31A16M | 0x312 0x315 0x318 0x31B其实简单的很,就是grub即可,编辑grub.conf在kernel /boot/vmlinuz-2.6.

16、9-1.667 ro root=LABEL=/ rhgb quiet后面加上分辨率的设置:kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ vga=791 rhgb quiet不同色彩和分辨率所对应的值depth-640x480-800x600-1024x768-1280x10248bit-769-771-773-77515bit-784-787-790-79316bit-785-788-791-79424bit-786-789-792-795lilo:好像添加一行vga=0x31?就行了(很久没用lilo了,有点记不起来啦)其中0x31?是设定

17、具体分辨率值,可参考一下列表,不要乱设1280x1024是0x31a1024x768是0x317800x600是0x314640x480是0x311补充消除报警声铃声有三种风格:none, visible,1.消除shell的报警声,就是按tab键不对的响声:在/etc/inputrc中加入一行:(我在RedHat9.0中尝试了)set bell-style none保存并重启系统即可。2.消除vi编辑器里的报警声:在/etc/bashrc中加入一行:setterm -blength 0保存并重启系统即可。在LINUX中重启系统,是十分重要的。VMware虚拟机相关VMware 桥接网络配置我

18、的VMware 版本是6.0.2 ,host 是windowsXP,Guest 是Redhat9, 桥接网络设置是几种网络方式中最简单的一种。host 网络是公司的局域网,自动获得IP 地址,具体设置如下:1. 安装好 VMware 后在网络连接中可以看到三个网卡:如果使用桥接模式的话,后两个虚拟网卡禁用还是启用对联网没什么影响,我把它们都禁用了1. 设置本地连接为自动获得IP 地址,并勾选”VMware Bridge Protocol” 命令ipconfig 查看一下host 的IP: 3. 虚拟机 - 设置 - 选择 Ethernet, 网络连接方式选择 “ 桥接 ” ,如下图:4启动虚拟

19、机,进入 RedHat9 ,打开网络配置:点击“确定”后,查看一下有没有分配到 IP 地址:看到虚拟机已经分配到 IP : 10.25.73.117 ,重启后进入,虚拟机就可以上网了。好了,桥接网络就这么简单。虚拟机NAT方式上网VMware Workstation 6.0.1 build-55017网络结构:1.单位局域网,域环境,通过DHCP动态获得主机IP地址及DNS地址2.ADSL上网,下面连接无线宽带路由器,启用DHCP动态获得主机IP地址及DNS地址按照如下步骤进行:1.打开VMware,Fedora 4关机状态,在Devices区域中鼠标双击Ethernet,选择NAT。2.2.

20、在VMware中,Edit-Virtual Network Settings,看到如下两张图的设置,说明VMnet8启用。VMnet8的启用说明VMware软件虚拟了一台网络交换机,带有DHCP功能,本身起到NAT服务器的作用。请注意第二张图VMnet8的Gateway IP Address。3.打开Fedora 4虚拟机,以root账号登入系统,如果是图形界面的话,请按Ctrl+Alt+F1切换到终端命令行模式。4.设置主机名称与默认网关(通过vi编辑器打开/etc/sysconfig/network文件)roothostname root# vi /etc/sysconfig/networ

21、k按照下图设置,注意HOSTNAME这里设置成,配置完成后,重启机器后hostname会变成daquan。5.设置网卡参数(通过vi编辑器打开/etc/sysconfig/network-scripts/ifcfg-eth0文件)roothostname root# vi /etc/sysconfig/network-scripts/ifcfg-eth0按照下图设置即可6.设置DNS主机的IP(通过vi编辑器打开/etc/resolv.conf文件)roothostname root# vi /etc/resolv.conf下图无需设置,大家看一下即可,如果不是如下,重新启动机器应该就会自动设

22、置,因为已经设置为DHCP,nameserver会自动设置成 VMnet8的Gateway IP Address,nameserver就起到Windows下的DNS Server作用,这种设置类似于Windows域环境下的DNS转发器,说明这个地址会自动转发DNS查询到主机的DNS。7.重新启动网络设置因为更改了/etc/sysconfig/network这个文件,按照如下三个命令重新启动,不行就reboot虚拟机。参看下图Linux命令Linux 文件命令精通指南为刚接触 Linux 文件命令的初学者提供的速成教程虽然 GUI 桌面(如 KDE 和 GNOME)能够帮助用户利用 Linux

23、特性,而无需关于命令行接口的功能知识,但还是经常会需要更多的功能和灵活性。而且,基本熟悉这些命令对于在 shell 脚本中正确地使某些功能自动化仍然是必需的。这篇文章是关于 Linux 文件命令的一个“速成教程”,它是为那些刚接触这个操作系统或者只是需要补充这方面知识的用户提供的。它包含了对一些更有用的命令的一个简明的概述以及关于它们的最强大的应用的指导。下面包含的信息 结合一些实验 将使您能够容易地掌握这些基本的命令。(注意:当涉及到一个与 Oracle 集群文件系统 (OCFS) 结合的内核时,这些命令中的某些命令的行为可能会稍微有所不同。在此情况下,Oracle 提供了一个OCFS 工具

24、集,该工具集可以为文件命令应用提供一个更好的选择。)注意,这里包含的所有示例都在 SUSE Linux 8.0 Professional 上进行了测试。虽然没有理由相信它们在其它的系统上将不能工作,但如果出现问题,您应当查看您的文档,以了解可能的变化。背景概念在深入研究规范之前,让我们回顾一些基础知识。文件和命令在 Linux/UNIX 操作系统中,所有事物都被当作文件来处理:硬件设备(包括键盘和终端)、目录、命令本身,当然还有文件。这个奇怪的惯例实际上是 Linux/UNIX 的能力和灵活性的基础。大多数(几乎是全部)的命令形式如下:command option source file(s)

25、 target file获取帮助最有用的命令之一是那些提供帮助的命令(特别是对那些学习 Linux 的人而言)。Linux 中的两个重要的信息来源是联机参考手册,或 man 页面和 whatis 工具。您可以用 whatis 命令来访问一个不熟悉的命令的 man 页面。$ whatis echo要了解关于这个命令的更多信息,可以使用:$ man echo如果您不知道某个特殊任务所需的命令,您可以用 man -k (也称为 apropos)和一个主题来生成可能的命令。例如:$ man -k files一个很有用但常常被忽视的命令可以提供关于使用 man 本身的信息:$ man man您可以用 S

26、PACEBAR 来浏览任意的 man 页面;UP ARROW 将向上翻滚文件。.要退出,则输入 q,!,或 CTRL-Z。用户类别记得那句名言“所有动物一例平等但有些动物比其他动物更加平等”吗?在 Linux 世界中,根用户掌管一切。根用户可以以另一个用户名 su (源自 superuser)登录。要执行诸如添加一个新用户、打印机或文件系统之类的任务,必须作为根用户登录或者用 su 命令和根用户密码切换到超级用户。系统文件(包括控制初始化过程的系统文件)归根用户所有。虽然可能允许普通用户对它们进行读操作,但出于系统安全性的原因,编辑的权利将留给根用户。BASH shell 虽然提供了其它的 s

27、hell,但 BASH (Bourne Again Shell) 是 Linux 的默认 shell。它结合了与它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。BASH 内置的命令 history 默认记录最后输入的 500 条命令。可以通过在命令提示符下输入 history 来查看它们。要检索某个特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN ARROW,或在历史列表中输入它的编号,并在编号前面加上 !,例如:$ !49您还可以通过一条命令在历史列表中离位置最靠前的项目的距离来执行该命令:如果在历史列表中有 53 个事件,$ !

28、-3 将执行事件号 51。像 UNIX/Linux 世界的其它 shell 一样,BASH 使用了特殊的环境变量来方便系统管理。例如:HOME,用户主目录PATH,Linux 用来搜索您输入的命令的可执行镜像的搜索路径HISTSIZE,系统保存的历史事件的数量除了这些保留的关键字之外,您还可以定义您自己的环境变量。例如,Oracle 使用 ORACLE_HOME (还有其它一些变量),要使 Oracle 安装成功完成,必须在您的环境中设置这些变量。可以在提示符下临时设置变量:$HISTSIZE=100或者,在 /etc/profile (需要根用户权限)中进行系统范围的永久设置,或在 .pro

29、file 中进行局部永久设置。可以通过 echo 命令,并用一个 $ 符号来访问一个环境变量的值,进而查看该值。$ echo $HOME/home/bluher可以用 env 命令来查看当前所有的环境变量。正则表达式和通配符许多 Linux 命令使用通配符 * 和 ? 来匹配任意数量的字符或分别匹配任意的单个字符;正则模式匹配表达式利用一个句点 (.) 来匹配除“换行符”之外的任意单个字符。这两种情况下都使用方括号 ( ) 来匹配除“*”号之外的字符组。不过,* 号在各种情况下有类似但不同的意义:虽然它在 shell 中将匹配一个或更多的字符,但在正则表达式中,它匹配上述字符的零个或更多的实例

30、。一些命令(如 egrep 和 awk)使用了一组更广泛的特殊字符来进行模式匹配。文件处理命令剖析一个文件列表ls 命令用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如:$ ls -liah *22684 -rw-r-r- 1 bluher users 952 Dec 28 18:43 .profile19942 -rw-r-r- 1 scalish users 30 Jan 3 20:00 test2.out925 -rwxr-xr-x 1 scalish users 378 Sep 2 2002 test.sh上面的列表显示 8 列:第 1 列指示文件的 inod

31、e,因为我们使用了 -i 选项。剩下的列通过 -l 选项来进行正常显示。第 2 列显示文件类型和文件访问权限。第3 列显示链接数,包括目录。第 4 和第 5 列显示文件的所有者和组所有者。这里,所有者 bluher 属于组 users。第 6 列显示文件大小(单位为所显示的单位,而不是默认的字节数,因为我们使用了 -h 选项。第 7 列显示日期(它看起来像是三列),包括月、日和年,以及当天的时间。第 8 列显示文件名。在选项列表中使用 -a 将使列表中包含隐藏文件(如 .profile)的列表。处理文件可以移动 (mv)、复制 (cp) 或删除 (rm) 文件和目录。明智地使用 -i 选项,以

32、获得确认通常是个不错的主意。$ cp -i ls.out ls2.outcp:overwrite ls2.out?mv 命令允许使用 -b 选项,这将在移动文件之前作一个备份拷贝。rm 和 cp 接受功能强大但却危险的 -r 选项,它将在一个目录和它的文件上递归执行。$ rm -ir Testrm:descend into directory Test? y可以用 mkdir 来创建目录,用 rmdir 来删除目录。不过,因为不能用 rmdir 来删除包含文件的目录,所以使用 rm 加 -r 选项通常要更方便些。出于安全的原因,所有的文件都有所有权和保护。文件访问权限(或文件模式)包含之前提到

33、的相同的 10 个字符:第一个字符指示文件类型。最常见的是 - 代表文件,d 代表目录,而 l 代表链接。接下来的 9 个字符是三种用户类别的访问权限:文件所有者(字符 2-4),用户组 (5-7) 和其它 (8-10),其中 r 表示读权限,w 表示写权限,x 指示一个文件上的执行权限。破折号 - 如果出现在这九个位置的任意一个,则指示这个操作对该类别的用户禁止。可以使用 chmod 命令通过字符符号或二进制掩码来设置访问权限。要使用二进制掩码,必须将三个权限组的字符表示转换成二进制格式,然后转换成八进制格式:用户类别:所有者用户组其它字符表示:rwxr-xr-二进制表示:111101100

34、八进制表示:754将写权限赋予用户组,您可以使用:chmod g+w test.sh or chmod 774 test.sh用 umask 命令,在 /etc/init.dev 文件中进行系统范围内的、或在 .profile 文件中进行的本地的文件权限默认设置。这个命令指示用 777 减去这个数字来获取默认的权限:$ umask 022这将为用户创建的所有新文件生成一个默认的文件权限 755。可以用 chown 来修改文件的所有权:$ chown bluher ls.out这里,bluher 是新的文件所有者。类似地,组成员资格将按以下方式修改:$ chgrp devgrp ls.out这里

35、,devgrp 是新的用户组。ls 不提供哪些文件是文本的,哪些文件是二进制的的信息。要了解这个信息,您可以使用 file * 命令。重命名文件赋予一个文件多个名字的两种流行的方法是利用链接和 alias 命令。Alias 可以用来为一个更长的命令重新起一个更方便的名字:$ alias ll=ls -l$ ll注意单引号的使用,这使得 BASH 将该项目传递给别名,而不是自己估计它。别名还可用作较长的路径名的缩写:$ alias jdev9i=/jdev9i/jdev/bin/jdev关于 alias 和它的反命令 unalias 的更多信息,请查看 BASH 的 man 页面的 SHELL

36、BUILTIN COMMANDS 子部分。在最后一个例子中,定义了一个环境变量来实现相同的结果。$ export JDEV_HOME=/jdev9i/jdev/bin/jdev$ echo $JDEV_HOME/jdev9i/jdev/bin/jdev$ $JDEV_HOME链接允许几个文件名引用单个源文件,格式如下:ln -s fileyouwanttolinkto newname单独的 ln 命令创建到文件的一个硬链接,而使用 -s 选项来创建一个符号链接。简而言之,一个硬链接几乎不能和原始的文件区分开(除了这两个文件的 inode 将相同之外)。符号链接较容易区分,因为它们出现在一个长的

37、文件列表中,并用 -来指示源文件,l 指示文件类型。查看和查找文件文件过滤器用来读取文件内容和在文件内容上执行操作的命令有时被称为 滤器。sed 和 awk 命令是两个滤波器的例子,因为在以前的 OTN 文章中有它们详细的讨论,在这里将略过。诸如 cat、 more 和 less 之类的命令让您能够从命令行查看一个文本文件的内容,而无需调用编辑器。Cat 是 concatenate 的缩写,它将默认地在标准输出(显示屏)上显示文件内容。和 cat 一起提供的最有趣的选项之一是 -n 选项,它用编号的输出行来显示文件内容。$ cat -n test.out1 This is a test.因为

38、cat 一次性输出文件中的所有行,所以您可能更喜欢用 more 和 less,因为它们都一次输出一屏的文件内容。Less 是 more 的一个增强的版本,它允许用来自 vi 文本编辑器的关键命令来增强文件查看。例如,d 向前翻滚、b 向后翻滚 N 行(如果 N 是在 d 或 b 之前指定的)。为 N 输入的值成为随后的 d 命令的默认值。man 页面实用工具使用 less 来显示使用说明的内容。重定向和管道重定向允许将命令输出重定向到文件中,而不是标准输出,或者类似地,也可重定向输入。重定向的标准符号创建一个新的文件。符号将输出添加到一个现有的文件中:$ more test2.outAnoth

39、er test.$ cat test.out test2.out$ cat test2.outAnother test.This is a test.到文件的标准输入可以用符号来重定向:$ cat和 2来重定向和添加,格式如下:$ command 2 name_of_error_file要避免无意地覆盖一个现有的文件,使用 BASH 内置的命令集:$ set -o noclobber可以在命令和输出文件之间用! 符号来重载这个特性。要关闭这个特性,用 +o 代替 -o。重定向在一个命令和文件之间、或文件和文件之间工作。重定向语句的一项必须是一个文件。管道使用 |符号,并且在命令之间工作。例如,

40、您可以用以下方式将一个命令的输出直接发送到打印机上:$ ls -l * | lpr可以用以下方式快速地找到历史列表中的一个命令:$ history | grep cat更多的滤波器Grep、fgrep 和 egrep 都显示匹配一种模式的行。所有这三个命令都在文件中搜索指定的模式,如果您想不起来一个所需文件的名称,这将非常有用。基本格式是:grep options PATTERN FILE.$ grep -r Subject nsmail CTRL-Z 将终止上述或其它任何命令。grep 的最有用的选项可能是 -s。如果您以除根用户之外的任何身份搜索系统文件,那么对于每一个您没有访问权限的文件

41、,都将产生错误消息。这个命令禁止那些消息。Fgrep(也以 grep -F 调用)只查找固定的字符串,而不是 grep 接收的正则表达式。而 egrep 接收包含更大范围的特殊字符(如 “|”,它指示条件 OR 运算符)的模式。$ egrep Subject|mailto *查找文件find 命令的 GNU 版本非常强大、灵活并且比 UNIX 系统上存在的经典版本更具包容性。它对于涉及到目录结构的任务非常有用,包括在文件上查找和执行命令。find 命令的基本格式是:$ find startdirectory options matchcriteria actionoptions如果您知道文件的

42、名称、或者甚至名称的一部分,但不知道它所处的目录,您可以这么做:$ find .-name test*./test./jdevhome/mywork/EmpWS/EmpBC4J/test与经典的 UNIX 系统不同,在 Linux 中不需要在末尾添加 -print 操作,因为如果没有指定其它的操作选项,就将假定执行这个操作。在目录起始位置上的一个点 ( . ) 将使 find 在您的工作目录中开始搜索。两个点, .,在父目录中开始搜索。您可以在任意目录下开始搜索。注意,您可以使用通配符作为搜索准则的一部分(只要用单引号将整个项目括起来)。$ find .-name test* -print./

43、test.out./test2.out显示拥有 .out 扩展名的一系列文件:$ find /home -name *.out不过记住,除非您是作为超级用户运行这个命令,否则您将可能得到许多的 Permission denied 错误消息。最强大的搜索工具之一是和 grep 一起使用的 -exec 操作:$ find .-name *.html -exec grep mailto:foo ;这里,我们让 find 命令在当前目录中开始执行,查找一个 html 文件,*.html,并在当前文件上执行 (-exec) grep 命令,。当使用 -exec 操作时,需要一个分号 ;,这是用来在使用

44、find 命令时执行其它一些操作。需要反斜线 和引号来确保这些项目通过 BASH,以使它们由命令而不是 shell 来进行解释LINUX常用命令(基础)1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。2. ls 查看目录或者文件的属*,列举出任一目录下面的文件eg: ls /usr/manls -la.d表示目录(directory),如果是一个-表示是文件,如果是l则表示是一个连接文件(link)b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x

45、)。3. cp 拷贝文件eg: cp filename1 filename2 /把filename1拷贝成filename2 cp 1.c netseek/2.c /将1.c拷到netseek目录下命名为2.c4. rm 删除文件和目录eg: rm 1.c /将1.c这个文件删除5. mv 移走目录或者改文件名eg: mv filename1 filename2 /将filename1 改名为filename2mv qib.tgz ./qib.tgz /移到上一级目录6. cd 改变当前目录 pwd 查看当前所在目录完整路径eg: pwd /查看当前所在目录路径cd netseek /进入ne

46、tseek这个目录cd /退出当前目录7. cat,more命令将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示eg; cat1.c /就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。cat 1.c 或more 1.c /都可以查看里面的内容。gcc -o 1 1.c /将1.c编译成.exe文件,我们可以用此命编译出代码。8.chmod 命令权限修改用法:chmod 一位8进制数 filename。eg: chmod u+x filenmame /只想给自己运行,别人只能读/u表示文件主人, g 表示文件文件所在组。 o 表示其他人

47、 ;r 表可读,w 表可写,x 表可以运行chmod g+x filename /同组的人来执行9. clear,date命令clear:清屏,相当与DOS下的cls;date:显示当前时间。10. mount 加载一个硬件设备用法:mount 参数 要加载的设备载入点eg: mount /dev/cdromcd /mnt/cdrom /进入光盘目录11. su 在不退出登陆的情况下,切换到另外一个人的身份用法: su -l 用户名(如果用户名缺省,则切换到root状态)eg:su -l netseek (切换到netseek这个用户,将提示输入密码)12.whoami,whereis,whi

48、ch,id/whoami:确认自己身份/whereis:查询命令所在目录以及帮助文档所在目录/which:查询该命令所在目录(类似whereis)/id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)eg: whoami /显示你自已登陆的用户名whereis bin 显示bin所在的目录,将显示为:/usr/local/bin which bin 13. grep,findgrep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索eg: grep success * /*查找当前目录下面所有文件里

49、面含有success字符的文件14. kill 可以杀死某个正在进行或者已经是dest状态的进程eg; ps ax15. passwd 可以设置口令16. history 用户用过的命令eg: history /可以显示用户过去使用的命令17. !执行最近一次的命令18. mkdir命令eg: mkdir netseek /创建netseek这个目录19. tar 解压命令eg: tar -zxvf nmap-3.45.tgz /将这个解压到nmap-3.45这个目录里20. finger 可以让使用者查询一些其他使用者的资料eg: finger /查看所用用户的使用资料finger root

50、 /查看root的资料linux下的拷贝(cp)、删除(rm)、剪切(mv)命令cp命令该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。语法: cp 选项源文件或目录目标文件或目录说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。该命令的各选项含义如下:- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。- d 拷贝时保留链接。- f 删除已经存在的目标文件而不提示。- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷

51、贝。- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。- l 不作拷贝,只是链接文件。需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。$ cp- i exam1.c /usr/wang/shiyan1.c该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 sh

52、iyan1.c。若不希望重新命名,可以使用下面的命令:$ cp exam1.c /usr/ wang/$ cp - r /usr/xu/ /usr/liu/将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。mv命令用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。语法:mv 选项源文件或目录目标文件或目录说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名)

53、,它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。命令中各选项的含义为:- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命

54、令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。例1:将/usr/xu中的所有文件移到当前目录(用“.”表示)中:$ mv /usr/xu/ * .例2:将文件wch.txt重命名为wjz.doc$ mv wch.txt wjz.docrm命令在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了

55、链接,原有文件均保持不变。rm命令的一般形式为:rm 选项文件如果没有使用- r选项,则rm不会删除目录。该命令的各选项含义如下:- f 忽略不存在的文件,从不给出提示。- r 指示rm将参数中列出的全部目录和子目录均递归地删除。- i 进行交互式删除。使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp,mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。在下一个

56、例子中,用户要删除文件test和 example。然后会被要求对每个文件进行确认。用户最终决定删除example文件,保留test文件。$ rm - ii test exampleRemove test ?nRemove example ?y关机,重启命令-Linux 重启命令-1、shutdown2、poweroff3、init4、reboot5、halt*-具体说明-shutdownreboot在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用

57、各种关机命令。1.shutdownshutdown命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失使系统处于不稳定的状态甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的还可能重启。这是由所有进程process都会收到系统所送达的信号signal决定的。这让像vi之类的程序有时间储存目前正在编辑的文档而像处理邮

58、件mail和新闻news的程序则可以正常地离开等等。shutdown执行它的工作是送信号signal给init程序要求它改变runlevel。Runlevel 0被用来停机haltrunlevel 6是用来重新激活reboot系统而runlevel 1则是被用来让系统进入管理工作可以进行的状态这是预设的假定没有-h也没有-r参数给shutdown。要想了解在停机halt或者重新开机reboot过程中做了哪些动作你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。 shutdown 参数说明: -t 在改变到其它runlevel之前告诉init多久以后关机。 -r 重

59、启计算器。 -k 并不真正关机只是送警告信号给每位登录者login。 -h 关机后关闭电源halt。 -n 不用init而是自己来关机。不鼓励使用这个选项而且该选项所产生的后果往往不总是你所预期得到的。 -c cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数但是可以输入一个用来解释的讯息而这信息将会送到每位使用者。 -f 在重启计算器reboot时忽略fsck。-F 在重启计算器reboot时强迫fsck。 -time 设定关机shutdown前的时间。2.halt-最简单的关机命令其实halt就是调用shutdown -h。halt执行时杀

60、死应用进程执行sync系统调用文件系统写操作完成后就会停止内核。参数说明: -n 防止sync系统调用它用在用fsck修补根分区之后以阻止内核用老版本的超级块superblock覆盖修补过的超级块。 -w 并不是真正的重启或关机只是写wtmp/var/log/wtmp纪录。 -d 不写wtmp纪录已包含在选项-n中。 -f 没有调用shutdown而强制关机或重启。 -i 关机或重启前关掉所有的网络接口。 -p 该选项为缺省选项。就是关机时调用poweroff。3.rebootreboot的工作过程差不多跟halt一样不过它是引发主机重启而halt是关机。它的参数与halt相差不多。4.initinit是所有进程的祖先它的进程号始终为1所以发送TERM信号给init会终止所有的用户进程守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机init 1为重启。关于i

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!