马哥教育网络班21期+第二周博客作业

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

Linux下常见的文件管理命令有:touch、cp、mv、rm、cat等

touch

描述:创建一个空文件,或者更新时间的时间戳

[root@zabbix wanwan]# touch wanwan02
[root@zabbix wanwan]# ls -l wanwan02
-rw-r--r-- 1 root root 0 Jul 13 11:24 wanwan02
[root@zabbix wanwan]# du -sh wanwan02
0wanwan02
说明:新创建的文件wanwan02为空文件
查看文件时间戳:
[root@zabbix wanwan]# stat wanwan02
  File: ‘wanwan02’
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: 25h/37dInode: 627081291   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-13 11:24:45.095028777 +0800
Modify: 2016-07-13 11:24:45.095028777 +0800
Change: 2016-07-13 11:24:45.095028777 +0800
 Birth: -
使用touch命令修改wanwan02的时间戳:
[root@zabbix wanwan]# touch wanwan02
[root@zabbix wanwan]# stat wanwan02
  File: ‘wanwan02’
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: 25h/37dInode: 627081291   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-13 11:25:27.058025219 +0800
Modify: 2016-07-13 11:25:27.058025219 +0800
Change: 2016-07-13 11:25:27.058025219 +0800
 Birth: -
对比之前的时间戳,可以发现已经变化了

cp

描述:复制文件与目录

选项:-r 递归,复制子文件与子目录,一般复制目录时使用

[root@zabbix wanwan]# ls
[root@zabbix wanwan]# cp /etc/passwd .
[root@zabbix wanwan]# ls
passwd
[root@zabbix log]# cp -r /var/log/samba/ /tmp/
[root@zabbix log]# ls -ld /tmp/
drwxrwxrwt 19 root root 500 Jul 13 13:14 /tmp/
[root@zabbix log]# ls -l /tmp/
total 12
drwxr-xr-x 14 root root  280 Jul  5 13:27 mylinux
-rw-r--r--  1 root root 7315 Jul 12 23:30 mysql_bak.log
drwxr-xr-x 14 root root  400 Jul 13 10:54 mytest1
drwxr-xr-x 33 root root  820 Jul 13 10:56 mytest2
drwxr-xr-x  2 root root  140 Jul 13 10:58 mytest3
-rw-r--r--  1 root root 2629 Jul  5 16:28 passwd
drwxr-xr-x  2 root root   40 Jun 27 17:26 python-build.20160627172622.20789
drwx------  4 root root 2380 Jul 13 13:14 samba
drwx------  2 root root   60 Mar 17 12:52 ssh-0CeK7US8msI8
drwx------  2 root root   60 May  3 17:15 ssh-cKDJ7FFBpQ4g
drwx------  2 root root   60 May  3 17:17 ssh-DY1nyXYKnMRR
drwx------  2 root root   60 May  5 09:11 ssh-Rte4UArLkDfW
drwx------  3 root root   60 May 27 09:23 systemd-private-a293e18c9e6f4755986a533a2b4227a0-httpd.service-lf1vFt
drwx------  3 root root   60 May  3 14:30 systemd-private-a293e18c9e6f4755986a533a2b4227a0-mariadb.service-3Xn9YD
drwx------  3 root root   60 May 27 09:05 systemd-private-a293e18c9e6f4755986a533a2b4227a0-munin-node.service-ys9n24
-rw-r--r--  1 root root    0 Jul 13 10:41 tfile-2016-07-13-10-41-40
-rw-r--r--  1 root root    0 Jul 13 10:41 tfile-2016-07-13-10-41-49
drwxr-xr-x  2 root root 2020 Jul  5 16:55 var
drwxr-xr-x  2 root root   60 Jul 13 13:13 wanwan
drwxr-xr-x  3 root root   60 Jun 27 13:35 zhang3

rm

描述:删除文件或目录

选项:-f 不提示,强制删除

      -i 删除前,提示是否删除

      -r 删除目录以及目录下的所有文件

