N28-第二周博客作业

常用通配符
*:表示任意长度的任意字符;

?:表示任意的单个字符;

[]:表示在指定范围内的单个字符:[a-z];

[^]:脱字符,是取反的意思,即在指定范围以外的任意字符,如 [^0-9]表示除数字以外的一切字符。

[:digit:] 表示所有的数字,相当于0-9

[:lower:] 表示所有的小写字母

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

[:alpha:] 表示所有的字母,

[:alnum:] 相当于[0-9a-z]

[:space:] 相当于空白字符

[:punct:] 表示所有的标点符号

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

3、请使用命令行展开功能来完成以下练习:

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

(2)、创建/tmp/mylinux目录下的:
mylinux/
├── bin
├── boot
│?? └── grub
├── dev
├── etc
│?? ├── rc.d
│?? │?? └── init.d
│?? └── sysconfig
│?? └── network-scripts
├── lib
│?? └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│?? └── local
│?? ├── bin
│?? └── sbin
└── var
├── lock
├── log
└── run

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

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

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

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

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

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

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

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

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

1、Linux上的目录与文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
1.1 mkdir 创建目录
使用方法:mkdir [OPTION]… DIRECTORY…
常用选项:
-p:按需创建父目录
-m:创建目录权限
-v:输出详细创建目录过程

实例: 创建/tmp/test2/test3目录,定义权限为rwxrw-rw-,并详细显示创建目录过程。
~]# mkdir -pv -m 766 /tmp/test2/test3
mkdir: created directory `/tmp/test2′
mkdir: created directory `/tmp/test2/test3′
~]# ls -ld /tmp/test2/test3
drwxrw-rw- 2 root root 4096 Oct 7 08:42 /tmp/test2/test3
1.2 rmdir命令
rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。
(注意,rm – r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
1.命令格式:
rmdir [选项]… 目录…
2.命令功能:
该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。
3.命令参数:
– p 递归删除目录,当子目录删除后其父目录为空时,也一同被删除。
如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
-v, –verbose显示指令执行过程
实例:
[root@nfs_server ~]# rmdir -pv /tmp/test2/test3
rmdir: removing directory, `/tmp/test2/test3′
rmdir: removing directory, `/tmp/test2′
rmdir: removing directory, `/tmp’
rmdir: failed to remove directory `/tmp’: Directory not empty 因为/tmp 不为空目录,所以不能删除。
1.3 cp 复制命令:
1.3.1 cp [Option …[-T] SRC(源) DEST(目的)
(如果目标不存在,则新建DEST, 并将SRC中的内容填充至DEST中。
如果目标存在:如果DEST是文件,将SRC内容覆盖至DEST中。此时建议为cp命令使用-i选项。
如果DEST是目录,在DEST下新建与原文件同名的文件,并将SRC中内容填充至DEST中)
实例:
~]# cp /etc/fstab /tmp/fstab.txt (fstab.txt 为文件)
~]# cp /etc/fstab /tmp/test (/tmp/test 为目录)
~]# ls /tmp/test/
fstab
1.3.2 cp [Option] … SRC(原文件)…(可多个文件) DIRECTORY(新目录)(表示复制到哪个目录中)如src 为多个文件,Directory必须存在,且为目录,其它情形均为错。
cp SRC DEST src是目录:
此时使用选项: -r (recursive 递归)
如果DEST目标不存在则创建指定目录,复制源SRC目录中所有目录至目标中
如果目标存在:
如果目标是文件,则报错
如果dest是目录,则复制到此目录中
常用选项:
-i: 交互式
-r: 递归复制目录及其内部所有内容
-a: 归档, 相当于 -dR –preserv=all (即保留源文件或目录的属性,包括所有者、所属组、权限与时间)
-d: –no-dereference –preserv=links (如果原文件是链接,则保留原链接格式)
–preserv=[Attr_list](保留属性)
mode:权限
ownership:属主属组
timestamp:时间戳
links: 链接
xattr:特殊属性
context: 上下文
all:所有
-p =–preserve=mode, ownership, timestamp
-v 显示详细信息
-t 复制时可把目标放在前面
-f –force 强制复制 (危险)
实例:
~]# cp -Pv /tmp/{lines.sh,fstab.txt} /tmp/test/
`/tmp/lines.sh’ -> `/tmp/test/lines.sh’
`/tmp/fstab.txt’ -> `/tmp/test/fstab.txt’
~]# ll /tmp/test/
total 8
-rw-r–r– 1 root root 805 Oct 7 16:08 fstab.txt
-rwxr-xr-x 1 root root 197 Oct 7 16:08 lines.sh
1.4 mv 命令(move缩写) 用来移动文件或者将文件改名
1.命令格式:
mv [选项] 源文件或目录 目标文件或目录
2.命令功能:
mv命令中第二个参数类型的不同(是目标文件还是目标目录),
mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,
mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),
它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,
源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
3.命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t :–target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,
该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
4.命令实例:
实例一:文件改名
命令:
mv test.log test1.txt
实例二: 移动文件
]# mv ./{test1.txt,yum.log} ./test
]# ls ./test/
test1.txt yum.log
1.5 rm 命令: remove
删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。
对于链接文件,只是删除了链接,原有文件均保持不变。rm是一个危险的命令,使用的时候要特别当心,
尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)
1.命令格式:
rm [选项] 文件…
2.命令功能:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
3.命令参数:
-f, –force 忽略不存在的文件,从不给出提示。
-i, –interactive 进行交互式删除
-r, -R, –recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, –verbose 详细显示进行的步骤
–help 显示此帮助信息并退出
–version 输出版本信息并退出
4.命令实例:
一: 删除文件,系统会询问是否删除
~]# rm test1.txt
rm:是否删除普通空文件 “test1.txt”?
说明:
输入rm test1.txt 命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。
二:强行删除file,系统不再提示。
命令:
]# rm -f test1.txt
三: 删除文件时进行交互式询问
命令:
~]# rm -i {test1.log,test.log
rm:是否删除普通空文件 “test1.log”?y
rm:是否删除普通空文件 “test.log”?y
四:将 test子目录及子目录中所有档案删除
命令:
~]# rm -r ./test
rm:是否进入目录”./test”? y
rm:是否删除普通空文件 “./test/test1.txt”?y
rm:是否删除普通空文件 “./test/yum.log”?y
rm:是否删除目录 “./test”?y
五: 自定义回车站功能:
命令:
~]# alias rm=’myrm’
~]# cd /tmp/
tmp]# myrm(){ D=/tmp/$( date +%Y%m%d%H%M%S); mkdir -p $D; mv “$@” $D && echo “moved to $D ok”; }
tmp]# touch 1.log 2.log 3.log
tmp]# ls
1.log 2.log 3.log
tmp]# rm [123].log
moved to /tmp/20161007180817 ok
tmp]# ll /tmp/20161007180817/
总用量 0
-rw-r–r–. 1 root root 0 10月 7 18:07 1.log
-rw-r–r–. 1 root root 0 10月 7 18:07 2.log
-rw-r–r–. 1 root root 0 10月 7 18:07 3.log
[root@magedu tmp]# ll

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash特性之一:命令别名
获取当前用户可用的别名的定义:
[root@magedu etc]# alias
alias cp=’cp -i’
alias egrep=’egrep –color=auto’
alias fgrep=’fgrep –color=auto’
alias grep=’grep –color=auto’
alias l.=’ls -d .* –color=auto’
alias ll=’ls -l –color=auto’
alias ls=’ls –color=auto’
alias mv=’mv -i’
alias rm=’rm -i’

