- Linux上的文件管理类命令有哪些,其常用的使用方法及其相关的示例演示。
1.ls:显示目录文件
-a:显示所有文件,包括隐藏文件 -A:显示所有文件,包括隐藏文件,但是不包含当前目录和父级目录 -l:列出长数据串,包含文件的属性、权限、所有者、所属组、大小等等 -d:配合-l一起使用,查看目录自身属性(不是目录内部的文件列表) 2.cd:切换目录 cd / #切换到根目录 cd(cd ~) #切换到当前用户的家目录 cd - #切换到上一次所在的目录 cd .. #切换到父级目录 3.pwd:显示当前所在的工作目录 -P:显示当前目录的实际物理地址 4.touch:创建空文件 在创建的文件名前加.就是创建隐藏文件 5.mkdir:创建新的目录 6.cp:复制文件/目录 单源复制:cp[OPTION]… [-T] SOURCE DEST 多源复制:cp[OPTION]… SOURCE… DIRECTORY cp[OPTION]… -t DIRECTORY SOURCE… 在单源复制时,如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;如果DEST存在:(1)0DEST是非目录文件:则覆盖目标文件;(2)DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;对于多源复制来说,如果DEST不存在,则显示错误; 如果DEST存在:(1)DEST是非目录文件,则显示错误;(2)如果DEST是目录文件,则分别复制每个文件至目标目录中,并保持原名 7.mv:移动文件或给文件改名 8.rm:删除文件/目录 -r:递归删除 -f:强制删除 9.cat:显示文件内容 -n:显示行号 - Bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示:
命令执行状态返回值: bash:通过状态返回值来输出此结果 成功:0 失败:1~255 注意:命令执行完成之后,其状态返回值保存于bash的特殊变量$?中; 命令正常执行时,有的还会有命令返回值,根据命令及其功能的不同,其结果各不相同; 命令行展开: ~:自动展开为用户家目录,或指定的用户家目录; { }:可承载一个以逗号分割的路径列表,并能够将其展开为多个路径; - 使用命令行展开功能来完成以下练习:
- 创建/tmp目录下的:a_c,a_b,a_c,a_d
- 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
任何文件系统中的数据分为数据和元数据: 数据:指普通文件中的实际数据 元数据:指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等,保存在inode中 用命令stat就可以看到某文件的元数据信息,包含文件名称、大小、访问权限、块的分布信息、访问时间、修改时间、改变时间等 使用命令touch来修改文件的时间戳 touch [参数] [文件] touch -a:仅仅修改access time touch -c:若文件不存在则自动创建 touch -m:仅修改modify time touch STAMP:指定要改为哪一刻时间 三个时间戳 access time:访问时间,简写为atime,读取文件内容 modify time: 修改时间, 简写为mtime,改变文件内容(数据) change time: 改变时间, 简写为ctime,元数据发生改变 - 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果
命令的别名:alias alias:显示当前shell进程所有可用的命令别名 alias name=“别名” 特别提醒:在命令行定义的别名,仅对当前shell进程生效,如果想永久生效,要写入配置文件中 仅对当前用户:~/.bashrc 对所有用户有效:/etc/bashrc 引用命令的执行结果: $(command) ‘command’ - 显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一个数字(可以有其他字符)的文件或目录。
ls -d /var/l*[0-9]*[a-z]
- 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
- 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
ls -d /etc/[^a-z][a-z]*
- 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
mkdir/tmp/tfile-`date +%F-%H-%M-%S`
- 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
cp -a /etc/p*[^0-9] /tmp/mytest1
- 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
cp -a /etc/*.d /tmp/mytest2
- 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
cp -a /etc/[l,m,n]*.conf /tmp/mytest3
|