博客作业-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)
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相关推荐

  • 20本最好的Linux免费书籍

    前些天Neo推荐了一个网站有《超过100本的linux免费书籍》,这里,我也向大家推荐20本最好的Linux免费书籍,当然,也是英文版的。 1. Ubuntu Pocket Guide and Reference 一本介绍关于Ubuntu 8.04和8.10的使用书。 Website www.ubuntupocketguide.com Author Keir…

    Linux干货 2015-04-01
  • 用户和组的四大配置文件简介

    一. 用户的由来 linux系统拥有的就是资源,最重要的事就是对资源的分配,资源分给谁?在linux上资源的访问是对用户赋予不同的权限实现,也就是说能访问资源的单位是用户。那用户在获取资源之前要实现证明自己是本用户,这个过程称为认证,他通过密码和用户名实现。在用户登录时会将用户输入的用户名和密码进行校验,校验过程就是将输入的用户名和密码与linux系统上记录…

    Linux干货 2016-10-24
  • 磁盘管理

    1、拿到一块硬盘,通常来讲,第一步是分区,然后是文件系统的创建,管理文件系统,第三步是挂载设备。 2、linux(准确的说是UNIX)哲学,whindows一切皆窗口,一切皆图形。 3、磁盘是一个硬件设备,存放在/dev/目录下,会有相应的文件来对应的表示这些设备文件,在这个目录下存放的全是设备。 4、在/dev目录下和设备相关的有两种,一种是c开头为字符,…

    Linux干货 2017-04-22
  • shell脚本编程之补充知识点

    一、处理用户输入   shell中使用read命令来实现与用户的交互输入。   格式:read [options] 变量    常用选项:      -p “提示信息”:显示提示信息;      -t #:等待用户输入的秒数;     &n…

    Linux干货 2016-02-14
  • N21_第09周_shell脚本

    作业题目: 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 预置条件: [root@zhouyong148 N21_09]# cat /etc/passwd root:x:0:0:root:/root:/b…

    Linux干货 2016-11-14
  • vim文本编辑器小结

    vi=vim打开文件 alias vi =vim vim -m 只读方式打开文件 修改文件时则会无法保存   -b 二进制打开文件 -d file1 file2  比较两个文件 Command(normal)默认模式:  ZZ 保存并退出 ZQ 不保存并退出Insert:编辑模式&nbsp…

    2017-08-05

评论列表(1条)

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

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