一, Linux 上文件管理命令
1. 文件管理类命令
(1)mkdir: 创建目录
-p: 自动按需创建目录
-v: 显示详细过程
(2)rmdir(remove empty directory): 删除空目录
-p: 删除某目录后, 如果其父目录为空, 则一并删除之
-v: 显示详细过程
2. 文件查看类命令
(1)分屏查看命令:
more:more FILE 翻屏到文件尾部后自动退出
- Less:Less FILE
- head:head [OPTIONS] FILE
- tail:tail [OPTIONS] FILE
stat: 查询文件的详细信息
3. 文件管理工具:
(1)cp:copy 源文件 目标文件
单源复制: 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 用于实现归档
(2)mv 命令: mv [OPTION]. . . [-T] SOURCE DEST
mv [OPTION]. . . SOURCE. . . DIRECTORY
mv [OPTION]. . . -t DIRECTORY SOURCE. . .
常用选项: -i: 交互式复制, 覆盖之前提醒用户确认
-f: 强制复制
(3)rm 命令: remove [OPTION]. . .FILE. . .
常用选项: -i: 交互式复制, 覆盖之前提醒用户确认
-f: 强制复制
-r,-R: 递归复制
二, bash 的工作特性
命令行展开:
~: 自动展开为用户的家目录, 或指定的用户的家目录
{}: 可承载一个以逗号分隔的路径列表, 并能够将其展开为多个路径. 例如:/tmp/{a,b}相当于 / tmp/a /tmp/b
命令执行状态返回值:
即命令执行的状态结果: bash 通过状态返回值来输出此结果(成功: 0; 失败: 1-255),
命令执行完成后, 其状态返回值保存于 bash 的特殊变量 $? 中,
命令正常执行时, 有的还会有命令返回值,
根据命令及其功能不同, 结果各不相同
引用命令的执行结果:$(COMMAND)或 `COMMAND`
三, 使用命令行展开功能完成
- (1)mkdir -v /tmp{
- a,b
- }_{
- c,d
- }
- (2)mkdir -pv /tmp/mylinux{
- bin,dev,lib64,proc,sbin,sys,boot/grub,etc{
- rc,d/init.d,sysconfig/network-scrips
- },lib/modules
- }
四, 文件的元数据和修改文件时间戳
1. 文件的两类数据
元数据: 文件名, 大小, 类型, 权限, 属主属组, 文件的时间戳(非文件的组成部分)...
数据: 文件里的内容(文件的组成部分)
2. 修改文件时间戳: touch 命令
touch [OPTION]. . . FILE. ..
-c: 指定的文件路径不存在时不予创建
-a: 仅修改 access times
-m: 仅修改 modify times
五, 定义命令别名和引用另一个命令的执行结果
1. 定义命令别名
# alias NAME=`COMMAND`(仅对当前 shell 进程有效)
2. 引用命令执行结果
强引用:' '
弱引用:" "
命令引用:` `
六, 练习
(6)显示 / var 目录下所有以 1 开头, 以一个小写字母结尾且中间至少出现一个数字 (可以有其他字符) 的文件或目录
ls -d /var/1?[[ : lower : ]]
(7)显示 / etc 目录下, 以任意一个数字开头且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
(8)显示 / etc 目录下, 以非字母开头, 后面跟了一个字母以及其他任意长度任意字符的文件或目录
ls -d /etc/[^a-z][a-z]*
(9)在 / tmp 目录下创建以 tfile 开头, 后跟当前日期和时间的文件, 文件名形如: tfile-2016-05-27-09:32-22
ls -d /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
(10)复制 / etc 目录下所有以 p 开头, 以非数字结尾的文件或目录到 / tmp/mytest1 目录中.
cp -r /etc/p*[^0-9] /tmp/mytest1
(11)复制 / etc 目录下所有以. d 结尾的文件或目录至 / tmp/mytest2 目录中.
cp -r /etc/*.d/tmp/mytest2
(12)复制 / etc / 目录下所有以 l 或 m 或 n 开头, 以. conf 结尾的文件至 / tmp/mytest3 目录中.
cp -r /etc/{l,m,n}*.conf/tmp/mytest3
来源: http://www.bubuko.com/infodetail-2788350.html