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…
文件:由两类数据组成,分别是元数据和数据
元数据:如图所示,文件的元数据信息显示的都是文件的属性。包括文件名,文件大小,块大小,位置信息,权限,所有者,所属组,时间戳等信息。
时间戳:
最近访问: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命令。
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
[root@localhost tmp]# cp -r /etc/passwd /tmp/mysysroot/ 递归复制目录
2.bash基础特性之命令返回值和命令展开
一条命令执行之后会有两种返回结果,一种是命令的返回值,还有就是命令状态返回值。
命令执行的状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
#echo $?
命令正常执行时,有的还会有命令返回值:根据命令及其功能不同,结果各不相同;
引用命令的执行结果:
$(COMMAND) 或`COMMAND`
示例:
bash基础特性之命令行展开:
~:自动展开为用户的家目录,或指定的用户的家目录;
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
示例如下:
别名概述
命令除了拥有自身本来的名字外,还可以设置别名,即在本名的基础上多加些参数,将本来的功能加强,方便使用。
获取所有可用别名的定义:
~]# alias
定义别名:
~]# alias NAME=’COMMAND’
注意:仅对当前shell进程有效,即当前登录的客户端
撤销别名:
~]# unalias NAME
3.部分命令的实操
显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
显示/tmp目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102020