走进Linux(二)

Linux基础知识

1、文件管理类命令

  • mkdir:创建空目录

格式

mkdir [选项](可跟多个选项) 要创建的目录名

选项

-p:递归创建多个目录                                    

命令演示:想要在/tmp/linux/centos下创建test目录

blob.png                                  

因为/tmp/linux/centos路径不存在,提示无法创建目录

若加上选项-p后,若路径不存在则直接创建路径并创建目录

blob.png

-v:显示创建过程即命令执行过程

命令演示:在/tmp/redhat/fedora下创建创建test1,且路径不存在blob.png

与-p选项同时使用,直接创建路径及目录,并显示执行步骤。

-m:设定目录权限,不加则为默认权限

命令演示:在/tmp/linux下创建test2目录,并设定权限为777

blob.png

  • rmdir:删除空目录

格式同mkdir

选项:

-p:连同上一级空目录一同删除

命令演示:与-v同时使用

blob.png

由于/tmp不是空目录,所以无法删除,只能删除/linux/centos/test

  • cp:复制

格式:

复制单个文件:cp [选项](可跟多个选项) [-T] 源文件 目标文件

复制多个文件:cp [选项](可跟多个选项) 源文件 目标目录

                          cp [选项](可跟多个选项) -t 目标目录 源文件

复制单个文件时,目标文件不存在,则会创建目标文件并将源文件中的数据流抽取填充到目标文件。目标文件存在,如果是非目录文件,则会复制源文件的数据流至目标文件中,覆盖目标文件;如果是目录文件,则现在目标目录中创建一个与源文件同名的文件,并复制数据流。

复制多个文件时,目标必须是目录,否则无法执行。

选项:

-i,覆盖前询问

-f,强制覆盖目标文件

-r,递归复制目录及目录下的所有文件

-d,复制链接文件本身,但不跟踪源文件

-a,为每个已存在的目标文件创建备份

命令演示:复制/tmp/centos1/下的abc到/tmp/centos2下的test,目标文件不存在 blob.png

命令演示:复制/tmp/centos1下的123a到/tmp/linux/centos1/123ablob.png

复制单个文件时,若目标文件存在,会提示是否覆盖目标文件,因为cp=‘cp -i’。

命令演示:复制/tmp/centos1/下的123a,12a3,a123到/tmp/centos3/下 blob.png

  • mv:用来移动文件(若源文件与目标同目录,则重命名)

格式:

mv [选项] 源文件或目录 目标文件或目

选项:

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

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

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

-u :若目标文件已经存在,且源文件比较新,才会更新

命令演示:复制/tmp/centos2/test1的Abc到/tmp/centos1/下

blob.pngblob.png

命令执行后,Abc移动到/tmp/centos1下

若源文件与目标在同一目录,则重命名文件

blob.png

  • rm:删除文件或目录

格式:

rm [选项] 文件名或目录名

常用选项:

-f, –force    忽略不存在的文件,从不给出提示。

-i, –interactive 进行交互式删除

-r, -R, –recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

-v, –verbose    详细显示进行的步骤

      –help     显示此帮助信息并退出

      –version  输出版本信息并退出

命令演示:删除/tmp/centos1下的Abc123

blob.png 

系统会询问是否删除,输入y,则确认删除,rm=‘rm -i’

注意:不需要的文件,建议不要直接删除,而是自己创建一个目录,把不需要的文件都移动到该目录,起到类似window回收站的作用,防止误删操作。

  • pwd:显示当前目录

blob.png

  • ls:显示指定目录下的内容列表,默认为当前目录

格式:

ls [选项] 目录名

选项:

-a,显示所有文件,包括隐藏文件

-l,显示所有文件及其详细信息

blob.png

  • cat:查看文本文件内容,并输出,默认输出到标准输出(显示器)

blob.png

  • tail:查看文件后n行,命令后跟-n,表示查看后n行,默认后10行。

blob.png

2、bash工作特性

  • 命令执行状态返回值

echo $?:显示最近一条命令的执行结果

只能查看最近一条命令的执行的状态结果返回值

命令执行成功,则显示:0

命令执行失败,则显示:1-255之间的任意数字 blob.png

返回值为0,最近的命令tail /etc/passwd执行成功

blob.png

输入错误命令,返回值为1,命令执行失败

blob.png

找不到命令,返回值为127,命令执行失败

