标签:第二周作业作答
1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
答:文件管理类命令有:pwd,cd,ls,mkdir,rmdir,tree
1、目录相关命令:pwd,cd
(1)查看用户当前工作目录:pwd
例:[root@localhost ~]# pwd #显示出当前工作的目录
/root
[root@localhost ~]#
(2)CD的用法
cd 或者cd ~:回当前用户的主目录
例:
[root@localhost ~]# cd /home #进入home目录
[root@localhost home]# cd ~#cd ~回到当前用户的主目录
[root@localhost ~]# pwd #显示当前用户工作主目录命令
/root
cd ~USERNAME :切换至指定用户的主目录
例:
[root@localhost ~]# useradd yicx01#添加一个用户
[root@localhost ~]# su yicx01 #切换至指定用户
[yicx01@localhost root]$ pwd #显示当前用户工作主目录命令
/root #虽然是/root但是普通用户无法在/root下读写,只能切换至/home/USERNAME
cd -:在上一个目录和当前目录之间来回切换
例:
[root@localhost /]# cd home#切换至指定目录
[root@localhost home]# cd -#切换到上一个目录
/
[root@localhost /]# cd -#切换到上一个目录
/home
..:上一个目录
例:
[root@localhost ~]# cd /etc/yum #切换至/etc/yum/目录
[root@localhost yum]# pwd #显示当前工作目录
/etc/yum
[root@localhost yum]# cd .. #切换到上一个目录
[root@localhost etc]# pwd #显示当前工作目录
/etc
2、ls:list 显示指定路径下的文件列表
用法:ls [OPTION]… [DIR]…
-a ,all :显示所有文件,包括隐藏文件
例:
[root@localhost yum]# ls –a #不加任何路径显示当前目录下的所有文件,包括隐藏文件(点开头即为隐藏文件)
. fssnap.d protected.d version-groups.conf yum-cron-hourly.conf
.. pluginconf.d vars yum-cron.conf
-l:长格式
例:
[root@localhost yum]# ls -l #显示长格式的文件
总用量 12
drwxr-xr-x. 2 root root 6 12月 3 2015 fssnap.d
drwxr-xr-x. 2 root root 52 8月 11 18:30 pluginconf.d
drwxr-xr-x. 2 root root 25 8月 11 18:27 protected.d
drwxr-xr-x. 2 root root 18 12月 3 2015 vars
-rw-r--r--. 1 root root 444 12月 3 2015 version-groups.conf
-d: 显示目录自身的相关属性;通常是与-l一起使用
例:
[root@localhost yum]# ls -d
.
[root@localhost yum]# ls –ld #显示/root/目录本身情况
drwxr-xr-x. 6 root root 4096 8月 11 18:27 .
-d: 显示目录自身的相关属性;通常是与-l一起使用
例:
[root@localhost yum]# ls -d
.
[root@localhost yum]# ls –ld #显示/root/目录本身情况
drwxr-xr-x. 6 root root 4096 8月 11 18:27 .
3、mkdir 创建文件夹
用法:mkdir [OPTION]… DIRECTORY…
-p, –parents 如果已存在文件夹不会报错,且如果已存在相同文件夹名则不会作任何提示
例:
[root@localhost ~]# mkdir /tmp/test #没有带参数建立一个文件夹
[root@localhost ~]# mkdir /tmp/test #没有带参数重新建立一个相同文件夹
mkdir: 无法创建目录"/tmp/test": 文件已存在 #显示已存在,系统报错误
[root@localhost ~]# mkdir -p /tmp/test #加入参数P后,系统没有提示报错
4、rmdir 移除文件命令 (只能删除空的文件夹,如有文件无法删除)
用法:rmdir [OPTION]… DIRECTORY…
-v –verbose,显示删除时信息
例:
[root@localhost ~]# rmdir -v test #删除一个空的文件夹并显示删除时的信息
rmdir: 正在删除目录 "test"
-p, –parents 移除空的文件夹(非空目录无法删除)
例:
[root@localhost test]# ll
总用量 0
drwxr-xr-x. 2 root root 6 8月 14 19:19 x_a
-rw-r--r--. 1 root root 0 8月 14 19:19 x_a.txt
drwxr-xr-x. 2 root root 6 8月 14 19:20 x_b
-rw-r--r--. 1 root root 0 8月 14 19:20 x_b.txt
drwxr-xr-x. 2 root root 6 8月 14 19:20 y_a
-rw-r--r--. 1 root root 0 8月 14 19:20 y_a.txt
rwxr-xr-x. 2 root root 6 8月 14 19:20 y_b
-rw-r--r--. 1 root root 0 8月 14 19:20 y_b.txt
[root@localhost tmp]# rmdir -p -v {x,y}_{a,b}
rmdir: 正在删除目录 "x_a"
rmdir: 删除 "x_a" 失败: 目录非空
rmdir: 正在删除目录 "x_b"
rmdir: 删除 "x_b" 失败: 目录非空
rmdir: 正在删除目录 "y_a"
rmdir: 删除 "y_a" 失败: 目录非空
rmdir: 正在删除目录 "y_b"
rmdir: 删除 "y_b" 失败: 目录非空
5、tree:显示树状格式目录的内容
用法:tree [option]…[directory …]
-d:只显示目录
例:
[root@localhost ~]# mkdir -p /tmp/test/test1 #在/tmp下创建两个目录
[root@localhost ~]# cp /etc/fstab /tmp/test/test1 #复制/etc/fstab文件到/tmp/test/test1/目录下
[root@localhost ~]# tree /tmp/ #没有带参数时显示/tmp下所有目录和文件
/tmp/
└── test
└── test1
└── fstab
2 directories, 1 file
[root@localhost ~]# tree -d /tmp/ #带参数-d则只显示test和test1两个目录
/tmp/
└── test
└── test1
2 directories
-L level 指定显示的层级数目
例:
[root@localhost ~]# tree -L 2 /tmp#指定显示第二层的目录和文件
/tmp
└── test
├── abc.txt
└── test1
2 directories, 1 file
-P pattern 只显示由指定pattern匹配到的路径
例:
[root@localhost ~]# tree -P /tmp
.
├── scripts
├── \345\205\254\345\205\261
├── \346\250\241\346\235\277
├── \350\247\206\351\242\221
├── \345\233\276\347\211\207
├── \346\226\207\346\241\243
├── \344\270\213\350\275\275
├── \351\237\263\344\271\220
8 directories, 0 files
6、文件管理命令:cat,tac,more,less,tail,head
用法:cat [OPTION]… [FILE]…
cat:显示连续的文件内容
例:
[root@localhost ~]# cat /tmp/test/test1/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 11 18:25:00 2016
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9b67a6e3-cf73-446d-8e08-43050a94d94b /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
-n:对显示出的每一行进行编号
例:
[root@localhost ~]# cat -n /tmp/test/test1/fstab
1
2 #
3 # /etc/fstab
4 # Created by anaconda on Thu Aug 11 18:25:00 2016
5 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
9 /dev/mapper/centos-root / xfs defaults 0 0
10 UUID=9b67a6e3-cf73-446d-8e08-43050a94d94b /boot xfs defaults 0 0
11 /dev/mapper/centos-swap swap swap defaults
tac 从文件尾部行向首行读取内容,参数同cat用法一样。
例:
root@localhost ~]# tac /tmp/test/test1/fstab
/dev/mapper/centos-swap swap swap defaults 0 0
UUID=9b67a6e3-cf73-446d-8e08-43050a94d94b /boot xfs defaults 0 0
/dev/mapper/centos-root / xfs defaults 0 0
#
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# Created by anaconda on Thu Aug 11 18:25:00 2016
# /etc/fstab
more: 从首部向尾部查看文件内容
用法:more [OPTION] FILE…
-d:显示翻页及退出提示
less:多次的more从首部向尾部查看文件内容
用法:less [OPTIONS…] FILE…
head:从文件首部行向尾部行读取内容
用法:head [OPTION]… [FILE]…
-c #:指定获取前#字节
例:
[root@localhost test]# head -c 100 /tmp/test/test1/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 11 18:25:00 2016
#
# Accessible filesystems, by ref[root@localhost test]#
-n #:指定获取前#行
例:
[root@localhost ~]# head -n 10 /tmp/test/test1/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 11 18:25:00 2016
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9b67a6e3-cf73-446d-8e08-43050a94d94b /boot xfs defaults 0 0
tail:从文件内容尾部行行尾开始向首部行读取内容
用法:tail [OPTION]… [FILE]…
-n #:指定获取后#行
例:
[root@localhost ~]# cat /tmp/test/test1/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 11 18:25:00 2016
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9b67a6e3-cf73-446d-8e08-43050a94d94b /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@localhost ~]# tail -c 10 /tmp/test/test1/fstab
0 0
-n #:指定获取后#行
[root@localhost ~]# tail -n 10 /tmp/test/test1/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 11 18:25:00 2016
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9b67a6e3-cf73-446d-8e08-43050a94d94b /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
(1)Bash命令执行状态返回值:
Bash 命令执行后,会对执行状态返回一个值。 如果命令执行成功则返回0,如果执行不成功,就会返回一个1—255的数字。
Bash使用特殊变量$?保存最近一条命令的执行状态结果:($? 在Bash中是特殊变量)
命令的执行结果状态(状态只有2种,要么成功要么失败)
0:成功
1-255:失败
例:
[root@localhost ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2471 8月 14 18:28 /etc/passwd
[root@localhost ~]# echo $?
0
[root@localhost ~]# ll /etc/passwdd
ls: 无法访问/etc/passwdd: 没有那个文件或目录
[root@localhost ~]# echo $?
2
(2)命令行展开特性:
2.1、“~” 展开为用户的家目录
使用方法:~username // 展开为指定的用户的主目录
例:
[root@localhost ~]# cd ~yicx
[root@localhost yicx]# pwd
/home/yicx
(3)使用花括号,里面用逗号分隔的列表,并将其展开为多个路径
例:
[root@localhost tmp]# mkdir -p /tmp/{a,b}
[root@localhost tmp]# tree /tmp
/tmp
├── a
└── b
2 directories, 0 files
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost tmp]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"
[root@localhost tmp]# tree /tmp/
/tmp/
├── a_c
├── a_d
├── b_c
└── b_d
4 directories, 0 files
(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@localhost tmp]#
mkdir -pv /tmp/mylinux{bin,boot/grub,dev,etc/
{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,usr/{local/{bin,sbin},var/{lock,log,run}}}
[root@localhost tmp]# tree /tmp/mylinux
/tmp/mylinux
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
└── usr
├── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
23 directories, 0 files
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-06-09-32-22。
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
本文出自 “易承炫个人博客” 博客,请务必保留此出处http://3430283.blog.51cto.com/3420283/1837907
马哥2016全新Linux+Python高端运维班第二周作业作答
标签:第二周作业作答
原文地址:http://3430283.blog.51cto.com/3420283/1837907