Linux下的文件操作命令:
1.文件浏览命令:文件浏览命令常用有ls和file。需要注意的是,Linux中的命令是区分大小写的,如LS并不是ls。
ls语法:ls[参数] ··· [文件]···;使用ls命令列出的文件列表信息,默认情况下为当前目录下的所有文件,并按照字母顺序排列。
常用的参数说明:-a 表示不隐藏任何以“."开头的文件;-l 表示使用长格式列出文件信息;-r 表示逆序排序;-R 表示递归列出所有子目录的内容;-S 表示按文件大小排序;-t 表示按修改时间排序。
注意:通常情况下ls以颜色区分文件类型,常用的有 灰黑色表示普通文件,蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件。
ls显示目录信息分为长格式和短格式两种。短格式仅显示文件名,并用相应的颜色区分文件类型,一行内可以显示多个文件或多个目录;长格式一行仅显示一个文件或目录信息,如图
这边用acc_card 目录来进行解说:drwxr-xr-x 表示文件或目录属性,2表示引用次数,smart表示所有者,dba表示所属组,4096表示长度,Aug 11 2016 表示修改时间,acct_card表示文件名或目录名。
注意 :drwxr-xr-x 中第一个字符表示文件类型(-普通文件,d目录,c字符设备,b块设备,l链接文件);第二个到第四个字符表示所有者权限;第五个到第七个表示同组者权限;第八个到第十个表示其他人权限。其中 r表示可读,w表示可写,x表示可执行。
例如:查看smart用户目录下包含隐含义文件在内的后缀为”.txt"的文件,并采用长格式显示 :ls /home/smart /* .txt -la
file语法:file[选项]··· [-f] 文件···;file 可以显示指定文件的类型与编码格式。
常用的参数说明:-b表示以简明方式显示信息;-f指定该选项后面的字符串为文件列表;-z查看压缩文件内部的文件信息;-d显示调试信息;-s按照普通文件处理特殊文件,例如字符设备文件。
例如:查看当前目录下所有以“.txt”为后缀的文件信息: file ./* .txt。
2.文件拷贝:Linux中常用的拷贝工具是cp。
cp语法:cp[参数]··· [源文件]··· 目标目录;将指定的一个文件或多个文件拷贝到指定的目录中
参数说明:-a 保留链接、文件属性,递归拷贝所有子目录;-d 保留链接 ;-f 拷贝时自动替换已存在的目标文件,不提示用户;-i 若目标文件存在时,提示用户如何操作;-r 目录拷贝,递归拷贝所有子目录。
例如:将smart用户下的 envfile.txt 文件拷贝到smart用户下的acct_card目录下,并保留文件属性;
cp -a /home/smart/envfile.txt /home/smart/acct_card/
3.文件移动:Linux中常用的文件移动命令mv。
mv语法:mv[参数] ··· 源文件 ··· 目标文件/目录;将文件移动到另外的目录或修改文件名称。
参数说明:-I(大写的i) 若目标文件存在,则提示用户如何操作;-f 移动时自动替换已存在的目标文件,不提示用户。
例如:将smart 用户下的envfile.txt文件,移动到acct_card目录下,并修改名称为envfile_mv.txt;
mv /home/smart/envfile.txt /home/smart/acct_card/envfile_mv.txt
4.文件链接:Linux常用的链接命令为ln。
ln语法:ln[参数] ··· 目标文件 ··· 链接名;建立一个链接文件,该链接文件指向的目标文件。默认情况下建立硬链接。
参数说明:-i 若目标文件存在,则提示用户如何操作;-f 直接自动替换目标文件,不提示用户;-s 建立符号链接(软链接),而不是硬链接,获得更大的灵活度。
例如:将smart用户的envfile.txt 在 acct_card目录下建立envfile的软链接;ls -s /home/smart/envfile.txt /home/smart/acct_card/envfile
5.文件删除:Linux中常用的删除命令rm。
rm语法:rm[参数]··· 目标文件 ···;删除指定的目标文件。
参数说明:-f 忽略不存在的文件,不给出提示;-r 递归删除子目录中的所有文件,-i 以交互的方式提示用户确认删除。
例如:删除目录acct_card下的所有后缀为“.txt"的文件; rm -rf /home/smart/acct_card/* .txt
6.修改文件属性:Linux中chmod修改文件的访问权限属性,touch修改文件的时间属性。
chmod 语法:chmod[参数]··· {模式[,模式]··· | 八进制模式 } 文件···;该命令用于修改指定的文件或目录的权限
模式的格式为:[ugoa] * ([+-=]([rwxXst]*|[ugo])) + (该模式采用的正则表达式表示);注意其中 u表示所有者,g表示同组者,o表示其他用户,a表示所有的用户(包括u和g);”-“表示删除某种权限,”=“表示赋予某种权限,”+“表示添加某种权限,其中r表示可读,x表示可执行。八进制模式时,4表示读,2表示写,1表示执行,即7表示,可读可写可执行,另外我们通常用三个八进制来表示所有者,所属组,其他用户。
参数说明:-c 表示 仅在有修改的时显示结果;-f 去除大部分的错误信息;-v 处理任何文件都会显示详细信息;-R以递归的方式更改所有文件及子目录。
例如:修改smart目录下的envfile.txt文件为所有者可读可写可执行,所属组可读可写,其他用户可执行。
第一种:chmod u=rwx,g=rw,o=x /home/smart/envfile.txt
第二种:chmod 761 /home/smart/envfile.txt
touch语法:touch[选项] ··· 文件 ··· ;touch用来修改文件的访问时间,如果文件不存在则默认创建空文件。
参数说明:-a 仅修改时间;-c 不创建任何文件;-d字符串 使用字符串表示时间,而非当前时间;-m 只修改文件的修改时间;-r 文件 使用指定文件的时间属性,而非当前时间;-t 时间模式 使用[[CC]YY]MMDDhhmm[.ss]的格式时间,而非当前时间,其中YY表示两位数纪年,[CC]YY表示四位数纪年;MM表示两位数月份,DD表示两位数天数,hh表示两位的小时数,mm表示两位分数,ss表示两位数秒。
例如:修改文件envfile.txt 的访问时间为2019年06月22日18点23分15秒;touch -a -t 201906221823.15 /home/smart/envfile.txt
7.文件搜索:Linux中文件搜索常用命令有grep和find。
grep语法:grep[参数] ··· 搜索字符串 文件 ···;grep用来在指定的文件范围内搜索符合要求的字符串,并将字符串所在的行输出。
参数说明:-E 使用扩展的正则表达式;-G 使用标准的正则表达式;-f 文件 从文件中获取搜索字符串;-s不显示错误信息;-v 选择不匹配的行;-n 同时输出行数。
例如:输出envfile.txt 中所有包含env的行,并打印行数输出;grep -n env /home/smart/envfile.txt
find语法:find [参数] ··· 路径 ···[测试] ··· 动作;路径表示用来指定所有搜索文件的范围,测试表示用来提出搜索的条件,动作表示用来指出对符合测试条件的文件所进行操作。
参数说明:-P 对符号连接文件,使用文件本身的属性;-L 对于符号连接的文件,使用被连接的文件属性。
测试说明:-name 字符串 表示按照指定的字符串匹配文件名,“字符串”可以使用”*“、”?“等匹配符;-perm 字符串 表示按照指定的字符串所代表的权限来匹配文件,”字符串“的格式与chmod的模式相同;-user 字符串 表示按照字符串指定的文件所有者匹配文件;-group 字符串 表示按照字符串指定的文件所有者所在的组匹配文件;-mtime {-|+}n 表示按照文件修改时间匹配文件,”-“表示n天以内,”+“表示n天以前;-atime {-|+}n 表示按照文件访问时间匹配文件;-ctime {-|+}n 表示按照文件创建时间匹配文件;-type 字符 表示按照字符所指定的文件类型匹配文件,其中字符包含:b 块设备文件、c字符设备文件、f普通文件、l软链接文件、p管道文件;-size n[单位] 表示按照指定文件大小匹配文件,默认单位是块(512字节),单位包括:c字节、b块、w字(2字节)、k表示KB、M表示MB、G表示GB;-depth 表示在查找文件时,先找当前目录的文件,然后在其子目录查找。
动作说明:-print 将搜索结果通过标准输出设备打印,默认动作;-exec 命令 针对搜索结果执行指定的命令,在命令中使用 ”{} \;“ 来代表结果(注意{}和\中间有空格,最后需要带一个";"); -ok 命令 属性与-exec相同,但是在执行前需要用户确认。
例如:在/home/smart目录及子目录下查找包含”你好“的字符串,7天前创建的文件,并将他们删除,并且删除前需要用户确认;
find /home/smart -name "你好" -ctime +7 -ok rm -f {} \;
Linux下的目录操作命令:
1.创建目录:常用的命令有mkdir
mkdir语法:mkdir[参数]··· 目录 ···;在当前目录下创建指定的目录。
参数说明:-m模式 对新创建的目录设置权限模式,模式与chmod模式相同;-p 需要时创建上层目录;-v 创建时显示相关信息。
例如:在/home/smart/qq目录下创建aa目录,如果qq不存在时,需创建qq; mkdir -p qq/aa
2.删除目录:常用命令为rmdir
rmdir语法:rmdir[参数]··· 目录 ···;如果所列目录为空则删除该目录。
参数说明:-p 删除目录后,尝试删除所指定目录中所有的上层目录 ;-v 删除过程中显示相关信息。
例如:删除aa目录; rmdir /home/smart/qq/aa
3.跳转目录:常用命令为 cd
cd语法:cd 目录;目录可以通常指目录的名称,也可以时以一些特殊符号表示,如:”..“ 表示当前目录的上一级,”~“表示用户的主目录;”-“表示上一次跳转的当前目录所在目录。
例如:进入到指定的目录qq中; cd /home/smart/qq。
4.查看当前目录路径:通常用pwd
pwd语法:pwd,在标准输出设备上输出当前目录。