[root@zabbix tmp]# cd wanwan/
[root@zabbix wanwan]# ls
passwd
[root@zabbix wanwan]# rm passwd 
rm: remove regular file ‘passwd’? yes
[root@zabbix wanwan]# ls
[root@zabbix tmp]# cd wanwan/
[root@zabbix wanwan]# ls
passwd
[root@zabbix wanwan]# rm passwd 
rm: remove regular file ‘passwd’? yes
[root@zabbix wanwan]# ls
[root@zabbix wanwan]# cp /etc/sysconfig/network .
[root@zabbix wanwan]# ls
network
[root@zabbix wanwan]# rm -rf network #删除文件前,没有任何提示
[root@zabbix wanwan]# ls

mv

描述:移动(重命名)文件或目录

[root@zabbix wanwan]# ls
passwd
[root@zabbix wanwan]# mv passwd passwd.org  #将passwd改名为passwd.org
[root@zabbix wanwan]# ls
passwd.org
[root@zabbix tmp]# mv tfile-2016-07-13-10-41-40 /wanwan/  #将/tmp目录下的tfile-2016-07-13-10-41-40剪切到/wanwan目录下
[root@zabbix tmp]# ls -l /wanwan/
total 410044
-rw-r--r-- 1 root root       254 Jun 22 14:21 adduser.sh
-rw-r--r-- 1 root root       167 Jul 12 14:28 checkup.sh
-rw-rw-r-- 1 root root         0 Jun 22 13:19 li4
-rw-r--r-- 1 root root    204101 Jun 27 10:43 li4.zip
-rw-r--r-- 1 root root       157 Jun 22 15:57 ping.sh
-rw-r--r-- 1 root root 209715200 Jun 27 10:42 test.iso
-rw-r--r-- 1 root root         0 Jul 13 10:41 tfile-2016-07-13-10-41-40
-rw-r--r-- 1 root root 209940480 Jun 27 10:48 wanwan.tar.gz
drwxr-xr-x 3 root root        29 Jun 27 10:45 zhang3
-rw-r--r-- 1 root root     10240 Jun 27 13:34 zhang3.tar

cat

描述:查看文件内容

选项:-b 显示行号,空白行不显示行号

      -n 显示行号,包括空白行

[root@zabbix wanwan]# cat -n passwd|head -10
     1root:x:0:0:root:/root:/bin/bash
     2bin:x:1:1:bin:/bin:/sbin/nologin
     3daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4
     5
     6
     7adm:x:3:4:adm:/var/adm:/sbin/nologin
     8
     9lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    10
[root@zabbix wanwan]# cat -b passwd|head -10
     1root:x:0:0:root:/root:/bin/bash
     2bin:x:1:1:bin:/bin:/sbin/nologin
     3daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4adm:x:3:4:adm:/var/adm:/sbin/nologin
     5lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

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

a、键入的命令到底有没有执行成功呢?我们输入 echo $? 来查看该命令执行状态的返回值。返回值为 0,表示成功执行。

b、echo $?如果返回值为0,则表示上一条命令执行成功

c、如果返回值是1-255的任何值,表明上一条命令执行失败

[root@zabbix ~]# pwd
/root
[root@zabbix ~]# echo $?
0
说明:pwd这条命令是执行成功的
[root@zabbix ~]# pwdd
-bash: pwdd: command not found
[root@zabbix ~]# echo $?
127
说明:由于根本不存在pwdd命令,返回值非0,说明失败

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

# mkdir -p /tmp/{a,b}_{c,d}
# mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/networkscripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

元数据信息:用来描述一个文件的特征的系统数据,包括文件大小,inode数,连接数,访问权限,UID、GID以及三个时间戳,通常情况下,我们可以用stat命令来进行查看。

文件有三个时间戳,分别是:

     access time:访问时间,atime,读取文件内容

     modify time: 修改时间, mtime,改变文件内容(数据)

     change time: 改变时间, ctime,元数据发生改变

[root@localhost ~]# stat /etc/passwd
  File: '/etc/passwd'
  Size: 2062      Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050dInode: 136839480   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2016-07-11 21:26:19.946999372 +0800
