第一次作业

前端之家收集整理的这篇文章主要介绍了第一次作业前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

1linux的发行版介绍

slackwareSlackwareLinux是由PatrickVolkerding开发的GNU/Linux发行版,一直坚持KISS原则。

suse:在欧洲比较流行的linux发行版本

slessuse企业版

opensusesuse桌面免费发行版本

debian:服务器版,消耗资源少,稳定。

ubuntu

mint

redhat:成立于1992

rhelredhatenterprise linux,用于企业商用,为了保证服务器稳定,每18个月发行一个新版本

centos:开源版本,和RHEL几乎一样,兼容rhel的格式,已被redhat收购。

fedoralinux免费桌面版,得到redhat官方支持,用于测试新软件,每6个月发行一个新版本

Archlinux

Gentoo

LFS:Linux From scratch

Androld:kernel+busyBox+java虚拟机,主要用于移动终端

2)不同发行版之间的联系

都是在开源的linux内核代码进行再次开发而形成不同的发行版,而且必须支持GNU中包含的自由软件协定,GNU包含的自由软件协定包含GPLv2GPLv3LGPL。各发行版其中SLESsuse的企业版本,opensusesuse的免费桌面版,ubuntumint都是基于dibian的桌面版,RHELredhat面向企业商用的服务器版,fedora属于redhat的桌面版本,由redhat赞助fedora社群免费维护,centos主要面向企业服务器,由开源社区提供免费技术支持,后来被redhat收购,目前仍然免费。

3)各发行版之间的区别

包管理系统不同,SLESFedoraopenSUSEcentosRHEL采用rpm包管理系统,包文件rpm为扩展名;Ubuntu系列,Debian系列采用DPKG包管理系统。

2、说明Linux系统上命令的使用格式;详细介绍ifconfigechottystartxexportpwdhistoryshutdownpoweroffreboothwclockdate命令的使用,并配合相应的示例来阐述。

linux系统命令的使用格式

COMMAND[OPTIONS...] [ARGUMENTS...]

