Linux文件操作命令

文件命名规则

(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

创建目录命令mkdir

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

# mkdir test (# mkdir /tmp/test)

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

# mkdir -p a/b/c/d

改变目录(切换目录)

命令:cd (ChangeDirectory) # cd /tmp/ 返回上一层目录: # cd ..(注意cd后的空格)

查看当前路径

# 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/

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

# mv file test

(5)批量重命名

复制文件命令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 * (4)有时候你会遇到想要删除一些为只读权限的文件,直接使用 rm 删除会显示一个提示,如下:(其实使用-rf 即可) # rm -f test

删除空目录命令 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 :在 n*24小时内被 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 命令去查看。

本文分享自微信公众号 - 软测小生(ruancexiaosheng)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励