Week2 bash特性及文件相关

1. 文件类命令及其常用的使用方法

文本查看类命令
cat head tail more less

分屏查看命令

more less
more FILE 翻至最后一页自动退出
less FILE -f 翻至最后一页不退出 若有追加内容则立即显示

首尾查看命令
head tail

head命令: 查看文件前n行

head FILE
head [option] FILE
head -20 /etc/rc.d/init.d/functions

tail命令:查看文件的后n行

tail FILE
-f: 显示文件后不退出等待追加的新行并立即显示
tail -20 /etc/rc.d/init.d/functions

文件管理类
cp mv rm

cp命令: copy

cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…

单源复制

 cp [OPTION]... [-T] SOURCE DEST
 若DEST不存在: 创建此文件并复制源文件数据流至DEST中
 若DEST存在:
  若DEST是非目录文件,则覆盖目标文件
  若DEST是目录,则先在DEST目录下创建一个与源文件同名的文件 并复制其数据流至此文件

多源复制

cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...
        若DEST不存在->error
        若DEST存在,
            DEST是非目录文件->error
            DEST是目录文件:分别复制每一个文件至目录目录并保持原名
    选项
        -i: 交互式复制,即覆盖之前提醒用户确认        -f:强制覆盖目标文件
        -r/R:递归复制目录:        -d:复制符号链接本身 而非其指向的源文件        -a: -dR --preserve=all   archive归档
        --preserve=
            mode ownership timestamps context xattr links all

mv命令: move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…

   -i:交互式   -f:force

rm命令: remove

    -i:交互式    -f:force
    -r:recursive
     rm -rf /PATH/TO/DIR

所有不用的文件建议不要直接删除,而是移动到某专用目录(模拟回收站)

2. bash的工作特性

2.1 命令执行状态返回值

命令执行结果:
命令执行状态返回值:
保存于bash的特殊变量$? 成功:0 失败1-255

2.2 引用

强引用 'XXX' 单引号——不做替换直接显示
弱引用 "XXX" 双引号——变量会被替换
命令引用——替换为命令执行结果
$(COMMAND)
`COMMAND`

  [root@node2 ~]# A=20
  [root@node2 ~]# echo '$A'
  $A
  [root@node2 ~]# echo "$A"
  20
  [root@node2 ~]# echo date
  date
  [root@node2 ~]# echo $(date)
  Sun Dec 11 10:21:16 CST 2016

2.3 命令行展开

命令行展开
~:可承载一个逗号分隔的路径列表,并将其展开为多个路径

创建 /tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2
  mkdir -pv /tmp/x/{y1/{a,b},y2}

tree命令:显示目录结构
tree [options] directory
-L 显示层数

练习:使用命令行展开功能完成:
(1)创建/tmp目录下的a_c,a_d,b_c,b_d

   mkdir -pv /tmp/{a,b}_{c,d}

(2)创建/tmp/mylinux目录下的/下的各一级目录及其部分子目录:

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

2.4 文件名通配符使用

globbing: 文件名通配
匹配模式: 元字符

 *: 匹配任意长度的任意字符
 ?: 匹配任意单个字符 []:匹配指定范围内的任意单个字符        [a-z],[A-Z],[0-9],[a-z0-9]
        [[:upper:]] [[:lower:]] [[:alpha:]]        [[:digit:]] 
        [[::alnum]] 字母+数字        [[:space:]] 
        [[:punct:]] 标点符号 [^]:匹配指定范围外的任意单个字符        [^0-9]
        [^[:alnum:]]

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

ls /var/l[0-9][[:lower:]]

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

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

显示在/etc目录下以非字母开头后跟一个字母以及其他任意长度任意字符的文件或目录>ls /etc/[^[:alpha:]][:alpha:]*

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

touch "tfile-$(date "+%Y-%m-%d-%H-%M-%S")"

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

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

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

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

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

cp -r /etc/[l,m,n]*.conf /tmp/mytest3

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

文件分数据和元数据
数据:data –> cat等看到的内容
元数据:meta data –>文件自身的属性 stat看到的信息

文件大小 文件类型 权限 IO块数 属主属组ID号 时间戳

时间戳:
Access: 2016-12-10 14:36:34.574026967 +0800Modify: 2014-04-02 23:30:47.000000000 +0800 数据改变
Change: 2016-11-12 01:17:23.004986603 +0800 元数据改变

可用stat命令查看文件元数据

touch:change timestamps

touch [OPTION]..FILE
  -c 文件不存在时不予创建
  -a 仅修改access time
  -m 仅修改modify time
  -t STAMP YYMMDDhhmm[.ss]
touch -m -t 201312010303.03 /tmp/1.txt

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

(0)
alonedreameralonedreamer
上一篇 2016-12-11
下一篇 2016-12-11

相关推荐

  • Linux的哲学思想

    Linux的哲学思想 一切皆文件 在linux中所有的一切,都是可以通过ls进行查询的到的,甚至可以说ll查看详细信息时表现形式为文件,所有的设备,所有的文件不论后缀,只是一个单纯文件通过vim可以编辑一切 单一目的的小程序,组合小程序完成复杂任务 在linux中,每一个命令都是对应一个功能,通过不同的参数来完成不同的要求,通过繁多的小的命令来完成大型的要求…

    Linux干货 2016-10-30
  • 详解 /etc/inittab 文件

    当内核初始化后,就会启动第一个进程 init,init进程会进行一系列的系统初始化工作,init是根据什么来进行初始化的? init 会读取/etc/inittab文件(针对CentOS 5 系列),执行里面的内容来进行初始化工作,这个文件是一定的格式。 获取inittab文件的帮助,输入 man inittab 命令 过滤掉空白行和以#号开始的行,内容如下…

    Linux干货 2015-03-10
  • 十个让你变成糟糕的程序员的行为

    之前本站发表过《优秀程序员的十个习惯》以及《程序员需要具备的基本技能》,那是我们需要去学习和培养的。这里,我们主要讨论十个糟糕程序员的特征,主要是需要让我们去避免和小心的。 1) 情绪化的思维 如果你开始使用不同颜色的眼光来看待这个世界的话,那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很有可能会把自己变成一个怪物。相信你经常可以看到很多很糟糕的程序…

    Linux资讯 2015-04-03
  • 第10周作业(上)

    第10周作业 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)。CentOS系统启动详细的过程如下(以CentOS7为例): 加电自检(POST)按下电源开关,BIOS系统随即开始加电自检,检查CPU、内存、主板及各接口、硬盘、键盘、光驱等,检测它们的好坏。 读取启动顺序检查完成后,BIOS会根据预先设定好的启动顺序去挨个寻找可引导…

    Linux干货 2017-01-03
  • N25-第三周作业

      alias NAME='COMMAND'           定义命令的别名—对当前用户有效  un为解除别名 Which   查看命令别名 Whereis    查看程序的文档和源码路径(-b &nbs…

    Linux干货 2016-12-18
  • 用户权限管理及课后作业

    一.权限对目录、文件的意义 文件 r 可用文件查看类工具获取文件内容 w 可以修改文件内容(包括清空) x 可执行该文件 [root@localhost testdir]# cat zzz i am fine  thank you [root@localhost testdir]…

    Linux干货 2016-08-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 23:22

    赞,基础内容的总结将成为后面最宝贵的记忆~继续加油~