OPTIONS:用于启用或关闭命令的某个功能支持长选项(例如--long--human--readable)和短选项(例如-a-l),多个短选项还可以合并(例如-a -l可以合并为-al

argument:命令的作用对象,向命令提供的数据。

2ifconfig命令说明

命令介绍:ifconfig命令主要用于显示与配置网络接口;

参数:

-a显示所有接口状态

示例:

[root@localhost~]#ifconfig-a
eno16777736:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500
inet192.168.138.128netmask255.255.255.0broadcast192.168.138.255
inet6fe80::20c:29ff:fe54:7f72prefixlen64scopeid0x20<link>
ether00:0c:29:54:7f:72txqueuelen1000(Ethernet)
RXpackets3867bytes371830(363.1KiB)
RXerrors0dropped0overruns0frame0
TXpackets1439bytes214471(209.4KiB)
TXerrors0dropped0overruns0carrier0collisions0

lo:flags=73<UP,LOOPBACK,RUNNING>mtu65536
inet127.0.0.1netmask255.0.0.0
inet6::1prefixlen128scopeid0x10<host>
looptxqueuelen0(LocalLoopback)
RXpackets56bytes4796(4.6KiB)
RXerrors0dropped0overruns0frame0
TXpackets56bytes4796(4.6KiB)
TXerrors0dropped0overruns0carrier0collisions0

virbr0:flags=4099<UP,MULTICAST>mtu1500
inet192.168.122.1netmask255.255.255.0broadcast192.168.122.255
ether00:00:00:00:00:00txqueuelen0(Ethernet)
RXpackets0bytes0(0.0B)
RXerrors0dropped0overruns0frame0
TXpackets0bytes0(0.0B)
TXerrors0dropped0overruns0carrier0collisions0

virbr0-nic:flags=4099<UP,MULTICAST>mtu1500
ether52:54:00:ff:68:92txqueuelen500(Ethernet)
RXpackets0bytes0(0.0B)
RXerrors0dropped0overruns0frame0
TXpackets0bytes0(0.0B)
TXerrors0dropped0overruns0carrier0collisions0

-s:通过短格式显示当前所有网络接口的状态

示例:

[root@localhost~]#ifconfig-s
IfaceMTURX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg
eno16777150039110001451000BMRU
lo655365600056000LRU
virbr0150000000000BMU
virbr0-n150000000000BMU

-v显示更详细的信息,包含一些错误条件。

示例:

[root@localhost~]#ifconfig-v
eno16777736:flags=4163<UP,MULTICAST>mtu1500
inet192.168.138.128netmask255.255.255.0broadcast192.168.138.255
inet6fe80::20c:29ff:fe54:7f72prefixlen64scopeid0x20<link>
ether00:0c:29:54:7f:72txqueuelen1000(Ethernet)
RXpackets4203bytes402414(392.9KiB)
RXerrors0dropped0overruns0frame0
TXpackets1519bytes237445(231.8KiB)
TXerrors0dropped0overruns0carrier0collisions0

lo:flags=73<UP,sans-serif;color:#555555;"> interface
(接口):在命令后指定特定接口名称可单独显示此接口的当前状态信息

示例:

[root@localhost~]#ifconfiglo
lo:flags=73<UP,RUNNING>mtu65536
inet127.0.0.1netmask255.0.0.0
inet6::1prefixlen128scopeid0x10<host>
looptxqueuelen0(LocalLoopback)
RXpackets56bytes4796(4.6KiB)
RXerrors0dropped0overruns0frame0
TXpackets56bytes4796(4.6KiB)
TXerrors0dropped0overruns0carrier0collisions0

down关闭指定的网络接口

示例:

[root@localhostDesktop]#ifconfigeno16777736down
[root@localhostDesktop]#ifconfigeno16777736
eno16777736:flags=4098<BROADCAST,MULTICAST>mtu1500
ether00:0c:29:54:7f:72txqueuelen1000(Ethernet)
RXpackets5603bytes541048(528.3KiB)
RXerrors0dropped0overruns0frame0
TXpackets2017bytes333258(325.4KiB)
TXerrors0dropped0overruns0carrier0collisions0

up:启动指定的网络接口

示例:

[root@localhostDesktop]#ifconfigeno16777736up
[root@localhostDesktop]#ifconfigeno16777736
eno16777736:flags=4163<UP,MULTICAST>mtu1500
inet192.168.138.128netmask255.255.255.0broadcast192.168.138.255
inet6fe80::20c:29ff:fe54:7f72prefixlen64scopeid0x20<link>
ether00:0c:29:54:7f:72txqueuelen1000(Ethernet)
RXpackets5617bytes542752(530.0KiB)
RXerrors0dropped0overruns0frame0
TXpackets2048bytes337901(329.9KiB)
TXerrors0dropped0overruns0carrier0collisions0

arp:开启关闭指定网卡的arp协议

ifconfiginterface -arp关闭arp协议,此时使用ssh无法连接linux主机

ifconfiginterface arp:开启arp协议,此时ssh连接linux主机正常

promisc:开启关闭指定网卡的混杂模式,混杂模式主要用于网络诊断

ifconfiginterface -promisc关闭指定网卡的混杂模式

ifconfiginterface promisc:开启指定网卡的混杂模式

allmulti:开启关闭指定网卡的组播模式

ifconfiginterface -multicast关闭指定网卡组播

ifconfiginterface multicast:开启指定网卡组播

mtu n:设置指定网卡的最大传输速率

示例:

[root@localhost~]#ifconfigeno16777736mtu800
[root@localhost~]#ifconfigeno16777736
eno16777736:flags=4419<UP,PROMISC,MULTICAST>mtu800
inet192.168.138.128netmask255.255.255.0broadcast192.168.138.255
ether00:0c:29:54:7f:72txqueuelen1000(Ethernet)
RXpackets6460bytes622692(608.0KiB)
RXerrors0dropped0overruns0frame0
TXpackets2561bytes414568(404.8KiB)
TXerrors0dropped0overruns0carrier0collisions0

dstaddr:设置指定网络接口点对点连接,重启失效。

示例:

ifconfigeno16777736dstaddr192.168.38.0

netmask:设置指定网卡的子网掩码

add addr/prefixlen:设置指定网卡IPv6IP地址

deladdr/prefixlen删除指定网卡的 tunnel aa.bb.cc.dd:建立IPv6IPv4间的隧道通信协议

irq addr:设置网卡的中断号

[-]pointopoint [addr]:与指定地址的网络设备建立直接连线,此模式具有保密功能,不能通过SSH远程连接使用此命令。

示例:

ifconfig eno16777736-pointopoint192.168.138.1

address:为指定网卡设置临时IP地址,重启后失效。

3echo命令说明

echo为回显命令

示例:

[root@localhost ~]# echo"How areyou"
How are you

-n禁止自动增加换行符号

示例:

[root@localhost ~]# echo -n"How areyou"
How are you[root@localhost ~]#

-e:允许使用转义符;

\n:换行

\t:制表符

示例:

[root@localhost~]#echo-e"Hi\nboy\nHi\tgirl"
Hi
boy
Higirl

echo"$VAR_NAME":变量会替换,双引号表弱引用

echo'$VAR_NAME':变量不会替换,强引用

示例:

[root@localhost~]#echo"$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost~]#echo'$PATH'
$PATH

4)tty命令说明

