第二周作业

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

which命令:显示(shell)命令全部的路径

which [option] programmame […]

–skip-alias:忽略别名

 

whereis命令:搜索二进制程序,源码,和帮助手册页的命令

whereis [option] name

-b:仅搜索二进制程序路径

[root@localhost ~]# whereis -b fdisk

fdisk: /usr/sbin/fdisk

-m:仅搜索使用手册文件路径

[root@localhost ~]# whereis -m fdisk

fdisk: /usr/share/man/man8/fdisk.8.gz

 

文件查看类命令:cat,tac,head,tail,more,less

cat命令:从文件头部开始查看文件。

tac命令:与cat查看文件相反,从文件尾部开始查看文件

more命令:more FILE;

特点:翻屏至文件尾部时后自动退出

less命令:less FILE;

man命令就是用Less命令来显示帮助文档的。

head命令:查看文件的前N行

head [options] FILE 

-n # #显示头多少行。

-#

tail命令:查看文件的后n行;

tail [option] FILE

-n #

-#

-f:查看文件尾部内容结束后不退出,跟随显示新增的行;

[root@localhost ~]# tail -f issue

\S

Kernel \r on an \m

[root@localhost ~]# echo “how are you” >> issue

[root@localhost ~]# tail -f issue

\S

Kernel \r on an \m

how are you

 

文件管理工具:cp, mv, rm

cp命令:copy

源文件;目标文件;

单源复制:cp [OPTION]… [-T] SOURCE DEST

     多源复制:cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

     单源复制:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

        如果DEST存在:

        如果DEST是非目录文件:则覆盖目标文件;

        如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并 复制其数据流;

     多源复制:cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

        如果DEST不存在:错误;

        如果DEST存在:

        如果DEST是非目录文件:错误;

        如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

[root@localhost tmp]# cp /etc/issue ./

cp:是否覆盖”./issue”?

-f:强制覆盖目标文件;

-r,-R:递归复制;

[root@localhost tmp]# cp -r /var/log ./

[root@localhost tmp]# ll -d log

drwxr-xr-x. 19 root root 4096 2月  18 09:56 log

-d:复制符号链接文件本身,而非其指向的源文件;

[root@localhost tmp]# cp -d /proc/mounts ./

[root@localhost tmp]# ll mounts

lrwxrwxrwx. 1 root root 11 2月  18 10:03 mounts -> self/mounts

-a:-dR –preserve=all,archive,用于实现归档:

–preserve=

mode:权限

ownership:属主和属组

timestamps:时间戳

context:安全标签

xattr:扩展属性

links:符号连接

all:上述所有属性

[root@localhost tmp]# cp –preserve=mode,ownership /home/binbin/binbin.txt ./

[root@localhost tmp]# ll binbin.txt

-rw-rw-r–. 1 binbin binbin 0 2月  18 10:18 binbin.txt

演示多源复制,并强制覆盖重复的目录

[root@localhost tmp]# cp -rf -t /tmp /etc/grub.d /var/log

[root@localhost tmp]# ll

总用量 4

drwx——.  2 root root  182 2月  18 10:24 grub.d

drwxr-xr-x. 19 root root 4096 2月  18 10:24 log

 

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE..

   常用选项:

i:交互式;

-f:force

tmp目录下的grub.d目录和log目录,移到至/tmp/test目录

[root@localhost tmp]# mv grub.d/ log/ test

[root@localhost tmp]# ll -h test/

总用量 4.0K

drwx——.  2 root root  182 2月  18 10:24 grub.d

drwxr-xr-x. 19 root root 4.0K 2月  18 10:24 log

mv命令还可以用来重命名

[root@localhost tmp]# mv test bin

[root@localhost tmp]# ll -h

总用量 0

drwxr-xr-x. 4 root root 31 2月  18 10:31 bin

 

 rm命令:remove

rm [OPTION]… FILE…

常用选项:

-i:interactive #交互式删除

-f:force #强制删除

-r: recursive #递归删除

删除目录:rm -rf /PATH/TO/DIR