bash的特性之二:命令历史
命令语法格式:
history [-c] [-d OFFSET] [n]
history -anrw [FILENAME]
history -ps VALUE [VALUE…]
-c: 清空命令历史;
-d offset(偏移量):删除指定命令历史,offset为history显示出来的命令数字
-r: 从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至历史文件中;
history #:显示最近的#条命令;

bash特性之三:快捷键
Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除行首至光标所在处之间的所有字符;
Ctrl+k:删除光标所在处至行尾的所有字符;
Ctrl+l:清屏,相当于clear

bash的特性之四:命令补全和路径补全
1.命令查找和补全机制:
(1) 查找内部命令;
(2) 根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;
(3) 给定开头的部分字符串如果能惟一标识某命令程序文件,则直接补全;
不能惟一标识某命令程序文件,再击tab键一次,会给出列表;
2.路径补全
在给定起始路径下,以对应路径下的打头字串逐一匹配起始路径下每个文件:
TAB按键;
如果能惟一标识,则直接补全;
否则,再一次tab,给出列表;
3.命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录;
{}:花括号展开。可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

bash的特性之五:命令行展开:
1)、命令行展开;
以某些bash能够解释的符号来代替命令中的某些参数。
~:展开为用户的家目录;
例:切换至家目录
cd ~;pwd
/root
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径;
例:在/tmp/d目录下创建f1,f2,f3三个文件
touch /tmp/d/f{1,2,3}
bash

bash特性之六:命令的执行状态结果:
1)、bash的基础特性之状态值返回:在bash中使用一个特殊的变量$?来保存上一个命令的执行状态结果。
0表示成功,
1-255表示失败
例如:
[root@magedu etc]# echo $?
127

bash特性之七:变量
引用命令的执行结果:
$(COMMAND)或 $`COMMAND`
例如 : 创建以时间的目录
]# date +%H-%M-%S
17-46-47
]# mkdir $(date +%H-%M-%S)
17-47-51

bash特性之八: 引用
强引号: ‘ ’单引号
弱引用: “ ” 双引号
命令引用: · · 反引号,建议用$() , 替代;

3、请使用命令行展开功能来完成以下练习:

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

[root@magedu tmp]# mkdir {a,b}_{c,d}

(2)、创建/tmp/mylinux目录下的:
mylinux/
├── bin
├── boot
│?? └── grub
├── dev
├── etc
│?? ├── rc.d
│?? │?? └── init.d
│?? └── sysconfig
│?? └── network-scripts
├── lib
│?? └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│?? └── local
│?? ├── bin
│?? └── sbin
└── var
├── lock
├── log
└── run

