2.2.4.1 cp命令
cp命令用来复制文件或者目录。
命令格式:cp [参数] 源文件 目标文件
参数:
-a:与-pdr等价,将文件原有状态、权限等属性全部复制
-p:同时复制文件属性
-d:复制时保留文件链接
-r:复制目录时,递归复制子目录
-f:如果目标文件或目录存在,先删除它们再进行复制,并且不提示用户
-i:如果目标文件或目录存在,提示是否覆盖已有的文件
-l:不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出
-u:在目标文件与来源文件有差异时,才会复制,常被用于备份的工作当中
不同身份者(例如root用户、普通用户)执行cp命令会有不同的结果产生,例如,密码文件(/etc/shadow)以及一些配置文件的复制,要加上参数-a或-p,把文件原有权限一起复制过去。
例如,用root身份,把家目录下的.bashrc复制到/tmp下,并更名为bashrc,同时查看文件权限情况
例如,切换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性情况
例如,复制/etc目录下的所有内容到/tmp,原来文件及目录的权限都不变
2.2.4.2 mv命令
mv命令用来文件或者目录的移动或重命名。
命令格式:mv [参数] 源文件或目录 目标文件或目录
参数:
-i:如果目标文件或目录存在,则提示是否覆盖目标文件或目录
-f:无论目标文件或目录是否存在,直接覆盖目标文件或目录,不提示
-v:显示文件的移动进度
例如,在家目录/root下创建文件test.txt和目录test,把test.txt文件移动到test目录中,并把它重命名为testchage.txt
2.2.4.3 rm命令
rm命令用来删除文件或者目录,是remove的缩写。
命令格式:rm [参数] 文件名或目录名
参数:
-r:等价于-R或--recursive参数,递归删除目录,即包含目录下的文件和各级子目录
-f:等价于--force参数,强制删除,不提示
-v:等价于--verbose,显示命令执行过程
-i:删除文件或目录时提示用户
例如,把上一条命令创建的文件/root/test/testchage.txt删除
例如,删除当前目录下的所有文件,但不删除子目录和隐藏文件
例如,删除当前目录下的子目录subdir1,包含其下的所有文件和子目录,并且提示用户确认
2.2.4.4 touch命令
touch命令用来创建空白新文件、改变文件或目录时间。一次可以创建多个文件,以空格隔开。
命令格式:touch [参数] 文件名或目录名
参数:
-d yyyymmdd:把文件的存取或修改时间改为yyyy年mm月dd日
-a:只把文件的存取时间改为当前时间
-m:只把文件的修改时间改为当前时间
例如,如果当前目录下存在newfile文件,则把newfile文件的存取和修改时间改为当前时间,如果不存在newfile文件,则新建newfile文件。
2.2.4.5 whereis命令
whereis命令用来寻找命令的可执行文件所在的位置。
命令格式:whereis [参数] 命令名称
参数:
-b:只查找二进制文件
-m:只查找命令的联机帮助手册部分
-s:只查找原始代码文件
例如,查找命令rpm的位置
2.2.4.6 find命令
find命令用于查找指定范围内的文件。
命令格式:find [查找范围] [查找条件] [处理动作]
参数:
-name filename:查找指定名称的文件
-iname filename:查找指定名称的文件(不区分大小写)
-user username:查找属于指定用户的文件
-group grpname:查找属于指定组的文件
-size n:根据文件大小查找大小为n块的文件,一个数据块是512字节,+n表示查找大于n块的文件,-n表示查找大小小于n块的文件,n表示查找大小等于n块的文件
-inum n:查找索引节点为n的文件
-type:查找指定类型的文件。文件类型有:b(块设备文件)、c(字符设备文件)、d(目录)、p(管道文件)、l(符号链接文件)、f(普通文件)、s(套接字文件)
-atime n:根据文件的最后访问(access)时间来查找,查找n天前被访问过的文件;+n表示超过n天前被访问的文件;-n表示未超过n天前被访问的文件
-mtime n:类似于atime,但根据文件的最后修改(modify)时间来查找
-ctime n:类似于atime,但根据文件的最后改变(change)时间来查找
-empty:空文件或空目录
-perm mode:根据权限查找,查找与给定权限精确匹配的文件,必须以八进制的形式给出访问权限
-amin:访问时间(access)
-cmin:根据文件属性被修改的时间(change)
-mmin:根据文件内容被修改的时间(modify)(www.xing528.com)
处理动作参数有:
-print:输出至显示器,此参数为默认的动作,可以省略
-ls:类似于对查找到的文件执行“ls-l”命令,输出文件的详细信息
-delete:删除查找到的文件
-fls/PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中
-exec command{}\;:对找到指定匹配条件的文件执行command命令
-ok command{}\;:与exec相同,但执行command命令时请求用户确认
逻辑判断参数:
-not:非,取反
-a:并且关系,两个条件同时满足
-o:或者关系,两个条件满足一个即可
根据文件名称查找文件举例:
(1)在根目录下查找文件dvd.reop
根据权限查找文件举例:
(2)在/test目录中查找权限为777的普通文件
(3)在/test目录中查找权限不是777的普通文件
//此例-not可以用!代替,二者等价
(4)在/test目录中查找b.txt文件并把它删除
(5)在/test目录中查找所有空文件
(6)在/test目录中查找所有空目录
(7)在/root目录中查找所有隐藏的文件
根据所有者和组查找文件举例:
(8)在/test目录中查找root用户创建的文件a.txt
(9)在/test目录中查找root用户创建的所有文件
(10)在/test目录中查找root组创建的所有文件
根据日期和时间查找文件和目录举例[1]:
(11)在根目录下查找最近50天访问的文件
(12)在根目录下查找所有被修改超过50天而小于100天的文件
(13)在根目录下查找最近1小时内访问的文件
(14)在根目录下查找最近1小时内更改的文件
(15)在根目录下查找最近1小时内修改的文件
根据大小查找文件和目录举例:
(16)在根目录下查找大小为30MB的文件
(17)在根目录下查找大于50MB且小于100MB的所有文件
(18)在根目录下查找超过10MB的所有.mp3文件,并删除它们
2.2.4.7 locate命令
locate命令用于快速查找文件。
locate与find不同[2]:find去硬盘找,locate只在/var/lib/slocate资料库中找,资料库不收录/tmp下的文件。locate的速度比find快,它并不是真的查找,而是查资料数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库。可以用updatedb命令更新locate的文件资料库。
命令格式:locate [参数] 文件名
参数:
-i:不区分大小写
例如:
2.2.4.8 grep命令
grep命令用于查找文件里符合条件的字符串。
命令格式:grep [参数] 要查找的字符串 文件名
参数:
-i:不区分大小写
-c或--count:对匹配的行计数
-n或--line-number:显示搜索到的内容在文件中的行号
-v:反向选择,输出没有匹配的行
在grep命令中,字符“^”表示行的开始,字符“$”表示行的结尾。
例如:
(1)在文件/etc/passwd中查找包含root的行,并显示行号
(2)在文件/etc/passwd中查找只包含root的行
(3)使用grep-v^#/etc/my.cnf命令查看mariadb配置文件内容
2.2.4.9 dd命令
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件。
Linux系统中有一个名为/dev/zero的设备文件,该文件不会占用系统存储空间,但却可以提供无穷无尽的数据,所以,可以用它作为dd命令的输入文件,来生成一个指定大小的文件。
参数:
if:输入的文件名称
of:输出的文件名称
bs:设置每个“块”的大小
count:设置要复制“块”的个数
例如:
(1)从/dev/zero设备文件中取出两个大小为560MB的数据块,保存成名为file1的文件。该命令可以创建随意大小的文件,在做磁盘配额验证时很有用
(2)把光驱设备中的光盘制作成iso格式的镜像文件
2.2.4.10 Which命令
Which命令用于查找命令的目录以及别名。配合rpm命令可以查找到命令所在的rpm安装包。
例如:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。