Modify: 2015-09-08 01:02:10.002179228 +0800
Change: 2015-09-08 01:02:10.002179228 +0800
 Birth: -
touch:
  -a只更改访问时间
  -c, --no-create不创建任何文件
  -m只更改修改时间
[root@localhost tmp]# stat passwd 
  文件:"passwd"
  大小:2062      块:8          IO 块:4096   普通文件
设备:802h/2050dInode:7104        硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2016-07-12 15:53:50.400028573 +0800
最近更改:2016-07-12 15:53:50.400028573 +0800
最近改动:2016-07-12 15:53:50.400028573 +0800
创建时间:-
[root@localhost tmp]# touch -a passwd 
[root@localhost tmp]# stat passwd 
  文件:"passwd"
  大小:2062      块:8          IO 块:4096   普通文件
设备:802h/2050dInode:7104        硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2016-07-12 15:54:20.547714007 +0800
最近更改:2016-07-12 15:53:50.400028573 +0800
最近改动:2016-07-12 15:54:16.468621271 +0800
创建时间:-
[root@localhost tmp]# touch -m passwd 
[root@localhost tmp]# file passwd 
passwd: ASCII text
[root@localhost tmp]# stat passwd 
  文件:"passwd"
  大小:2062      块:8          IO 块:4096   普通文件
设备:802h/2050dInode:7104        硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2016-07-12 15:54:49.465370687 +0800
最近更改:2016-07-12 15:54:47.218319686 +0800
最近改动:2016-07-12 15:54:47.218319686 +0800

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

a、临时生效:

[root@localhost ~]# alias cls='clear'
[root@localhost ~]# alias cls
alias cls='clear'
[root@localhost ~]# cls
[root@localhost ~]# echo $?

b、永久生效:

说明:永久生效, 写入/etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile 四文件之一
[root@localhost ~]# echo "alias cls='clear'">>/etc/profile
[root@localhost ~]# echo $?
0
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $?
0
命令中引用另一个命令的执行结果:
[root@localhost ~]# echo "My directory is `pwd`"
My directory is /root
[root@localhost ~]# echo "My directory is $(pwd)"
My directory is /root

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

[root@localhost var]# ls -l 1*[0-9]*[^0-9]
-rw-r--r--. 1 root root 0 7月  12 16:08 15wk
-rw-r--r--. 1 root root 0 7月  12 16:08 188k

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

# ls -l /etc/[0-9]*[^0-9]
案例:
[root@localhost tmp]# cd /etc/
[root@localhost etc]# touch 9wanw
[root@localhost etc]# ls -l /etc/[0-9]*[^0-9]
-rw-r--r--. 1 root root 0 7月  12 16:05 /etc/9wanw
[root@localhost etc]# touch 8wan8
[root@localhost etc]# ls -l /etc/[0-9]*[^0-9]
-rw-r--r--. 1 root root 0 7月  12 16:05 /etc/9wanw

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

# ls /etc/[^a-zA-Z][a-zA-Z]*
[root@zabbix etc]# touch 1a11 2a3z
[root@zabbix etc]# ls -l /etc/[^a-zA-Z][a-zA-Z]*
-rw-r--r-- 1 root root 0 Jul 13 10:35 /etc/1a11
-rw-r--r-- 1 root root 0 Jul 13 10:35 /etc/2a3z

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

方法1:
[root@zabbix tmp]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
方法2:
[root@zabbix tmp]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
[root@zabbix tmp]# ls
mylinux                         systemd-private-a293e18c9e6f4755986a533a2b4227a0-httpd.service-lf1vFt
mysql_bak.log                     systemd-private-a293e18c9e6f4755986a533a2b4227a0-mariadb.service-3Xn9YD
passwd                          systemd-private-a293e18c9e6f4755986a533a2b4227a0-munin-node.service-ys9n24
python-build.20160627172622.20789          tfile-2016-07-13-10-41-40
ssh-0CeK7US8msI8                   tfile-2016-07-13-10-41-49
ssh-cKDJ7FFBpQ4g                   var
ssh-DY1nyXYKnMRR                   zhang3
ssh-Rte4UArLkDfW
说明:可以看到tfile开头的文件,就是我新创建的

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

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

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

