Linux教程

linux与文件操作相关命令

本文主要是介绍linux与文件操作相关命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.mkdir命令

用途:创建新的文件目录

用法:mkdir [选项] [/路径/]目录名

-p,--parents :此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

-m,--mode:设置权限模式,例如指定新建文件夹的文件訪问模式为770,即rwxrwx---

例:mkdir -m770 -p /a/test

2.touch命令

用途:创建新的文件或修改文件或目录的时间属性

用法:touch [选项] 文件名

-a, 改动文件的访问时间为当前时间

-m,改动文件的改动时间为当前时间

3.mv命令

用途:移动文件或修改文件名称

用法:mv [选项] 文件或目录

-f,force强制的意思,如果目标文件已存在,不会询问会直接覆盖

-i,如果目标文件已存在,会询问是否覆盖

-u,如果目标文件已经存在,且比目标文件新,才会更新

4.rmdir命令

用途:删除目录

用法:rmdir [选项] 目录

-p,递归删除目录

5.rm命令

用途:删除文件或目录

用法:rm [选项] 文件或目录

-f:强行删除文件或目录,不进行提醒

-i:删除文件或目录时提醒用户确认

-r:递归删除整个目录树

常用组合命令:rm -rf、rm -ri

rm命令与rmdir命令区别:

rmdir:具有当前目录的操作权限的所有使用者
rm:所有使用者

6.cp命令

用途:复制文件或目录

用法:cp [选项] 源文件路径  目的文件路径

-a:在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于pdr参数组合

-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。

-f:覆盖已经存在的目标文件而不给出提示。

-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。

-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

-l:不复制文件,只是生成链接文件。

7.find命令

用途:查找文件

用法:find path [选项] [行为]

# 与文件权限及名称有关的参数:

-name filename :找出文件名为filename的文件

-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件

-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);

-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;

-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示

-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示

# 例如:

find / -name passwd # 查找文件名为passwd的文件

find . -perm 0755 # 查找当前目录中文件权限的0755的文件

find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte

# 与用户或用户组名有关的参数:

-user name : 列出文件所有者为name的文件

-group name : 列出文件所属用户组为name的文件

-uid n : 列出文件所有者为用户ID为n的文件

-gid n : 列出文件所属用户组为用户组ID为n的文件

# 例如:find /home/hadoop -user hadoop # 在目录/home/hadoop中找出所有者为hadoop的文件

# 与时间有关的参数:

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;

-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;

-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;

-newer file : 列出比file还要新的文件名

# 例如:find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件

8.tail命令

用途:从指定点开始将文件写到标准输出.使用tail命令的方便动态查看日志文件

用法:tail [必要参数] [选择参数] [文件]

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

#例如:tail -fn 300 ./catalina.out 动态查看catalina文件最新300行文件内容

9.ls命令

用途:展示文件夹内容

用法:ls [选择参数]

-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来~ 

-A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~ 

-d :仅列出目录本身,而不是列出目录内的档案数据 

-f :直接列出结果,而不进行排序 (ls 预设会以档名排序!) 

-F :根据档案、目录等信息,给予附加数据结构,例如: 

*:代表可执行档; /:代表目录; =:代表 socket 档案; |:代表 FIFO 档案; 

-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来; 

-i :列出 inode 位置,而非列出档案属性; 

-l :长数据串行出,包含档案的属性等等数据; 

-n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!) 

-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小; 

-R :连同子目录内容一起列出来; 

-S :以档案容量大小排序! 

-t :依时间排序 

--color=never :不要依据档案特性给予颜色显示; 

--color=always :显示颜色 

--color=auto :让系统自行依据设定来判断是否给予颜色 

--full-time :以完整时间模式 (包含年、月、日、时、分) 输出 

--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime) 而非内容变更时间 (modification time)  

例如:

ls [-aAdfFhilRS] 目录名称 

ls [--color={none,auto,always}] 目录名称 

ls [--full-time] 目录名称  

 

 

 

        

这篇关于linux与文件操作相关命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!