Linux基础命令课程

来自于Linux的强大功能

Linux基础命令教程(豪华版)

    豪华版主张学到更多的Linux命令知识。

    从这里开始学习Linux命令，本课程让你更清楚地了解和掌握它，在Linux中命令是讲究大小写的，所以请管好你的Caps Lock键。

    不用担心，Linux命令说到底是几个字母的东西，你能学好它的，好，现在你找一个叫系统终端的东西，输入cal就行，出来的是什么，是当前月份的月历，就从这里开始吧。很简单的吧，再输入cal 2008，看到了吧，找出奥运会举办的日子。这只是非常简单的，你能学会的，shell是Linux四个主要部分之一，其实上Shell是一个命令解释器。

    红联Linux论坛致力于Linux技术讨论的站点。

红联Linux门户：www.linux110.com

红联Linux论坛：www.linux110.com/bbs

Linux电子书籍推荐下载：http://www.linux286.com/linux/linuxdzsj.htm

                                                          制作：红　联

                                                          祝您阅读愉快！


Shell

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

Shell

    在学习Linux的过程中，经常会听到Shell这个词。可能大家在使用Windows的时候有这种感觉，我要听歌，我打开一个播放器，那么音箱就可以出声音，要打印一片文档，我们只要在程序中点击一下打印按钮，打印就会自动的把文档打印出来。但是我们并没有自己手动的控制音箱和打印机等硬件设备，是因为系统已经为我们作好了。其实我们可以把Windows叫做Shell，我们不用知道打印机的原理，也不需要自己控制它，我们只需要轻轻的点击一下鼠标，系统为我们来控制这些硬件设备。

    看以下图，就知道Shell所起到的作用：

    当用户使用系统，其实在和Shell在打交道，我们的Windows已经把各种各样的功能用图形表示出来了，当用户发出指令，其实先将这些指令发送给Shell，然后由Shell将用户的指令翻译后传送给内核，再由内核来控制硬件的工作。然后内核将硬件的工作情况发送个Shell，最后有Shell返回硬件的工作信息和情况。

    这样一解释，大家应该明白其实Shell，就是一个工作环境，就像Windows系统一样，如果没有这个系统，那么Office软件、Photoshop软件，将无法工作，整个电脑就是一台废铁。也可以说我们在使用电脑的过程就是在和Shell打交道，是一个用户界面。


Linux的登陆

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

Linux的登陆

    我们来看看图中的每行所表示的是什么意思：

    第一行显示的是Linux发行商和所发布的版本，我们可以看到是Red Hat Enterprise Server Linux 5，接着后面是该版本在该公司的内部代号。

    第二行显示的是该版本的Linux所使用的Linux内核，表示内核版本是2.6.18，其中的2是主版本号，6是次要版本号，如果这个为偶数的话，就是一个稳定版本，所以在以后选择Linux的时候，一定要注意这个参数。最后的18为修订次数。这里要注意的是次要版本号如果为奇数的话，那么就是一个开发的版本号，并不是一个稳定的版本，并不适合作为服务器来使用。

    第三行显示的是我们这台电脑的名字，这里的Linux就是我们这台电脑的名称。


Linux的登陆续

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

Linux的登陆续

    明白以上的一些参数之后，我们就可以登录了，首先在第三行的“Linux login:”后面输入用户名，这里我们输入root，然后按Enter，接着要求输入用户密码，输入密码后，如果密码正确，则会出现如下画面：

    现在可能大家对图中的所有信息应该都比较了解，可能就是最下面两行不是很明白，我们来分别看看：

    Last login:这行表示我们这个用户的上次登录的时间和位置。
    [root@linux ~]#这行的root:表示登录的是root用户
    @:相当at
    Linux:表示所登录的服务器,一般为服务器名称
    ~:表示目前位于/root目录下
    #:表示root的提示符号,普通用户为$

    这里可能大家对上面的一些信息还不是很了解，这里也不需要大家马上对所有的知识完全了解，这里有部分知识我们在以后的学习中才能彻底的明白。

    到这里我们的用户就完成了登录，相信大家对这个登录应该是马上就能学会。


关机和注销

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

关机和注销

先看看注销，我们可以使用logout可以退出系统，这个和Windows中的注销是同等效果。用于用户保存自己的资料。

例如[root@Linux ~]# logout

当我们输入这个命令按下Enter之后，我们就又回到我们的登录界面了。

在来看看关机，关闭系统使用Shutdown命令，确保用户和系统的资料完整。只有root用户才能使用这个命令。一般的用户是不允许执行这个命令的。

我们先看看showdown语法：

shutdown [options] when [message]

options:　-r 表示重启，-h表示系统服务停滞(halt)后，立刻关机 ，-f表示快速重启

when：　为shutdown指定时间。hh:mm：绝对时间，hh指小时，mm指分钟；如08:30，+m:m分钟后执行，now=+0，也就是立刻执行

message：表示系统的广播信息，一般提示各个用户系统关机或重启，要求用户保存资料后退出。

我们来看看几个例子：
shutdown -h now 立刻关机
shutdown -h 21:30 今天21：30关机
shutdown -h +10 十分钟后关机
shutdown -r now 立刻重启
shutdown -r +10 ‘the system will reboot’ 10分钟后重启，管理员提示用户系统要重启了，便于用户保存工作中的资料。只有root用户才能使用这个命令。

我们shutdown -h now ，看看是不是立刻关机。


显示当前工作目录中的内容

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示当前工作目录中的内容

要想知道当前的工作目录中有些什么文件或目录，在Windows的“命令提示符”中要使用“dir”命令，那么在Linux中就要使用“ls”命令，如下所示：

