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

相关推荐

  • selinux

    [root@localhost ~]# ll /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 May 10 16:38 /etc/sysconfig/selinux -> ../selinux/config [root@localhost ~]# cat /etc/selinux/confi…

    Linux干货 2017-05-15
  • 第二周作业

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关实例演示 理论上,linux一切皆文件,对于linux的管理命令均算是文件管理命令。 Linux文件类型常见的有:常规文件、目录文件、块设备文件、字符设备文件、符号链接文件、命名管道、套接字文件等。 -:常规文件 [root@iZ25c28fe7fZ ~]# ls -lh checkmount.s…

    Linux干货 2017-09-25
  • class13 shell编程(五)软件包管理(三)

    一、shell编程(五) 位置变量补充 shift (踢掉参数) shift                #! /bin/bashecho "1st arg …

    Linux干货 2016-08-24
  • Shell 位置参数总结

    描述: 位置参数指的是shell脚本的命令行参数,同时也表示shell函数的额函数参数。 说明: 示例: #!/bin/sh echo "number:$#"     # 传给脚本的参数个数 echo "scname:$0" &n…

    Linux干货 2016-08-16
  • N29第一周作业:初识Linux系统

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    2018-03-04
  • egrep及文本处理工具十三道实例

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

    2018-03-20

评论列表(2条)

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

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

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

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