用途:查看当前的终端设备

示例:

[root@localhost~]#tty
/dev/pts/0
[root@localhost~]#tty--version
tty(GNUcoreutils)8.22

5startx

用途:用于在服务器或终端商启动X会话

强制启动X会话

startx-w

X终端启动X会话,并注销用户telnet会话

startx;kill-9$$

6export命令说明

用途:用于为变量赋值,单独使用时可打印当前系统所有环境变量。

[root@localhost~]#exporta=b
[root@localhost~]#echo$a
b

7pwd命令说明

用途:用于显示当前目录

示例:

[root@localhostetc]#pwd
/etc

8history命令说明

用途:用来管理命令的历史记录,当前命令记录保存在内存中,当登出系统时会追加到用户家目录的隐藏文件.bash_history中。

环境变量:

HISTSIZE:记录的命令行数

HISTFILE:命令历史文件

HISTFILESIZE:命令历史文件最大记录命令数

示例:

[root@localhost~]#echo$HISTSIZE
1000
[root@localhost~]#echo$HISTFILE
/root/.bash_history
[root@localhost~]#echo$HISTFILESIZE
1000

命令参数:

-a:追加本地登录新执行的命令历史列表到命令历史文件中,例:history-a

-d offset:通过命令编号删除命令历史中指定命令,例:history-d 30

-c:清空命令历史,例:history-c

调用历史中的命令:

!#调用命令历史中第#号命令,例:!30

!string:调用命令历史中最近一个以string开头的命令,例:!h

!!:重复运行上一条命令,例如:!!

调用前一条命令的参数

!$:调用上一条命令的参数

[root@localhostetc]#cd/root
[root@localhost~]#ls-l!$
ls-l/root
total15480
-rw-------.1rootroot1441Nov2804:59anaconda-ks.cfg
-rw-------.1rootroot5304320Nov2721:37core.13122
-rw-------.1rootroot5210112Dec113:54core.7223
-rw-------.1rootroot5328896Dec114:00core.7730
drwxr-xr-x.2rootroot22Dec114:05Desktop
drwxr-xr-x.2rootroot6Nov2820:58Documents
drwxr-xr-x.2rootroot6Nov2820:58Downloads
-rw-------.1rootroot1489Nov2721:11initial-setup-ks.cfg
drwxr-xr-x.2rootroot6Nov2820:58Music
drwxr-xr-x.2rootroot6Nov2820:58Pictures
drwxr-xr-x.2rootroot6Nov2820:58Public
drwxr-xr-x.2rootroot6Nov2820:58Templates
drwxr-xr-x.2rootroot6Nov2820:58Videos

ESC,.:功能同上,先输入命令,然后按ESC后在按.号可以直接调用前一条命令的参数。

HISTCONTROL:history的环境变量

ignoredups:忽略重复且连续的命令,例如连续输入多次‘ls-l’,则history仅记录一条

ignorespace:忽略以空格开始的命令,例如输入命令‘ls-l’history将不记录此命令

ignoreboth:ignoredupsignorespace将同时生效。

HISTCONTROL环境变量配置方法

[root@localhost~]#echo$HISTCONTROL
ignoredups
[root@localhost~]#exportHISTCONTROL='ignoreboth'
[root@localhost~]#echo$HISTCONTROL
ignoreboth

