走进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 23:48
下一篇 2016-09-26 07:41

相关推荐

  • CentOS6 网卡bonding

    Bonding ;理念 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用 或者负载均衡。直接给两块网卡设置同一IP地址是不可以的 。通过bonding,虚拟一块网卡对外提供连接,物理网卡的 被修改为相同的MAC地址 banding工作模式 Mode 0 (balance-rr) 轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接…

    Linux干货 2017-11-24
  • Shell脚本中select、函数总结

    描述: select控制语句基于Korn Shell中的控制结构 select语句首先显示一个菜单,然后根据用户的选择给变量赋予相应的值,最后执行一系列命令。 语法: select varname [ in arg…] do    commands done 说明: select结构显示arg项的菜单。加入忽略关键字in和参数…

    Linux干货 2016-08-24
  • httpd服务归纳:httpd基本配置(配置文件格式以及常用选项)

    一、 httpd文件的基本格式 主配置文件位置, /etc/httpd/conf/httpd.conf    1. 配置文件参数格式  配置参数    值       特点:    &nbs…

    Linux干货 2015-05-13
  • 8.9作业

    删除/etc/grub2.conf文件中所有以空白开头的行,行首的空白字符 [root@English6 ~]# sed "s@^[[:space:]]\+@@" /etc/grub.conf  # grub.conf generated by an…

    Linux干货 2016-08-11
  • netstat命令和ss命令

    详解netstat命令和ss命令

    Linux干货 2018-01-01
  • iptables实践-week14

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 规则: # 周一不能访问web服务 ~]# iptables -R INPUT 1 -d 172.16.0.11 -p tcp –dp…

    Linux干货 2017-05-04

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 22:53

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