微信公众号:软测小生 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 :在 n24小时内被 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 命令去查看。
往期推荐:
网友评论