Linux中提供了大量的命令,使用他们可以简化我们的工作,也许在图形化界面中要点击鼠标十几下操作,而在linux系统中一条命令就可以轻松解决。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起。

linux系统中的命令格式一般如下:

命令格式:
  命令  选项  参数
    选项:
      短选项: -
      多个选项可以组合:-a -b = -ab
      长选项: --
参数:命令的作用对象

下面主要介绍ls和cd命令的使用方法


ls命令

ls命令是linux下最常用的命令之一,它是英文list的缩写;

默认ls是用来显示当前目录清单的,如果给其指定其它目录则显示指定目录中的文件和文件夹的清单。

通过ls命令可以查看

  • linux文件夹中包含的文件

  • 文件的权限(读、写、执行),包括属主、属组

  • 文件的大小及类型

  • 文件最后一次被修改的时间

1)命令格式

        ls    [选项]    [目录名]

2)命令功能

        列出目标目录中所有的子目录和文件

3)常用参数

ls 

    -l:将文件名,文件的权限,所有者,文件大小等信息详细列出来

[root@localhost etc]# ls -l 
total 1172
-rw-r--r--.  1 root root     45 Jul 28 11:02 adjtime
-rw-r--r--.  1 root root   1512 Jan 12  2010 aliases
-rw-r--r--.  1 root root  12288 Jun  9 06:52 aliases.db
drwxr-xr-x.  2 root root   4096 Jun  9 06:47 alternatives
……
这里呢第二行显示的是一共有多少个文件,总共是1172个
从第三行开始显示的就是每个文件的详细信息
第一列第一位是文件的类型
文件类型:
    -:普通文件 (f)
    d: 目录文件
    b: 块设备文件 (block)
    c: 字符设备文件 (character)
    l: 符号链接文件(symbolic link file)
    p: 命令管道文件(pipe)
    s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组分别对应,属主;属组;其他;所具有的权限,每一组:rwx(读,写,执行), r--     "-"  表示没有该项权限
文件硬链接的次数:文件的属主(owner);文件的属组(group);文件大小(size),单位是字节;
时间戳(timestamp):最近一次被修改的时间
    访问:access
    修改:modify,文件内容发生了改变
    改变:change,metadata,元数据(主要是指一些文件的所有者,时间,权限信息的修改时间)

    -h:做单位转换,以容易理解的格式列出文件大小(如314M,4G)

    -a: 列出目录下的所有文件,包括以.开头的隐藏文件(linux系统下隐藏文件用.开头)

         . 表示当前目录

         .. 表示父目录

    -A:同-a,但不列出“.”和“..”。

    -d: 显示目录自身属性

    -i: index node, 列出每个文件的inode号

    -r: 逆序显示

    -R: 递归(recursive)显示,即列出所有文件的子目录

    -S:根据文件大小排序

    -t:以文件修改时间排序

4)常用范例

    例一:列出/etc/sysconf文件夹下的所有文件和目录的详细资料

    命令:

[root@localhost etc]# ls -l -R /etc/sysconfig
或者使用
[root@localhost etc]# ls -lR /etc/sysconfig

    例二:列出当前目录中所有以“s”开头的目录的详细内容,包括目录

    命令:

[root@localhost etc]# ls -ld s*

5)扩展

使用ls显示文件默认是没有显示颜色的,某些系统通过命令别名的方法把“ls”命令定义成“ls --color=auto”可以通过在终端中输入alias查看,其中每个文件显示的颜色所对应的含义如下:

蓝色:目录文件

红色:压缩文件

绿色:可执行文件

白色:文本文件

粉红色:图片文件

黄_色:设备文件 

红色闪烁:错误的符号链接

浅绿色(也就是淡蓝):符号链接

[user@localhost ~]$ alias 
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde

在这边我们也看到“ls -l --color=auto”被定义成“ll"所以我们可以使用"ll"命令来直接查看目录


cd命令

cd命令可以说是linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在cd命令基础之上的。

1)命令格式

    cd    [目录名]

2)命令功能

    切换当前目录至你所指定的目录

