您的位置:首页 > 运维架构 > Linux

Linux常用命令——文件目录处理命令详解(ls、mkdir、cd、pwd、rmdir、cp、mv、rm、touch、cat、more、less、head、tail、ln)

2019-07-02 10:55 961 查看

一、Linux命令的基本格式

1、命令提示符

登录Linux后,我们可以看到如下内容:[root@localhost ~ ]#
这就是Linux系统的命令提示符。其中:

  • []:这是提示符的分割符号,没有特殊含义;
  • root:显示的是当前的登录用户,使用root用户登录;
  • @:分割符号,没有特殊含义;
  • localhost:当前系统的简写主机名(完整主机名是:localhost.localdomain);
  • ~ :代表用户当前所有目录,~表示用户当前所在的目录是家目录;
  • #:命令提示符,如果是超级用户,提示符就是#;如果是普通用户,提示符就是$。

3、命令的基本格式

[root@localhost ~ ]# 命令 [选项] [参数]

  • 选项和参数是可选的(空格不可少)
  • 选项:用于调节命令的具体功能 以 “ - ”引导短格式选项(单个字符),例如 “ -l ”;
  • 单个命令,书写简单,两个短格式命令可以写到一起;
  • 以“ – ”引导长格式选项(多个字符),例如 “ --color”含义明确;
  • 多个短格式选项可以写在一起,只用一个“ - ”引导,例如“ -al ”
  • 参数:命令操作的对象,如文件,目录名等
  • 例如:[root@localhost ~ ]# ls -ls /etc

    • 命令格式中的[]代表可选项,也就是有些命令可以不写选项或参数,也可以执行;
    • 命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象,一般文件、>目录、用户和进程等可以作为参数被命令操作;

    注意:
    命令编辑的几个辅助操作:

    • Tab键:自动补全;
    • 反斜杠 “ \ ”:强制换行;
    • 快捷键 Ctrl+U:清空至行首;
    • 快捷键 Ctrl+K:清空至行尾;
    • 快捷键 Ctrl+L:清屏;
    • 快捷键 Ctrl+C:取消本次命令编辑;

    二、内部命令,外部命令和查看命令的帮助

    1、内部命令与外部命令的区别

    • 内部命令存在于Linux系统Shell中,而非磁盘中;Shell被Linux系统加载到内存中,内部命令处于随时调用状态,用户可直接使用;
    • 外部命令一文件形式存在:通常存放在硬盘中,主要在“/bin,/sbin”等目录中;
    • 在Linux系统中绝大多数命令是外部命令;

    2.常见的帮助命令

    (1)man命令:可以查看命令或配置的帮助信息;

    [root@redhat tmp]# man ls
    [root@redhat tmp]# man yum.conf
    #注:使用man查看配置文件的帮助信息时,不需使用绝对路径,只需要写配置文件名即可

    (2)help命令:显示Shell内置命令的帮助信息;

    [root@redhat tmp]#  which  cd
    /usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
    [root@redhat tmp]# help cd
    cd: cd [-L|-P] [dir]
    Change the shell working directory.
    ......
    #注:使用which命令或者whereis命令查找不到的命令为内部命令

    (3)whatis命令:简单查看命令的帮助信息;

    [root@redhat tmp]# whatis ls
    ls                   (1)  - list directory contents
    ls                   (1p)  - list directory contents

    (4)apropos命令:简单查看配置文件的帮助信息;

    [root@redhat tmp]# apropos yum.conf
    yum.conf [yum]       (5)  - Configuration file for yum(8)

    三、Linux常用命令

    1、ls命令:显示当前目录下的文件

    ls是最常见的目录操作命令,主要是显示目录下的内容。命令的基本信息如下:

    • 命令名称:ls
    • 所在路径:/bin/ls
    • 执行权限:所在用户
    • 功能描述:显示目录下的内容
    (1)“ -a ”选项:-a选项中的 a 是 all 的意思,也就是显示全部的文件,包含被隐藏的文件。

    在Linux中以 “ . ” 开头的文件是隐藏文件,只有通过 “ -a ”选项才能查看。隐藏文件不是为了把文件藏起来不让用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非特殊需求,尽量不要修改文件的内容;

    [root@redhat ~]# ls
    anaconda-ks.cfg  install.log.syslog  z       模板  图片  下载  桌面
    install.log      j                   公共的  视频  文档  音乐
    [root@redhat ~]# ls -a
    .                .esd_auth        install.log          .viminfo
    ..               .gconf           install.log.syslog   z
    .abrt            .gconfd          j                    公共的
    anaconda-ks.cfg  .gnome2          .local               模板
    [root@redhat ~]#
    (2)“ -l ”选项:显示文件的详细信息,包括:权限(所有者,所属组,其他人权限),引用计数,所有者,大小,文件修改时间,文件名:

    注:在权限面前: 表示文件;d 表示目录;l 表示软连接;

    关于以上的说明:

    • 在权限面前: 表示文件;d 表示目录;l 表示软连接;
    • 链接数:表示引用计数,代表这个文件曾经被调用或者被引用过几次,只在硬链接在使用;
    • 在Linux当中每个文件把用户都分为三类:u(user)所有者、g(group)所属组,o(other)其他人。用户的所有者、所属组和其他人指的是用户和文件之间的关系,即这个文件和用户之间它们存在什么样的身份属性。
    • 一般情况下,创建该文件的用户为该文件的所有者,所有者只能有一个;所属组是一个用户集合,定义一组用户拥有什么样的权限,所属组也只能有一个;即不是所有者也不是所属组的就为其他人;
    [root@root ~]# ls -l
    总用量 100
    -rw-------. 1 root root  1498 6月  22 19:26 anaconda-ks.cfg
    -rw-r--r--. 1 root root 47922 6月  22 19:26 install.log
    -rw-r--r--. 1 root root 10033 6月  22 19:23 install.log.syslog
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 公共的
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 模板
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 视频
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 图片
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 文档
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 下载
    drwxr-xr-x. 2 root root  4096 6月  22 19:30 音乐
    drwxr-xr-x. 3 root root  4096 6月  22 19:43 桌面
    (3)“ -d ”选项:“ -l ”选项可以显示目录中每一个文件的详细信息,但是显示不出来目录的详细信息,如果想显示本身的信息,就必须加入“ -d ”选项。
    [root@root ~]# ls -ld
    dr-xr-x---. 28 root root 4096 6月  30 21:14 .
    (4)“ -h ”选项:习惯以人们的习惯显示文件的大小。“ ls -l ”显示的文件大小是字节,但是我们更加习惯的是千字节用KB显示,兆字节用MB显示,而“ -h ”选项就是按照人们习惯的单位显示文件大小的。
    [root@root ~]# ls -lh
    总用量 100K
    -rw-------. 1 root root 1.5K 6月  22 19:26 anaconda-ks.cfg
    -rw-r--r--. 1 root root  47K 6月  22 19:26 install.log
    -rw-r--r--. 1 root root 9.8K 6月  22 19:23 install.log.syslog
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 公共的
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 模板
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 视频
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 图片
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 文档
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 下载
    drwxr-xr-x. 2 root root 4.0K 6月  22 19:30 音乐
    drwxr-xr-x. 3 root root 4.0K 6月  22 19:43 桌面
    (5)“ -i ”选项:每个文件都有一个被称作 inode (i 字节) 的隐藏属性,可以看成系统搜索这个文件的ID,而“ -i ”选项就是用来查看文件的 inode 号的。
    [root@root ~]# ls -i
    272222 anaconda-ks.cfg     272242 公共的  272245 图片  272244 音乐
    261123 install.log         272241 模板    272243 文档  272239 桌面
    261124 install.log.syslog  272246 视频    272240 下载

    2、mkdir命令:创建目录(文件夹)

    mkdir命令主要功能是创建目录,基本信息如下:

    • 命令名称:mkdir
    • 所在路径:/bin/mkdir
    • 执行权限:所在用户
    • 功能描述:创建空目录
    (1)创建一个空目录:mkdir 目录名
    [root@root ~]# ls /tmp
    _cafenv-appconfig_  pulse-h68wANV588jC    VMwareDnD
    dir1                pulse-HYwFHd4subTQ    vmware-root
    keyring-CfdIfM      virtual-root.4CXsBj   vmware-root_1498-2966037825
    keyring-hlsUKj      virtual-root.INHC9Z   vmware-root_1589-2083797903
    keyring-lfvBms      virtual-root.pFxtSf   vmware-root_1594-834905688
    orbit-gdm           virtual-root.pjI95j   vmware-root_18917-1848395183
    orbit-root          vmware-config-8182.0  yum.log
    (2)如果需要建立一系列的新递归目录,则需要加入“ -p ”选项,递归建立才可以进行创建;
    [root@root ~]# mkdir /tmp/dirs/dirs1
    mkdir: 无法创建目录"/tmp/dirs/dirs1": 没有那个文件或目录
    [root@root ~]# mkdir -p /tmp/dirs/dirs1
    [root@root ~]# ls /tmp
    _cafenv-appconfig_  pulse-h68wANV588jC    vmware-root
    dir1                pulse-HYwFHd4subTQ    vmware-root_1498-2966037825
    dirs                virtual-root.4CXsBj   vmware-root_1589-2083797903
    keyring-CfdIfM      virtual-root.INHC9Z   vmware-root_1594-834905688
    keyring-hlsUKj      virtual-root.pFxtSf   vmware-root_18917-1848395183
    keyring-lfvBms      virtual-root.pjI95j   yum.log
    orbit-gdm           vmware-config-8182.0
    orbit-root          VMwareDnD
    [root@root ~]# ls /tmp/dirs
    dirs1
    (3)使用mkdir,可以同时创建多个目录;
    [root@root ~]# mkdir /tmp/dirs/yuwen /tmp/dirs/shuxue /tmp/dirs/yingyu
    [root@root ~]# ls /tmp/dirs
    dirs1  shuxue  yingyu  yuwen

    3、cd命令:切换目录

    cd命令的主要功能是切换所在目录,命令的基本信息如下:

    • 命令名称:cd
    • 所在路径:shell内置命令
    • 执行权限:所有用户
    • 功能描述:切换所在目录
    (1)cd命令用来切换用户工作目录到一个指定的目录下,这个指定目录你可以使用绝对路径或者是相对路径,并且切换目录之后,在前面的提示符中只保留了最近以及目录;

    注:绝对路径代表从根目录开始,相对路径代表以当前目录为起点

    [root@root ~]# cd /tmp/dirs/yuwen
    [root@root yuwen]# cd /etc
    [root@root etc]# cd /tmp/dirs/shuxue
    [root@root shuxue]#
    (2)cd命令可以识别一些特殊符号,用于快速的切换所在目录;
    • cd ——>不加任何参数,会切换到登录用户的主目录;
    • cd ~ ——>代表home directory(家目录或者用户目录);
    • cd - ——>代表上次所在目录;
    • cd … ——>代表上级目录;
    • cd . ——>代表当前目录;
    • cd …/… ——>返回上两级目录;
    [root@root shuxue]# cd
    [root@root ~]# cd -
    /tmp/dirs/shuxue
    [root@root shuxue]# cd..
    bash: cd..: command not found
    [root@root shuxue]# cd ..
    [root@root dirs]# cd .
    [root@root dirs]# cd ../..
    [root@root /]#

    4、pwd:显示用户当前的工作目录

    pwd命令的主要功能是显示 目录,命令的基本信息如下:

    • 命令名称:pwd
    • 所在路径:/bin/pwd
    • 执行权限:所有用户
    • 功能描述:显示当前目录

    以绝对路径的形式呈现工作目录:

    [root@root 桌面]# cd /etc
    [root@root etc]# pwd
    /etc
    [root@root etc]# pwd
    /etc
    [root@root etc]# cd /etc/abrt
    [root@root abrt]# pwd
    /etc/abrt

    5、rmdir命令:删除空目录(文件夹)

    rmdir命令主要功能是删除目录,基本信息如下:

    • 命令名称:rmdir
    • 所在路径:/bin/rmdir
    • 执行权限:所有用户
    • 功能描述:删除空目录

    删除一个空目录:rmdir 目录名

    [root@root abrt]# ls /tmp/dirs
    dirs1  shuxue  yingyu  yuwen
    [root@root abrt]# rmdir /tmp/dirs/yuwen
    [root@root abrt]# ls /tmp/dirs
    dirs1  shuxue  yingyu

    注:rmdir命令只能删除空目录,如果目录中有内容,就会报错;所以,不论删除的是文件还是目录,经常使用rm命令。

    6、cp命令:复制操作

    cp命令的功能是用于复制,基本信息如下:

    • 命令名称:cp
    • 所在路径:/bin/cp
    • 格式:cp [选项] 源文件 目标路径(若没有目标路径,则默认为当前路径)
    • 执行权限:所有用户
    • 功能描述:复制文件和目录
    (1)cp命令复制文件,也可以进行更名复制,如果复制的目录文件存在,则会提示师傅覆盖,因为cp默认执行的是“cp -i”的别名;
    [root@root ~]# ls /tmp
    _cafenv-appconfig_  pulse-h68wANV588jC    vmware-root
    dir1                pulse-HYwFHd4subTQ    vmware-root_1498-2966037825
    dirs                virtual-root.4CXsBj   vmware-root_1579-2084322198
    ......
    [root@root ~]# cp /etc/grub.conf /tmp
    [root@root ~]# ls /tmp
    _cafenv-appconfig_  orbit-root            VMwareDnD
    dir1                pulse-h68wANV588jC    vmware-root
    dirs                pulse-HYwFHd4subTQ    vmware-root_1498-2966037825
    grub.conf           virtual-root.4CXsBj   vmware-root_1579-2084322198
    ......
    [root@root ~]# cp /etc/grub.conf /tmp
    cp:是否覆盖"/tmp/grub.conf"? yes
    [root@root ~]# ls /tmp
    _cafenv-appconfig_  orbit-root            VMwareDnD
    dir1                pulse-h68wANV588jC    vmware-root
    dirs                pulse-HYwFHd4subTQ    vmware-root_1498-2966037825
    grub.conf           virtual-root.4CXsBj   vmware-root_1579-2084322198
    ......
    (2)cp 可以一次复制多个文件
    [root@root ~]# cp /etc/csh.cshrc /etc/auto.net /tmp/dir1
    cp:是否覆盖"/tmp/dir1/csh.cshrc"? y
    [root@root ~]# ls /tmp/dir1
    auto.net  csh.cshrc
    (3)-r 选项:递归复制,用于复制目录
    [root@root ~]# cp /etc/yum /tmp
    cp: 略过目录"/etc/yum"
    [root@root ~]# cp -r /etc/yum /tmp
    [root@root ~]# ls /tmp
    _cafenv-appconfig_  pulse-h68wANV588jC    vmware-root_1498-2966037825
    dir1                pulse-HYwFHd4subTQ    vmware-root_1579-2084322198
    dirs                virtual-root.4CXsBj   vmware-root_1589-2083797903
    grub.conf           virtual-root.cyXob3   vmware-root_1591-2092251661
    keyring-CfdIfM      virtual-root.INHC9Z   vmware-root_1594-834905688
    keyring-hlsUKj      virtual-root.pFxtSf   vmware-root_18917-1848395183
    keyring-lfvBms      virtual-root.pjI95j   yum
    keyring-NPtwuF      vmware-config-8182.0  yum.log
    orbit-gdm           VMwareDnD
    orbit-root          vmware-root
    (4)-p 选项:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
    [root@root ~]# ls -lh /etc/csh.login
    -rw-r--r--. 1 root root 794 8月  20 2013 /etc/csh.login
    [root@root ~]# cp /etc/csh.login /tmp
    [root@root ~]# ls -lh /tmp/csh.login /tmp
    -rw-r--r--.  1 root root  794 7月   1 20:50 /tmp/csh.login
    
    [root@root ~]# cp -p /etc/csh.login /tmp
    cp:是否覆盖"/tmp/csh.login"? y
    [root@root ~]# ls -lh /tmp/csh.login
    -rw-r--r--. 1 root root 794 8月  20 2013 /tmp/csh.login

    7、mv命令:剪贴和更名

    mv命令的功能是用来剪贴和更名的,基本信息如下:

    • 命令名称:mv
    • 所在路径:/bin/mv
    • 语法:mv [原文件或目录] [ 目标目录]
    • 执行权限:所有用户
    • 功能描述:移动文件或改名
    (1)剪贴文件或目录(不需要加 -r)
    [root@root ~]# mv /tmp/csh.login /root
    [root@root ~]# mv /tmp/dir1 /root
    [root@root ~]# ls /root
    anaconda-ks.cfg  dir1         install.log.syslog  模板  图片  下载  桌面
    csh.login        install.log  公共的              视频  文档  音乐
    (2)剪贴的同时进行改名
    [root@root ~]# mv /root/dir1 /root/mv_dir
    [root@root ~]# ls /root
    anaconda-ks.cfg  install.log         mv_dir  模板  图片  下载  桌面
    csh.login        install.log.syslog  公共的  视频  文档  音乐
    (3)使用“ -v ”选项来查看详细的移动信息
    [root@root tmp]# mv -v grub.conf /root/
    "grub.conf" -> "/root/grub.conf"

    8、rm命令:删除文件或目录

    rm命令不仅可以删除文件,也可以删除目录。命令的基本信息如下:

    • 命令名称:rm
    • 所在路径:/bin/rm
    • 执行权限:所有用户
    • 功能描述:删除文件或目录
    (1)删除文件,rm文件名;rm命令默认执行的是 “ rm -i ” 命令,所以会提示是否删除;
    [root@root tmp]# rm yum.log
    rm:是否删除普通空文件 "yum.log"?y
    (2)删除多个文件时,如果不想进行提示,可以强制删除,使用 -f 参数;
    [root@root tmp]# ls
    auto.net            keyring-NPtwuF       vmware-config-8182.0
    auto.net~           orbit-gdm            VMwareDnD
    dirs                pulse-h68wANV588jC   vmware-root_1498-2966037825
    grub.conf           pulse-HYwFHd4subTQ   vmware-root_1579-2084322198
    grub.conf~          virtual-root.4CXsBj  vmware-root_1589-2083797903
    [root@root tmp]# rm auto.net grub.conf
    rm:是否删除普通文件 "auto.net"?n
    rm:是否删除普通文件 "grub.conf"?n
    [root@root tmp]# rm -f auto.net grub.conf
    [root@root tmp]# ls
    auto.net~           orbit-root            vmware-root
    dirs                pulse-HYwFHd4subTQ    vmware-root_1579-2084322198
    grub.conf~          virtual-root.4CXsBj   vmware-root_1589-2083797903
    (3)删除目录,需要加入 -r 选项,如果要删除的目录下面有很多子文件时,可以强制删除,否则就会一直提示是否删除该文件;
    [root@root tmp]# rm -r etc
    rm:是否进入目录"etc"? y
    rm:是否进入目录"etc/iproute2"? y
    rm:是否删除普通文件 "etc/iproute2/rt_dsfield"?^C
    [root@root tmp]#
    [root@root tmp]# rm -rf etc
    [root@root tmp]# ls
    auto.net~           orbit-root            vmware-root
    _cafenv-appconfig_  pulse-h68wANV588jC    vmware-root_1498-2966037825
    dirs                pulse-HYwFHd4subTQ    vmware-root_1579-2084322198
    grub.conf~          virtual-root.4CXsBj   vmware-root_1589-2083797903
    grub_copy.conf      virtual-root.cyXob3   vmware-root_1591-2092251661
    keyring-CfdIfM      virtual-root.INHC9Z   vmware-root_1594-834905688
    keyring-hlsUKj      virtual-root.pFxtSf   vmware-root_18917-1848395183
    keyring-lfvBms      virtual-root.pjI95j   yum
    keyring-NPtwuF      vmware-config-8182.0
    orbit-gdm           VMwareDnD

    9、touch命令:创建空文件或修改文件的时间戳

    touch命令的作用是创建空文件或修改文件的时间戳,命令的基本信息如下:

    • 命令名称:touch
    • 所在路径:/bin/touch
    • 执行权限:所有用户
    • 功能描述:创建空文件或修改文件的时间戳

    如果文件不存在,则会建立空文件;如果文件已经存在,则会修改文件的时间戳(“ 访问时间,数据修改时间,状态修改时间 ” 都会改变)

    [root@root 桌面]# touch test
    [root@root 桌面]# ls -l test
    -rw-r--r--. 1 root root 0 7月   1 22:28 test
    [root@root 桌面]# touch test
    [root@root 桌面]# ls -l test
    -rw-r--r--. 1 root root 0 7月   1 22:31 test

    10、cat命令:显示文件内容

    • 命令名称:cat
    • 所在路径:/bin/cat
    • 执行权限:所在用户
    • 功能描述:显示文件内容

    cat命令可以显示文件的内容,也可以给内容加上行号(-n),不管文件内容多少,都会一次的显示,当文件内容比较长时,就不适合用cat命令显示,因为cat命令显示最后一屏的内容,不能看到前面的内容;

    [root@root tmp]# cat /etc/issue
    Red Hat Enterprise Linux Server release 6.5 (Santiago)
    Kernel \r on an \m
    
    [root@root tmp]# cat -n /etc/issue
    1	Red Hat Enterprise Linux Server release 6.5 (Santiago)
    2	Kernel \r on an \m
    3

    11、more命令:分页显示文件内容

    当文件过大时,cat命令就不适合适用,就可以使用more命令分屏显示文件内容;基本信息如下:

    • 命令名称:more
    • 所在路径:/bin/more
    • 执行权限:所有用户
    • 描述功能:分屏显示文件内容

    more命令可以分屏显示文件内容,进入more命令的浏览器以后,可以使用空格(或f键)进行翻页,使用enter进行换行q退出浏览;但是使用more命令浏览文件内容时,浏览器的内容不能再次查看,只能向下翻页,不能向上翻页;

    [root@root tmp]# more /etc/services
    # /etc/services:
    # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
    #
    .......
    #       http://www.iana.org/assignments/port-numbers
    --More--(0%)

    12、less命令:分页显示文件内容(可向上向下翻页)

    当文件过大时,使用less命令分屏显示文件内容,可向上向下翻页。基本信息如下:

    • 命令名称:less
    • 所在路径:/bin/less
    • 执行权限:所有用户
    • 功能描述:分屏显示文件内容(可向上向下翻页)

    less命令可以分屏显示文件内容,进入less命令的浏览器状态以后,可以使用空格(或f)进行翻页上箭头向上查看,使用enter进项换行q退出浏览器,除此之外,还可以进行搜索,格式:/搜索内容,搜索的内容就会被标记出来,可以按n进行下一次查找;

    [root@root tmp]# less /etc/services
    # unfortunately the poppassd (Eudora) uses a port which has already
    # been assigned to a different service. We list the poppassd as an
    # alias here. This should work for programs asking for this service.
    # (due to a bug in inetd the 3com-tsmux line is disabled)
    ......
    :

    13、head命令:显示文件前几行的内容

    head是用来显示文件的命令,基恩信息如下:

    • 命令名称:head
    • 所在路径:/usr/bin/head
    • 执行权限:所有用户
    • 功能描述:显示文件开头的内容
    (1)head命令默认显示文件的前10行,-n 参数可以指定具体的行数;
    [root@root 桌面]# cd /tmp
    [root@root tmp]# head /etc/services
    # /etc/services:
    # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
    #
    # Network services, Internet style
    # IANA services version: last updated 2009-11-10
    #
    # Note that it is presently the policy of IANA to assign a single well-known
    # port number for both TCP and UDP; hence, most entries here have two entries
    # even if the protocol doesn't support UDP operations.
    # Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
    [root@root tmp]# head -n 4 /etc/services
    # /etc/services:
    # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
    #
    # Network services, Internet style
    (2)-v 参数可以显示文件名;
    [root@root tmp]# head -v -n 4 /etc/services
    ==> /etc/services <==
    # /etc/services:
    # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
    #
    # Network services, Internet style

    14、tail命令:显示文件后几行的内容

    tail 命令的基本信息如下:

    • 命令名称:tail
    • 所在路径:/usr/bin/tail
    • 执行权限:所有用户
    • 功能描述:显示文件后几行的内容
    (1)tail 命令默认显示文件的后10行,-n 参数可以指定具体的行数;-v 参数可以显示文件名;
    [root@root tmp]# tail -n 4 /etc/services
    com-bardac-dw   48556/tcp               # com-bardac-dw
    com-bardac-dw   48556/udp               # com-bardac-dw
    iqobject        48619/tcp               # iqobject
    iqobject        48619/udp               # iqobject
    [root@root tmp]# tail -v -n 4 /etc/services
    ==> /etc/services <==
    com-bardac-dw   48556/tcp               # com-bardac-dw
    com-bardac-dw   48556/udp               # com-bardac-dw
    iqobject        48619/tcp               # iqobject
    iqobject        48619/udp               # iqobject
    (2)选项 -f 可以动态显示文件末尾的内容

    15、ln命令:生成连接文件

    ln命令的基本信息如下:

    • 命令名称:ln
    • 所在路径:/bin/ln
    • 执行权限:所有用户
    • 功能描述:在文件之间建立链接
    (1)软链接:类似于Windows快捷方式,是一个符号链接,便于管理和规划,而且软链接的权限是rwxrwxrwx,权限前面是 | ,除此之外,软连接很小(类似于快捷方式),而且有箭头会指向原文件;如果原文件被删除,软链接就会失效(显示没有这个文件或目录);
    [root@root 桌面]# ln -s /etc/issue /tmp/issue_soft
    [root@root 桌面]# ls -l /etc/issue
    -rw-r--r--. 1 root root 75 10月 30 2013 /etc/issue
    [root@root 桌面]# ls -l /tmp/issue_soft
    lrwxrwxrwx. 1 root root 10 7月   2 10:28 /tmp/issue_soft -> /etc/issue
    (2)硬链接:硬链接于原文件出来所在文件夹信息不同,其他任何信息都相同,类似于保存了文件属性的拷贝,但也有不同,硬链接可以与原文件保持同步更新,如果原文件被删除了,硬链接文件依然可以访问,不受影响;
    [root@redhat 桌面]# ln  /etc/issue /tmp/issue_hard
    [root@redhat 桌面]# ls -l /etc/issue
    -rw-r--r--. 2 root root 75 10月 30 2013 /etc/issue
    [root@redhat 桌面]# ls -l /tmp/issue_hard
    -rw-r--r--. 2 root root 75 10月 30 2013 /tmp/issue_hard
    (3)软链接与原文件的 i 结点不同,但是硬链接文件与原文件的 i 结点相同;一个文件只有一个 i 结点,但是一个 i 结点不一定只对应一个文件;
    [root@redhat 桌面]# ls -i /etc/issue /tmp/issue_hard /tmp/issue_soft
    54395563 /etc/issue  54395563 /tmp/issue_hard  38273166 /tmp/issue_soft
    (4)硬链接不能跨分区,也不能针对目录使用
    [root@redhat 桌面]# ln  /etc/issue /boot/issue_hard
    ln: 创建硬链接"/boot/issue_hard" => "/etc/issue": 无效的跨设备连接
    [root@redhat 桌面]# ln -s /etc/issue /boot/issue_soft
    [root@redhat 桌面]# ls -l /boot/issue_soft
    lrwxrwxrwx. 1 root root 10 3月  24 02:07 /boot/issue_soft -> /etc/issue
    
    [root@redhat 桌面]# ln  /etc /tmp/issue_hard
    ln: "/etc": 不允许将硬链接指向目录
    [root@redhat 桌面]# ln -s  /etc /tmp/etc_soft
    [root@redhat 桌面]# ls -l /tmp/etc_soft
    lrwxrwxrwx. 1 root root 4 3月  24 02:10 /tmp/etc_soft -> /etc
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