危险操作:rm -rf /*

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)

[root@localhost tmp]# rm -rf ./*

[root@localhost tmp]# ll

总用量 0

 

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

命令执行的状态结果:

bash通过状态返回值来输出此结果

成功:0

失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

命令正常执行时,有的还回有命令返回值:

根据命令及其功能不同,结果各不相同;

正确查到文件信息返回值

[root@localhost /]# ll /etc/passwd

-rw-r–r–. 1 root root 2238 2月  12 15:15 /etc/passwd

[root@localhost /]# echo $?

0

 

错误查看文件信息返回值

[root@localhost /]# lll /etc/passwd &>> /dev/null

[root@localhost /]# echo $?

127

 

命令展开引用

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

[root@localhost tmp]# ll

总用量 0

drwxr-xr-x.  2 root root   6 2月  18 17:30 2017-02-18-17-30-20

 

 

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

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

[root@localhost /]# mkdir -pv /tmp/{a,b}_{c,d}

mkdir: 已创建目录 “a_c”

mkdir: 已创建目录 “a_d”

mkdir: 已创建目录 “b_c”

mkdir: 已创建目录 “b_d”

 

   (2)、创建/tmp/mylinux目录下的:

[root@localhost /]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,syscofig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

/tmp/mylinux

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── syscofig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

    ├── lock

    ├── log

    └── run

 

24 directories, 0 files

 

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

元数据信息包含:

File:文件名

Size:表示文件数据流大小

Blocks:数据块、

IO Block:IO块

硬链接数:

Access:用户对文件访问的权限

Uid:属主

Gid:属组

Access time:访问文件时间

Modify time:更改时间

Change time:改动时间

 

查看文件元数据:

命令:stat FILE

[root@localhost tmp]# stat 2017-02-18-17-30-20/

  File: ‘2017-02-18-17-30-20/’

  Size: 6          Blocks: 0          IO Block: 4096   directory

Device: 803h/2051d Inode: 33793360    Links: 2

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2017-02-18 17:30:20.848935695 +0800

Modify: 2017-02-18 17:30:20.848935695 +0800

Change: 2017-02-18 17:30:20.848935695 +0800

 Birth: –

修改文件的时间戳信息

[root@localhost tmp]# touch -a -t 201602181730 time #修改访问时间

[root@localhost tmp]# touch -m -t 201602181730 time #修改更改时间

[root@localhost tmp]# stat time

  File: ‘time’

  Size: 0          Blocks: 0          IO Block: 4096   regular empty file

Device: 803h/2051d Inode: 33793361    Links: 1

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

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2016-02-18 17:30:00.000000000 +0800

Modify: 2016-02-18 17:30:00.000000000 +0800

Change: 2017-02-18 17:56:02.771576109 +0800

 Birth:

 

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

alias命令定义一个cls=clear

[binbin@localhost tmp]$ alias cls=clear

 

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

[root@localhost /]# cat /etc/issue | tee /tmp/issue.tee | tr ‘a-z’ ‘A-Z’

\S

KERNEL \R ON AN \M

[root@localhost /]# ll /tmp/issue.tee

-rw-r–r–. 1 root root 23 Feb 18 18:12 /tmp/issue.tee

 

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

[root@localhost var]# ls -d l*[0-9]*[a-z] ./

./  l2-tp  l2tp

 

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

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

 

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

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

./  2xyz

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

touch file-$(date +%Y-%m-%d-%H-%M-%S)

[root@localhost tmp]# ll file-2017-02-18-20-57-32

-rw-r–r–. 1 root root 0 Feb 18 20:57 file-2017-02-18-20-57-32

 

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

[root@localhost tmp]# cp -r /etc/p*[^0-9] ./mytest1/

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

total 48

drwxr-xr-x. 2 root root 4096 Feb 18 21:01 pam.d

-rw-r–r–. 1 root root 2238 Feb 18 21:01 passwd

-rw-r–r–. 1 root root 2238 Feb 18 21:01 passwd-

-rw-r–r–. 1 root root 1362 Feb 18 21:01 pbm2ppa.conf

-rw-r–r–. 1 root root 2872 Feb 18 21:01 pinforc

drwxr-xr-x. 9 root root   98 Feb 18 21:01 pki

drwxr-xr-x. 2 root root   28 Feb 18 21:01 plymouth

drwxr-xr-x. 5 root root   52 Feb 18 21:01 pm

-rw-r–r–. 1 root root 6300 Feb 18 21:01 pnm2ppa.conf

drwxr-xr-x. 2 root root    6 Feb 18 21:01 popt.d

drwxr-xr-x. 2 root root  154 Feb 18 21:01 postfix

drwxr-xr-x. 3 root root  219 Feb 18 21:01 ppp

drwxr-xr-x. 2 root root  105 Feb 18 21:01 prelink.conf.d

-rw-r–r–. 1 root root  233 Feb 18 21:01 printcap

-rw-r–r–. 1 root root 1795 Feb 18 21:01 profile

drwxr-xr-x. 2 root root 4096 Feb 18 21:01 profile.d

-rw-r–r–. 1 root root 6545 Feb 18 21:01 protocols

drwxr-xr-x. 2 root root   79 Feb 18 21:01 pulse

drwxr-xr-x. 2 root root   23 Feb 18 21:01 purple

drwxr-xr-x. 2 root root   35 Feb 18 21:01 python

 

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

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

[root@localhost tmp]# ll mytest2

total 20

drwxr-xr-x.  2 root root    6 Feb 18 21:03 auto.master.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 bash_completion.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 binfmt.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 cgconfig.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 chkconfig.d

drwxr-xr-x.  2 root root   54 Feb 18 21:03 cron.d

drwxr-xr-x.  2 root root   23 Feb 18 21:03 depmod.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 dnsmasq.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 dracut.conf.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 exports.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 gdbinit.d

drwx——.  2 root root  182 Feb 18 21:03 grub.d

lrwxrwxrwx.  1 root root   11 Feb 18 21:03 init.d -> rc.d/init.d

drwx——.  3 root root   50 Feb 18 21:03 ipsec.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 krb5.conf.d

drwxr-xr-x.  2 root root  129 Feb 18 21:03 ld.so.conf.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 libibverbs.d

drwxr-xr-x.  2 root root  215 Feb 18 21:03 logrotate.d

drwxr-xr-x.  2 root root   59 Feb 18 21:03 modprobe.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 modules-load.d

drwxr-xr-x.  2 root root   31 Feb 18 21:03 my.cnf.d

drwxr-xr-x.  2 root root   70 Feb 18 21:03 oddjobd.conf.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 pam.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 popt.d

drwxr-xr-x.  2 root root  105 Feb 18 21:03 prelink.conf.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 profile.d

drwxr-xr-x. 10 root root  127 Feb 18 21:03 rc.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc0.d -> rc.d/rc0.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc1.d -> rc.d/rc1.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc2.d -> rc.d/rc2.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc3.d -> rc.d/rc3.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc4.d -> rc.d/rc4.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc5.d -> rc.d/rc5.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc6.d -> rc.d/rc6.d

drwxr-xr-x.  2 root root   77 Feb 18 21:03 request-key.d

drwxr-xr-x.  2 root root   25 Feb 18 21:03 rsyslog.d

drwxr-xr-x.  2 root root   35 Feb 18 21:03 rwtab.d

drwxr-xr-x.  3 root root 4096 Feb 18 21:03 sane.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 setuptool.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 statetab.d

drwxr-x—.  2 root root    6 Feb 18 21:03 sudoers.d

drwxr-xr-x.  2 root root   28 Feb 18 21:03 sysctl.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 tmpfiles.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 xinetd.d

drwxr-xr-x.  2 root root  187 Feb 18 21:03 yum.repos.d

 

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

[root@localhost tmp]# cp -rf /etc/{l,m,n}*.conf mytest3

[root@localhost tmp]# ll mytest3

total 52

-rw-r–r–. 1 root root   28 Feb 18 21:08 ld.so.conf

-rw-r—–. 1 root root  191 Feb 18 21:08 libaudit.conf

-rw-r–r–. 1 root root 2391 Feb 18 21:08 libuser.conf

-rw-r–r–. 1 root root   19 Feb 18 21:08 locale.conf

-rw-r–r–. 1 root root  662 Feb 18 21:08 logrotate.conf

-rw-r–r–. 1 root root 5171 Feb 18 21:08 man_db.conf

-rw-r–r–. 1 root root  936 Feb 18 21:08 mke2fs.conf

-rw-r–r–. 1 root root 2620 Feb 18 21:08 mtools.conf

-rw-r–r–. 1 root root 3390 Feb 18 21:08 nfsmount.conf

-rw-r–r–. 1 root root 1732 Feb 18 21:08 nsswitch.conf

-rw-r–r–. 1 root root 2000 Feb 18 21:08 ntp.conf

-rw-r–r–. 1 root root   91 Feb 18 21:08 numad.conf

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

(0)
anhui-binbinanhui-binbin
上一篇 2017-02-18
下一篇 2017-02-18

相关推荐

  • 游戏运维工程师

    爱乐盟互动为深圳市政府评定的深圳市重点文化企业,同时为广东省高科技产业商会常务理事单位,注册资金人民币1000万元。公司的原创大型MMORPG网游《王者传说2》为深圳市政府重点支持的网游项目,《王者传说2》将全面领先于国内的同类产品,成为业界新标准的重要网游产品!! 《王者传说2》已进入产品研发的重要阶段。除《王者传说2》,爱乐盟也已经启动了数款全新大型网游…

    Linux干货 2016-10-19
  • N22+北京+张zhangzhang+第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d" " -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 id `who | cut -d" " -f1 | tail -1` 3、取出当前系统上被用户当作其默认shell的最多的…

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

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

    Linux干货 2016-07-16
  • 逻辑卷的创建与移除

    一、弹性控制磁盘大小的lvm:     假如有这样一个场景,在初始安装linux系统时给 /home分区设置了一定大小,但是过了一段时间后,你发现初始分配的大小远不能满足公司的扩大,员工增加,需要分配的账号的磁盘空间也变大,这时你应该怎么办?是挂载一块更大的硬盘,将原来的小硬盘拆除掉吗?其实在linux中有lvm可动态增大文件系…

    Linux干货 2016-08-30
  • 3rd work

    1、列出当前系统上所有已经登陆的用户名,注意同一个用户登陆多次,则只显示一次即可。 [root@localhost ~]# w 11:50:45 up 24 min,  3 users,  load average: 0.04, 0.04, 0.10 USER     TTY      FROM             LOGIN@   IDLE   JCP…

    Linux干货 2017-10-08
  • LVS+Keepalived实现负载均衡

    keepalived工作原理 keepalived是基于VRRP协议实现的保证集群高可用的一个服务软件,主要功能是实现后端真实服务器的故障隔离和负载均衡器间的失败切换,防止单点故障。 VRRP协议全称:虚拟路由冗余协议(Virtual Route Redundancy Protocol)。 keepalived安装 # yum install keepali…

    2017-11-26

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-26 15:30

    虽然字体小了点,看我的眼疼,但是看得出有在很认真的完成,很棒。