博客作业-N22第二周

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

答:

cp 复制文件

[root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno.bak

[root@localhost network-scripts]# ls

ifcfg-eno16777736  ifdown-post      ifup-eth     ifup-sit

ifcfg-eno.bak      ifdown-ppp       ifup-ib      ifup-Team

ifcfg-lo           ifdown-routes    ifup-ippp    ifup-TeamPort

ifdown             ifdown-sit       ifup-ipv6    ifup-tunnel

ifdown-bnep        ifdown-Team      ifup-isdn    ifup-wireless

ifdown-eth         ifdown-TeamPort  ifup-plip    init.ipv6-global

ifdown-ib          ifdown-tunnel    ifup-plusb   network-functions

ifdown-ippp        ifup             ifup-post    network-functions-ipv6

ifdown-ipv6        ifup-aliases     ifup-ppp

ifdown-isdn        ifup-bnep        ifup-routes

mv  移动或重命名

[root@localhost network-scripts]# mv ifcfg-eno.bak /root/

[root@localhost network-scripts]# ls /root

1                ifcfg-eno.bak         mysystem  模板  图片  下载  桌面

anaconda-ks.cfg  initial-setup-ks.cfg  公共      视频  文档  音乐

rm  删除文件 ·

[root@localhost ~]# rm -rf /

rm: 在"/" 进行递归操作十分危险

rm: 使用 –no-preserve-root 选项跳过安全模式

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

命令执行状态返回值内容和示例:通过返回值来判断输出结果是否成功,返回值为0则成功,非0则失败(1-255)

例如:挂载光盘到/mnt目录

[root@localhost ~]# mount /dev/cdrom /mmnt

mount: 挂载点 /mmnt 不存在

[root@localhost ~]# echo $?

32

###

返回值为非0,失败

[root@localhost ~]# mount /dev/cdrom /mnt

mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# echo $?

0

###

返回值为0,成功

命令行展开:在root家目录创建 

/root/mysystem/

|– bin

|– etc

|   `– sysconfig

|       `– network-scripts

|– sbin

|– usr

|   |– bin

|   |– lib

|   |– lib64

|   |– local

|   |   |– bin

|   |   |– etc

|   |   |– lib

|   |   `– sbin

|   `– sbin

`– var

     |– cache

     |– log

                

[root@localhost ~]# mkdir -pv mysystem/{bin,etc/sysconfig/network-scripts,sbin,usr/{bin,lib,lib64,local/{bin,etc,lib,sbin},sbin},var/{cache,log}}

mkdir: 已创建目录 "mysystem"

mkdir: 已创建目录 "mysystem/bin"

mkdir: 已创建目录 "mysystem/etc"

mkdir: 已创建目录 "mysystem/etc/sysconfig"

mkdir: 已创建目录 "mysystem/etc/sysconfig/network-scripts"

mkdir: 已创建目录 "mysystem/sbin"

mkdir: 已创建目录 "mysystem/usr"

mkdir: 已创建目录 "mysystem/usr/bin"

mkdir: 已创建目录 "mysystem/usr/lib"

mkdir: 已创建目录 "mysystem/usr/lib64"

mkdir: 已创建目录 "mysystem/usr/local"

mkdir: 已创建目录 "mysystem/usr/local/bin"

mkdir: 已创建目录 "mysystem/usr/local/etc"

mkdir: 已创建目录 "mysystem/usr/local/lib"

mkdir: 已创建目录 "mysystem/usr/local/sbin"

mkdir: 已创建目录 "mysystem/usr/sbin"

mkdir: 已创建目录 "mysystem/var"

mkdir: 已创建目录 "mysystem/var/cache"

mkdir: 已创建目录 "mysystem/var/log"

[root@localhost ~]# tree /root/mysystem

/root/mysystem

├── bin

├── etc

│   └── sysconfig

│       └── network-scripts

├── sbin

├── usr

│   ├── bin

│   ├── lib

│   ├── lib64

│   ├── local

│   │   ├── bin

│   │   ├── etc

│   │   ├── lib

│   │   └── sbin

│   └── sbin

└── var

    ├── cache

    └── log

18 directories, 0 files

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

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

[root@localhost ~]# mkdir -pv /tmp/{a_c,a_d,b_c,b_d}

mkdir: 已创建目录 "/tmp/a_c"

mkdir: 已创建目录 "/tmp/a_d"

mkdir: 已创建目录 "/tmp/b_c"

mkdir: 已创建目录 "/tmp/b_d"

[root@localhost ~]# tree /tmp

/tmp

├── a_c

├── a_d

├── anaconda.log

├── b_c

├── b_d

├── hogsuspend

├── hsperfdata_root

├── hsperfdata_zhouchenming

├── ifcfg.log

├── ks-script-cDx2Fd

├── packaging.log

├── program.log

├── sensitive-info.log

├── ssh-Dl5iJSKqllmA

│   └── agent.3372

├── storage.log

├── systemd-private-964ff6c7e72046388caf9c6e002e207e-colord.service-05E8Y3

│   └── tmp

├── systemd-private-964ff6c7e72046388caf9c6e002e207e-cups.service-SWcuSl

│   └── tmp

├── systemd-private-964ff6c7e72046388caf9c6e002e207e-rtkit-daemon.service-1y0FzG

│   └── tmp

├── systemd-private-964ff6c7e72046388caf9c6e002e207e-vmtoolsd.service-stzVyR

│   └── tmp

│       └── vmware-root

├── tracker-extract-files.0

├── tracker-extract-files.1000

├── yum.log

└── yum_save_tx.2016-08-20.09-13.c8w99O.yumtx

18 directories, 11 files

 

2)创建/tmp/mylinux目录下的

[root@localhost ~]# 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}}

mkdir: 已创建目录 "/tmp/mylinux"

mkdir: 已创建目录 "/tmp/mylinux/bin"

mkdir: 已创建目录 "/tmp/mylinux/boot"

mkdir: 已创建目录 "/tmp/mylinux/boot/grub"

mkdir: 已创建目录 "/tmp/mylinux/dev"

mkdir: 已创建目录 "/tmp/mylinux/etc"

mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"

mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"

mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"

mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"

mkdir: 已创建目录 "/tmp/mylinux/lib"

mkdir: 已创建目录 "/tmp/mylinux/lib/modules"

mkdir: 已创建目录 "/tmp/mylinux/lib64"

mkdir: 已创建目录 "/tmp/mylinux/proc"

mkdir: 已创建目录 "/tmp/mylinux/sbin"

mkdir: 已创建目录 "/tmp/mylinux/sys"

mkdir: 已创建目录 "/tmp/mylinux/tmp"

mkdir: 已创建目录 "/tmp/mylinux/usr"

mkdir: 已创建目录 "/tmp/mylinux/usr/local"

mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"

mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"

mkdir: 已创建目录 "/tmp/mylinux/var"

mkdir: 已创建目录 "/tmp/mylinux/var/lock"

mkdir: 已创建目录 "/tmp/mylinux/var/log"

mkdir: 已创建目录 "/tmp/mylinux/var/run"

[root@localhost ~]# tree /tmp/mylinux

/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

24 directories, 0 files

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

文件的元数据有文件明、大小、块、IO块、设备权限、UID、GID、环境、最近访问、最近更改和最近改动,创建时间

使用stat命令查看时间戳信息,修改时间戳使用touch命令

修改时间戳,例如:

[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-eno16777736  /tmp/1

[root@localhost ~]# stat 1

  文件:"1"

  大小:0         块:0          IO 块:4096   普通空文件

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

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

环境:unconfined_u:object_r:admin_home_t:s0

最近访问:2016-08-20 13:58:34.684521722 +0800

最近更改:2016-08-20 13:58:34.684521722 +0800

最近改动:2016-08-20 13:58:34.684521722 +0800

创建时间:-

修改文件1的modify time时间为2011年12月2日4时22分  

例如:

[root@localhost ~]# touch -t 1112020422 1

[root@localhost ~]# stat 1

  文件:"1"

  大小:0         块:0          IO 块:4096   普通空文件

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

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

环境:unconfined_u:object_r:admin_home_t:s0

最近访问:2011-12-02 04:22:00.000000000 +0800

最近更改:2011-12-02 04:22:00.000000000 +0800

最近改动:2016-08-20 14:07:12.228713850 +0800

创建时间:-

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

使用alias命令定义别名

[root@localhost ~]# alias stop=cp

[root@localhost ~]# alias 

alias cp='cp'

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'

alias stop='cp'

alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'

在命令中引用另一个命令的执行结果

[root@localhost ~]# touch tfile$(date +%b-%h-%m-%s)

[root@localhost ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  tfile8月-8月-08-1471686677  公共  模板  视频  图片  文档  下载  音乐  桌面

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

[root@localhost ~]# ls -d /var/l?[[:lower:]]

/var/lib  /var/log

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

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

/etc/hp  /etc/pm

[root@localhost ~]# ls -d /etc/?[^[:digit:]]

/etc/hp  /etc/pm

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

[root@localhost ~]# ls -d /etc/[^a-z][a-z]*

/etc/1yky2y

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

/etc/1yky2y

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

[root@localhost tmp]# touch tfile$(date +%Y-%m-%H-%M-%S)

[root@localhost tmp]# ll

总用量 168

-rw-r–r–.  1 root         root           1828 8月  19 08:48 anaconda.log

prw——-.  1 root         root              0 8月  20 09:17 hogsuspend

drwxr-xr-x.  2 root         root              6 8月  20 09:20 hsperfdata_root

drwxr-xr-x.  2 zhouchenming zhouchenming      6 8月  19 08:48 hsperfdata_zhouchenming

-rw-r–r–.  1 root         root              0 8月  19 08:43 ifcfg.log

-rwx——.  1 root         root            827 8月  19 08:36 ks-script-cDx2Fd

drwxr-xr-x. 14 root         root           4096 8月  20 17:33 mylinux

-rw-r–r–.  1 root         root              0 8月  19 08:43 packaging.log

-rw-r–r–.  1 root         root              0 8月  19 08:43 program.log

-rw-r–r–.  1 root         root              0 8月  19 08:43 sensitive-info.log

drwx——.  2 root         root             23 8月  20 09:17 ssh-Dl5iJSKqllmA

-rw-r–r–.  1 root         root              0 8月  19 08:43 storage.log

drwx——.  3 root         root             16 8月  20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-colord.service-05E8Y3

drwx——.  3 root         root             16 8月  20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-cups.service-SWcuSl

drwx——.  3 root         root             16 8月  20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-rtkit-daemon.service-1y0FzG

drwx——.  3 root         root             16 8月  20 09:16 systemd-private-964ff6c7e72046388caf9c6e002e207e-vmtoolsd.service-stzVyR

-rw-r–r–.  1 root         root              0 8月  20 17:59 tfile2016-08-17-59-35

drwx——.  2 root         root              6 8月  20 17:51 tracker-extract-files.0

drwx——.  2 zhouchenming zhouchenming      6 8月  19 08:48 tracker-extract-files.1000

-rw——-.  1 root         root              0 8月  19 08:25 yum.log

-rw——-.  1 root         root         159513 8月  20 09:13 yum_save_tx.2016-08-20.09-13.c8w99O.yumtx

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

[root@localhost ~]# cp -a /etc/p*[a-z] /tmp/mytest1

[root@localhost ~]# ll /tmp/mytest1

总用量 52

drwxr-xr-x. 2 root root 4096 8月  19 08:36 pam.d

-rw-r–r–. 1 root root 2336 8月  19 08:48 passwd

-rw-r–r–. 1 root root 1362 6月  10 2014 pbm2ppa.conf

-rw-r–r–. 1 root root 2872 6月  10 2014 pinforc

drwxr-xr-x. 9 root root   91 8月  19 08:28 pki

drwxr-xr-x. 2 root root   27 8月  19 08:30 plymouth

drwxr-xr-x. 5 root root   49 8月  19 08:25 pm

-rw-r–r–. 1 root root 6300 6月  10 2014 pnm2ppa.conf

drwxr-xr-x. 2 root root    6 6月  10 2014 popt.d

drwxr-xr-x. 2 root root 4096 8月  19 08:32 postfix

drwxr-xr-x. 3 root root 4096 8月  19 08:28 ppp

drwxr-xr-x. 2 root root  101 8月  19 08:28 prelink.conf.d

-rw-r–r–. 1 root root  233 6月   7 2013 printcap

-rw-r–r–. 1 root root 1750 6月   7 2013 profile

drwxr-xr-x. 2 root root 4096 8月  19 08:32 profile.d

-rw-r–r–. 1 root root 6545 6月   7 2013 protocols

drwxr-xr-x. 2 root root   75 8月  19 08:29 pulse

drwxr-xr-x. 2 root root   22 8月  19 08:30 purple

drwxr-xr-x. 2 root root   34 8月  19 08:26 python

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

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

[root@localhost mytest2]# ls

auto.master.d      exports.d     modules-load.d  rc2.d          sane.d

bash_completion.d  gdbinit.d     my.cnf.d        rc3.d          setuptool.d

binfmt.d           grub.d        oddjobd.conf.d  rc4.d          statetab.d

cgconfig.d         init.d        pam.d           rc5.d          sudoers.d

chkconfig.d        ipsec.d       popt.d          rc6.d          sysctl.d

cron.d             ld.so.conf.d  prelink.conf.d  rc.d           tmpfiles.d

depmod.d           libibverbs.d  profile.d       request-key.d  usb_modeswitch.d

dnsmasq.d          logrotate.d   rc0.d           rsyslog.d      xinetd.d

dracut.conf.d      modprobe.d    rc1.d           rwtab.d        yum.repos.d

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

[root@localhost tmp]# cp /etc/l*.conf /etc/m*.conf /etc/n*.conf /tmp/mytest3/

[root@localhost tmp]# ls /tmp/mytest3

ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf  nfsmount.conf  ntp.conf

libaudit.conf  locale.conf   man_db.conf     mtools.conf  nsswitch.conf  numad.conf

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

(0)
zhouchenmingzhouchenming
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • Hadoop HDFS分布式文件系统设计要点与架构

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-04-13
  • 第八周 服务管理与文本处理

    1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理 2、描述awk命令用法及示例(至少3例) 3、描述awk函数示例(至少3例)    

    2018-01-21
  • 走进Linux(一)

    一、计算机基础 世界上第一台计算机于1946年诞生于美国宾夕法尼亚大学,名叫:ENIAC。     计算机主要由硬件系统和软件系统两部分组成:     1、组成硬件的五大部分:    控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序…

    Linux干货 2016-09-22
  • 第六周总结VIM编辑器的使用并完成练习题

    第六周 总结VIM编辑器的使用并完成练习题 1. VIM是什么? VIM(Vi IMproved)是从vi发展出来的一个文本编辑器。 2.为什么要使用VIM? VIM有代码补完,编译以及错误跳转等方便编程的功能,在程序员中广泛使用。对于大多数的用户来说,VIM有着比较陡峭的学习曲线,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。VIM是类Unix系统用…

    Linux干货 2017-09-02
  • Linux的程序包管理,RPM,yum及编译安装简介

    Linux的程序包管理,RPM,yum及编译安装简介   Linux的程序包,指的是ELF格式的二进制应用程序文件所组成的软件包。它一般由二进制文件、库文件、软件配置文件及帮助文件等组成。而对这些包进行管理的工具,主流分为两种,在debian上,用的是apt-get管理deb包;在redhat上,主要用rpm作为软件包管理工具。在这里,我简单的介绍…

    Linux干货 2016-05-29
  • 联通电信双链路内网VRRP+BFD&&PPTP+MYSQL+FreeRadius实现IDC堡垒机连接IDC机房

    一、具体需求与实现 1、多wan:两条宽带接入链路,使用VRRP+BFD技术,实现链路冗余; 2、IDC机房远程管理和登录限制:使用PPTP+freeRadius+mysql实现VPN,限制指定网段或IP进行拨号认证登录IDC机房,并编写脚本检查非法用户登录IDC机房服务器情况; 3、内网VLAN划分:利于安全管理、IP分流和带宽限制; 4、内网监控:使用N…

    Linux干货 2016-08-22

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:41

    写的很好,排版还可以在漂亮一点,加油,最后一个尝试用命令展开来写