Linux文件操作命令

作者: 软测小生 | 来源:发表于2018-04-10 20:46 被阅读52次

    微信公众号:软测小生 ruancexiaosheng
    文件命名规则

    (1)文件命名规则
    Linux系统中的文件名称最长可以有256个字符,文件名可以由字母,数字,下划线,减号及一些特殊符号(不推荐使用)。
    (2)文件扩展名
    Linux系统中没有文件扩展名的概念,因此不强制使用,有时也使用扩展名表示文件的用途,有些特殊的程序要求文件必须有正确的扩展名。
    (3)特殊字符和隐藏文件
    以“.”开头的文件都是隐藏文件
    如果必须使用特殊字符作为文件名的一部分,可以使用反斜杠\屏蔽这些字符的特殊含义。
    注意:同一目录下不允许文件和目录同名。

    创建文件命令touch

    touch命令只能创建文本文件,也可以用来修改文件的创建时间
    【命令格式】:touch [option] filename (touch +文件名+.扩展名)
    【命令参数】:该命令会创建以参数filename为名称的文件,因此参数filename 应该遵循文件命名规则。
    【示例】:
    (1)创建空文件:文件名是ab

    touch ab (# touch /tmp/a.txt)

    (2)创建并修改文件的时间戳记:使用选项d

    touch -d "6/20/10 18:32" ab

    image

    创建目录命令mkdir

    【命令格式】:mkdir [option] dir (mkdir +目录名)
    【命令选项】:
    p: 同时创建一个路径中的多个目录
    【示例】:
    (1)创建一个名为test的目录

    mkdir test (# mkdir /tmp/test)

    image

    (2) 当前目录下创建多个目录(层级文件,树形文件)

    mkdir -p a/b/c/d

    改变目录(切换目录)

    命令:cd (ChangeDirectory)

    cd /tmp/

    查看当前路径

    pwd

    移动,重命名文件命令mv

    【命令格式】:mv Sou_file dir
    【参数说明】:两个参数

    Sou_file:需要移动的文件或目录名
    

    dir:移动后的位置和文件名,若该参数指定的文件已经存在,则覆盖已 经存在的文件,如果不存在,则移动文件并重命名。
    【示例】:
    (1)将当前目录中的文件a移动到目录test中

    mv a test/

    (2) 也可以用来移动一个目录,例如将目录test移动到目录file中
    

    mv test file/

    (3) 依次可以移动多个文件,将a,s,d,移动到目录file中:
    

    mv a s d file/

    image
    (4) 用来重命名文件或目录,将目录file重命名为test 
    

    mv file test

    image image

    复制文件命令cp

    【命令格式】:cp [option] Source Directory
    【常用选项】:
    R:可以递归的复制目录中的所有文件
    【参数说明】:有两个参数
    Source:要复制的源文件
    Directory:复制文件的新位置,如果此参数是一个新目录名,则将文件复制到新位置时重命名文件
    【示例】:
    (1)复制并重命名文件
    /etc/samba/smb.conf备份到当前目录中,并将文件名重命名为:smb.conf_backup

    cp /etc/samba/smb.conf smb.conf_backup

    (2)制作光盘镜像
    为当前光驱中的光盘制作镜像

    cp /dev/cdrom linux.ise

    (3)复制目录
    如果要复制的源目录中还存在子目录,则可能会发生错误,使用R选项递归的复制子目录
    将目录test复制到目录file中

    cp -R test file/

    (4)复制时保留权限,使用p选项, 例如备份防火墙配置文件

    cp -p /etc/sysconfig/iptables ./backup

    删除(普通)文件命令rm(速记为remove)

    【命令格式】:rm [option] file (rm +文件名+.扩展名)
    【常用选项】:
    r:删除目录时将目录中的所有内容一并删除
    f:忽略删除的目录中不存在的子目录,并且删除时不提示用户
    【示例】:
    (1)删除文件ab,删除时系统会要求用户确认

    rm ab

    (2) 删除目录及目录中的所有文件和子目录,要配合选项r和f

    rm -rf test

    (3) 删除目录中的所有文件时,可以使用*表示所有文件,例如删除当前目录中 的所有文件及目录

    rm -rf *

    删除空目录命令 rmdir

    【命令格式】:rmdir [option] directory (rmdir +目录名)
    使用时直接指定需要删除的目录即可
    【示例】:
    (1)删除空目录 file

    rmdir file

    (2 )选项p用于删除一个路径上的目录,如删除空目录a/b/c/d

    rmdir a/b/c/d

    删除非空目录命令 rmch -r

    【命令格式】:rmch [option] directory (rmch -r +目录名())

    查看文件类型命令file

    【命令格式】:file filename
    只需要指定要查看的文件就行
    【示例】:
    查看文件a的文件类型

    file a

    查看文件内容

    命令:ll、ls、ls –l、ls –a、ls –al 这几种命令都可以查看文件信息,每个都有自己的特点,可以分别使用体会。

    命令:cat, tac, more, less, head, tail, nl,

    cat 由第一行开始显示档案内容
    tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
    more 一页一页的显示档案内容
    less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    head 只看头几行
    tail 只看尾巴几行
    nl 显示的时候,顺道输出 行号!

    od 以二进制的方式读取档案内容!

    查找命令find

    命令:find [路径] [参数]
    参数说明:
    1. 时间:
    -atimen :在 n24小时内被 access 即存取过的文件列出来!
    -ctimen :在 n
    24小时内被 changed 即改变、新增的文件或目录印出
    -mtimen :在 n*24小时内被 modified 即修改过的文件印出

    -newer file :比 file 还要新的文件就列出来!

    2. 使用名称:
    -gidn :寻找 群组 ID 为 n 的文件
    -group name :寻找群组名称为 name的文件
    -uidn :寻找拥有者 ID 为 n 的文件
    -user name :寻找使用者名称为 name 的文件
    -name file :寻找档名为 file 的文件名称(可以使用万用字符)
    -type type :寻找档案属性为 type 的档案,type 包含了 b, c, d, p, l, s,这些与前一章的属性相同!例如 l 为 Link而 d 为路径之意!

    【示例】
    [root@bestlinux ~]# find / -nametesting //查找名为 testing 的文件
    [root@bestlinux ~]# find / -name'test*' //查找以test开头的文件
    [root@bestlinux ~]# find . -ctime1 //查找当前目录下一天内新增的文件
    [root@bestlinux ~]# find /home -usertest //查找 /home下拥有者为 test 的文件

    有些同学可能有另外的一个想法,我想查找ls命令在什么地方,可以,你可以用find命令去找,不过用find命令查找起来时间比较长,可以用另外一个命令which命令。

    which ls

    管道

    在用 cat命令显示文件内容的时候你会发现如果内容过多,他把前面的内容直接翻过去了,你这样就看不到上面的内容了,这时咱们可以这样去做,让文件内容一屏一屏的显示。这时就要用到另外一个命令more 命令。

    more /etc/services

    这时你会看到文件内容会一屏一屏的显示出来,你只需用空格键就可以下翻了。还有些时候我们也有时会这样去做,就是将 cat显示出来的内容重新输出给 more 命令。这就是管道了。如下例:

    cat /etc/services | more

    这时你会看到显示出来的内容和单独用more命令是一样的。这就是管道,后面我们会经常用到类似的操作。

    重定向(将内容保存打指定位置/文件)

    有时候我们需要将一些文件信息不是输出到屏幕上,而是让其输出到指定的文件或其它位置,这时我们就要用到了输出重定向了。输出重定向只需要加上> 这位一个符号就可以了。下面我要把 /etc/services 文件中的内容输出到当前目录下的a.txt 文件中,如下:
    [root@~]# cat /etc/services > a.txt
    [root@~]# ls -l a.txt /etc/services

    输出完后你再用ls –l 命令查看这二个文件,你会看到二个文件的大小是一样的。同样的你也可以用 cat 命令去查看。

    往期推荐:

    自动化测试与手工测试对比

    黑盒测试以及测试用例设计

    如何降低软件自动化测试维护成本?

    Jenkins可用环境变量以及使用方法

    如何快速切换Python运行版本,如何选择Python版本

    所处的圈子,成就了你的高度

    相关文章

      网友评论

      • IT人故事会:看完楼主的这个帖子之后,学习了谢谢!
        软测小生:@IT人故事会 恩,好好学习,哈哈,敬请期待,持续更新

      本文标题:Linux文件操作命令

      本文链接:https://www.haomeiwen.com/subject/mkxohftx.html