N28-第二周作业

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
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
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

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

常用命令:

pwd:printing working directory(显示工作目录)

示例:

[root@cuikedong ~]# pwd

/root

[root@cuikedong ~]#

 

cd:change directory(切换目录)

cd [/PATH/TO/SOMEDIR]

cd后不加任何命令,表示切换回家目录;

注意:bash中,~表示家目录;

cd ~:切换回自己的家目录

cd ~USERNAME(用户名):切换至指定用户的家目录;

cd -:在上一次所在目录与当前

相关的环境变量

$PWD:当前工作目录

$OLDPWD:上一次的工作目录

示例:

[root@cuikedong ~]# cd /etc/sysconfig

[root@cuikedong sysconfig]# pwd

/etc/sysconfig

[root@cuikedong sysconfig]#

 

ls:list,列出指定目录下的内容

ls [OPTION]… [FILE]…

-a:显示所有文件,包括隐藏文件;

-A:显示除.和..之外的所有文件;

-l:–long,长格式列表,即显示文件的详细属性信息;

例: -rw-r–r–. 1 root root 8957 11月 20 21:06 boot.log

-:文件类型:-,d,b,c,l,s,p

rw-r–r–

rw-:文件属主的权限:

r–:文件属组的权限:

r–:其他用户(非属主、属组)的权限:

1:数字表示文件被硬链接的次数:

root:文件的属主:

root:文件的属组:

8957:数字表示文件的大小,单位是字节:

11月 20 21:06:文件最近一次被修改的时间:

boot.log:文件名:

-h,–human-readable(人类易读):对文件大小单位换算:换算后的结果可能会非精确值:

-d:查看目录自身而非其内部的文件列表:

-r:reverse,逆序显示:

-R:recursive,递归显示(子目录下的所有内容):

示例:

[root@cuikedong sysconfig]# ls -l

总用量 104

-rw-r–r–. 1 root root  400 11月 13 20:01 anaconda

-rw-r–r–. 1 root root  483 11月 13 20:00 authconfig

drwxr-xr-x. 2 root root   43 11月 13 19:52 cbq

-rw-r–r–. 1 root root   46 8月   4 05:27 chronyd

drwxr-xr-x. 2 root root    6 8月   4 07:57 console

-rw-r–r–. 1 root root  150 8月  23 05:43 cpupower

……………………………………………

 

cat:concatenate:文件文本查看工具:

cat /etc/fstab

cat /etc/passwd

cat [OPTION]… [FILE]…

-n:给显示的文本行统一编号:

-E:显示行结束符$:

示例:

[root@cuikedong sysconfig]# cat -n anaconda

1 # This file has been generated by the Anaconda Installer 21.48.22.121-1

2

3[WelcomeLanguageSpoke]

4visited = 1

5

6[OSCAPSpoke]

7visited = 1

8

9[NetworkSpoke]

10visited = 1

………………

 

tac:concatenate:文件文本查看工具:

tac /etc/fstab

tac /etc/passwd

tac [OPTION]… [FILE]…

-n:给显示的文本行统一编号:

-E:显示行结束符$:

示例:

[root@cuikedong ~]# tac /etc/fstab

/dev/mapper/centos_cuikedong-swap swap                    swap    defaults        0 0

/dev/mapper/centos_cuikedong-home /home                   xfs     defaults        0 0

UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot                   xfs     defaults        0 0

/dev/mapper/centos_cuikedong-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 Mon Nov 13 19:51:58 2017

# /etc/fstab

#