[root@zabbix ~]# mkdir -p /tmp/mytest2
[root@zabbix ~]# cp -rf /etc/*.d /tmp/mytest2/
[root@zabbix ~]# ls /tmp/mytest2/
bash_completion.d  exports.d     modules-load.d  rc0.d  rc.d           sysctl.d
binfmt.d           gdbinit.d     my.cnf.d        rc1.d  request-key.d  tmpfiles.d
chkconfig.d        grub.d        pam.d           rc2.d  rsyslog.d      xinetd.d
cron.d             init.d        php.d           rc3.d  rwtab.d        yum.repos.d
depmod.d           ld.so.conf.d  popt.d          rc4.d  statetab.d
dnsmasq.d          logrotate.d   prelink.conf.d  rc5.d  sudoers.d
dracut.conf.d      modprobe.d    profile.d       rc6.d  supervisord.d

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

[root@zabbix ~]# cp -rf /etc/[l,m,n]*.conf /tmp/mytest3/
[root@zabbix ~]# ls /tmp/mytest3/
man_db.conf  mke2fs.conf  mongod.conf  nfsmount.conf  nsswitch.conf



原创文章,作者:Net21-冰冻vs西瓜,如若转载,请注明出处:http://www.178linux.com/24130

(0)
Net21-冰冻vs西瓜Net21-冰冻vs西瓜
上一篇 2016-07-16
下一篇 2016-07-16

相关推荐

  • N25 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 4、复制/etc/sk…

    Linux干货 2017-01-04
  • N25-第二周作业

    第二周作业 1.Linux上的文件管理命令都有哪些,其常用的使用方法及相关示例演示。 Linux上的文件管理命令有:cp , mv , rm 等命令 cp是复制命令: 命令使用格式是: cp [OPTION]… SOURCE… DEST 例:root@vps ~]# cp /etc/passwd /tmp 复制…

    Linux干货 2016-12-14
  • Linux基础知识—Vim编辑器/crond周期性任务计划

    vim文本编辑 vim是vi文本编辑的增强版本,因其编辑功能强大、且支持各种语言开发环境关键字自动增亮功能,也可称为是开发工具。在Centos7/RHEL7开始,默认将vi定义成vim –color=auto,已经取代了vi的地位。下面总结下关于vim工具的使用 vim有三种模式,每个模式下有其特定的功能;我们可自由在三者之间切换使用: COMM…

    Linux干货 2016-11-01
  • RAID各级别的特性及使用介绍(8.3博客作业)

    RAID各级别的特性及使用介绍 介绍: 独立硬盘冗余阵列(RAID:Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列,简称磁盘阵列。 组成: 多块磁盘,RAID控制器(硬件RAID、软件RAID)     硬件RAID:自带CPU的RAID卡,不消耗服务器资源,可通过备份…

    Linux干货 2016-07-16
  • 第二十二周作业

    1、请描述本地文件系统和分布式文件系统的特点 本地文件系统 本地文件系统主要是指Ext2,Ext3,Btrfs,XFS这类,它们通常提供以下功能: 扩展性:随着系统容量的增加保持性能,不随容量变化而导致性能震荡。比如一个目录下的海量文件,在EXT2/3中由于目录设计问题会导致较大的性能问题。再比如EXT2/3中的Metadata的占用和inode的划分可能会…

    2017-08-06
  • N24_huamao 学习计划

       每天会安排好时间按顺序看视频进行学习,由于基础比较差我会先进行笔记然后再做博客记录。需要操作的知识点会跟着视频和自己的理解去做,最后达到马哥所说的“技能”所需的要求。运维的知识点很广很多也很复杂。当然想学好后边的就要先打好基础从linux系统开始学习把重要的命令记牢应用灵活才可以。这第一步自己一定要迈好。

    Linux干货 2016-10-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-17 20:33

    写的很好,排版也很漂亮,加油