9)shutdown命令说明

用途:用于操作系统退出、注销、关机、重启等操作,还可以指定关机时间。

命令格式:shutdown [option]... TIME[MASSAGE]

参数解析:

-r:立即重启,例:shutdown-r

-h:立即关机,例:shutdown-h

-c:取消关机操作,例:shutdown-c

TIME使用解析:

now:立刻执行,例:shutdownnow

+m:相对于现在多少分钟后关机,例:shutdown+m

hhmm:绝对时间,具体关机时间shutdown10:30

10poweroff命令说明

用途:关机。

-f:不调用shutdown,强制关机

-p:关机且切断电源

11reboot命令说明

用途:重启命令

-f:强制重启,例:reboot-f

12hwclock命令说明

用途:显示和设置硬件、系统时钟同步

格式:hwclock[-ARGUMENT]

-s:将系统时钟同步为硬件时钟

-w:将硬件时钟同部为系统时钟

13date命令说明

用途:显示和设置时间

格式:

显示date[OPTION]... [+FORMAT]

参数:

%D:按照年//日的方式显示时间

%F:按照年--日的方式显示时间

%T:按照时--秒的方式显示时间

示例:

[root@localhost~]#date+%F-%D-%T
2016-12-01-12/01/16-21:00:04

设置:date[MMDDhhmm[[CC]YY][.ss]]

MM:月分

DD:几号

hh:小时

mm:分钟

YY:两位年份

CCYY:四位年份

.ss:秒钟

示例:

[root@localhost~]#date120121002016.40
ThuDec121:00:40CST2016

3、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

1)linux帮助信息获取方法

命令的路径与帮助文档查询方式:

which查询命令的二进制文件存放路径

whereis查询命令所有帮助文档章节存放路径

[root@localhost~]#whichcd
/usr/bin/cd
[root@localhost~]#whereiscd
cd:/usr/bin/cd/usr/share/man/man1/cd.1.gz/usr/share/man/man1p/cd.1p.gz

内部命令查看帮助的方法

help COMMAND

[root@localhost~]#helpcd
cd:cd[-L|[-P[-e]]][dir]
Changetheshellworkingdirectory.

ChangethecurrentdirectorytoDIR.ThedefaultDIRisthevalueofthe
HOMEshellvariable.

ThevariableCDPATHdefinesthesearchpathforthedirectorycontaining
DIR.AlternativedirectorynamesinCDPATHareseparatedbyacolon(:).
Anulldirectorynameisthesameasthecurrentdirectory.IfDIRbegins
withaslash(/),thenCDPATHisnotused.

Ifthedirectoryisnotfound,andtheshelloption`cdable_vars'isset,
thewordisassumedtobeavariablename.Ifthatvariablehasavalue,
itsvalueisusedforDIR.

Options:
-Lforcesymboliclinkstobefollowed
-Pusethephysicaldirectorystructurewithoutfollowingsymbolic
links
-eifthe-Poptionissupplied,andthecurrentworkingdirectory
cannotbedeterminedsuccessfully,exitwithanon-zerostatus

Thedefaultistofollowsymboliclinks,asif`-L'werespecified.

ExitStatus:
Returns0ifthedirectoryischanged,andif$PWDissetsuccessfullywhen
-Pisused;non-zerootherwise.

外部命令查看帮助的方法

COMMAND --helpCOMMAND -h

[root@localhost~]#ls--help
Usage:ls[OPTION]...[FILE]...
ListinformationabouttheFILEs(thecurrentdirectorybydefault).
Sortentriesalphabeticallyifnoneof-cftuvSUXnor--sortisspecified.

Mandatoryargumentstolongoptionsaremandatoryforshortoptionstoo.
-a,--alldonotignoreentriesstartingwith.
-A,--almost-alldonotlistimplied.and..
--authorwith-l,printtheauthorofeachfile

[root@localhost~]#copy-h
bash:copy:commandnotfound...
[root@localhost~]#useradd-h
Usage:useradd[options]LOGIN
useradd-D
useradd-D[options]

使用手册(manual);manCOMMAND

[root@localhosttest]#manls
LS(1)UserCommandsLS(1)

NAME
ls-listdirectorycontents

