Linux基础知识(2)

N31
第二周

1.常见的文件管理命令


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


分屏查看命令:more和less

more FILE

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

less命令:

翻屏:

空格:向文末翻一页

b:向文首翻一页

Ctrl+d:向文末翻半页

Ctrl+u:向文首翻半页

回车键:向文末翻一行

k:向文首翻一行

G:跳转至最后一行

#G:跳转至指定行

1G:跳转至文件首部

文本搜索:

/keyword:从文件首到文件尾部依次查找:不区分大小写

?keyword:从文件尾部到首部依次查找

n:与查找命令方向相同

N:与查找命令方向相反

head命令:

查看文件的前n行;默认前10行

head [options] FILE

tail命令:

查看文件的后n行;

tail [options] FILE

-n #

-#

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

stat命令:(显示元数据信息)

stat – display file or file system status

stat FILE…

文件:由两类数据组成,分别是元数据和数据

Linux基础知识(2)

元数据信息

元数据:如图所示,文件的元数据信息显示的都是文件的属性。包括文件名,文件大小,块大小,位置信息,权限,所有者,所属组,时间戳等信息。

时间戳:

最近访问:2018-06-22 14:04:07.596960757 +0800 access time(atime)  最后读取文件内容的时间

最近更改:2018-06-22 14:04:07.596960757 +0800 modify time(mtime)  数据改变

最近改动:2018-06-22 14:04:07.596960757 +0800 changge time(ctime) 元数据改变(数据改变必定引起元数据改变)

修改时间戳用下面的touch命令。

Linux基础知识(2)

修改时间戳示例

touch命令:

touch – change file timestamps,创建的是空文件

touch [OPTION]… FILE…

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

-a: 仅修改access time;

-m:仅修改modify time;

-t STAMP  自己指定要改的时间戳

[[CC]YY]MMDDhhmm[.ss]


文件管理工具: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…

如:cp aa bb cc mysysroot/    cp /etc/{issue,fstab} /tmp/

如果DEST不存在:错误;

如果DEST存在:

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

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

常用选项:

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

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

-r, -R:递归复制目录;复制整个目录,包括里面的文件

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

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

mv命令:move 移动或重命名文件

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE..

常用选项:

-i:交互式;

-f:force

rm命令:remove  删除文件或目录

rm [OPTION]… FILE…

常用选项:

-i:interactive  交互式

-f:force 强制

-r: recursive  递归删除

示例如下:

[root@localhost tmp]# cat passwd

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

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

[root@localhost tmp]# tac passwdxz:x:1000:1000:xz:/home/xz:/bin/bashtcpdump:x:72:72::/:/sbin/nologin

[root@localhost tmp]# head -2 passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin

[root@localhost tmp]# tail -2 passwdtcpdump:x:72:72::/:/sbin/nologinxz:x:1000:1000:xz:/home/xz:/bin/bash

Linux基础知识(2)

[root@localhost tmp]# cp -r /etc/passwd /tmp/mysysroot/    递归复制目录

Linux基础知识(2)

touch建立空目录

2.bash基础特性之命令返回值和命令展开

一条命令执行之后会有两种返回结果,一种是命令的返回值,还有就是命令状态返回值。

命令执行的状态结果:

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

成功:0

失败:1-255

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

#echo $?

命令正常执行时,有的还会有命令返回值:根据命令及其功能不同,结果各不相同;

引用命令的执行结果:

$(COMMAND) 或COMMAND

示例:

Linux基础知识(2)

创建以时间为名的目录
Linux基础知识(2)

上个命令正常执行

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

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

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

示例如下:

Linux基础知识(2)

Linux基础知识(2)

Linux基础知识(2)

别名概述

命令除了拥有自身本来的名字外,还可以设置别名,即在本名的基础上多加些参数,将本来的功能加强,方便使用。

获取所有可用别名的定义:

~]# alias

定义别名:

~]# alias NAME=’COMMAND’

注意:仅对当前shell进程有效,即当前登录的客户端

撤销别名:

~]# unalias NAME

Linux基础知识(2)

3.部分命令的实操

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

Linux基础知识(2)

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

Linux基础知识(2)

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

Linux基础知识(2)

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

Linux基础知识(2)

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

Linux基础知识(2)

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

Linux基础知识(2)

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

Linux基础知识(2)

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

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code