您的位置:首页 > 运维架构 > Linux

第二周作业

2016-08-14 12:03 555 查看
1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cat, tac, head, tail, less, cp,mv,stat

cat [OPTION]... [FILE]...
-n:显示行数
-E:显示行结束符
[root@localhost tmp]# echo "hello word" >> 333
[root@localhost tmp]# cat 333
hello word
tac [OPTION]... [FILE]...
[root@localhost tmp]# tac 333
hello word
head:
head [OPTION]... [FILE]...
-c #:指定获取前#字节
-n #:指定获取前#行
rgqgr[root@localhost tmp]# head 333

hello word
wwqdwqdq
qwdqdqdq
qwdqwddweqdw
eewfqfqrrf
qfrgqeq
qtqtrtqt
qfreqgrgeg
qgqqrgqegqeg
[root@localhost tmp]# head -c 50 333

hello word
wwqdwqdq
qwdqdqdq
qwdqwddweqdw

tail:
tail [OPTION]... [FILE]...
-c #:指定获取后#字节
-n #:指定获取后#行
-f:跟踪显示文件新追加的内容
[root@localhost tmp]# tail 333
qwdqdqdq
qwdqwddweqdw
eewfqfqrrf
qfrgqeq
qtqtrtqt
qfreqgrgeg
qgqqrgqegqeg
rgqgrgq
qgqgqergeg
qrgqgqg
cp
[root@localhost tmp]# cp 333 /var/
[root@localhost tmp]# ls /var/
333      cache  cvs  empty  gdm  local  log   nis  preserve  spool  www
account  crash  db   games  lib  lock   mail  opt  run       tmp    yp
[root@localhost tmp]# ls
333                  orbit-cpl                  virtual-cpl.grFf4o
bin                  orbit-gdm                  virtual-cpl.hCmppH
x
mv
[root@localhost tmp]# mv 333 /etc/
[root@localhost tmp]# ls
1                    mytest1                    virtual-cpl.13la23
1.txt                mytest2                    virtual-cpl.7tcqgK
2                    mytest3                    virtual-cpl.f57Ji7
[root@localhost tmp]# ls /etc/
333                      hp                            printcap
abrt                     httpd                         profile
acpi                     idmapd.conf                   profile.d
stat
[root@localhost etc]# stat 333
File: "333"
Size: 122           Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 533803      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-14 01:02:40.350008585 +0800
Modify: 2016-08-14 01:02:12.210008511 +0800
Change: 2016-08-14 01:08:54.439008241 +0800

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash使用特殊变量$?保存最近一条命令的执行状态结果
0:成功
1-255:失败
[root@localhost ~]# pwd
/root
[root@localhost ~]# echo $?
0
[root@localhost ~]# le
-bash: le: command not found
[root@localhost ~]# echo $?
127

命令行展开
~:展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径(多项式相乘)

[root@localhost ~]# ls /tmp/{1,2}
/tmp/1:

/tmp/2:


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

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost /]# mkdir {a,b}_{c,d}


(2)、创建/tmp/mylinux目录下的:
[root@localhost tmp]# mkdir -pv mylinux/{bin,boot/grb,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: 已创建目录 "mylinux"
mkdir: 已创建目录 "mylinux/bin"
mkdir: 已创建目录 "mylinux/boot"
mkdir: 已创建目录 "mylinux/boot/grb"
mkdir: 已创建目录 "mylinux/dev"
mkdir: 已创建目录 "mylinux/etc"
mkdir: 已创建目录 "mylinux/etc/rc.d"
mkdir: 已创建目录 "mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "mylinux/etc/sysconfig"
mkdir: 已创建目录 "mylinux/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "mylinux/lib"
mkdir: 已创建目录 "mylinux/lib/modules"
mkdir: 已创建目录 "mylinux/lib64"
mkdir: 已创建目录 "mylinux/proc"
mkdir: 已创建目录 "mylinux/sbin"
mkdir: 已创建目录 "mylinux/sys"
mkdir: 已创建目录 "mylinux/tmp"
mkdir: 已创建目录 "mylinux/usr"
mkdir: 已创建目录 "mylinux/usr/local"
mkdir: 已创建目录 "mylinux/usr/local/bin"
mkdir: 已创建目录 "mylinux/usr/local/sbin"
mkdir: 已创建目录 "mylinux/var"
mkdir: 已创建目录 "mylinux/lock"
mkdir: 已创建目录 "mylinux/log"
mkdir: 已创建目录 "mylinux/run"
[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grb
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│     └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│     ├── bin
│     └── sbin
└── var

24 directories, 0 files


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

文件:由元数据和数据组成
元数据:metadate
数据:data
stat:查看指定文件的元数据信息

stat [OPTION]... FILE...
-L:支持符号连接
-f:显示文件系统状态而非文件状态
-t:以简洁方式输出信息

[root@localhost tmp]# stat mylinux/
File: "mylinux/"
Size: 4096          Blocks: 8          IO Block: 4096   目录
Device: fd00h/64768d    Inode: 803023      Links: 17
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-13 17:21:16.000000000 +0800
Modify: 2016-08-13 17:16:42.000000000 +0800
Change: 2016-08-13 17:34:05.984017941 +0800
File:文件名称

Size:文件大小
Blocks:块
IO Blocks:IO块

Device:文件信息
Links:硬链接数

Access:文件权限
Access:最近访问时间
Modify:最近更改时间

Change:最近改动时间

touch命令:
-a:修改访问时间(atime)
-m:修改时间(mtime)
-c:如果文件不存在,则不予创建

三个时间戳:
access time:访问时间,简写为atime,读取文件内容
modify time:修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变
[root@localhost tmp]# touch -a mylinux/
[root@localhost tmp]# stat mylinux/
File: "mylinux/"
Size: 4096          Blocks: 8          IO Block: 4096   目录
Device: fd00h/64768d    Inode: 803023      Links: 17
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-14 00:43:50.305009878 +0800
Modify: 2016-08-13 17:16:42.000000000 +0800
Change: 2016-08-14 00:43:50.305009878 +0800
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias
(1)alias
显示当前shell进程中所有可用的命令别名
(2)alias NAME=‘VALUE’
定义别名的NAME,其相当于执行命令VALUE
注意:
定义之后只对当前shell进程有效,想要永久生效,要定义在配置文件中;编辑后不会离职生效
[root@localhost ~]# alias cdnet='cd /tmp'
[root@localhost ~]# cdnet
[root@localhost tmp]#


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

[root@localhost ~]# ls -d /var/l*[0-9]*[[:lower:]]


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

[root@localhost ~]# ls -d /etc/[0-9]*[^0-9]


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

[root@localhost ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*


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

[root@localhost /]# touch tfile-$"(date +%F-%H-%M-%S)"
或者

[root@localhost /]# touch tfile-$(date +%F-%H-%M-%S)


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

[root@localhost /]# mkdir /tmp/mytest1&&cp -a /etc/p*[^0-9] /tmp/mytest1


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

[root@localhost tmp]# mkdir /tmp/mytest2&&cp -a /etc/*.d /tmp/mytest2


12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@localhost tmp]# mkdir /tmp/mytest3&&cp -a /etc/[l,m,n]*.conf /tmp/mytest3
或者
[root@localhost tmp]# mkdir /tmp/mytest3&&cp -a /etc/[lmn]*.conf /tmp/mytest3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 文件管理