SYNOPSIS
ls[OPTION]...[FILE]...

DESCRIPTION.......

信息页infoCOMMAND

[root@localhosttest]#clear
[root@localhosttest]#infotree
File:*manpages*,Node:tree,Up:(dir)

程序自身的帮助文档:README,INSTALL,Changelog

发行版的官方文档

Google

man的章节划分

man1用户命令

man2:系统调用

man3: C调用

man4:设备文件及特殊文件

man5:配置文件格式

man6:游戏

man7:杂项

man8:管理类的命令

man手册存放在/usr/share/man中,有些命令不止在一个章节,具体存在的章节可以通过whatis进行查看。

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

Linux上的文件管理命令主要有:cpmvrm

2)复制命令:cp

cp使用命令格式:

cp [OPTION]... [-T] SOURCEDEST

cp [OPTION]... SOURCE...DIRECTORY

cp [OPTION]... -t DIRECTORYSOURCE...

cp src(源)DEST(目标)

src文件

DEST文件

DEST不存在:cp命令会在在目标中创建一个DEST文件,并将src文件内容填充至DEST

示例:

[root@localhosttest]#ls
file1
[root@localhosttest]#cpfile1/root/test/file2
[root@localhosttest]#ls
file1file2

DEST存在:cp命令会将src中的内容填充到DEST文件中,俗称覆盖,建议加‘-i’参数

示例:

-rw-r--r--.1rootroot16Dec414:48file1
-rw-r--r--.1rootroot16Dec414:50file2
[root@localhosttest]#cpfile1file2
cp:overwrite
‘file2’?y

cpsrc...DEST

src为多个文件

DEST必须存在,且为目录

cp -r src DEST

src是目录

如果DEST不存在:则会创建DEST目录,然后将制定文件复制到DEST目录中

示例:

[root@localhosttest]#ll
total0
drwxr-xr-x.2rootroot6Dec415:00d1
[root@localhosttest]#cp-rd1d2
[root@localhosttest]#ll
total0
drwxr-xr-x.2rootroot6Dec415:00d1
drwxr-xr-x.2rootroot6Dec415:01d2

DEST是目录且已存在:则会将src复制到DEST目录下

示例:

[root@localhosttest]#ll
total0
drwxr-xr-x.2rootroot6Dec415:00d1
drwxr-xr-x.2rootroot6Dec415:01d2
[root@localhosttest]#cp-rd1d2
[root@localhosttest]#lld2
total0
drwxr-xr-x.2rootroot6Dec415:03d1

如果DEST文件:则会报错

示例:

[root@localhosttest]#ll
total0
drwxr-xr-x.2rootroot6Dec415:00d1
-rw-r--r--.1rootroot0Dec415:05d2
[root@localhosttest]#cp-rd1d2
cp:cannotoverwritenon-directory
‘d2’withdirectory‘d1’

cp常用选型:

-i:交互式,当文件存在时提示是否覆盖

-r,-R:递归复制目录及内部的所有内容

-a:归档,相当于-dR--preserv=all:复制时保留源文件和目录的所有属性

-d--no-dereference--preserv=links:复制时保留源文件链接

--preserv[=ATTR_LIST]

mode:权限

ownership:属主属组

timestamp:时间戳

links链接

xattr:扩展属性

context:连接上下文

all:以上所有属性

-p: --preserv=mode,ownership,timestamp:保留文件权限、属主属组、时间戳属性

-v: --verbose显示过程

-f: --force:强制覆盖。

2)移动命令mv

命令使用格式:

mv [OPTION]... [-T] SOURCEDEST

mv [OPTION]... SOURCE...DIRECTORY

mv [OPTION]... -t DIRECTORYSOURCE...

常用选项:

-i:交互式,当文件存在时提示是否覆盖

-f:强制覆盖

3删除命令 rm [OPTION]... FILE...

-i:交互式

-f:强制删除

-r:递归删除目录及内部的所有内容

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

1)命令执行状态返回值

说明:bash使用一个特殊的环境变量$?保存最近一条命令的执行状态结果,如果执行成功则$?返回值为0,如果执行失败$?则返回值1-255其中的任何一个数字。

示例:

[root@localhost~]#la
bash:la:commandnotfound...
[root@localhost~]#echo$?
127
[root@localhost~]#ls
anaconda-ks.cfgcore.7730DownloadsPicturesVideos
core.13122Desktopinitial-setup-ks.cfgPublic
core.7223DocumentsMusicTemplates
[root@localhost~]#echo$?
0

2)命令行展开

bash可以已bash可以解释的符号来代替命令中的某些参数

~:表示当前用的家目录

示例:

[root@localhost~]#cd/
[root@localhost/]#cd~

~USERNAME:表示进入某个用户的家目录

示例:

[root@localhost~]#cd~zhangsan
[root@localhostzhangsan]#

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

示例:

[root@localhost1]#mkdir-v{a,b}_{c,d}
mkdir:createddirectory
‘a_c’
mkdir:createddirectory‘a_d’
mkdir:createddirectory‘b_c’
mkdir:createddirectory‘b_d’

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

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

[root@localhosttmp]#mkdir-v/tmp/{a,d}
mkdir:createddirectory
‘/tmp/a_c’
mkdir:createddirectory‘/tmp/a_d’
mkdir:createddirectory‘/tmp/b_c’
mkdir:createddirectory‘/tmp/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@localhosttmp]#mkdir-vp/tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconnfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local/{bin,sbin}},var,lock,log,run}
mkdir:createddirectory
‘/tmp/mylinux’
mkdir:createddirectory‘/tmp/mylinux/bin’
mkdir:createddirectory‘/tmp/mylinux/boot’
mkdir:createddirectory‘/tmp/mylinux/boot/grub’
mkdir:createddirectory‘/tmp/mylinux/dev’
mkdir:createddirectory‘/tmp/mylinux/etc’
mkdir:createddirectory‘/tmp/mylinux/etc/rc.d’
mkdir:createddirectory‘/tmp/mylinux/etc/rc.d/init.d’
mkdir:createddirectory‘/tmp/mylinux/etc/sysconnfig’
mkdir:createddirectory‘/tmp/mylinux/etc/sysconnfig/network-scripts’
mkdir:createddirectory‘/tmp/mylinux/lib’
mkdir:createddirectory‘/tmp/mylinux/lib/modules’
mkdir:createddirectory‘/tmp/mylinux/lib64’
mkdir:createddirectory‘/tmp/mylinux/proc’
mkdir:createddirectory‘/tmp/mylinux/sbin’
mkdir:createddirectory‘/tmp/mylinux/sys’
mkdir:createddirectory‘/tmp/mylinux/tmp’
mkdir:createddirectory‘/tmp/mylinux/usr’
mkdir:createddirectory‘/tmp/mylinux/usr/{local’
mkdir:createddirectory‘/tmp/mylinux/usr/{local/bin}’
mkdir:createddirectory‘/tmp/mylinux/usr/{local/sbin}’
mkdir:createddirectory‘/tmp/mylinux/var’
mkdir:createddirectory‘/tmp/mylinux/lock’
mkdir:createddirectory‘/tmp/mylinux/log’
mkdir:createddirectory‘/tmp/mylinux/run’
[root@localhostmylinux]#tree
.
|--bin
|--boot
|`--grub
|--dev
|--etc
||--rc.d
||`--init.d
|`--sysconnfig
|`--network-scripts
|--lib
|`--modules
|--lib64
|--lock
|--log
|--proc
|--run
|--sbin
|--sys
|--tmp
|--usr
|`--{local
||--bin}
|`--sbin}
`--var

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

1文件的元数据信息

atimeaccesstime文件访问时间

mtimemodifytime文件修改时间

ctime: change time元数据atimemtime改变时间,这个数值是不能自行修改

2)元数据查看命令stat

[root@localhost~]#stat1
File:
‘1’
Size:0Blocks:0IOBlock:4096regularemptyfile
Device:fd00h/64768dInode:207178860Links:1
Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)
Context:unconfined_u:object_r:admin_home_t:s0
Access:2016-12-0319:47:31.927239446+0800
Modify:2016-12-0319:47:31.927239446+0800
Change:2016-12-0319:47:31.927239446+0800
Birth:-

3文件时间戳修改方式

touch FILENAME:同时修改mtimectime三个时间戳

示例:

[root@localhost~]#stat1
File:
‘1’
Size:0Blocks:0IOBlock:4096regularemptyfile
Device:fd00h/64768dInode:207178860Links:1
Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)
Context:unconfined_u:object_r:admin_home_t:s0
Access:2016-12-0319:50:20.315781438+0800
Modify:2016-12-0319:50:20.315781438+0800
Change:2016-12-0319:50:20.315781438+0800
Birth:-
[root@localhost~]#touch1
[root@localhost~]#stat1
File:‘1’
Size:0Blocks:0IOBlock:4096regularemptyfile
Device:fd00h/64768dInode:207178860Links:1
Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)
Context:unconfined_u:object_r:admin_home_t:s0
Access:2016-12-0319:50:45.119450475+0800
Modify:2016-12-0319:50:45.119450475+0800
Change:2016-12-0319:50:45.119450475+0800
Birth:-

touch -aFILENAME:修改文件访问时间为当前时间

示例:

[root@localhost~]#touch-a1
[root@localhost~]#stat1
File:
‘1’
Size:0Blocks:0IOBlock:4096regularemptyfile
Device:fd00h/64768dInode:207178860Links:1
Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)
Context:unconfined_u:object_r:admin_home_t:s0
Access:2016-12-0319:53:15.623510063+0800
Modify:2016-12-0319:50:45.119450475+0800
Change:2016-12-0319:53:15.623510063+0800
Birth:-

touch -m FILENAME:修改文件文件修改时间为当前时间

示例:

[root@localhost~]#touch-m1
[root@localhost~]#stat1
File:
‘1’
Size:0Blocks:0IOBlock:4096regularemptyfile
Device:fd00h/64768dInode:207178860Links:1
Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)
Context:unconfined_u:object_r:admin_home_t:s0
Access:2016-12-0319:53:15.623510063+0800
Modify:2016-12-0319:54:32.904594588+0800
Change:2016-12-0319:54:32.904594588+0800
Birth:-

touch {-a,-m}-t[[CC]YY]MMDDhhmm[.ss]修改文件访问时间或文件修改时间为指定之间

示例:

[root@localhost~]#touch-a-t201505041130.301
[root@localhost~]#stat1
File:
‘1’
Size:0Blocks:0IOBlock:4096regularemptyfile
Device:fd00h/64768dInode:207178860Links:1
Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)
Context:unconfined_u:object_r:admin_home_t:s0
Access:2015-05-0411:30:30.000000000+0800
Modify:2016-12-0319:54:32.904594588+0800
Change:2016-12-0319:57:19.990101432+0800
Birth:-

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

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

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

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

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

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

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

[root@localhost~]#touch/tmp/tfile-`date+"%Y-%m-%d-%H-%M-%S"`
[root@localhost~]#ll/tmp/tfil*
-rw-r--r--.1rootroot0Dec420:42/tmp/tfile-2016-12-04-20-42-59

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

[root@localhosttmp]#cp /tmp/mytest2;cp-avr/etc/*.d/tmp/mytest2

13、复制/etc/目录下所有以lmn开头,以.conf结尾的文件/tmp/mytest3目录中。

[root@localhosttmp]#cp /tmp/mytest3;cp-avr/etc/[lmn]*.conf/tmp/mytest3
‘/etc/ld.so.conf’->‘/tmp/mytest3/ld.so.conf’‘/etc/libaudit.conf’->‘/tmp/mytest3/libaudit.conf’‘/etc/libuser.conf’->‘/tmp/mytest3/libuser.conf’‘/etc/locale.conf’->‘/tmp/mytest3/locale.conf’‘/etc/logrotate.conf’->‘/tmp/mytest3/logrotate.conf’‘/etc/man_db.conf’->‘/tmp/mytest3/man_db.conf’‘/etc/mke2fs.conf’->‘/tmp/mytest3/mke2fs.conf’‘/etc/mtools.conf’->‘/tmp/mytest3/mtools.conf’‘/etc/nfsmount.conf’->‘/tmp/mytest3/nfsmount.conf’‘/etc/nsswitch.conf’->‘/tmp/mytest3/nsswitch.conf’‘/etc/numad.conf’->‘/tmp/mytest3/numad.conf’

猜你在找的Ubuntu相关文章