3)常用范例

    例一:进入/etc/sysconfig目录

[root@localhost /]# cd /etc/sysconfig/
[root@localhost sysconfig]#

    例二:进入用户的家目录

[root@localhost sysconfig]# cd ~
[root@localhost ~]#

    例三:进入根目录

[root@localhost ~]# cd /
[root@localhost /]#

另:

cd -:返回进入此目录之前所在的目录

cd .. :  退回到上一级目录,可以一直使用该命令,一直到退回到根为止


pwd命令

linxu中用pwd命令来查看“当前工作目录”的完整路径。每当你在终端进行操作时,你都会有一个当前工作目录。在不太确定当前位置时,就可以使用pwd来判断当前目录在文件系统内的确切位置。

1)命令格式

    pwd [选项]

2)命令功能

    查看“当前工作目录”的完整路径

3)常用参数

    -P:显示出实际路径,而非使用链接(link)路径。

    一般情况下是不需要带参数的

4)常用范列

例一:用pwd命令查看当前工作的目录

[root@localhost cpu]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts

例二:目录是链接时,用pwd -P显示出实际路径

[root@localhost etc]# ls -l | grep init.d
lrwxrwxrwx.  1 root root     11 Jun  9 06:47 init.d -> rc.d/init.d
[root@localhost etc]# cd /etc/init.d/
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d


mkdir命令

mkdir命令用来创建指定的名称的目录,要求创建目录的用户在当前中具有写权限,并且制定的目录名不能是当前目录中已有的目录。

1)命令格式:

    mkdir [选项] DIRNAME

2)命令功能:

    通过mkdir命令可以在指定位置创建以DIRNAME(指定的目录名)命名的文件夹或目录。

3)命令参数:

    -p:当参数指定是一个路径时,而不单单是目录名的时候,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

    -v:每次创建新目录都显示信息

4)常用范例

例一:创建一个空目录

[root@localhost tmp]# mkdir 123
[root@localhost tmp]# ll
total 4
drwxr-xr-x. 2 root root 4096 Aug  2 13:36 123

例二:在/tmp/中创建一个目录abc,在 abc目录中再创建目录345,并显示详细信息

[root@localhost tmp]# mkdir -pv abc/345
mkdir: created directory `abc'
mkdir: created directory `abc/345'
[root@localhost tmp]# tree
.
├── 123
└── abc
    └── 345

3 directories, 0 files

tree命令可以用来查看文件结构

例三:在/tmp/目录中创建test目录,其中test目录中又有x和y两个目录,x目录中又有m目录

方法一:
[root@localhost tmp]# mkdir -pv test/x/m  test/y
mkdir: created directory `test'
mkdir: created directory `test/x'
mkdir: created directory `test/x/m'
mkdir: created directory `test/y'
方法二:使用命令行展开
[root@localhost tmp]# mkdir -pv test/{x/m,y}    #linux会自动将命令拆分成两条命令来执行
mkdir: created directory `test'
mkdir: created directory `test/x'
mkdir: created directory `test/x/m'
mkdir: created directory `test/y'


rmdir命令:

rmdir是常用的命令,该命令的功能是删除空目录,一个目录在被删除之前必须是空的。

1)命令格式:

    rmdir    [选项]    DIRNAME

2)命令功能

    该命令从一个目录中删除一个或多个子目录 项,删除某目录时也必须具有对父目录的写权限。

3)命令参数

    -p:递归删除目录DIRNAME,当子目录删除后其父目录为空时,也一同被删除。

    -v:显示指令的执行过程

4)常用范例

例一:删除/tmp目录中的123目录

[root@localhost tmp]# rmdir /tmp/123

例二:当子目录被删除后使父目录也成为空目录的话,则顺便一并删除

[root@localhost tmp]# rmdir /tmp/123
[root@localhost tmp]# rmdir -pv /tmp/abc/345
rmdir: removing directory, `/tmp/abc/345'
rmdir: removing directory, `/tmp/abc'
rmdir: removing directory, `/tmp'
rmdir: failed to remove directory `/tmp': Device or resource busy