Linux基础知识(二)

 本文的主要内容是:

 1.Linux上的基本文件管理命令

 2bash的特性及其命令状态返回值

 3.bash的花括号展开机制

 4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息

 5如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果? 

 6.bash特性之globbing文件名匹配以及示例详解:

 (1)显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

 (2).显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录

 (3)显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

 (4)在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

 (5)复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

 (6).复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

 (7)复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

 1.Linux上的基本文件管理命令

  Linux的哲学思想之一就是一切皆文件,几乎所有的配置文件都已纯文本的形式存在,甚至连物理设备的访问入口也是文件,因此,对文件的管理尤为中重要,是玩转Linux的基本技能。常见的文件管理命令有:

    (1) ls : 列出指定目录下文件

    语法: ls [options] [file]

     常用选项:

        -a : 列出指定目录下的所有文件,包括隐藏文件

        -l : 以长格式列出文件信息

        -d:查看目录自身而非其内部的文件列表;

        -R: recursive,递归显示;

        -h : 默认情况下,列出的文件的信息是以字节为单位,-h选项能使列出的文件大小以 KB,MB等为单位列出,通常与-l一起组合使用

 示例:

       表示列出/etc目录下的所有文件 :  ls -a /etc/

       以人容易读懂的长格式显示/etc下的文件:ls -lah /etc/

       只查看指定的文件信息:ls -lah /etc/fstab

   (2) cp:复制文件和目录,默认情况下不能复制目录。

   语法:cp [options] source dest

   常用选项:

        -f : 强行复制文件或目录, 不论目的文件或目录是否已经存在

        -p :保留源文件或目录的属性,包括所有者、所属组、权限与时间

        -d:复制链接属性

      -R: 递归处理,将指定目录下的文件及子目录一并处理

  示例:

       将file1 复制到  /tmp/  :  cp file1 /tmp/file1

        将dir1下的文件复制到/tmp/下:cp -R dir1 /tmp/

        复制时保留文件的属性: cp -p fiel1 /tmp/

  (3)pwd:显示工作目录

  (4)cd:改变工作目录

  语法:cd [options] dest_dir

  常用选项:

   cd: 切换回家目录;

   cd ~ username:切换到指定用户的家目录

   cd – :在上一次所在的目录与当前目录之间进行切换

 (5) cat : 查看指定文件的内容

    语法:cat [options] file

    常用选项:

     -n :显示文件内容的时候添加行号

   示例:

       查看file的内容: cat -n file

   (6).tac:查看文件的内容,是从后往前查看

   语法: tac [options] file

   常用选项:

     -n:显示时添加行号

  示例

    tac -n file1

   (7)file:查看文件类型

    语法:file file_name

   (8).mv:移动或者重命名文件

    语法:mv [options] source dest

    常用选项: 

    -b :若需覆盖文件,则覆盖前先行备份。

    -f :强制的意思,如果目标文件已经存在,不会询问而直接覆盖 

    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

   示例:

        将当前目录下的文件file重命名为file1:mv file file1

       将当前目录下的file移动到/tmp/file,而且要做个备份:mv -b file /tmp/file

    (9).rm:删除文件或者目录,默认情况下,当文件不为空的时会询问是否要删除,此命令及其危险,操作之前请三思而后行。

   语法:rm [options] file

   常用选项:

     -r:递归删除

     -f :强行删除

     -i:删除文件之前会询问是否删除

   示例:

       删除文件file: rm file

       强制删除文件file:rm -f file

        删除/tmp/下的test目录: rm -r /tmp/test/

        强制删除/tmp/test/目录:rm -rf /tmp/test

   (10).wc:统计文件中单词个数和文件的行数

    语法:wc [options] file

    常用选项:

      -l:文件的行数

      -w:统计单词的个数

   示例:

       统计file的行数:wc -l file

       统计file的单词个数:wc -w file

  (11)sort:对文本文件进行排序

  语法:sort [options] file

  常用选项:

      -d : 按字典顺序进行排序

      -n :按数字进行排序

      -r:逆序排序

   示例:

      对file进行逆序排序:sort -r file

      对fi按字典顺序进行排序:sort -d file

      对file按数字顺序进行排序:sort -n file

  

  (12).tr:转换或删除字符

  语法 : tr [options] set1 set2

  常用选项:

      -d : 删除指定的字符集合

      -s : 删除重复的字符集合

   常用的字符串集合:

     [a-z]:全部小写字符集合

     [A-Z]:全部大写字符的集合

     [0-9]:全部数字的集合

   示例:

       将file中的全部小写转换为大写:tr [a-z] [A-Z] < file

       将file中的数字全部删除: tr -d [0-9] < file

       删除file中的空行:tr -s "\n" < file

   (13).mkdir:创建目录

   语法:mkdir [options] dir_name

   常用选项:

        -p:当父目录不存在时先创建父目录

        -v:显示详细的创建过程

        -m MODE:创建目录时直接指定权限

   示例:

     在/tmp目录下创建test1/test2/目录,test1事先不存在:mkdir -p /tmp/test1/test2

 2.bash特性之命令状态返回值

 bash中每个命令执行之后只会有两种状态,成功或者失败,而成功执行返回的指是0,若返回值为其他的则说明上一条命令执行失败了。

  查看方法:echo $?

 3.bash特性之展开机制

 (1).命令行展开:

  ~:自动展开为用户的家目录

  {}:将逗号分隔的路径列表展开为多个路径

  例如:

    在/tmp/下创建a_c, a_d, b_c, b_d : touch {a,b}_{c,d}

    

             创建有如下结构的文件目录/tmp/mysysroot/

    |– bin

    |– etc

    |     — sysconfig

    |         — network-scripts

    |– sbin

    |– usr

    |     |– bin

    |     |– lib

    |     |– lib64

    |     |– local

    |     |   |– bin

    |     |   |– etc

    |     |   |– lib

    |     |   |– sbin

    |     |– sbin

     — var

           |– cache

           |– log

           |– run

 mkdir -p /tmp/mysysroot/{bin,etc/sysconfig/network-script,sbin,usr/{bin,lib,lib64,local/{bin,etc,lib,sbin}sbin}var/{cache,log,run}}

 4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息

 (1).文件的元数据有:

    文件类型:常见的类型有普通文件(f),目录(d),块设备文件(b),字符设备(c),管道文件(p),套接字文件(s),连接文件(l)。

    属主和属组信息:创建文件的用户以及该用户所属的用户组

    属主和属组和其他用户对文件的权限:三位为一组,分别是r(读)w(写)x(执行),对应位没有则显示为-

    文件的大小:显示了文件的大小,通常以字节为单位

    文件的时间戳:包括文件的创建时间,修改时间和改变时间

    文件名称:即为文件的名字

  (2)修改文件的时间戳

  touch:修改文件的时间戳

  语法: touch [options]  file

  常用选项:

      -c: 指定的文件路径不存在时不予创建;

      -a: 仅修改access time;

      -m:仅修改modify time;

      -t STAMP

   示例:

       创建不存在的文件file:touch file

       更新文件的时间戳 file:touch -r file

       设定文件的时间戳:touch -t 201211142234.50 file

    

 5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果? 

 (1).定义命令别名:

  alias name=command : 只对当前进程有效,下次重新启动时就会失效,要想永久有效,要将其写入配置文件中。

 (2).引用另一个命令的执行结果的方法:管道(|),同时也体现了Linux的重要哲学思想之一,组合小程序完成复杂的任务。

 例如:

    想分屏显示查看你ls得到的结果 ls -lah | less

 

 

 6.bash的特性之globbing文件名通配

 bash的特性之一,支持globbing文件名通配,即支持元字符匹配模式,常用的有

    \*:匹配任意长度任意字符

    ? :任意的单个字符

    [ ]:范围内的任意单个字符

    [^ ] :范围外的任意单个字符

  常见用于匹配的字符集合有:

   [[:upper:]]:所有大写的字母

   [[:lower:]] : 所有小写字母

   [[:alpha:]]:所遇的字母

   [[:digit:]]:所有数字集合

   [[:space:]:空格

   [[:alnum:]]]:字母和数字

   [[:punct:]]:标点符号

   

  (1).显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

            ls -d /var/l?[[:lower:]]       

 (2).显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录

      ls -d /etc/[0-9]^[0-9]

  (3)显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

     ls -d /etc/[^a-z][a-z]*

  (4)在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

  touch /tmp/ file-`date +%Y-%m-%d-%H-%M-%S`

  (5).复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中:

  cp -r /etc/p[^0-9] /tmp/mytest1

  

 (6).复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录

 cp -r /etc/*.d /tmp/mytest2

 (7)复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中:

 cp /etc/[lmn]*.conf /tmp/mytest3

  

原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/49067

(0)
上一篇 2016-09-25 16:47
下一篇 2016-09-25 19:58

相关推荐

  • linux目录基础、简单的命令以及运用linux帮助

    计算机组成及其功能     计算机其实是:接收用户输入指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息。所以计算机组成可以分为输入单元、输出单元、CPU(控制单元、算术逻辑单元)、内存     输入单元:包括键盘、鼠标、扫描仪、手写板、触摸屏等;实现…

    Linux干货 2016-09-17
  • CentOS、RHEL及Linux的关系

    什么是Linux?    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux存在着…

    Linux干货 2016-01-14
  • 文件相关命令

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp:copy 源文件:目标文件 单源复制:cp [OPTION]… [-T] SOURCE DEST 如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中 如果DEST存在: 如果DEST是非目录文件:则覆盖目标文件 如果DEST是目录文件:则先在D…

    Linux干货 2016-09-23
  • LVM 逻辑卷管理器-快照区复原系统

    LVM 逻辑卷管理器-快照区复原系统 复原的数据量不能够高于快照区所能负载的实际容量。由于原始数据会被搬移到快照区,如果你的快照区不够大,原始资料变动的实际数据量比快照大,那么快照区就容纳不了,这时快照就会失效。 (1)将原本的/dev/vg_1/lv_1内容做些改动,增减一些目录。 [root@centos6 ~]# df -…

    Linux干货 2016-09-18
  • RAID详解

    测试机centos6.7 x86_64 一、RAID是什么     简单描述:RAID(Redundant Array of indenpensive Disk)独立磁盘冗余阵列:磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段或条带(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起…

    2016-02-14
  • N22-第一周博客作业

    1、计算机的组成和及其功能? 计算机由硬件,操作系统,软件三大部分组成。 硬件: 计算机系统中所使用的电子线路和物理设备,主要由中央处理器( CPU )、存储器、外部设备(输入输出设备、I/O设备)及总线等组成。 a、中央处理器(CPU)的主要功能是根据存储器内的程序 ,逐条地执行程序所指定的操作。中央处理器的主要组成部分是:数据寄存器、指令寄存器、指令译码…

    Linux干货 2016-08-15

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 23:03

    在总结知识点的时候能多一些实验环节能加深印象,想得越多,实践的越多越记忆深刻。