[root@Linux ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog

这样屏幕上就立刻显示当前目录下的所有文件及自目录。注意你可能发现“Desktop”显示的颜色是蓝颜色，这里提示大家一下：

白色的文件：一般的文件
蓝色的文件：目录
绿色的文件：可执行文件

这种方法可以最直观的方法来识别文件类型。

直接使用“ls”可能看到的信息有限，为了知道关于文档的更多资料，我们可以增加一个参数“-l”，这样可以看到更多关于文件的信息：

[root@Linux ~]# ls -l
总计 56
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog

这样就可以知道文档的权限、拥有者、大小、日期等相关的信息，关于这些信息可能大家一时看不懂，在以后的学习中会讲这些内容的。

“ls -l”有一个简写是“ll”,如下：

[root@Linux ~]# ll
总计 56
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog

所显示的和使用“ls -l”一模一样。


显示隐藏的文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示隐藏的文件

系统中一些文件，和Windows中的系统文件一样，这些文件一般是不显示出来的，那么我们可以使用“-a”参数来显示隐藏的文件。如下所示：

[root@Linux ~]# ls -a
. .chewing .gconfd install.log .redhat
.. .cshrc .gnome install.log.syslog .scim
anaconda-ks.cfg Desktop .gnome2 .lesshst .tcshrc
.bash_history .dmrc .gnome2_private .metacity .thumbnails
.bash_logout .eggcups .gstreamer-0.10 .mozilla .Trash
.bash_profile .esd_auth .gtkrc-1.2-gnome2 .nautilus
.bashrc .gconf .ICEauthority .recently-used.xbel

看看这样显示的文件就比较多了。可以发现，隐藏文件是以“.”开头的文件。这些文件一般都有特殊的作用，如果显示出来，有可能被用户不小心删除。

我们可以结合上面的两个参数来显示目录下的文件，如下所示：

[root@Linux ~]# ls -al
总计 212
drwxr-x--- 18 root root 4096 03-19 05:30 .
drwxr-xr-x 24 root root 4096 03-19 12:21 ..
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
-rw------- 1 root root 2372 03-19 05:52 .bash_history
-rw-r--r-- 1 root root 24 2006-07-13 .bash_logout
-rw-r--r-- 1 root root 191 2006-07-13 .bash_profile
-rw-r--r-- 1 root root 176 2006-07-13 .bashrc
drwx------ 2 root root 4096 03-14 20:32 .chewing
-rw-r--r-- 1 root root 100 2006-07-13 .cshrc
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw------- 1 root root 26 03-14 20:31 .dmrc
drwxr-x--- 2 root root 4096 03-14 20:32 .eggcups
-rw------- 1 root root 16 03-19 05:30 .esd_auth
drwx------ 4 root root 4096 03-19 05:06 .gconf
drwx------ 2 root root 4096 03-19 05:30 .gconfd
drwxr-xr-x 3 root root 4096 03-14 20:32 .gnome
drwx------ 6 root root 4096 03-19 05:30 .gnome2
drwx------ 2 root root 4096 03-14 20:32 .gnome2_private
drwxr-xr-x 2 root root 4096 03-14 20:32 .gstreamer-0.10
-rw-r--r-- 1 root root 81 03-14 20:32 .gtkrc-1.2-gnome2
-rw------- 1 root root 358 03-19 05:30 .ICEauthority
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
-rw------- 1 root root 35 03-19 05:26 .lesshst
drwx------ 3 root root 4096 03-14 20:32 .metacity
drwx------ 3 root root 4096 03-14 20:36 .mozilla
drwxr-xr-x 3 root root 4096 03-19 05:30 .nautilus
-rw-r--r-- 1 root root 1528 03-19 05:30 .recently-used.xbel
drwxr-xr-x 3 root root 4096 03-14 20:32 .redhat
drwx------ 4 root root 4096 03-14 21:06 .scim
-rw-r--r-- 1 root root 129 2006-07-13 .tcshrc
drwx------ 3 root root 4096 03-14 20:33 .thumbnails
drwx------ 2 root root 4096 03-14 20:32 .Trash

这样显示是不是觉得更好呢？


显示其他目录中的文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示其他目录中的文件

上面都是显示当前工作目录中的文件，如果要显示其他目录中的文件，那么我们只要在“ls”后面加入所要显示的目录的路径。如下所示：

[root@Linux ~]# ls /
bin dev home lost+found misc net proc sbin srv tftpboot usr
boot etc lib media mnt opt root selinux sys tmp var

这样显示的就是“/”目录下的文件。当然我们也可以加入一下参数，如下所示：

[root@Linux ~]# ls -l /
总计 148
drwxr-xr-x 2 root root 4096 03-16 17:05 bin
drwxr-xr-x 4 root root 1024 03-15 03:58 boot
drwxr-xr-x 11 root root 3920 03-19 12:21 dev
drwxr-xr-x 96 root root 12288 03-19 12:21 etc
drwxr-xr-x 4 root root 1024 03-14 20:29 home
drwxr-xr-x 14 root root 4096 03-16 17:04 lib
drwx------ 2 root root 16384 03-15 03:45 lost+found
drwxr-xr-x 2 root root 4096 03-15 04:26 media
drwxr-xr-x 2 root root 0 03-19 12:21 misc
drwxr-xr-x 2 root root 4096 2006-10-11 mnt
drwxr-xr-x 2 root root 0 03-19 12:21 net
drwxr-xr-x 2 root root 4096 2006-10-11 opt
dr-xr-xr-x 83 root root 0 03-19 12:20 proc
drwxr-x--- 18 root root 4096 03-19 05:30 root
drwxr-xr-x 2 root root 12288 03-16 17:05 sbin
drwxr-xr-x 2 root root 4096 03-15 03:50 selinux
drwxr-xr-x 2 root root 4096 2006-10-11 srv
drwxr-xr-x 11 root root 0 03-19 12:20 sys
drwxr-xr-x 2 root root 4096 2006-07-13 tftpboot
drwxrwxrwt 6 root root 4096 03-19 12:21 tmp
drwxr-xr-x 14 root root 4096 03-15 03:54 usr
drwxr-xr-x 25 root root 4096 03-15 04:04 var

加入“-l”参数后，显示的信息还是多多了。


建立目录

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

建立目录

当我们工作的需要，建立一个目录的时候，我们可以使用“mkdir”命令来建立一个目录，如下所示：

[root@Linux ~]# mkdir myfile
[root@Linux ~]# ll
总计 60
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
drwxr-xr-x 2 root root 4096 03-19 12:36 myfile

我们先使用“mkdir myfile”建立了一个名字叫“myfile”的目录，然后我们使用命令验证一下，发现我们已经建立了这个文件夹，可以根据颜色来判断是一个文件夹。


删除目录

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

删除目录

如果这个目录不需要了，我们可以使用“rmdir”命令来删除一个目录，用法如下：

[root@Linux ~]# ll
总计 60
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
drwxr-xr-x 2 root root 4096 03-19 12:36 myfile
[root@Linux ~]# rmdir myfile
[root@Linux ~]# ll
总计 56
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog

我们先看看当前目录下有一个myfile的目录，我们不需要这个目录了，我们可以使用“rmdir myfile”命令来删除这个目录，然后使用ll命令验证一下。

注意的是，使用这个命令来删除一个目录的时候，那么这个目录下必须是没有任何文件和文件夹的，我们看看如下的操作：

[root@Linux ~]# mkdir myfile
[root@Linux ~]# cd myfile cd命令是切换目录，这里就是进入myfile
[root@Linux myfile]# mkdir one
[root@Linux myfile]# cd .. ..表示当前目录的上一层目录
[root@Linux ~]# rmdir myfile
rmdir: myfile: 目录非空

我们在myfile目录下建立了一个one的目录，当我们删除myfile目录时，提示目录为空，所以必须将这个目录下的所有文件和目录全部删除之后，才能删除这个目录。


切换目录

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

切换目录

上面的例子中提到了一个“cd”命令，一般为了工作的需要，我们可能需要到不同的目录中编辑不同的文件，这个时候我们就要在不同的目录中切换了。我们使用“cd”命令可以在不同的目录中切换，如下的操作：

[root@Linux ~]# mkdir one
[root@Linux ~]# mkdir two
[root@Linux ~]# cd one
[root@Linux one]#

我们建立了两个目录“one”和“two”，我们可以使用“cd one”，进入one目录，进入这个目录之后，命令提示符有原来的“[root@Linux ~]”变成了“[root@Linux one]”，提示符中的“one”表示我们在one这个目录中工作了。

我们看看这个目录下有什么文件，为了看看有没有隐藏文件，我们使用“ls -al”命令来看看这个目录。如下操作：

[root@Linux one]# ls -al
总计 12
drwxr-xr-x 2 root root 4096 03-19 12:43 .
drwxr-x--- 20 root root 4096 03-19 12:43 ..

我们发现这个目录下面有两个奇怪的家伙，一个是“.”,一个是“..”。其实这又要讲到路径的知识，路径的表示方法有两种：

A ：绝对路径：就是表示出目标文件或子目录的目录树结构。我们这个例子中的目录“one”，的绝对路径表示方法为“/root/one”,如果one目录下还有一个目录xu，那么目录xu的绝对路径就是：“/root/one/xu”。

B ：相对路径：就是相对于当前工作目录的路径来表示位置。相对路径中有两个符号，就是“..”，“.”。“..”表示当前当前工作目录的上一层目录。如当前我们处在one目录中，我们作如下操作：

[root@Linux one]# cd ..
[root@Linux ~]#

我们就或发现提示“[root@Linux one]”变为“[root@Linux ~]”。发现现在已经返回到目录one的上一层目录。

“.”表示当前的工作目录。如果当前我们处在one目录中，那么“.”就表示当前的工作目录one。


复制文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

复制文件

工作的时候，有是需要保存文件的一个副本，便于以后还原。我们可以使用“cp”命令，操作如下：

[root@Linux ~]# ll
总计 64
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
drwxr-xr-x 2 root root 4096 03-19 12:43 one
drwxr-xr-x 2 root root 4096 03-19 12:43 two
[root@Linux ~]# cp install.log ./one
[root@Linux ~]# cd one
[root@Linux one]# ll
总计 28
-rw-r--r-- 1 root root 27964 03-19 12:55 install.log

先看看当前目录下有哪些文件，然后我们需要将install.log文件复制一份到one目录中，我们可以使用“cp install.log ./one”就可以了，注意了，这里使用了上面的相对路径中的“.”,表示当前工作目录下的one目录。

然后进one目录，查看一下是否有intsall.log这个文件，可以看到我们已经复制了一份lnstall.log文件。

我们在来试一试，我们将目录one复制到two中，我们看看如下的操作：

[root@Linux ~]# ll
总计 64
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
drwxr-xr-x 2 root root 4096 03-19 12:55 one
drwxr-xr-x 2 root root 4096 03-19 12:43 two
[root@Linux ~]# cp one two
cp: 略过目录 “one”
[root@Linux ~]# cd two
[root@Linux two]# ll
总计 0

发现没有two目录下没有one文件夹，这个时候我们需要使用参数“-r”,看如下操作：

[root@Linux ~]# ll
总计 64
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
drwxr-xr-x 2 root root 4096 03-19 12:55 one
drwxr-xr-x 2 root root 4096 03-19 12:43 two
[root@Linux ~]# cp -r one two
[root@Linux ~]# cd two
[root@Linux two]# ll
总计 4
drwxr-xr-x 2 root root 4096 03-19 13:00 one

看看，在cp命令后面加入参数“-r”之后，就可以用来复制目录了，我们可以进入two目录下的子目录one，会发现原来one目录中的文件也一起被复制了。

最后来看看复制文件并重新命名的新文件，实例如下：

[root@Linux one]# cp install.log install.log.bak
[root@Linux one]# ll
总计 56
-rw-r--r-- 1 root root 27964 03-19 12:55 install.log
-rw-r--r-- 1 root root 27964 03-20 13:10 install.log.bak

这里就是复制了一个文件，并将复制的文件更名，我们可以看到目录下有两个文件了。


移动文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

移动文件

我们可以使用mv命令将一个文件移动到另外一个目录中，如下操作：

[root@Linux ~]# ll
总计 64
-rw------- 1 root root 865 03-15 04:12 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 03-14 20:34 Desktop
-rw-r--r-- 1 root root 27964 03-15 04:12 install.log
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
drwxr-xr-x 2 root root 4096 03-20 13:10 one
drwxr-xr-x 3 root root 4096 03-19 13:00 two
[root@Linux ~]# mv install.log.syslog ./one
[root@Linux ~]# cd one
[root@Linux one]# ll
总计 68
-rw-r--r-- 1 root root 27964 03-19 12:55 install.log
-rw-r--r-- 1 root root 27964 03-20 13:10 install.log.bak
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog

我们将root用户目录下的install.log.syslog，移动到目录one下。除此之外，我们还可以为文件更名，如下操作：

[root@Linux one]# ll
总计 68
-rw-r--r-- 1 root root 27964 03-19 12:55 install.log
-rw-r--r-- 1 root root 27964 03-20 13:10 install.log.bak
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
[root@Linux one]# mv install.log install.sys
[root@Linux one]# ll
总计 68
-rw-r--r-- 1 root root 27964 03-20 13:10 install.log.bak
-rw-r--r-- 1 root root 5069 03-15 04:11 install.log.syslog
-rw-r--r-- 1 root root 27964 03-19 12:55 install.sys

我们将install.log这个文件名称变为了install.sys。


创建文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

创建文件

这个和前面的创建目录是有区别的，创建文件是指创建一个一般的普通文件，并且这个文件为空，我们可以使用touch命令来建立一般文件，如下操作：

[root@Linux two]# touch 111.txt
[root@Linux two]# touch 112.txt
[root@Linux two]# touch 113.txt
[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 13:26 111.txt
-rw-r--r-- 1 root root 0 03-20 13:26 112.txt
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt

这样我们就创建了三个文件。


删除文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

删除文件

使用rm命令来删除文件，和前面的rmdir有点区别，不过rm也可以实现删除目录，我们来看看实际的操作：

[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 13:26 111.txt
-rw-r--r-- 1 root root 0 03-20 13:26 112.txt
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt
[root@Linux two]# mkdir one
[root@Linux two]# ll
总计 4
-rw-r--r-- 1 root root 0 03-20 13:26 111.txt
-rw-r--r-- 1 root root 0 03-20 13:26 112.txt
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt
drwxr-xr-x 2 root root 4096 03-20 13:27 one
[root@Linux two]# rm 111.txt
rm：是否删除 一般空文件 “111.txt”? y
[root@Linux two]# ll
总计 4
-rw-r--r-- 1 root root 0 03-20 13:26 112.txt
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt
drwxr-xr-x 2 root root 4096 03-20 13:27 one

我们先查看目录下的文件，然后删除这个目录下的文件111.txt，删除的时候，提示我们是否要删除文件，我们输入“y”,然后删除文件，删除之后，我们查看这个文件夹下的文件，发现少了111.txt文件。

如果我们不需要系统提示我们就要增加一个参数“－f”，这样只要输入命令之后，系统直接删除文件。看如下操作：

[root@Linux two]# rm -f 112.txt
[root@Linux two]# ll
总计 4
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt
drwxr-xr-x 2 root root 4096 03-20 13:27 one

这样增加参数后，系统没有提示用户，直接删除了文件。

我们在来看看如何删除这个文件下的目录，增加参数“－r”就可以了，看如下操作：

[root@Linux two]# ll
总计 4
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt
drwxr-xr-x 2 root root 4096 03-20 13:27 one
[root@Linux two]# rm -rf one
[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 13:26 113.txt

这样，这个目录下的one目录就被删除了。


通配符

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

通配符

以上所有的操作我们好像都只能操作一个文件，当我们要同时对多个文件进行操作的时候，我们就可以使用通配符，这些符号不是作为普通的文字来使用，而是来代替文键名称的字符串。我们来看看Linux下的几种通配符，和他们的含义：

A：* ：任何字符和字符串。
B：? ：一个任意字符
C：[abc...] :[]内的任意一个字符。[abc]表示a、b、c任一个字符；有时候也表示范围，如[a-x],表示a到x的任一个字符；[1-9]表示1到9的任一数字。
D：[!abc...]：和上面的相反，表示除[]内的字符外的任意一个字符。

我们来分别看看这些符号的实际操作中的实例：

[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:08 111.txt
-rw-r--r-- 1 root root 0 03-20 20:08 112.txt
-rw-r--r-- 1 root root 0 03-20 20:08 113.txt
[root@Linux two]# rm 1*.txt
rm：是否删除 一般空文件 “111.txt”? y
rm：是否删除 一般空文件 “112.txt”? y
rm：是否删除 一般空文件 “113.txt”? y
[root@Linux two]# ll
总计 0

这样只要是以“1”开头的文件全部删除。我们在来看下面的操作：

[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:09 111.txt
-rw-r--r-- 1 root root 0 03-20 20:09 112.txt
-rw-r--r-- 1 root root 0 03-20 20:09 113.txt
-rw-r--r-- 1 root root 0 03-20 20:10 121.txt
[root@Linux two]# rm -f 11?.txt
[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:10 121.txt

这样就删除了以“11”开头的文件，我们还是以上面的例子在看：

[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:11 111.txt
-rw-r--r-- 1 root root 0 03-20 20:11 112.txt
-rw-r--r-- 1 root root 0 03-20 20:11 113.txt
-rw-r--r-- 1 root root 0 03-20 20:10 121.txt
[root@Linux two]# rm -f 11[1-3].txt
[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:10 121.txt

这样就删除了以“11”开头，后面是以1、2、3结尾的文件。最后我们来看：

[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:13 111.txt
-rw-r--r-- 1 root root 0 03-20 20:13 112.txt
-rw-r--r-- 1 root root 0 03-20 20:13 113.txt
-rw-r--r-- 1 root root 0 03-20 20:10 121.txt
[root@Linux two]# rm -f 1[!1]*.txt
[root@Linux two]# ll
总计 0
-rw-r--r-- 1 root root 0 03-20 20:13 111.txt
-rw-r--r-- 1 root root 0 03-20 20:13 112.txt
-rw-r--r-- 1 root root 0 03-20 20:13 113.txt

这样就删除了第二个字符不是为“1”的任何文件。

有了通配符，我们就可以针对多个文件一起进行操作。


pwd

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

pwd

如果切换目录次数太多，可能不知道自己在那个目录，那么就可以使用pwd命令，显示当前所在的目录。是print working directory的缩写。看如下操作：

[root@Linux ~]# pwd
/root
[root@Linux ~]# cd one
[root@Linux one]# pwd
/root/one
[root@Linux one]# cd ../two
[root@Linux two]# pwd
/root/two

这样就很清楚自己在那个目录下工作了。


增加用户

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

增加用户

我们来看看增加用户的操作。到目前为止，我们都是使用的root用户登录系统，由于root这个用户的权限非常的高，可以进行任何的操作，所以有的时候，可能破坏系统。如前面的操作，如果执行了一个“rm －rf /*”这个命令，这样就会把“/”下面的文件全部删除。我们如果使用一般的用户，我们还是可以执行大部分的程序，除了少数的一些管理员的命令不能执行外，一些目录不能进行操作外，其他的操作我们都可以。所以建议：在使用一般操作的时候，我们使用一般用户，如果需要对系统进行维护，我们就使用root用户。

现在来看看如何增加一般用户。看如下操作：

[root@Linux one]# useradd user1

我们就为系统增加了一个用户“user1”,z增加完用户后，我们需要对用户设置密码，看如下操作：

[root@Linux one]# passwd user1
Changing password for user user1.
New UNIX password: <-－这里输入用户的密码
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password: <--再次输入上面的密码
passwd: all authentication tokens updated successfully. <--提示用户设置密码成功

注意设置密码的时候，为了安全，一般不显示任何的字符。

这里我们知道了使用“useradd”命令来增加用户，使用“passwd”命令来为用户设置密码。到此，我们就为系统增加了一个用户“user1”，下次登录的时候，我们就可以使用这个用户了。

注意，这里只有root用户可以设置其他用户的密码，一般用户登录后可以更改自己的密码，但不能更改别人的密码。看如下操作：

[user1@Linux ~]$ passwd root
passwd: Only root can specify a user name.

提示只有root用户才能更改自己的密码。我们在来看看用户更改自己的密码：

[user1@Linux ~]$ passwd
Changing password for user user1.
Changing password for user1
(current) UNIX password: <--输入当前的密码
New UNIX password: <--输入新密码
BAD PASSWORD: is too simple <--提示密码太简单
New UNIX password:　　　　　　<--输入复杂的新密码
Retype new UNIX password:　　<--再次输入上面输入的密码
passwd: all authentication tokens updated successfully.　　<--提示密码更改成功

这个时候passwd后面不需要跟用户名称。


搜索文件

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

搜索文件

我们先来学习一下如何搜索文件，特别是刚开始学习Linux的时候，自己建立的文件不知道放在哪里了，常有发生。如果知道文件名，却不知道文件在那个目录下面了，我们就可以使用locate命令来搜索文件。看如下操作：

[root@Linux one]# locate install.log
/root/install.log
/root/install.log.syslog

看一下，我们一下就搜索了两个与install.log相关的文件，他们都在/root目录下，同时我们感觉到，使用这个命令搜索文件的速度比较快，其实要使用这个命令，必须配合数据库来使用，因为这个命令是从数据库中来搜索文件，这个数据库的更新速度是7天更新一次。如下操作：

[root@Linux one]# touch 001.txt
[root@Linux one]# locate 001.txt

发现这个命令找不到新建立的文件，所以我们要使用这个命令搜索文件之前，必须自己更新一下数据库，如下操作：

[root@Linux one]# updatedb
[root@Linux one]# locate 001.txt
/root/one/001.txt

看看，如果执行updatedb这个命令更新数据库之后，我们就可以找到我们所需要的数据。不过更新数据库的时间需要一段时间。


cat

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示文件内容－cat

是直接显示文件的内容到屏幕上，如下操作：

[root@Linux ~]# cat install.log
...
...
...
安装 vnc - 4.1.2-9.el5.i386
安装 screen - 4.0.3-1.el5.i386
安装 scim-bridge-gtk - 0.4.5-7.el5.i386
安装 scim-tables-chinese - 0.5.6-7.i386
安装 minicom - 2.1-3.i386
安装 Deployment_Guide-zh-CN - 5.0.0-19.noarch
安装 Deployment_Guide-zh-TW - 5.0.0-19.noarch
安装 scim-pinyin - 0.5.91-15.el5.i386
安装 scim-chewing - 0.3.1-10.el5.i386
安装 scim-chinese-standard - 0.0.2-1.el5.i386
安装 vim-X11 - 2:7.0.109-3.i386
安装 gftp - 1:2.0.18-3.2.2.i386
安装 gtkspell - 2.0.11-2.1.i386
安装 openldap-clients - 2.3.27-5.i386
安装 nmap - 2:4.11-1.1.i386
安装 OpenIPMI-tools - 2.0.6-5.el5.3.i386
安装 dhcp - 12:3.0.5-3.el5.i386
安装 zsh - 4.2.6-1.i386
安装 xchat - 1:2.6.6-8.el5.i386
安装 fonts-chinese - 3.02-9.6.el5.noarch
安装 stardict - 2.4.5-5.i386
安装 system-config-bind - 4.0.3-2.el5.noarch

前面的内容比较多，用“...”省略，我们只看到了这个文件的后面的部分，由此可以知道，这个命令适合于显示内容少于屏幕所能显示的最大行数。

这个命令还有一个tac的相反的写法，大家想想应该显示什么？


more

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示文件内容－more

cat命令我们只能看到文件的部分或者只能看比较小的文件，那么more解决这个问题，操作如下：

[root@Linux ~]# more install.log
安装 libgcc - 4.1.1-52.el5.i386
warning: libgcc-4.1.1-52.el5: Header V3 DSA signature: NOKEY, key ID 37017186
安装 setup - 2.5.58-1.el5.noarch
安装 filesystem - 2.4.0-1.i386
安装 basesystem - 8.0-5.1.1.noarch
安装 tzdata - 2006m-2.fc6.noarch
安装 glibc-common - 2.5-12.i386
安装 glibc - 2.5-12.i686
安装 glib2 - 2.12.3-2.fc6.i386
安装 zlib - 1.2.3-3.i386
安装 chkconfig - 1.3.30.1-1.i386
安装 atk - 1.12.2-1.fc6.i386
安装 popt - 1.10.2-37.el5.i386
安装 libICE - 1.0.1-2.1.i386
安装 libSM - 1.0.1-3.1.i386
安装 libstdc++ - 4.1.1-52.el5.i386
安装 libart_lgpl - 2.3.17-4.i386
安装 mktemp - 3:1.5-23.2.2.i386
安装 audit-libs - 1.3.1-1.el5.i386
安装 libusb - 0.1.12-5.1.i386
安装 bzip2-libs - 1.0.3-3.i386
安装 libpng - 2:1.2.10-7.i386
安装 libattr - 2.4.32-1.1.i386
--More--(2%)

注意最下面显示了一个提示，表示只显示这个文件的2%，按下空格键就翻下一页，当内容显示完后，就自动的退出，还可以按下“Q”键也可以退出。


less

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示文件内容－less

more虽然可以显示比较大的文件，但是也有一个缺点，就是不能向上翻页，看过的内容要重新看，必须在重新运行命令。less就解决了more命令这个命令的不足。看如下操作：

[root@Linux ~]# less install.log
安装 libgcc - 4.1.1-52.el5.i386
warning: libgcc-4.1.1-52.el5: Header V3 DSA signature: NOKEY, key ID 37017186
安装 setup - 2.5.58-1.el5.noarch
安装 filesystem - 2.4.0-1.i386
安装 basesystem - 8.0-5.1.1.noarch
安装 tzdata - 2006m-2.fc6.noarch
安装 glibc-common - 2.5-12.i386
安装 glibc - 2.5-12.i686
安装 glib2 - 2.12.3-2.fc6.i386
安装 zlib - 1.2.3-3.i386
安装 chkconfig - 1.3.30.1-1.i386
安装 atk - 1.12.2-1.fc6.i386
安装 popt - 1.10.2-37.el5.i386
安装 libICE - 1.0.1-2.1.i386
安装 libSM - 1.0.1-3.1.i386
安装 libstdc++ - 4.1.1-52.el5.i386
安装 libart_lgpl - 2.3.17-4.i386
安装 mktemp - 3:1.5-23.2.2.i386
安装 audit-libs - 1.3.1-1.el5.i386
安装 libusb - 0.1.12-5.1.i386
安装 bzip2-libs - 1.0.3-3.i386
安装 libpng - 2:1.2.10-7.i386
安装 libattr - 2.4.32-1.1.i386
install.log

最下面显示的是这个文件的名称，我们可以使用“PageUp”和“PageDown”可以进行上一页和下一页的翻页。如果要知道具体的控制键，我们可以按下“H”键，可以显示less命令的所有控制键，如果想结束，可以按“Q”键。


head和tail

红联Linux论坛制作的普及Linux书籍 　作者：网络　Linux教程下载

显示文件内容－head和tail

上面是最常用的几个显示文件内容的命令，这里还介绍两个显示文件内容的命令，分别是head和tail命令，head是显示文件的头几行，tail是显示文件的末尾几行，默认情况下，都是10行。看如下操作：

[root@Linux ~]# head install.log
安装 libgcc - 4.1.1-52.el5.i386
warning: libgcc-4.1.1-52.el5: Header V3 DSA signature: NOKEY, key ID 37017186
安装 setup - 2.5.58-1.el5.noarch
安装 filesystem - 2.4.0-1.i386
安装 basesystem - 8.0-5.1.1.noarch
安装 tzdata - 2006m-2.fc6.noarch
安装 glibc-common - 2.5-12.i386
安装 glibc - 2.5-12.i686
安装 glib2 - 2.12.3-2.fc6.i386
安装 zlib - 1.2.3-3.i386

[root@Linux ~]# tail install.log
安装 gtkspell - 2.0.11-2.1.i386
安装 openldap-clients - 2.3.27-5.i386
安装 nmap - 2:4.11-1.1.i386
安装 OpenIPMI-tools - 2.0.6-5.el5.3.i386
安装 dhcp - 12:3.0.5-3.el5.i386
安装 zsh - 4.2.6-1.i386
安装 xchat - 1:2.6.6-8.el5.i386
安装 fonts-chinese - 3.02-9.6.el5.noarch
安装 stardict - 2.4.5-5.i386
安装 system-config-bind - 4.0.3-2.el5.noarch

分别显示的是这个文件的前10行与后10行。


基础一

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础一

    使用root登录 进入系统后默认进入的用户的home目录，可以使用pwd打印当前工作目录的位置 在根目录下面输入 ls / 查看。

    由于root用户权限比较高，不要轻易使用，先建立一个普通用户，使用useradd rathat命令建立 rathat命令 passwd redhat 命令创建密码。

    普通用户的目录放在home目录下ls /home 查看，ls –ls /home/redhat 查看其权限等。推出系统exit，用刚才建立的用户登录系统。 Ls –a 查看隐藏文件。使用su –以超级用户身份登录，whoami查看当前登录用户。看一下根目录中的子目录 ls –l /

    第一个目录 bin 放置的是二进制文件程序工具，是系统不可缺少的工具机，我们运行的命令一般都放在这里 ls dir

    第二个目录 boot 方的是系统启动的必须文件

    Dev目录方的是系统的设备 linux 将系统所需的外设都堪称文件

    Etc 系统的配置文件所存放的位置，系统所有的配置文件都放在这下面

    Home 普通用户的防止位置，刚装好后是空的 随着用户增多而增加

    Initrd 临时目录，初始化引导时候用的

    Lib 动态链接库存放的位置

    Lost +found 自检的时候发现的碎片文件，某个文件丢失了可能在他里找回了

    Misc 基本不用的，杂七杂八的

    Mnt 挂在外部设备的 ，光驱

    Opt 安装第三方软件的

    Proc 虚拟的文件系统 反应的是进程信息，不占用硬盘空间的

    root 管理的目录

    Sbin 超级用户的管理工具 系统不可去少的

    Tmp 临时文件 全局可些的

    User 所有用户公共的资料

    Var 动态变化的数据，数据库，日志等

    Var 和home 是变化的经常需要维护更新


基础二

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础二

    如何了解系统里面分区的情况呢？

    使用df 查看当前系统中所有分区占用的大小

    df 的结果不是很好认识，加后缀-h比较好读 每一个结果都会有一个后缀

    Df只能查看每个分区的使用情况不能使用每个目录的使用情况，如果向查看每个目录的大小使用du du /* 根目录下的所有文件夹


基础三

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础三

    这个结果中看出最占用的是usr 。fdisk –l /dev/sda 反应的是分区情况

    检查网络环境：

    首先使用ping 检查是否能与外网通讯 结果不能解析主机名称。然后查看dns的客户端配置文件使用 more /etc/resolv.conf（保存的默认的域名及dns服务器）

    首先限于dns的ip地址通讯不通

    检查ip地址的配置ifconfig


基础四

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础四

    Eth0网卡接口，默认可打印所有网络接口的信息，ip地址是192.168.0.254 不符合

    Lo 是回环设备

    更改ip地址和默认网关 使用工具netconfig

    Ok 回车配置ip及dns网关等

    Ok 继续

    此时这个配置信息没有马上保存，需运行service network restart重新启动网络服务，如果全都看到ok的话说明修改成功了，使用route –n检查一下默认路由看到网关是10.0.0.138 说明生效了

    在网络配置过程中如果不肯定整个网络环境可以使用基本环境进行测试，可以使用ping –b ip地址可以扫描整个网段，ip地址使用广播地址，如此时使用10.0.0.255。


基础五

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础五

    Ifconfig命令还可以修改网络接口ip地址 使用 ifconfig eth0 10.0.0.254，默认情况现会默认分配掩码地址，我们可以使用metmask来改变掩码

    使用route add default gw 10.0.0.138 要到达任何网络默认要经过10.0.138 ，修改网关。

    Route和ifconfig修改之后不会马上保存 重启后丢失。建议使用netconfig命令。这个命令把修改信息写进了一个配置文件，配置文件的位置 ls /etc/sysconfig/network-scripts/


基础六

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础六

    Netconfig写进了ifcfg-eht0这个文件，查看一下这个文件是不是和netconfig修改的一致，使用cat查看里面的信息cat /etc/sysconfig/network-scripts/ifcfg-eth0

    使用serveric network restart 就是加载这个文件的配置信息当重新运行这个命令是 会加载这个问价中的信息，而冲掉刚才使用ifconfig修改的ip地址。

    如果修改ip地址只需修改刚才的文件就可以了 使用vi 编辑器打开我们的配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0 在里面修改ip地址就可以了，保存配置，重启服务service network restat 这部工作是系统启动激活网卡的工作，激活网络就是靠的这个脚本。

    在配置网卡的时候有一个问题要注意 在sysconfig目录下面有两个相关的目录一个是network-scripts 另一个是networking ，neat命令会默认把配置信息保存到profiles 而且这个是优先的。

    接下来看

    用户的语言环境


基础七

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础七

    运行locale能看语言环境

    在显示中有两个其主要作用 lang和lc_all

    Locale –a查看系统所支持的语言信息

    设置lang的变量 lang=zh_cn.gb2312 在运行date看到显示的是中文的格式

    在改回到英语lang=en_us.utf-8运行date 区别如图下

    保存语言信息的文件在/etc/sysconfig/i18n中。


基础八

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础八

    Sysconfig目录是大多数服务器程序系统启动脚本的主要配置文件，这是我们来看一个hwconf文件，这个文件是保存的系统硬件信息，输入more /etc/sysconfig/hwconf可以看到如下

    这里系统中所有硬件信息，硬件资料。安装的时候有一个工具叫kudzu是检查有无新增硬件信息，当我们服务器新装硬件后运行 service kudzu start可以让计算机自动识别，检查过程，kudzu 是自动运行的脚本，如图所示：


基础九

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础九

    如果不详让他开机自动运行可以将其关闭，修改系统启动服务脚本 可以使用chkconfig dudzu –list 检查状态，默认345是自动运行的

    如果向调整其运行状态可以运行setup 这个一个综合工具。包括如图所示的五项：认证方式、防火墙配置、鼠标配置、网络配置、系统服务等。这里包含了各种系统服务。

    运行 如图


基础十

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础十

    在这里我们选择不需要的服务来关闭。系统默认运行的服务 可以使用chkconfig –list |more来显示出来 如图：

    显示了运行级别0到运行级别六的情况、

    这些服务都是靠系统脚本init启动的还有一些不是靠系统脚本启动的而下面会看到一些特殊服务，他们不是靠init 启动的是靠xinetd启动的，是一个独立的互联网服务器的服务器是一个超级服务其，可以启动很多的子服务器。

    如图

    大家看到 xinetd这个服务 只要他是开启的，就可以运行他下面的服务器，它下面的大部分都是关闭的，只有一个是开启的，如果我们想开启一个服务可以使用chkconfig命令，例如我们想开启 rsync服务，我们可以使用chkconfig rsync on 命令，然后可以使用 –list查看。


基础结束

红联Linux论坛制作的普及Linux书籍 　作者：jie_zhao　Linux教程下载

系统装好后的基本配置过程

基础结束

    重新启动系统xinetd，此时xinetd会发现需要启动rsync这个服务，如果我们要临时启动这个服务，我们可以使用 service xinetd restart。Servioce 启动脚本的名称一般是放在固定目录下面的 /etc/init.d 这个目录下面都有七个状态，运行上面的命令本质上就是运行/etc/init.d/xinetd这个脚本，它会检查自己的配置目录，是etc/xinetd.d这个目录这里面有如图所示

    系统的基本配置就讲到这。


命令学习一

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习一

    安装完重启后，没有像sery所说在图形界面崩溃了，由于我没有安装X-WINDOWS而是直接进入了文本界面。如果你想做linux管理的话，最好在文本界面下工作，这样会适应如下图:

    第一行显示的是我们所安装的linux是Red Hat 企业4

    第二行显示的是我们的内核版本，以及硬件等级是i686

    第三行显示的是我们的计算机名，也就是我们安装时设定的“qiuri”这时我们只需在login后输入用户名“root”即可跳转到输入密码选项，在linux中root的权限和windows中的administrator一样具有最大的权限，应该保护这个用户的密码以确保系统安全。

    我们发现在Password后输入密码时密码不会被显示，不要以为是键盘坏掉了，这是linux一种安全措施，尤其使用小键盘输入时注意小键盘灯是否亮着。随后看到了最后登录详细时间，我们还看到一个tty1这个是linux中文字界面终端1，在linux中一共有六个文字界面终端，使用Ctrl+Alt+F1~F6功能键相互切换文字界面终端。最后[root@qiuri ~]#其中root是当前用户，qiuri是计算机名，~这个符号是当前用户的宿目录，最后的#号代表是提示符，一般在linux中root的命令提示符是#，普通用户的命令提示符是$，同时命令提示符可以判断当前用户身份状态的依据。

    对于linux新手来说，一般进入linux系统不知道自己该干些什么，今天给大家介绍一些linux中常用命令。


命令学习二

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习二

    1.在linux中我们要知道linux系统中基本的命令格式如下：

    命令字 【命令选项】 【命令参数】
    Command 【option】 【arguments】

    命令字就是命令的名称，在输入命令时一定要注意命令的真确性。

    命令选项就是定义一条命令输出结果的参数，命令的不同命令的选项个数和内容也会不同。

    命令参数就是命令要处理的对象，通常命令参数是文件名、目录名或者用户名等。

    2.linux中输入命令时注意事项
    在linux中命令的输入过程中一般对于新手常犯的错误就是空格的使用，在输入命令时，命令字、命令选项、命令参数之间一定要有空格分开。在命令输入结束时要使用回车结束命令。

    3.基础命令使用案例解析
    正如我们在安装时说过linux中所有的文件系统都挂接到根目录下相应的目录节点，那我们进入linux中第一件事就是验证一下这个结果，这就是我们要学习的第一条命令。

    1.查看文件名命令-ls 那我们就使用这条目录查看“/”下的目录

    这时大家看到了我们前面所说的目录，详细地罗列出来了。但是大家又会问我，你不是说过linux的命令格式是由命令字、命令选项、命令参数组成的。其实这个命令还有好多的命令选项和命令参数，由于个人水平有限在这里介绍几种给大家。


命令学习三

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习三

    ls –a列出所有文件，包括隐藏文件，还以查看“/”下目录为例：

    ls –l详细列出目录下文件的权限、所有者文件大小等详细信息，可以简单输入“ll”

    ls–F列出目录下文件名及其目录类型，以查看/etc下文件为例：

    我们发现这时有的文件后有个*，有的文件有个@，还有的有个/结尾，他们分别代表是可执行文件、符号链接、和目录名。


命令学习四

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习四

    由于时间关系不在这里一一举例，以下参数供有兴趣者参考：

    ls –t依照最后修改文件时间列出文件名
    ls –R列出当前目录和其子目录的文件名
    ls –color=never不以颜色方式显示
    ls –color=always均以颜色方式显示
    ls –color=auto系统自动判断

    2.cd 切换用户当前目录
    这条命令使用的语法是cd 目录绝对路径或者相对路径

    这里的绝对路径可以理解为我们每天乘坐公交车一样，假如我们从公交的第一站一直坐到最后一站，这就是一个绝对路径，但是加假如有一天我们坐车到半路忽然想到我们忘记拿一件东西，这时我们可以选择就近下车再坐车返回去取，这就是相对路径，也可以使用绝对路径，现坐车到最后一站，再坐车回来去。在linux中也是这样在使用这两种路径的时候灵活多变的，通常根据实际情况进行选择。同样举几个例子：

    例如，使用绝对路径进入“/etc”目录

    这时我们需要进入/dev下我们就可以使用相对路径


命令学习五

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习五

    cd ~ 返回用户宿主目录
    cd . 用户的当前目录
    cd .. 返回上一级目录

    3.pwd查看用户当前所在位置
    由于我们使用cd命令进入好多的目录这时我们不清楚我们所在的目录位置这时就可以使用pwd查看

    4.mkdir创建目录
    mkdir可以单独建立目录dir1

    mkdir也可以同时建立多个目录


命令学习六

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习六

    使用绝对路径创建目录test

    5.rmdir删除目录
    rmdir删除目录dir2

    使用rmdir删除目录dir3、dir4

    试着删除dir1，这时我们发现提示我们“目录不是空的”所以我们要记住我们删除的目录必须是空的，不能包含目录或文件，如果要删除的话请先删除目录里面包含的内容再去删除目录

    目录有了，那我们就不得不提一下创建文件的命令了。


命令学习七

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习七

    6.touch创建文件命令
    使用touch命令在dir1/test下创建文件test

    再次使用touch命令在dir1/test下创建文件test，查看有何变化

    经过我们的观察，再次创建的文件名，没有变化只是将时间属性更改了一下，所以我们得出使用touch创建文件时，如果文件不存在的话直接创建空文件，如果存在只是更改一下时间属性。其实这条命令并不常用，这是用于测试或实验当中。

    7.file查看文件类型
    我们使用vi编辑一下然后查看dir1/test/test文件类型

    File命令能够识别linux系统中大多数文件类型，可识别文本文件。二进制可执行文件、压缩文件等。


命令学习八

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

命令学习八

    8.cp复制文件
    cp 源文件 目标位置

    9.rm删除文件
    rm是删除文件的命令，linux中的文件删除是不可恢复的，使用这条命令时一定要小心。刚才使用rmdir删除dir1时，由于它包含子目录而没有删除掉，但是有了这条命令我们就不用去一个一个目录的去删除了，只要加上必要的选项，一切化简为零。

    rm –r 循环删除直到删除没有
    rm –f 强制删除
    rm –rf 强制删除文件


先停

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

先停

    10.mv移动文件或者重命名
    将/home/test移动到当前目录

    利用mv重命名，就是说源文件和目标文件在同一目录就是文件重命名。


vi编辑器学习一

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

vi编辑器学习一

    说道命令，就不得不提这个特殊的命令“vi”它不光是命令，还是一个linux下的编辑器。由于时间关系，这里不在举例说明，将在以后配置网络服务时介绍一些vi的实际应用。

    vi命令是linux下的全屏幕文本编辑，vi编辑器提供了丰富的编辑功能。这个编辑器十分简陋，对于初学者很不友好。但是在linux中vi编辑器作用非常大，以后尤其我们在配置各种服务器时修改配置文件时十分有用。

    vi编辑器有3种模式：命令模式、输入模式、末行模式。掌握这三种模式十分重要：

    命令模式：vi启动后默认进入的是命令模式，从这个模式使用命令可以切换到另外两种模式，同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。

    输入模式：在这个模式中我们可以编辑、修改、输入等编辑工作，在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件，这时我们需要先返回命令模式，在进入末行模式保存。

    末行模式：在命令模式输入“：”即可进入该模式，在末行模式中有好多好用的命令。

    1.vi的启动和退出
    直接输入命令vi不指定文件名，由于这是一个没有命名的空文件，显示了vi的版本信息。


vi编辑器学习二

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

vi编辑器学习二

    vim是vi编辑器的改进版本，在vi编辑器的基础上扩展了很多实用的功能。大多数linux/unix版本都使用vim代替了原有的vi编辑器。

    或者直接使用vi打开文件，如果文件存在打开存在文件；如果不存在的话，将以我们指定的参数作为文件名。

    输入q！是强制退出，同时没有保存当前文件内容。如果文件没有进行修改，或者已经保存完毕也可以使用q退出。保存退出使用wq，保存强制退出wq！

    2.保存文件
    如果文件已经有文件名，我们在末行模式直接输入w保存，如果没有文件名，输入w 文件名进行保存。例如：w test其中test是文件名。

    那么在vi中也可以另存为，就是在保存完以后，我们再使用w 另存为文件名。

    3.光标的移动
    在命令模式中可以使用命令进行以下操作。

    光标方向的移动，除了可以使用方向键，还可以使用以下命令

    向上移动光标：k
    向左移动光标：h
    向右移动光标：l
    向下移动光标：j

    翻页命令
    Ctrl+F向前翻整页 Ctrl+U向前翻半页
    Ctrl+B向后翻整页 Ctrl+D向后翻半页

    行内快数跳转
    ^移动到本行行首
    $移动到本行行尾

    显示行号和取消行号(末行模式使用)
    set nu显示行号
    set nonu取消行号

    在命令模式下，使用以下命令可以快速的在行间跳转
    1G跳转到文件首行
    G跳转到尾行
    #G跳转到文件的#行


vi编辑器学习三

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

vi编辑器学习三

    4.编辑操作
    进入输入模式命令
    i插入命令 a附加命令 o打开命令 c修改命令
    r取代命令 s替换命令 Esc退出命令

    输入模式的操作
    Home光标到行首
    End 光标到行尾
    Page Up和Page Down上下翻页
    Delect删除光标位置的字符

    删除操作(命令模式使用)
    x删除光标处的单个字符
    dd删除光标所在行
    dw删除当前字符到单词尾包括空格的所有字符
    #x例如3x删除光标处向右的三个字符
    #dd例如3dd从当前行开始向下删除三行文本

    撤销操作
    u命令取消最近一次的操作，可以使用多次来恢复原有的操作
    U取消所有操作
    Ctrl+R可以恢复对使用u命令的操作

    复制操作
    yy命令复制当前整行的内容到vi缓冲区
    yw复制当前光标所在位置到单词尾字符的内容到vi缓存区，相当于复制一个单词
    y$复制光标所在位置到行尾内容到缓存区
    y^复制光标所在位置到行首内容到缓存区
    #yy例如：5yy就是复制5行
    #yw例如：2yw就是复制两个单词

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


vi编辑器学习结束

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

vi编辑器学习结束

    5.查找和替换
    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

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

    O只读打开，不改变文件内容
    E继续编辑文件，不恢复.swp文件保存的内容
    R将恢复上次编辑以后未保存文件内容
    Q退出vi
    D删除.swp文件
    或者使用vi －r 文件名来恢复未保存的内容

    vi命令大致给大家介绍这些，其实它的功能很强大的，我们在日常实际使用过程中不断积累命令的使用方法，相信大家会很快掌握这个命令的。


回到命令学习一

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习一

     由于我们已经可以使用vi编辑自己的文件，如果我们想查看这些文件，总不能每次都使用vi打开文件去查看吧。所以首先给大家介绍几条关于文件查看命令。

    1.文件查看命令

    cat命令
    这条命令适用于最简单的文本查看，它在显示文件内容的时候是以第一行开始，在显示过程中没有停顿，文件较长的话，只能看到最后一页内容在屏幕上显示，不适合查看长文件。

    例如：我们查看“/etc”目录下的“inittab文件，直接在命令提示符下输入：

    由于这个文件较长，我们只看到了文件的最后一页在屏幕上的显示。如果在cat /etc/inittab后加上-n将在显示的结果中显示行号。


回到命令学习二

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习二

     接下来这个命令比较有意思，写法是将cat反过来些，并且它和cat命令的功能刚好相反，是以文件的最后一行开始到文件的第一行反向的显示到屏幕。它就是tac，用法也和cat一样，这里不做详细介绍。

    more命令
    当文件很大的时候more命令相比cat命令要好用的多，它的用法也是more [文件名]，它的显示方法是分屏显示文件内容。

    例如：同样还是“/etc”目录下的“inittab文件，也是在命令提示符下输入：

    我们看到这个命令的确是分屏显示，在屏幕的最下方还显示出当前显示内容在整个文件中的百分比。那么我们怎样可以看到40%以下的内容，这里介绍几个常用的操作按键，如果想了解详细使用方法，在分屏显示界面中输入“h”会显示more命令的帮助信息。

    输入空格将显示下一屏的文件内容，如果文件已经显示到文件尾，more命令会自动退出。

    输入字幕b将显示上一屏的文件内容，如果显示已经在文件头部，则屏幕显示文件保持不变。

    使用回车键可以将文件内容向上滚动一行，也就是显示一行新的内容到当前屏幕。

    输入q或Q退出more命令阅读环境。

    总结，这条命令可以分屏显示内容和翻页功能，较适合阅读较长的文件。


回到命令学习三

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习三

    less命令
    less命令和more的功能几乎差不多，只是多了一些功能。更适用阅读较长较大的文件。使用方法也是less [文件名]。

    还是以查看“/etc”目录下的“inittab文件，也是在命令提示符下输入：

    less也是以全屏幕的显示文件，最后一行显示出了当前阅读文件的名称。

    less命令中的“回车键、空格键和b”操作键功能和more的相同，还可以使用Page Up和 Page Down进行上下翻页，使用上下方向键对文本内容一行一行的上下移动，退出命令和more的也一样。还可以查找字符串，输入/要查找的字符串。


回到命令学习四

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习四

    head和tail命令
    这两条命令可以查看文件的前几行或后几行，两条命令都是默认显示文件内容10行，但是head是显示最前10行，而tail是最后10行。

    head和tail命令中添加选项“-n”，可以设置查看最前n行或最后n行，例如查看“/etc”目录下的“inittab文件中的前3行使用命令如下：

    nl命令
    nl命令查看文件的同时可以显示行号，用法和cat –n相似。


回到命令学习五

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习五

    2.文件或目录的查找

    find命令
    find命令的在查找文件或目录的功能非常强大，可以根据文件的大多数属性来查找文件，它的使用形式也是多变的，基本命令格式：

    find [path] [expression] 使用这条命令最常用的是按照文件名查找，文件名表达式的格式为：-name 文件名，其中文件名可以使用*或？通配符进行表示。符合条件的将被显示出来。

    例如：查找“inittab”文件，可以使用find / –name inittab

    我们在查找的过程中会发现它的查找速度相当的慢，而且这条命令十分耗硬盘。所以这条命令虽然功能十分的强大，但是最好先使用其它命令查找不到的时候使用。

    其它可选选项：
    -adminN 在过去N分钟内读过的文件
    -anewerFILE 比文件FILE更晚读取的文件
    -cnewer FILE 比文件FILE更新的文件
    -atime[士]N 在过去N天以内(-)或以外(+)读取过的文件
    -cmin[士]N 在过去N分钟以内(-)或以外(+)修改过的文件
    -ctime[士]N 在过去N天以内(-)或以外(+)修改过的文件
    -empty 空文件
    -gN 组id号是N的文件
    -groupNAME 组名是NAME的文件
    -ipath P,path P 路径名符合P的文件，ipath会忽略大小写
    -name NAME,-iname NAME 文件名称符合NAME的，iname会忽略大小写。
    -sizeN[b|c|k|w] 文件大小是N，单位b代表512位的块，c表示一个char，k表示kilobytes，w是一个word。
    -typeT 文件类型是T的文件，文件类型有d目录、c字符设备文件、 b块设备文件、f普通文件、l符号链接、s套接字文件。
    -mount,-xdev 只检查和指定目录在同一个文件系统中的文件，避免列出其它文件系统中的文件。


回到命令学习六

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习六

    which命令
    which的基本功能是通过环境变量PATH到该路径内寻找可执行文件，所以用于查找可执行文件。其实这个时候想一想，怎样可以看出文件是可执行文件，我在前面已经介绍了一种方法，学习就是结合起来运用。在我们还不熟悉这个系统的时候，我们可以先在某个目录查看一下是否有可执行文件，然后在使用which验证。

    whereis命令
    whereis可以迅速的找到文件，而且还提供了这个文件的二进制可执行文件、源代码文件和使用手册页存放位置。

    例如：查找inittab文件

    我们可以看到inittab是存放在子目录/etc下，而且他的使用手册在/usr/share/man/man5下的inittab.5.gz

    3.硬盘装载命令

    mount命令
    mount命令用于物理设备(例如：光盘、U盘、硬盘)中的文件系统挂载到linux文件系统的某个目录中，在mount命令不使用任何选项和参数的时候将显示当前linux系统中以挂载的文件系统信息。首先介绍光盘的挂载方法：


回到命令学习七

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习七

    mount命令的功能强大，命令格式也比较丰富。但是常用挂载文件系统命令格式：mount –t type dev dir

    其中–t type选项指出需要挂载的文件系统类型，光盘文件系统类型是：iso9660；dev表示需要挂载文件系统的设备名称，光盘驱动器的设备名称是/dev/cdrom; dir表示挂载点，即挂载到的文件目录路径。光盘设备在linux as4中系统中的默认路径是/media/cdrom。

    由于光盘是只读的存储介质，因此mount命令在挂载光盘的时候会提示光盘一只读(read-only)模式进行挂载,挂载后使用mount命令查看已挂载的文件系统，可以在最后一行看到设备的挂载信息，证明挂载成功。

    读取光盘中的内容非常的简单了，使用mount命令挂载后，可以访问挂载目录完成对光盘中内容的读取。


回到命令学习八

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习八

    umount命令
    umount命令用于卸载已经挂载的文件系统，基本格式如：umount dir device […]使用umount卸载文件系统可以指定挂载设备文件名或挂载目录作为参数，可以将卸载指定的设备或挂载点目录上的文件系统。

    对于光盘文件系统的卸载可以使用，以下两条命令中的任意一条：注意在卸载的时候要退出光盘的挂载目录，否则提示文件系统在使用。

    eject命令
    使用eject命令可以将光盘驱动器中的光盘轻轻弹出和收回，不必使用光盘驱动器的弹出按钮。


回到命令学习九

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

回到命令学习九

    U盘的使用方法
    在linux系统中，USB设备被视为SCSI设备，使用这个设备文件的格式为“sdX”系统中的第一个SCSI设备表示为“sda”第二个表示为“sdb”由于我使用的系统硬盘是串口硬盘，所以我的U盘被识别为“sdb”

    U盘设备插入系统后每次分配的设备文件名是不固定的，依赖于当前系统拥有几个SCSI设备，在不确定设备名称时，我们可以使用“fdisk”命令，列出系统中所有存储设备：

    我们可以看出当前设备文件名是“/dev/sdb”，U盘上唯一的主分区设备文件的名称是“/dev/sdb1”，分区中的文件系统类型是fat。知道这些以后我们就可以使用mount命令挂载U盘到当前文件系统。“/mnt”目录通常用于挂载系统中临时使用的文件系统，可以将“/mnt”目录作为U盘系统的挂接点。使用“vfat”文件系统类型表示所有的fat文件系统类型，包括fat16和fat32，ntfs还是使用ntfs表示。


结束

红联Linux论坛制作的普及Linux书籍 　作者：yjlsy　Linux教程下载

Linux基础命令小结

结束

    U盘的卸载

    其实，在linux系统中还有好多好多的命令，比如磁盘管理、用户管理的命令等等，我将他们总结成了一个个单一模块来记忆。让我们慢慢的了解和记忆，能够掌握和运用才是我们最终的目的。


从Windows转向Linux教程

红联Linux论坛制作的普及Linux书籍　Linux教程下载

从Windows转向Linux教程

    从Windows转向Linux教程 E3000基础学习

    Linux最基本的操作及相关知识技能。本书力求基础，基础是通往高手之路，所以本书右名是：Linux基础学习教程 E3000在路上，希望E3000助您在Linux的学习路上更加的愉快。

    开始您的Linux之旅！

    CHM格式：ftp://FTP_hllinux:123456@211.95.73.26/从Windows转向Linux教程E3000基础学习.chm

    PDF格式：ftp://FTP_hllinux:123456@211.95.73.26/从Windows转向Linux教程E3000基础学习.pdf （右键另存为）

    无法正常下载这边下载：http://www.linuxdiyf.com/bbs/thread-42772-1-1.html

    学成Linux快手
    学成Linux快手是学习Linux命令的好教程，学会它将可以很好的完成Linux的工作，对学习Linux及提高都有很大的帮助。

    下载链接：ftp://FTP_hllinux:123456@211.95.73.26/linux/linuxexpress.chm

    无法正常下载这边下载：http://www.linuxdiyf.com/bbs/thread-59461-1-2.html

    Linux零基础初级教程
    DIY就要Linux，一部较适合Linux学习者学习的书籍，特别是刚从Windows转向Linux的朋友。

    CHM格式下载：ftp://FTP_hllinux:123456@211.95.73.26/fc/linuxhl.chm

    PDF格式下载：ftp://FTP_hllinux:123456@211.95.73.26/fc/linuxhl.pdf（右键另存为）

    无法正常下载这边下载：http://www.linuxdiyf.com/bbs/thread-51667-1-1.html


Linux海量资源

    希望本书籍能够帮助到您的成长。

    好，继续您的愉快学习Linux之旅吧！

    天天更新的Linux文章：http://www.linuxdiyf.com/articlelist.php?id=3

    需要Linux电子书籍可以到这下载：http://www.linuxdiyf.com/bbs/forum-6-1.html

    需要Linux技术文章可以到这：http://www.linuxdiyf.com/bbs/forum-3-1.html

    Linux电子书籍推荐下载：http://www.linux286.com/linux/linuxdzsj.htm