文件管理与bash特性

 

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目录中。

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

cp,mv,rm
cp命令
功能:复制或目录
格式:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
常用选项                     作用
-i                         交互式,覆盖之前提醒用户
-f                         强制覆盖目标文件
-r                        递归复制目录
-d                       复制符号链接文件本身,而非其指向的源文件
-a                       相当于-dR –preserve=all,用于实现归档;
–preserv=       这里可以填写以下选项         mode:权限
                                                                            ownership :属主和属组
                                                                            context:安全标签
                                                                            xattr:扩展属性
                                                                            links:符号链接
                                                                            alls:上述所有属性
例子1:覆盖之前提醒用户
cp 1.txt test.txt
048cd97abd1d537246fd3584cb16ca5
例子2:强制覆盖
/bin/cp -f 1.txt test.txt
9039c9b396d806acaf976a83774653b
例子3:复制/tmp目录到当前目录
cp -r /tmp  ./
例子4:复制符号链接
58b39f409723cc27fd7635c244c50a8
mv命令
功能:移动/重命名文件
格式:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用选项              作用
-i                      交互式,覆盖之前提醒用户
-f                      强制覆盖目标文件
例子1:交互式覆盖
mv -i test.dir test1.dir
250cf08ac80ee14adb48d40592ef3e0
rm命令
功能:remove删除
格式:
rm – remove files or directories
常用选项            作用
-i                      交互式,删除之前提醒用户
-f                       强制删除目标文件
-r                      递归方式删除
例子1:交互式删除
rm -i 1.txt
1a130b16a879a6179dd8ae76d63a9ab
例子2:删除目录
rm -fr test1.dir/
1898fee523804cd806273dba77be08a

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

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中

命令执行状态返回值:

0:成功

1-255:失败

3547389da92efc31cfa5d8cea0310f7

 

命令行展开:

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

例如root用户执行cd ~ 则会移动到root家目录/root

a2add4af0b9079074a905b8f98ed9f1
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

例如:/tmp{a,b} 相当于/tmp/a,/tmp/b

9ccd923eb04ac28e031b2681cb15364

第三题:请使用命令行展开功能来完成以下练习:

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

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

e4861379ea0a1f3b598003ae174ceb4
(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
mkdir -pv /tmp/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}}

b7ab085065523803198db69e2e41963

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

元数据信息:

File:文件名

Size:大小

Blocks:块数量

IO Block:块大小

Device:设备

inode :Inode号

Links:硬连接数量

Access:访问权限

Uid:属主

Gid:属组

Access:最后访问时间

Modify:最后修改时间

Change:最后改变时间

Birth:创建时间

示例:

[root@www ~]# stat test.txt
File: ‘test.txt’
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 8596741 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-06-24 21:08:57.369170265 -0400
Modify: 2018-06-24 21:08:57.369170265 -0400
Change: 2018-06-24 21:08:57.369170265 -0400
Birth: –

touch
作用:改变文件时间戳
格式:
touch [OPTION]… FILE…
常用选项        作用
-c                      指定的文件路径不存在时,不予创建
-a                     仅修改access time
-m                    仅修改modify time
-t                      修改时间戳 时间格式为[[CC]YY]MMDDhhmm[.ss]

 

第五题:如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

定义别名: alias

作用:显示或设置别名

格式:

alias: alias [-p] [name[=value] … ]

常用选项               作用

-p                     显示所有的别名

例子1:设置 CD为切换到家目录 alias CD=”cd ~”

alias CD=”cd ~”

clipboard

例子2:显示命令别名

alias -p

25ecc88d676c718986b572b07159392

 

引用另一个命令的结果: 可以用$(COMMAND)或者COMMAND

例子:引用date命令的结果放在VAR与VAR1变量中

VAR=$(date)

VAR1=`date`

0e77efd33462c4368663efe7e3c210f

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

 

ls -d /var/l[[:alnum:]]*[[:lower:]]

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

方法一:

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

方法二

ls -d /etc/[[:digit:]]*[^[:digit:]]

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

方法一:

ls /etc/[^a-zA-Z][a-zA-Z]*

方法二:

ls /etc/[^[:alpha:]][[:alpha:]]*

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

mkdir -v /tmp/tfile-$(date +”%Y-%m-%d-%H-%M-%S”)

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

mkdir -v /tmp/mytest1

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

第十一题:复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

mkdir -v /tmp/mytest2

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

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

mkdir -v /tmp/mytest3

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

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

(0)
halhal
上一篇 2018-06-26 18:18
下一篇 2018-06-26

相关推荐