命令行展开 

  • ~:自动展开为用户家目录或指定用户的家目录

  • {}:可以承载一个以逗号分隔的文件或目录列表,并能够将其展开为多个路径或文件

例如:mkdir /tmp/{centos1,centos2,centos3},则为分别创建/tmp/centos1,/tmp/centos2,/tmp/centos3

演示1:

blob.png

演示2:

blob.png

显示树状结构:

blob.png

3、元数据

文件包含两类数据:数据和元数据

元数据信息包括:

File: 文件

Size: 文件大小 

Blocks: block块数量       

IO Block: 设备block块

Device: 设备号

Links: 文件硬链接次数 

Access: 文件权限

Uid: 文件ID号及所有者

Gid: 组ID号及所有者 

Access: 最近访问时间

Modify: 最近更改时间

Change: 最近改动时间

Birth:文件创建时间

  • stat:查看文件的元数据

blob.png

  • touch:修改文件的时间戳信息

格式:

touch [选项] 文件名,若文件不存在,则直接创建空文件

-c不创建空文件

-a只修改最近访问时间

-m只修改最近更改时间

-t设置时间戳时间

[[CC]YY]MMDDhhmm[.SS],例如:201609242222.22就是2016年9月24日22点22分22秒

命令演示:更改/tmp/centos1/abc的最后更改时间为2016年9月24日22点22分22秒

[root@localhost centos1]# touch -m -t 201609242222.22 /tmp/centos1/abc

blob.png

4、命令别名设置及命令结果引用

  • alias:定义命令别名

例如:alias hs=‘history’

  • unalias:取消命令别名

例如:unalias history

  • $(COMMAND),mkdir $(date +%H-%M-%S)

  • `COMMAND`,mkdir `date +%H-%M-%S`

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

[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]

blob.png

执行结果说明 /var目录下没有符合条件的文件或目录

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

[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]

blob.png

7、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件

[root@localhost centos1]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

blob.png

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

[root@localhost centos1]# mkdir /tmp/mytest1

[root@localhost centos1]# cp -r /etc/p*[^0-9] /tmp/mytest1

blob.png

9、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中

[root@localhost centos1]# mkdir /tmp/mytest2

[root@localhost centos1]# cp -r /etc/*\.d /tmp/mytest2 blob.png

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

[root@localhost centos1]# mkdir /tmp/mytest3

[root@localhost centos1]# cp -r /etc/[lmn]*.conf /tmp/mytest3

blob.png

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

(0)
孙永奎孙永奎
上一篇 2016-09-26 07:41
下一篇 2016-09-26 07:41

相关推荐

  • N25_第十二周作业

    1、请描述一次完整的http请求处理过程;     1)建立或者处理连接:建立请求或拒绝请求     2)接收请求:接收来自于网络上的主机请求报文中对特定资源的一次请求的过程;     3)处理请求:对请求报文进行解析,主要获取客户端请求的…

    Linux干货 2017-03-06
  • HAproxy实战

    HAproxy实验一 1、实验要求: (1) 动静分离discuzx,动静都要基于负载均衡实现; (2) 进一步测试在haproxy和后端主机之间添加varnish缓存(见实验二步骤); (3) 给出拓扑设计; (4) haproxy的设定要求: (a) 启动stats; (b) 自定义403、502和503的错误页; (c) 各组后端主机选择合适的调度方法…

    Linux干货 2016-11-15
  • 第一周博客作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2018-03-13
  • 第六周作业

    第六周作业 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :进入末行模式 % s/^[[:space:]]/#&…

    Linux干货 2016-10-09
  • LVS负载均衡初接触

    Linux Cluster : Cluster : 计算机集合, 为解决某个特定问题组合起来形成的单个系统; Linux Cluster 类型 : LB : Load Balancing, 负载均衡;()HA : High Avaiibality, 高可用;( 通过冗余的方式让活动主机出现问题时取而代之, 并具有原主机一致的功能)HP : High Perf…

    Linux干货 2016-10-28
  • 18-系统启动故障修复-实践

    说明:重启时可以选择性在vmlinuz所在行末尾添加 selinux=0;或者直接编辑/etc/selinus/config文件,更改 SELINUX=disabled 关闭SELINUX。可以避免打标签,节省启动时间 以下操作都需要进入bootloader引导加载项修改内核启动参数,在vmlinuz所在行末尾添加一个启动选项 如何进入bootloader引…

    2017-04-02

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 22:53

    总结的很详细,并且把自己的实验过程总结出来,看起来更加直观,赞。