走进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-25
下一篇 2016-09-26

相关推荐

  • 访问控制列表ACL使用说明

    一、什么是ACL ACL(Access Control List)可灵活地,更细粒度地定义访问文件或目录的权限。 二、为什么使用ACL Linux上文件系统的文件系统权限管理的对象分为三类:owner,group,other。这种分类非常简单,如果我希望有一个用户拥有不同于这三类对象的权限,或者再定义一个用户组的权限,传统的权限管理就不能实现,而ACL可以很…

    Linux干货 2016-08-08
  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • 用户和组命令及相关配置文件总结

    用户和组相关的配置文件 目录 一、创建用户、组和权限相关命令… 1 1、useradd 帐号建立… 1 2、usermod 用户属性更改… 2 3、Passwd. 2 4、userdel 2 6、chfn. 3 7、Chsh. 3 8、finger. 3 9、groupadd. 3 10、Groupdel 3 11、gro…

    Linux干货 2016-10-24
  • 马哥教育网络班20期 第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash #the purpose of program : # #08/11/2016  PATH=/bin:/sbin:…

    Linux干货 2016-08-15
  • git

    1.1 Git的安装 1.1.1 版本 # cat /etc/redhat-release CentOS release 6.8 (Final) # uname -r 2.6.32-642.4.2.el6.x86_64 # uname -m x86_64 1.1.2 安装 可以直接通过源码安装。先从Git官网下载源码,然后解压,…

    Linux干货 2016-10-31
  • MHA安装包及其依赖包下载

    MySQL MHA是一款在业界广泛部署的MySQL高可用软件。但是在安装时,需要安装较多依赖包,并且有些依赖包在操作系统中默认的yum源是不存在的,因此需要到多个地方去寻找相应的包,费时费力。特别是在某些公司的网络政策,只允许少数机器连接外网,因此部署MHA更是苦不堪言。     为了方便大家也是方便以后我自己的使用,…

    Linux干货 2016-12-05

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 22:53

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