一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
一) 目录管理命令
1. cd :用于切换目录。命令格式为:cd dirname
命令使用技巧:
~]# cd 进入用户主目录
~]# cd – 进入上一次所在目录
~]# cd / 进入根目录
~]# cd ~ 进入用户主目录
~]# cd .. 返回上一级目录
~]# cd ../.. 返回上两级目录
2. ls :list directory contents 列出目录内容
SYNOPSIS ls [OPTION]… [FILE]…
OPTION:
-a : 显示目录中所有文件,包括隐藏文件。
-A:显示目录中除.和..的所有文件,包括隐藏文件。
-l : 显示长列表模式
-h : – – human-readable 和-l一起使用时,文件大小显示为人可读的格式
-d : 查看文件自身
-r : 文件显示时逆序排列
-R : 递归显示目录下的文件
3. pwd print working directory 显示当前工作目录
SYNOPSIS pwd [OPTION]…
使用实例:
[root@promote tmp]# pwd
/tmp
4. mkdir make directories 创建文件
SYNOPSIS mkdir [OPTION]… DIRECTORY…
OPTION
-p –parents 自动创建所需父目录
-v –verbose 显示详细过程
-m –mode=MODE 直接给定权限
5. rmdir remove empty directories
SYNOPSIS rmdir [OPTION]… DIRECTORY…
OPTION:
-p –parents 删除目录后,如上级目录为空,则一并删除
-v –verbose 显示过程
6. tree list contents of directories in a tree-like format 以树状结构显示文件
SYNOPSIS tree [OPTION]… DIRECTORY…
OPTION -Llevel 指定要显示的层数
二)文件管理类命令
1. stat display file or file system status 查看文件或文件系统的状态信息
SYNOPSIS stat [OPTION] FILE…
2. file determine file type 确定文件类型
SYNOPSIS file [OPTION]…
应用实例:
[root@promote ~]# file anaconda-ks.cfg
anaconda-ks.cfg:ASCII text
[root@promote ~]#
3. touch change file timestamps 修改文件时间戳
SYNOPSIS touch [OPTINO]… FILE…
OPTION
-c –no-create do not create any files 指定文件不存在不创建任何文件
-a change only the access time 只修改访问时间
-m change only the modification time 只修改更改时间
-t STAMP use[[CC]YY]MMDDhhmm[.ss] instead of current time 使用指定时间值替代文件默认时间
4. cp copy files and directories 复制文件和目录
SYNOPSIS
cp [OPTION]… [-T] SOURCE DEST 单源复制 源为文件,目标文件可以不存在,但是目标目录必须存在。复制到目标目录下时可同时改名
cp [OPTION]… SOURCE… DIRECTORY 多源复制 源为多个文件或目录,目标目录需存在,否则报错。
cp [OPTION]… -t DIRECTORY SOURCE… 多源复制 使用-t选项,把目标文件写在前面,源文件写在前面。
OPTION
-i 交互式复制,即覆盖前询问
-f 强制覆盖文件
-r -R 递归复制
-d 复制链接文件本身
-a –archive same as -dR –preserve=all
–preserv[=ATTR_LIST]
mode,ownership,timestamps,context,xattr,links,all
5. rm rename files or directories
SYNOPSIS
rm [OPTION]… [-T] SOURCE DEST
rm [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE..
OPTION
-i interactive 交互式操作
-f –force 强制删除,不向用户提示
-r recursive 递归删除
6. mv move (rename) files 移动或者给文件改名
SYNOPSIS
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE..
OPTION
-i 交互式操作
-f 强制移动不做提示
修改文件名:
三)文本查看类命令
1. cat concatenate files and print on the standard output 文本文件查看器
SYNOPSIS
cat [option]… [file]…
OPTION
-n –number 给所有列出行编号
-E –show-ends 显示行结束符$
2. tac 与cat相反,文本行逆序排列
3. file determine file type 查看文件类型
SYNOPSIS
file [file]…
4. head output the first part of files 显示文件头部,默认显示前十行
OPTION
-n n为行数
5. tail output the last part of files 显示文件尾部,默认显示前十行
OPTION
-n n为行数
二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
一) 命令执行状态返回值
bash通过状态返回值来输出结果
0 :成功 1–255 : 失败
命令执行完成后,状态返回值保存在bash特殊变量$?中。立即获取只能获取最近的那条命令的返回值。
命令正常执行时,有的还有命令返回值,根据命令的功用不同,返回值各不相同。
引用命令执行结果:$(COMMAND)或`(COMMAND)
二) 命令行展开
~自动展开为用户的家目录或指定用户家目录
{}可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
例如 /tmp/{a,b} 相当于/tmp/a ; /tmp/b
三、请使用命令行展开功能来完成以下练习:
一) 、创建/tmp目录下的:a_c, a_d, b_c ,b_d
二) 、创建/tmp/mylinux目录下的:
四、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元数据信息可用stat命令查看。
文件元数据的信息:
第一行: File:文件名
第二行: size:文件大小 blocks:文件所占的块 IO Block :IO块大小 directory :文件类型(此处为文件)
第三行: Device:文件所在的设备 Inode:索引节点号 Links:文件被硬链接的次数
第四行: Access:权限 UID:用户名和ID号 GID:用户组名和用户组ID号
第五行: Contest:安全上下文
第六行: Access:文件最近访问时间
第七行: modify:文件最近更改时间
第八行: Change:文件最近改动时间
第九行: Birth:文件创建时间
修改文件的时间戳见第一部分文件管理类命令中touch命令实例
五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
1. 定义命令别名
使用命令alias可设置命令别名,格式为
alias 命令别名=原命令[参数] 例如把clear的别名设置为cls
取消别名格式:unalias 命令别名
2. 在命令中引用另一条命令的执行结果
引用命令执行结果:$(COMMAND)或`(COMMAND)
六、显示/var目录下所有以l开头,以一个小字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
七、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ll -d [0-9]*[^0-9] 加-d选项查看文件自身,不加-d选项会列出文件夹内的内容
八、显示/etc 目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ll -d [^a-z][a-z]* 加-d选项查看文件自身,不加-d选项会列出文件夹内的内容
九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22.。
十、复制/etc目录下所有以P开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
十一、复制/etc目录下所有以.d结尾的文件或目录到/tmp/mytest2目录中。
十二、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
原创文章,作者:lixinkuan,如若转载,请注明出处:http://www.178linux.com/70316