Linux 文件、目录操作
文件、目录管理:
查看文件与目录:ls
NAME:
ls - list directory contents
用于列出文件或目录的信息。[FILE]为文件名或目录名,若给定文件或目录名则列出指定文件或目录的情况。
格式:
ls [OPTION]... [FILE]...
主要选项:
-a :显示所有文件、目录,包括隐藏文件(开头为.的文件)。(常用)
-b :当文件名含不可打印字符时,以八进制形式列出文件名。
-d :仅列出目录本身,不列出目录内的文件数据。
-l :use a long listing format。使用长列表模式,列出详细信息。(常用)
-r :将文件反序显示。
-t :将文件依修改时间排序。
-A :同-a,但不列出“.”及“..”文件。
-F :在列出的文件名后以符号表示文件类型。
一般文件无符号,可执行文件加“*”,目录“/”,符号链接“@”,管道“|”,套接字“=”
-R : 递归列出目录下文件,包括子目录内容。
还有其他选项,详细信息可查man帮助: man ls
建立目录:mkdir
创建新目录,命令格式:
mkdir [OPTION]... DIRECTORY...
参数:
-m :配置文件的权限。直接设置,不需要看默认权限
-p :递归创建文件目录。若要创建的 目录的上层目录尚未创建,则一并建立。
详细信息可查man帮助: man mkdir
。
文件权限部分,后续再说,有兴趣的同学也可以百度一下。
切换目录:cd
cd是Change Directory 的缩写,用于切换工作目录。命令格式:
cd [相对路径或绝对路径]
常用的简化操作:
cd ~ 进入当前家目录
cd 进入当前家目录
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
cd 相对路径
cd 绝对路径
查询所在目录位置:显示当前位置 pwd
显示当前所在的目录。pwd(Print Working Directory)缩写
用法在上面cd命令中已使用。
参数:
-p : 显示出当前路径,而非使用连接(link)路径。
删除空目录 rmdir
用于删除空目录,若目录非空则报错。
命令格式:rmdir [OPTION]... DIRECTORY...
参数:
-p :删除指定目录后,若其父目录也成为空目录,则一并删除。
删除文件或目录 rm
用于逐个删除指定的文件或目录。
命令格式:rm [OPTION]... FILE...
参数:
-r : 递归删除目录。常用在目录删除。 注:这是个很危险的参数,慎用
-f : 强制删除,忽略不存在的文件,不会出现警告信息。
-i : 互动模式,在删除前询问用户是否操作。
复制文件或目录 cp
用于复制文件,可讲一个文件拷贝至另一文件,或将一个或多个文件拷贝至另一个目录。可以创建连接文件(快捷方式),对比文件新旧予以更新,复制整个目录。
命令格式:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
参数:
-a :相当于-pdr,**常用**。
-d :若源文件为连接文件的属性,则复制连接文件属性而非文件本身;
-f :若目的地有同名文件存在,则在复制前先删除原有文件在复制。
-i :若目标文件(DEST)已存在时,在覆盖前会先询问操作的进行(**常用**)。
-l :进行硬链接的连接文件创建,而非复制文件本身;
-p :连同文件的属性一起复制过去,而非使用默认属性(**备份常用**)。
-r :递归持续复制,用于目录的复制行为(**常用**);复制目录。
-s :复制成为符号链接文件 (symbolic link),即“快捷方式”文件;
-u :若DEST 比 Source 旧才更新DEST。
注:若源文件有两个以上,则最后一个目的文件一定要是“目录”才行!
剪切或改名命令 mv
用于重命名文件,或将数个文件移至另一目录。rename命令可以用于更改大量文件的文件名,详细信息可查man:man rename
命令格式:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
参数:
-i: 若目的地已有同名文件,先询问是否覆盖。
-f: 强制移动,若目标文件已经存在,不会询问而直接覆盖。
-u: 若目标文件已存在,且source 较新,才会更新。
创建文件、改变文件或目录时间的命令 touch
touch可以轻易修改文件的目录与时间,并且也可以创建一个空的文件。
touch目录最常用的情况:
创建一个空的文件; 将某个文件日期修改为目前日期。
命令格式:
touch [OPTION]... FILE...
参数:
-a :仅修改访问时间。
-c :仅修改文件时间,若文件不存在则不创建新文件。
-d :后面可以接欲修改的日期而不用目前的日期,也可用 --date="日期或时间"
-m :仅修改mtime(文件内容修改时间)
-t :后面接欲修改的时间而不用目前时间,格式为[YYMMDDhhmm]。