[root@cuikedong ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Mon Nov 13 19:51:58 2017

#

# 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_cuikedong-root /                       xfs     defaults        0 0

UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot                   xfs     defaults        0 0

/dev/mapper/centos_cuikedong-home /home                   xfs     defaults        0 0

/dev/mapper/centos_cuikedong-swap swap                    swap    defaults        0 0

注:cat与tac显示内容顺序相反

 

file:查看文件内容类型:

file[FILE]……….

示例:

[root@cuikedong ~]# file /etc/passwd

/etc/passwd: ASCII text

 

mkdir:make directory (创建目录)

mkdir [OPTION]… DIRECTORY…

-p:自动按需创建父目录:

-v verbose:显示创建的详细过程:

-m MODE:直接给定权限:

注意:路径基名方为命令的作用对象: 基名之前的路径必须的存在:

示例:

[root@cuikedong /]# mkdir /etc/cuicui

[root@cuikedong /]# ls -l /etc

……………………………………………..

-rw-r–r–.  1 root root      841 6月   7 2013 csh.login

drwxr-xr-x.  2 root root       17 12月 10 12:08 cui

drwxr-xr-x.  2 root root        6 12月 10 13:14 cuicui

drwxr-xr-x.  4 root root       78 11月 13 19:53 dbus-1

[root@cuikedong /]#

 

rmdir:remove empty directories(删除空目录)

rmdir [OPTION]… DIRECTORY…

-p:删除某目录后,如果其父目录为空,则一并删除之:

-v:显示过程:

示例:

[root@cuikedong /]# rmdir /etc/cuicui

[root@cuikedong /]# ls -l /etc

……………………………………………

-rw-r–r–.  1 root root      841 6月   7 2013 csh.login

drwxr-xr-x.  2 root root       17 12月 10 12:08 cui

drwxr-xr-x.  4 root root       78 11月 13 19:53 dbus-1

……………………………………………

[root@cuikedong /]#

 

tree命令:

tree [options] [directory]

-L level:指定要显示的层级:

示例:

[root@cuikedong /]# tree -L 1 /

/

├── bin -> usr/bin

├── boot

├── dev

├── etc

├── home

├── lib -> usr/lib

├── lib64 -> usr/lib64

├── media

├── mnt

├── opt

├── proc

├── root

├── run

├── sbin -> usr/sbin

├── srv

├── sys

├── tmp

├── usr

└── var

 

19 directories, 0 files

[root@cuikedong /]#

 

 

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

分屏查看命令:more和less

more命令:

more FILE

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

less命令:(man 本身就是调用less命令)

less FILE

head命令:

查看文件的前n行:

head [options] FILE

-n #(#=1,2,3,……..)

-#

示例:

[root@cuikedong ~]# head -n3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

tail命令:

查看文件后的n行:

tail [options] FILE

-n #(#=1,2,3,……..)

-#

-f:查看文件尾部内容结束后不退出,跟随显示新增的行:(查看新增日志时候会用)

示例:

[root@cuikedong ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

………………………………..

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

gentoo:x:1001:1001::/home/gentoo:/bin/bash

slakware:x:1002:1002::/home/slakware:/bin/tcsh

slackware:x:1003:1003::/home/slackware:/bin/tcsh

docker:x:1004:1004::/home/docker:/bin/bash

[root@cuikedong ~]# tail -n3 /etc/passwd

slakware:x:1002:1002::/home/slakware:/bin/tcsh

slackware:x:1003:1003::/home/slackware:/bin/tcsh

docker:x:1004:1004::/home/docker:/bin/bash

 

stat命令:状态(查看文件的元数据)

stat – display file or file system status

用法:

stat FILE,,,,,,

Linux中每一个文件:两类数据

元数据:metadata(例如书的目录)

数据:data(例如书的正文)

时间戳:

access time (最近访问):2017-11-14 20:07:30.941647159 +0800 (读取数据流)

modify time(最近更改):2017-11-27 20:14:05.372243896 +0800 (改动的数据)

change time(最近改动):2017-11-27 20:14:05.372243896 +0800 (改动的元数据)

示例:

[root@cuikedong ~]# stat /etc/cui/aaa

文件:”/etc/cui/aaa”

大小:105        块:8          IO 块:4096   普通文件

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

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

环境:unconfined_u:object_r:etc_t:s0

最近访问:2017-12-10 12:11:10.395401753 +0800

最近更改:2017-12-10 12:10:16.098348565 +0800

最近改动:2017-12-10 12:10:16.098348565 +0800

创建时间:-

[root@cuikedong ~]#

 

touch命令:创建新的空文件,改变已有文件的时间戳属性:

手动更改时间戳( change time不能手动指定)

touch – change file timestamps

touch [OPTION]… FILE…

-c:指定的文件路径不存在时不予创建:

-a:仅修改access time

-m:仅修改modify time

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

例如:~]# touch -m -t 0212010303.03 /tmp/functions

结果:最近更改:2002-12-01 03:03:03.000000000 +0800

示例:

[root@cuikedong ~]# touch /etc/cui/aaa

[root@cuikedong ~]# ls /etc/cui

aaa

[root@cuikedong /]# file /etc/cui/aaa

/etc/cui/aaa: empty

[root@cuikedong /]#

 

文件管理工具: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:交互式复制,即覆盖之前提醒用户确认:

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

-r,-R:递归复制目录:

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

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

–preserve=

mode:权限

ownership:属主和属组

timestamps:时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

示例:

[root@cuikedong /]# ls /var

adm    crash  empty  gopher    lib    lock  mail  opt       run    tmp

cache  db     games  kerberos  local  log   nis   preserve  spool  yp

注:/var没有文件“aaa”

[root@cuikedong /]# cp /etc/cui/aaa /var

[root@cuikedong /]# ls /var

aaa  cache  db     games   kerberos  local  log   nis  preserve  spool  yp

adm  crash  empty  gopher  lib       lock   mail  opt  run       tmp

[root@cuikedong /]#

 

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…

常用选项:

-i:交互式:

-f:force

示例:

[root@cuikedong /]# mv /var/aaa /tmp

[root@cuikedong /]# ls /tmp

aaa

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-chronyd.service-JrJZ6h

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vgauthd.service-o3ZUMJ

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vmtoolsd.service-IHRY0T

[root@cuikedong /]# ls /var

adm    crash  empty  gopher    lib    lock  mail  opt       run    tmp

cache  db     games  kerberos  local  log   nis   preserve  spool  yp

[root@cuikedong /]#

 

rm命令:remove

rm [OPTION]… FILE…

常用选项:

-i:interactive

-f:force

-r:recursive

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

危险操作:rm -rf /*(清楚根目录下的所有内容)

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

示例:

[root@cuikedong /]# rm -r /tmp/aaa

rm:是否删除普通空文件 “/tmp/aaa”?y

[root@cuikedong /]# ls /tmp

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-chronyd.service-JrJZ6h

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vgauthd.service-o3ZUMJ

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vmtoolsd.service-IHRY0T

[root@cuikedong /]#

 

which命令:

which – shows the full path of (shell) commands.

使用格式:

which [options] [–] programname […]

–skip-alias:显示时,不显示别名:

示例:

[root@cuikedong ~]# which man

/bin/man

[root@cuikedong ~]# which cat

/bin/cat

 

whereis命令:

whereis – locate the binary, source, and manual page files for a command

whereis [options] name…

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

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

示例:

[root@cuikedong ~]# whereis -m man

man: /usr/share/man/man1/man.1.gz

[root@cuikedong ~]# whereis -m ls

ls: /usr/share/man/man1/ls.1.gz

[root@cuikedong ~]# whereis -m cat

cat: /usr/share/man/man1/cat.1.gz

[root@cuikedong ~]#

 

who命令:

who – show who is logged on

who [OPTION]…

-b:系统最近一次启动的时间

-d:显示死亡进程:

-l:显示登录进程:

-u:显示谁登录的:

-r:运行级别:

w命令:增强版的who命令

w – Show who is logged on and what they are doing.

示例:

[root@cuikedong ~]# who

cuikedong tty1         2017-12-10 10:40

cuikedong pts/0        2017-12-10 10:43 (192.168.0.101)

[root@cuikedong ~]#

 

tr命令:

COMMAND | tr [OPTION]… SET1 [SET2]

把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符

 

用法1:tr  SET1  SET2  >  /PATH/FROM/SOMEFILE

用法2:tr  -d  SET1  <  /PATH/FROM/SOMEFILE

注意:不修改原文件

示例:

[root@cuikedong ~]# head -n3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@cuikedong ~]# head -n3 /etc/passwd | tr ‘a-z’ ‘A-Z’

ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH

BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN

DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN

[root@cuikedong ~]#

 

tee命令:

COMMAND | tee /PATH/TO/SOMEFILE

前一个命令的数据流输出到屏幕上,并保存到另一个指明文件中,且分发到后一个命令中去:

示例:

[root@cuikedong ~]# head -n3 /etc/passwd | tee /etc/cui/aaa

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@cuikedong ~]# cat /etc/cui/aaa

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@cuikedong ~]#

 

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

bash的基础特性:命令的执行状态结果

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

成功:0

失败:1~255

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

~]# echo $?

示例:

[root@cuikedong /]# ls /

bin   dev  home  lib64  mnt  proc  run   srv  tmp  var

boot  etc  lib   media  opt  root  sbin  sys  usr

[root@cuikedong /]# echo $?

0

注:显示值为“0”命令执行成功

[root@cuikedong /]# lss /

-bash: lss: 未找到命令

[root@cuikedong /]# echo $?

127

注:显示值为“127”命令执行失败

 

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

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

 

bash的基础特性之:命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录:

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径:

例如:/tmp/{a,b}相当于/tmp/a /tmp/b

示例:

创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b?

解答:

[root@cuikedong /]# mkdir -pv /tmp/x/{y1/{a,b},y2}

mkdir: 已创建目录 “/tmp/x”

mkdir: 已创建目录 “/tmp/x/y1”

mkdir: 已创建目录 “/tmp/x/y1/a”

mkdir: 已创建目录 “/tmp/x/y1/b”

mkdir: 已创建目录 “/tmp/x/y2”

[root@cuikedong /]# tree /tmp

/tmp

└── x

├── y1

│   ├── a

│   └── b

└── y2

[root@cuikedong /]#

 

创建a_c,a_d,b_c,b_d:

解答:

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

mkdir: 已创建目录 “/tmp/a_c”

mkdir: 已创建目录 “/tmp/a_d”

mkdir: 已创建目录 “/tmp/b_c”

mkdir: 已创建目录 “/tmp/b_d”

[root@cuikedong /]# ls -l /tmp

总用量 0

drwxr-xr-x. 2 root root  6 12月 10 15:06 a_c

drwxr-xr-x. 2 root root  6 12月 10 15:06 a_d

drwxr-xr-x. 2 root root  6 12月 10 15:06 b_c

drwxr-xr-x. 2 root root  6 12月 10 15:06 b_d

 

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

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

解答:

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

mkdir: 已创建目录 “/tmp/a_c”

mkdir: 已创建目录 “/tmp/a_d”

mkdir: 已创建目录 “/tmp/b_c”

mkdir: 已创建目录 “/tmp/b_d”

[root@cuikedong /]# ls -l /tmp

总用量 0

drwxr-xr-x. 2 root root  6 12月 10 15:06 a_c

drwxr-xr-x. 2 root root  6 12月 10 15:06 a_d

drwxr-xr-x. 2 root root  6 12月 10 15:06 b_c

drwxr-xr-x. 2 root root  6 12月 10 15:06 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

解答:

[root@cuikedong /]# 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@cuikedong /]# 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

[root@cuikedong /]#

 

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

解答:

stat命令:状态(查看文件的元数据)

用法:

stat FILE,,,,,,

示例:

[root@cuikedong ~]# stat /tmp/cui

文件:”/tmp/cui”

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

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

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

环境:unconfined_u:object_r:user_tmp_t:s0

最近访问:2017-12-10 18:45:55.186935129 +0800

最近更改:2017-12-10 18:45:55.186935129 +0800

最近改动:2017-12-10 18:45:55.186935129 +0800

创建时间:-

修改时间戳

touch命令:手动更改时间戳

touch – change file timestamps

touch [OPTION]… FILE…

-c:指定的文件路径不存在时不予创建:

-a:仅修改access time

-m:仅修改modify time

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

示例:

[root@cuikedong ~]# stat /tmp/cui

文件:”/tmp/cui”

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

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

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

环境:unconfined_u:object_r:user_tmp_t:s0

最近访问:2017-12-10 18:45:55.186935129 +0800

最近更改:2017-12-10 18:45:55.186935129 +0800(跟改前)

最近改动:2017-12-10 18:45:55.186935129 +0800

创建时间:-

[root@cuikedong ~]# touch -m -t 201808080808.08 /tmp/cui

[root@cuikedong ~]# stat /tmp/cui

文件:”/tmp/cui”

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

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

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

环境:unconfined_u:object_r:user_tmp_t:s0

最近访问:2017-12-10 18:45:55.186935129 +0800

最近更改:2018-08-08 08:08:08.000000000 +0800(更改后)

最近改动:2017-12-10 18:58:07.301294741 +0800

创建时间:-

 

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

解答:

定义别名:

~]# alias NAME=‘COMMAD’

注意:仅对当前shell进程有效

示例:

[root@cuikedong ~]# alias p=’pwd’

[root@cuikedong ~]# alias

alias p=’pwd’

[root@cuikedong ~]# p

/root

 

引用命令的执行结果:

$(COMMAND)

或‘COMMAND’

bash的基础特性:引用

强引用:”

弱引用:“”

命令引用:“(反引号)

示例:

[root@cuikedong ~]# touch /tmp/cui-`date +%Y-%m-%d-%H-%M-%S`  (命令引用)

[root@cuikedong ~]# ls /tmp

cui

cui-2017-12-10-19-21-41

[root@cuikedong ~]#

 

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

解答:

[root@cuikedong /]# ls -d /var/l*[0-9]*[[:lower:]]

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

解答:

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

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

解答:

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

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

解答:

[root@cuikedong ~]#  touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

[root@cuikedong ~]# ls /tmp

mylinux

tfile-2017-12-10-17-22-13

x

[root@cuikedong ~]#

 

 

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

解答:

[root@cuikedong ~]# mkdir /tmp/mytest1

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

[root@cuikedong ~]# ls -l /tmp/mytest1

总用量 28

drwxr-xr-x.  2 root root 4096 12月 10 18:15 pam.d

-rw-r–r–.  1 root root 1473 12月 10 18:15 passwd

-rw-r–r–.  1 root root 1430 12月 10 18:15 passwd-

drwxr-xr-x. 10 root root  116 12月 10 18:15 pki

drwxr-xr-x.  2 root root   28 12月 10 18:15 plymouth

drwxr-xr-x.  5 root root   52 12月 10 18:15 pm

drwxr-xr-x.  2 root root    6 12月 10 18:15 popt.d

drwxr-xr-x.  2 root root  154 12月 10 18:15 postfix

drwxr-xr-x.  3 root root  123 12月 10 18:15 ppp

drwxr-xr-x.  2 root root   78 12月 10 18:15 prelink.conf.d

-rw-r–r–.  1 root root  233 12月 10 18:15 printcap

-rw-r–r–.  1 root root 1795 12月 10 18:15 profile

drwxr-xr-x.  2 root root  232 12月 10 18:15 profile.d

-rw-r–r–.  1 root root 6545 12月 10 18:15 protocols

drwxr-xr-x.  2 root root   79 12月 10 18:15 pulse

drwxr-xr-x.  2 root root   35 12月 10 18:15 python

 

 

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

解答:

[root@cuikedong ~]# mkdir /tmp/mytest2

[root@cuikedong ~]# cp -r /etc/*.d /tmp/mytest2

[root@cuikedong ~]# ls -l /tmp/mytest2

总用量 4

drwxr-xr-x.  2 root root  223 12月 10 18:26 bash_completion.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 binfmt.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 chkconfig.d

drwxr-xr-x.  2 root root   39 12月 10 18:26 cron.d

drwxr-xr-x.  2 root root   23 12月 10 18:26 depmod.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 dracut.conf.d

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

lrwxrwxrwx.  1 root root   11 12月 10 18:26 init.d -> rc.d/init.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 krb5.conf.d

drwxr-xr-x.  2 root root   74 12月 10 18:26 ld.so.conf.d

drwxr-xr-x.  2 root root  114 12月 10 18:26 logrotate.d

drwxr-xr-x.  2 root root   24 12月 10 18:26 modprobe.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 modules-load.d

drwxr-xr-x.  2 root root   31 12月 10 18:26 my.cnf.d

drwxr-xr-x.  2 root root   70 12月 10 18:26 oddjobd.conf.d

drwxr-xr-x.  2 root root 4096 12月 10 18:26 pam.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 popt.d

drwxr-xr-x.  2 root root   78 12月 10 18:26 prelink.conf.d

drwxr-xr-x.  2 root root  232 12月 10 18:26 profile.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc0.d -> rc.d/rc0.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc1.d -> rc.d/rc1.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc2.d -> rc.d/rc2.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc3.d -> rc.d/rc3.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc4.d -> rc.d/rc4.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc5.d -> rc.d/rc5.d

lrwxrwxrwx.  1 root root   10 12月 10 18:26 rc6.d -> rc.d/rc6.d

drwxr-xr-x. 10 root root  127 12月 10 18:26 rc.d

drwxr-xr-x.  2 root root   25 12月 10 18:26 rsyslog.d

drwxr-xr-x.  2 root root   23 12月 10 18:26 rwtab.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 statetab.d

drwxr-x—.  2 root root    6 12月 10 18:26 sudoers.d

drwxr-xr-x.  2 root root   28 12月 10 18:26 sysctl.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 tmpfiles.d

drwxr-xr-x.  2 root root    6 12月 10 18:26 xinetd.d

drwxr-xr-x.  2 root root  187 12月 10 18:26 yum.repos.d

 

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

解答:

[root@cuikedong ~]# mkdir /tmp/mytest3

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

[root@cuikedong ~]# ls -l /tmp/mytest3

总用量 36

-rw-r–r–. 1 root root   28 12月 10 18:33 ld.so.conf

-rw-r—–. 1 root root  191 12月 10 18:33 libaudit.conf

-rw-r–r–. 1 root root 2391 12月 10 18:33 libuser.conf

-rw-r–r–. 1 root root   19 12月 10 18:33 locale.conf

-rw-r–r–. 1 root root  662 12月 10 18:33 logrotate.conf

-rw-r–r–. 1 root root 5171 12月 10 18:33 man_db.conf

-rw-r–r–. 1 root root  936 12月 10 18:33 mke2fs.conf

-rw-r–r–. 1 root root 1746 12月 10 18:33 nsswitch.conf

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89881

(0)
爱溜达爱溜达
上一篇 2017-12-11 16:53
下一篇 2017-12-11

相关推荐

  • MAN手册使用指南及快捷键键位整理

      MAN手册使用指南及快捷键键位整理 Man mnual 手册说明          基本使用:man 命令 Man一共可分为八个章节: man1,man2,man3,man4……man8 1:用户命令 2:系统调用 3:C库调用 4:设备文件及特殊文件 5:文件格式…

    Linux干货 2016-10-18
  • http2

    练习:     (1)基于主机名实现三个虚拟主机     (2) 每虚拟主机使用独立的访问日志和错误日志     (3) 第三个虚拟主机的/admin要进行用户访问认证     (4) 在第二个虚拟主…

    Linux干货 2016-10-09
  • linux高级文件管理系统

    磁盘配额:    linux是一个多用户的系统,磁盘配额是分配给每个用户的磁盘可用空间的限制。每一用户只能使用最大配额范围内的磁盘空间。root是不受配额限制的,只有普通用户才受限制。   Quota是在RedHatlinux下实现linux磁盘配额的工具,它支持单独的挂载文件系统,而不是一个目录。quota默认是安装的,如果没…

    Linux干货 2016-09-02
  • linux 磁盘管理

    磁盘管理 Linux思想一切皆文件: open(),read(),write(),close() I/O 设备地址 设备类型: 块设备:block,存取单位“块”,磁盘 (随机访问) 字符设备:char,存取单位“字符”,键盘 (逻辑访问) 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通讯。 设备编号: ll /dev/sda* root…

    Linux干货 2016-08-29
  • 正则表达式字符集

    POSIX Description ASCII Unicode Shorthand Java [:alnum:] Alphanumeric characters [a–zA–Z0–9] [\p{L}\p{Nl}  \p{Nd}] \p{Alnum} [:alpha:] Alphabetic characters …

    Linux干货 2017-07-07
  • Linux系统上的文件处理工具

    Linux系统上的文件处理工具 我们都知道在计算机中,存在大量的文件,这些文件中包含大量的信息。可是有些时候,为了工作的效率,我们在茫茫信息中提取出我们所需要的信息,这样的技能就显得尤为重要。Linux系统上为我我们提供了多种多样的文本处理工具,下面我们来简单说一下。 查看文件内容我们可以使用less命令,cat命令,more命令等等 cat cat [OP…

    Linux干货 2016-08-05

评论列表(2条)

  • 马哥教育
    马哥教育 2018-01-02 21:43

    完成的非常好 回答的很全面,加油,再接再励。

    • 爱溜达
      爱溜达 2018-01-03 22:46

      @马哥教育谢谢老师夸奖,继续努力