文件与目录管理

linux文件命名规则

  • 严格区分大小写

  • 文件命名不能使用字符/

  • 目录或文件名长度不能超过255个字符

建议:

  • 文件名由两个或两个以上单词组成时,使用_代替空格键

  • 尽量不用字母的大小写来区分文件名或者目录名


目录管理

目录创建

mkdir [选项] 目录名
    -p:递归创建

示例:

在/test目录下创建目录dir
$ mkdir /test/dir

在/test目录下递归创建多级目录
$ mkdir -p /test/dir1/dir2/dir3

在/test目录下同时创建多个目录
$ mkdir /test/t1 /test/t2 /test/t3
或者切到test目录下执行
$ mkdir t1 t2 t3

目录删除

rmdir [选项] 目录名
    -p:递归删除
# 注意:仅能删除空目录

示例:

删除/test目录下的dir目录
$ rmdir /test/dir

递归删除/test下的dir1、dir2、dir3
$ rmdir -p /test/dir1/dir2/dir3

同时删除多个目录
$ rmdir /test/t1 /test/t2 /test/t3

文件管理

文件创建

touch 文件名

示例:

在当前目录下创建多个文件
$ touch 1.txt 2.txt 3.txt
或
$ touch t{1..3}.txt

文件删除

rm [选项] 文件或目录
    -i:提示是否确认删除,系统默认加上此选项
    -r:递归,主要针对目录
    -f:强制删除

示例:

同时删除多个文件
$ rm 1.txt 2.txt 3.txt      # 会提示是否删除,输入:y确定,n取消

强制删除
$ rm -f 1.txt 2.txt 3.txt   # 不会提示,直接删除,慎用!

递归删除,连同目录下的文件也一起删除
$ rm -r test
或者
$ rm -rf test

文件的复制与剪切

cp - 复制

cp [选项] 文件或目录
    -r:递归
    -a:一般复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
    -f:强制复制,覆盖时不会提示
    -i:会提示
    -d:复制是保留链接。类似windows系统中的快捷方式
    -I:不复制文件,只生成链接文件

示例:

复制文件test.txt到父目录中的shop目录下
$ cp test.txt ../shop

复制文件夹test到父目录中的teacher目录下
$ cp -r test ../teacher

复制后文件或目录重新命名:将文件test.txt复制到父目录中的shop下并改名为test1.txt
$ cp test.txt ../shop/test1.txt

快捷复制文件
$ cp /usr/local/test.txt{,.bak}

mv - 剪切

mv 文件或目录 目的地路径

示例:

将test目录移动到/root/etc下
$ mv test /root/etc

将1.txt文件重命名为2.txt
$ mv 1.txt 2.txt

文件的查看

查看文件的几种工具介绍

ls [选项] 文件或目录 :查看目录下的文件或目录信息
    -l:详细显示/以列表形式显示
    -a:显示隐藏文件或目录
    -d:指定显示某个文件或目录

静态查看文件内容:

cat 文件名 :正序查看文件的内容
    -n:显示行号

tac 文件名 :倒叙查看文件的内容

head -n 文件名 :查看文件的前n行内容

tail -n 文件名 :查看文件的后n行内容
    -f:实时查看文件的最新内容(日志排错时用的比较多)

动态查看文件内容(一般查看大型文件):

less [选项] 文件名
    -N:显示行号

        方向键“上下左右”可以移动显示
        enter键:向下一行
        d:向下半页
        space键:向下一页
        b:向上一页
        g:移动至行首
        G:移动至行尾
        q:退出
        输入"/"可以查找指定内容
more 文件名
    enter键:向下一行
    d:向下半页
    space键:向下一页
    b:向上一页
    q:退出

(more命令在显示内容时已经将文件加载完毕后再展示,对于比较大的文件打开时可能卡顿)