目录
1. 文件与目录管理
1.1 find命令 —— 查找文件
作用:find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
语法:find path -option
在命令列上第一个 “ - ”之前的部份为 path,如果 path 是空字串则使用当前路径。
参数说明及示例:
- 根据文件名称进行查找
-name name, -iname name : 文件名称符合 name 的文件,iname 会忽略大小写;
示例:
查找当前目录下,以t开头的文件,命令如下:
find . -name "t*"
查找当前目录下,以.txt结尾的文件名,命令如下:
find . -name "*.txt"
查找/home目录下,以.txt结尾的文件名,忽略大小写,命令如下:
find /home -iname "*.txt"
- 根据文件时间戳进行查找
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
-amin n:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-atime n:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-mmin n:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mtime n:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-cmin n:查找在指定时间之时被更改过的文件或目录,单位以分钟计算;
-ctime n:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
示例:
查找当前目录下,在两天之内被更改过的文件,命令如下:
find . -mtime -2
- 根据文件类型进行查找
-type <文件类型> : 只寻找符合指定的文件类型的文件;
文件类型参数列表:f 普通文件;l 符号连接;d 目录;c 字符设备;b 块设备;s 套接字;p Fifo
示例:
查找当前路径下的普通文件,命令如下:
find . -type f
- 绝对路径:路径的写法,由根目录 / 写起;
- 相对路径:路径的写法,不是由 / 写起,可以有 . 或者 .. 写起。
1.2 cd命令 —— 变换工作目录
作用:cd是Change Directory的缩写,用来变换工作目录的命令。
语法: cd [相对路径或绝对路径]
示例:
返回上一级目录,命令如下:
cd ..
1.3 mkdir命令 —— 创建目录
作用:用来创建目录,默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。
语法:mkdir [参数] [目录]
参数说明及示例:
-p 递归创建多级目录时,确保目录名称存在,不存在的就建一个。
-v 显示目录的创建过程
示例:
- 创建多个同级目录
在当前目录下创建三个子目录,分别为:dir1、dir2、dir3,命令如下:
mkdir dir1 dir2 dir3
- 创建多级目录
在当前目录下创建目录dir01,dir01目录下创建dir02目录,在dir02目录下创建dir03目录,显示创建过程,命令如下:
mkdir -p -v dir01/dir02/dir03
1.4 rmdir —— 删除空目录
作用:rmdir命令用来删除空目录;
注: rmdir 仅能删除空的目录,要删除非空目录需要使用 rm 命令。
语法:rmdir [-p] 目录名称
参数说明:
-p : 连同上一级『空的』目录也一起删除
1.5 cp命令 —— 复制文件和目录
作用:cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
语法:cp [-adfilprsu] 源文件(source) 目标文件(destination)
选项与参数:
-
-a:相当于 -pdr 的意思, pdr 请参考下列说明;(常用)
-
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行;(常用)
-
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-
-r:递归持续复制,用于目录的复制行为;(常用)
-
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-
-u:若 destination 比 source 旧才升级 destination !
-
-v: 显示命令执行的操作过程。
源文件:指定源文件。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R或-r
选项;
目标文件:指定目标文件。当源文件包含多个文件时,要求目标文件为指定的目录。
1.6 rm命令 —— 删除文件和目录
语法: rm [-fir] 文件名或目录名
选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作;
- -r :递归删除,常用在目录的删除中。
1.7 ls命令 —— 显示目录下的内容
作用:ls命令用于显示指定工作目录下的内容。
语法: ls [-alrtAFR] [name...]
参数 :
- -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-
-R 若目录下有文件,则以下之文件亦皆依序列出
-
name... 表示指定目录
1.8 mv命令 —— 移动文件与目录,或修改名称
语法:
语法1:mv [-fiu] source destination
-----------------------------------
语法2:mv [options] source1 source2 source3 .... directory
选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
示例:
将文件file_1重命名为file_2: mv file_1 file_2
---------------------------------------------
将文件file移动到目录dir中 : mv file /dir
示例2:
将tmp目录下的scripts.tar文件移动到dir1目录下:
1.9 pwd命令 —— 查看当前工作路径
作用:pwd命令是“print working directory”中每个单词的首字母缩写,用来查看当前工作目录路径。
1.10 grep命令 —— 在文件中查找指定字符串
作用: grep 命令用于在文件中查找指定字符串。
语法:
grep [option] [待查找的字符串] [文件或目录]
常用option说明:
- -l : 列出符合条件的文件名称;
- -n :列出符合条件的文件名称和字符串所在行号;
待查找的字符串加不加双引号都可以。
2. 文件备份
2.1 tar命令 —— 文件备份
作用:用于备份文件,用来建立、还原备份文件的工具程序,它可以加入、解开备份文件内的文件。
常用参数说明:
- -c:建立新的备份文件;
- -f:指定备份文件;
- -v:显示指令执行过程;
- -z:通过gzip指令处理备份文件;
- -x:从备份文件中还原文件,解压;
- -t或--list: 列出备份文件的内容;
- -u或--update:仅置换较备份文件内的文件更新的文件;
示例1:
将scripts文件夹下所有文件进行打包,压缩包名称为scripts.tar ,不显示指令执行过程,命令如下:
tar -cf scripts.tar scripts/
示例2:
//将当前目录下所有txt文件打包成txt.tar,并显示指令执行过程
tar -cvf txt.tar *.txt
//将当前目录下所有txt文件打包成txt.tar后,用gzip对其进行压缩,生成一个gzip压缩包,命名为txt.tar.gz
tar -czf txt.tar.gz *.txt
//解压tar包,并显示指令执行过程
tar -xvf file.tar
//解压tar.gz包,并显示指令执行过程
tar -xzvf file.tar.gz
—— END ——