Linux上的常用文件管理命令
mkdir
mkdir:make directories,此命令用来创建一个空目录
语法格式:mkdir [OPTION] … DIRECTORY…
常用方法:
-p:自动按需要来创建一个父目录;
-v:verbose,用来显示创建的详细过程;
-m:MODE,用来分配目录的权限;(极少会用到)
*:路径的基名方为命令的作用对象;基名之前的路径必须存在。
示例:
rmdir
rmdir:remove empty directories,此命令用来删除一个空目录;
语法格式:rmdir [OPTION] … DIRECTORY …
常用方法:
-p:删除某个目录后,如果其父目录为空,则一并删除;
-v:用来显示删除操作的详细过程;
示例:
tree
tree:以倒置的树状结构来显示其目录结构
语法格式:tree [options] … [directory] …
常用方法:
tree:显示目录的全部层级结构
tree -L:指定要显示的目录层级
示例:
cp
cp:复制文件或目录;
语法格式:
单源复制:cp [option]…[T]…SOURCE DEST
多源复制:cp [option]…SOURCE…DIRECTORY
cp [option]…-t DIRECTORY SOURCE…
说明:
单源复制:
如果目标不存在:则事先创建此文件,并复制源文件的数据流到目标文件中;
如果目标存在:假如目标是非目录文件,则覆盖目标文件;
假如目标是目录文件,则先在目标目录下创建一个与源文件同名的文件,并复制其数据流;
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制复制目标文件;
-r,-R:递归复制目录;
-d:复制符号链接文件本身,而并非指向源文件;
-a:-dR –preserve=all,archive,用于实现归档;
元数据表:
–preserve=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述的所有属性
示例:
mv
mv:move,移动文件或目录
语法格式:mv [OPTION]…[-T] SOURCE DEST
mv [OPTION]…SOURCE…DIRECTORY
mv [OPTION]…-t DIRECTORY SOURCE
常用方法:
-i:交互式移动
-f:force,强制性移动
示例:
rm
rm:remove,删除文件或目录
语法格式:rm [OPTION]…FILE…
常用选项:
-i:交互式;
-f:force,强制删除;
-r:recursivev,递归删除目录
*:建议所有不用的文件不要直接删除,而是移动到某个专用的目录下;(模拟回收站)
示例:
Bash的工作特性
Bash的基础特性
命令补全:
Shell程序在接受到用户执行命令的请求时,在分析完成之后,最左侧的字符串会被当作命令;
命令查找机制:查找内部命令时,根据PATH环境变量中设定的目录,从左至右逐个搜索目录下的文 件名; ~]# echo $PATH
如果给定的大头字符串能唯一标识某命令程序文件,则直接不全;
如果不能唯一表示某个命令程序文件,敲中两次tab,会给出列表进行选择;
路径补全:
在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件;如果能唯一标 识,一次tab键补全;不然击中两次tab,给出列表选择;
Bash的基础特性之命令行展开
符号:~,{ }
~:自动展开为用户的家目录,或指定的用户的家目录;
{ }:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
- 例:/tmp/{a,b}等价于/tmp/a /tmp/b
Bash的基础特性之命令的执行状态结果
命令执行的状态结果:
Bash通过状态的返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
命令正常执行时,有的还会有命令返回值;根据命令及其功能的不同,结果各不相同;
Bash基础特性之引用
强引用:‘ ‘
弱引用:“ ”
命令引用:` `
Bash基础特性之快捷键
Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除行首至光标所在处之间的所有字符
Ctrl+k:删除光标所在处至尾的所有字符
Ctrl+l:清屏,等价于clear命令
Bash的基础特性之文件名通配
globbing:文件名通配(整体文件名匹配,而非部分)
匹配模式:元字符
*:匹配任意长度的任意字符
例:pa*, *pa*, *pa, *p*a*
示例:
?:匹配任意单个字符
Pa?, ??pa, p?a, p?a?
示例:
[ ]:匹配指定范围内的任意单个字符
几种特殊格式:
[a-z], [A-Z], [0-9], [a-z0-9]
[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:digit:]]:所有数字
[[:alnum:]]:所有的字母和数字
[[:space:]]:所有空白字符
[[:punct:]]:所有标点符号
[^]:匹配指定氛围外的任意单个字符
[^[:upper:]] [^0-9] [^[:alnum:]]
示例:
文件的元数据信息
文件的两类数据
元数据:metadata,文件的属性数据
数据:data,文件的实际数据
元数据信息
File:文件或目录的路径
Size:文件的大小
Access:文件类型,属主,属组和其他用户的权限
Uid:文件的属主ID
Gid:文件的属组ID
…….
Stat命令:
Stat:display file or file system status
语法格式:stat FILE ….
示例:
时间戳信息
access time :文件最近一次的访问时间
modify time :文件最近一次的修改时间
change time :文件属性最近一次改动的时间
touch命令
touch:change file timestamps
语法格式:touch [OPTION]…FILE…
常用方法:
-c:指定的文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
-t:stamp [[CC]YY]MMDDhhmm[.ss]
定义命令的别名
alias命令
alias:此命令用来定义一个命令的别名,可以给命令取一个新的名字。
语法格式:alias NAME = ‘COMMAND’
*:此命令只对当前的shell进程有效
有定义别名就有撤销别名:unalias NAME
练习示例
命令行展开功能
1.创建/tmp目录下的:a_c, a_d, b_c, b_d
完成命令:mkdir -v {a, b}_{c, d}
2.创建/tmp/mylinux目录下的树结构
文件名通配
- 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可有其他字符)的文件或目录。
完成命令:ls /var/l*[a-z]
- 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
完成命令:ls /etc/[0-9]*[^0-9]
- 显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
完成命令:ls /etc/[^[:alpha:]][a-z]*
- 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
完成命令:mkdir -v /tmp/tfile-$(date +%Y-%m-%d-%H-%M-$S)
- 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录下。
完成命令:cp -rv /etc/p*[^0-9] /tmp/mytest1
- 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
完成命令:mkdir /tmp/mytest2
cp -rv /etc/*.d /tmp/mytest2
- 复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
完成命令:mkdir /tmp/mytest3
cp -rv /etc/{l,m,n}*.conf /tmp/mytest3
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92088
评论列表(1条)
mkdir -p 参数P代表parents,表示递归创建目录。
其他没有问题