[root@magedu tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

文件的数据分两种:一种元数据,既属性数据;一种就是数据本身;可使用stat命令查看文件的元数据:

例如:

]# stat /etc/passwd

文件:”/etc/passwd”

大小:2483 块:8 IO 块:4096 普通文件

设备:fd00h/64768d Inode:136755684 硬链接:1

权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)

环境:systemu:objectr:passwdfilet:s0

最近访问:2016-09-22 22:07:14.897045766 +0800

最近更改:2016-09-20 18:10:23.223086880 +0800

最近改动:2016-09-20 18:10:23.227086888 +0800

创建时间:-
[root@magedu etc]# stat /etc/passwd
File: ‘/etc/passwd’
Size: 2204 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 69184839 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2017-12-09 19:51:57.056000000 +0800
Modify: 2017-11-23 11:30:47.275537465 +0800
Change: 2017-11-23 11:30:47.277538465 +0800
Birth: –
其中:

file:文件名;

size:文件大小

block:文件占了多少个数据块

IO Block:文件所占数据块的块大小

Device:硬件,既说明该文件在硬盘的那个柱面

Inode:节点号

links:链接

Access(第一个):权限

Uid:该文件所属的属主

Gid:该文件所属的属组

context:安全上下文

Access(第二个):文件上一次的访问时间

Modify:文件上一次修改的时间

Change:文件上一次属性更改的时间

2)修改文件的时间戳信息:

可以使用touch命令更改文件的时间戳:

语法:

touch [OPTION]… FILE…

常用选项:

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

-a: 仅修改access time;

-m:仅修改modify time;

-t:使用指定的日期时间,而非现在的时间;[[CC]YY]MMDDhhmm[.ss];

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
使用alias命令
例如:[root@magedu tmp]# alias la=’ls -la’

命令引用:
name=`COMMAND`, name=$(COMMAND)

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录
[root@magedu etc]# ls -d /var/l*[0-9]*[[:lower:]]

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
root@magedu etc]# mkdir {0..9}abcd
root@magedu etc]# touch {0..9}efgh
[root@magedu etc]# ls -dl [0-9]*[^0-9]

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
[root@magedu etc]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
[root@magedu etc]#
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@magedu tmp]#touch tfile-`date +”%Y-%m-%d-%H-%M-%S”`

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@magedu tmp]#cp -a /etc/p*[^0-9] /tmp/mytest1

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@magedu etc]# cp -a /etc/*.d /tmp/mytest2

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@magedu etc]#cp -a /etc/[l,m,n]*.conf /tmp/mytest3

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89848

(0)
王银强王银强
上一篇 2017-12-10
下一篇 2017-12-11

相关推荐

  • Nginx反向代理的常用调度算法

    upstream 调度算法 1.rr 按客户端请求顺序把客户端的请求逐一分配到不同的后端的服务器,这相当于lvs中的rr算法。如果后端服务器岩机(默认情况下只检测80端口,如果后端报502,404,403,503,还是会直接返给用户),岩机服务器会被自动剔除,使用户访问不受影响,请求会分配给正常的服务器 2.weight(权重) 在轮询算法的基础上加上权重(…

    Linux干货 2016-06-01
  • 用户和组管理类命令

    用户和组管理类命令 useradd useradd命令用于Linux中创建的新的系统用户 语法 useradd(选项)(参数) 选项 -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中; -d<登入目录>:指定用户登入时的启始目录; -D:变更预设值; -e<有效期限>:指定帐号的有效期限; -f<…

    Linux干货 2018-03-18
  • 用户和组的简介

     在第二周的学习中,关于用户和组是一个难点,也是重点,本篇博客则是对用户和组的简单阐述,如有错误或不足还请各位大牛指出,在此谢过! 1、用户 # 1.1用户的定义      通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(…

    Linux干货 2017-07-22
  • Hadoop hdfs分布式文件系统

    一、MapReduce理论基础 每个MapReduce job都是Hadoop客户端想要执行的一个工作单元,它一般由输入数据、MapReduce程序和配置信息组成,而Hadoop会把每个job分隔成两类任务(task):map任务和reduce任务。在Hadoop集群中有两类节点来执行两类job进程的执行 1.1 大数据处理 任何基础业务包含了收集、分析、监…

    2017-12-08
  • 11.网络解析和网络加密

    1、详细描述一次加密通讯的过程,结合图示最佳。 加密过程 1.使用单向加密算法,提取A的文件的特征码。 2.使用A的私钥对提取出来的特征码进行加密,把加密后的特征码附加在A的文件的后面。 3.使用对称加密对刚刚的A的文件和加密后的特征码进行加密,生成对称加密密钥 4.使用B的公钥对第3步骤的对称加密的密钥进行加密,加密后附加在文件的后面。 解密过程 1.使用…

    2017-09-20
  • 压缩工具

     压缩和解压缩工具和bash脚本编程      压缩比        目的:时间换空间        cpu的时间—>磁盘空间        compress/uncompress.…

    Linux干货 2016-12-31

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-02 21:33

    在作业用到了很多非常有效率的小技巧,非常好,再接再励。