热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux文件相关常用命令(超全超详细)

command终端命令格式:command[-options][parameter]command:命令名,相应功能的英文单词或单词的缩写[-op

command终端命令格式:

command [-options] [parameter]

command:命令名,相应功能的英文单词或单词的缩写

[-options]:选项,可用来对命令进行控制,也可以省略

parameter:传给命令的参数,可以是0个、1个或多个

例如:查阅命令的帮助信息

command --help 显示command的帮助信息,如 mkdir --help

man command 查阅command命令的使用手册,如 man mkdir


1.ls命令

ls命令查看当前目录中的文件信息,格式:ls [选项] [文件]

ls -a 查看所有文件列表(可查看隐藏文件)

ls -l 以列表方式显示文件的详细信息

ls -h 配合-l以人性化的方式显示文件大小

ls -l -h 显示文件大小更加直观

ls -lh 或 ls -hl

ls -lha

ls通配符的使用

* 代表任意数个字符

? 代表任意一个字符,至少1个

[] 表示可以匹配字符组中的任一一个

[abc] 匹配a、b、c中的任意一个

[a-f] 匹配从a到f范围内的任意一个

例如:ls 1*

  ls *1.txt

  ls *3*

  ls 1?1.txt

  ls [123]23.txt

  ls [1-3]23.txt


2. cd命令

cd命令用于切换工作路径,格式:cd [目录名]

linux下文件和目录特点:

.代表当前目录

..代表上一级目录

cd  切换目录

cd ~ 切换到当前用户的主目录(家目录~)

cd .  保持在当前目录不变

cd .. 切换到上级目录

cd -  可以在最近两次工作目录之间来回切换,如下图:

相对路径:在输入路径时,最前面不是/或~,表示相对当前目录所在的目录位置

绝对路径:在输入路径时,最前面是/或~,表示从根目录/家目录开始的具体目录位置


3. touch 命令

touch命令用于创建空白文件或设置文件的时间,格式: touch [选项 ] [文件]。

touch 文件名 #如果文件不存在,可以创建一个空白文件;如果文件已存在,可以修改文件的末次修改日期

-a 仅修改“读取时间”(atime)

-m 仅修改“修改时间”(mtime)

-d 同时修改 atime和mtime

例如:对file.txt文件进行修改


 4. mkdir命令

mkdir命令用于创建空白的目录,格式:mkdir [选项] 目录。

mkdir 文件夹名  #创建一个新的目录

-p 可以递归递归创建出具有嵌套叠层关系的文件目录

例如:mkdir -p a/b/c/d


5. pwd命令

pwd命令用于查看当前所在文件夹目录


6. clear 命令

clear命令用于清屏


7. rm命令

rm命令用于删除文件或目录,格式:rm [选项 ] 文件。

rm 删除文件或目录

rm -f 强制删除,忽略不存在的文件,无需提示

rm -r 递归地删除目录下的内容,删除文件夹时必须加此参数

rm *1.txt 删除文件

rm -r *

rm -rf * 强制删除该文件夹中所有文件 (删除完成不可恢复)


8. cp命令

cp命令用于复制文件或目录,格式:cp [选项 ] 源文件 目标文件。

如果目标文件是目录,则会把源文件复制到该目录中;

如果目标文件也是普通文件,则会询问是否要覆盖它;

如果目标文件不存在,则执行正常的复制操作。

cp 源文件 目标文件    复制文件或目录

cp -i 源文件名 目录名 覆盖文件前提示

cp -r 源文件名 目录名 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

cp -d 源文件 目标文件   若对象为“链接文件”,则保留该“链接文件”的属性

cp -p 源文件 目标文件  保留原始文件的属性

cp -a 源文件 目标文件  相当于-pdr


9. mv命令

mv命令用于移动文件或将文件重命名,格式: mv [选项 ] 源文件 [目标路径 |目标文件名 ]。

mv 源文件 目标文件    移动文件或目录 / 重命名文件或目录

mv 文件名 目标文件目录

mv -i 文件名 目标文件目录   覆盖文件前提示  


10. tree命令

tree [目录名] 以树状图列出文件目录结构

tree -d 只显示目录信息


11. cat命令

cat命令用于查看内容较少的纯文本文件,格式:cat [选项] [文件]。

cat 文件名    查看文件内容、创建文件、文件合并、追加文件内容等功能,会一次性显示所有的内容,适合查看内容较少的文本文件

cat -b 文件名    对非空文件内容,显示行编号

cat -n 文件名    对输出的所有内容,显示行编号


12. more命令

more命令用于查看内容较多的纯文本文件,格式:more [选项] 文件。

more 文件名   分屏显示文件内容,每次只显示一页内容,适合内容较多的文本文件

使用more的操作键:

空格键:显示手册页的下一屏

Enter键:一次滚动手册页的一行

b:回滚一屏

f:前滚一屏

q:退出


13. less命令

less命令用于查看文件的内容,less与more类似,但使用less可以随意浏览文件,而more 仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件,格式:less [选项] 文件。

使用less的操作键:more命令的所有按键less都支持

空格键:显示手册页的下一屏

Enter键:一次滚动手册页的一行

b:回滚一屏

f:前滚一屏

q:退出

↑↓箭头可以实现一行一行的上下翻

PageDown/PageUp可以实现一页一页的上下翻

例如:less demo.txt


14. grep命令

grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式: grep [选项] [文件]。

grep  搜索文本 文件名       搜索文本文件内容

-n 显示匹配行及行号

-v 显示不包含匹配文本的所有行(相当于求反)

-i 忽略大小写

-c 仅显示找到的行数

-b 将可执行文件(binary)当作文本文件(text)来搜索

两种模式查找:

^a   行首,搜索以a开头的行

ke$  行尾,搜索以ke结束的行

例如: grep as 123.txt    搜索as

grep -n as 123.txt   搜索as显示行号

grep -v as 123.txt

grep -vn as 123.txt

grep -i as 123.txt  搜索as忽略大小写

grep -in as 123.txt  搜索as忽略大小写显示行号

grep ^f 123.txt 搜索以f为行首的内容

grep a$ 123.txt 搜索以a为行尾的内容

grep -n a$ 123.txt 搜索以a为行尾的内容,并显示行号


15. find命令

find命令用于按照指定条件来查找文件,格式: find [查找路径] 寻找条件 操作。

在 Linux系统中,搜索工作一般都是通过 find命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上。

参数:

-name 匹配名称

-perm 匹配权限(mode为完全匹配,-mode为包含即可)

-user 匹配所有者

-group 匹配所有组

-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)

-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)

-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)

-nouser 匹配无所有者的文件

-nogroup 匹配无所有组的文件

-newer f1 !f2 匹配比文件f1新但比f2旧的文件

--type b/d/c/p/l/f 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)

-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)

-prune 忽略某个目录

-exec ...... { }\; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

-exec参数重要的作用。这个参数用于把 find命令搜索到的结果交由紧随其后的命令作进一步处理,它十分类似于管道符技术,并且由于 find命令对参数的特殊要求,因此虽然 exec是长格式形式,但依然只需要一个减号(-)。

find [路径] -name "*.py"    #查找指定路径下扩展名是.py的文件,包括子目录

如果省略路径,表示在当前文件夹下查找

例如:find Desktop/ -name "*1*"  搜索桌面目录下,文件名包含1的文件

find Desktop/ -name "*.txt"  搜索桌面目录下,所有以.txt为扩展名的文件

find Desktop/ -name "1*"   搜索桌面目录下,以数字1开头的文件

find / -perm -4000 -print 查询整个系统中搜索权限包括SUID权限的所有文件


16. tail 命令

tail命令用于查看纯文本文档的后 N行或持续刷新内容,格式: tail [选项] [文件]。

tail -n 20 文件名  查看文本内容的最后20行

tail -f 文件名  实时查看文件最新信息


17. head 命令

head命令用于查看纯文本文档的前 N行,格式: head [选项] [文件]。

head -n 20 文件名  查看文件的前20行内容


18. tr命令

tr命令用于替换文本文件中的字符,格式:  tr [原始字符] [目标字符]。

想要快速地替换文本中的一些内容,可以先使用cat命令读取待处理的文本,然后通过管道符把这些文本内容传递给 tr命令进行替换操作即可。

例如,把file.txt文件中的英文全部替换为大写,但是不改变file.txt文件内容

 


19. wc命令

wc命令用于统计指定文本的行数、字数、字节数,格式:wc [参数] 文本。

-l 只显示行数

-w 只显示单词数

-c 只显示字节数

例如:统计当前系统中的用户数

 


20. stat命令

stat命令用于查看文件的具体存储信息和时间等信息,格式:stat 文件名称。

stat命令可以用于查看文件的存储信息和时间等信息,命令 stat anaconda-ks.cfg会显示出

文件的三种时间状态(已加粗): Access、 Modify、 Change。


 21. diff命令

diff命令用于比较两个文本文件的差异,格式:diff [参数] 文件1 文件2。

diff --brief 比较两个文件是否相同

diff -c 详细比较两个文件的差异之处

例如:

 


22. dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式:dd [参数 ]。

dd命令的参数:

if 输入的文件名称

of 输出的文件名称

bs 设置每个“块”的大小

count 设置要复制的“块”的个数


23. file命令

file命令用于查看文件的类型,格式:  file 文件名。


24. vi(Visual interface)命令

vi 文件名    如果文件已存在,会直接打开该文件;如果文件不存在,会新建一个文件

末行模式命令:

w保存

q退出

q!强行退出,不保存退出

wq 保存并退出

x 保存并退出


25. echo命令

echo命令用于在终端输出字符串或变量提取后的值,格式: echo [字符串| $变量]。

例如: echo hello java 输出hello java

 

echo $JAVA_HOME 输出java的环境变量JAVA_HOME的路径

 


26. date命令

参数: %t 跳格[Tab键]

%H 小时(00~23)

%I  小时(00~12)

%M  分钟(00~59)

%S  秒(00~59)

%j  今年中的第几天

%d   日

%m  月

%Y   年

例如:

 

格式化日期:date "+%Y-%m-%d %H:%M:%S" 

 

date "+%j"  查询今天是今年的第几天

 


27. cal命令

cal 查看日历,格式:cal [选项]。

cal 查看当前月的日历

 

cal -y 查看一年的日历

 


28. tar命令

tar命令用于对文件进行打包压缩或解压,格式:tar [选项 ] [文件]。

在Linux系统中,常见的文件格式比较多,其中主要使用的是 .tar或 .tar.gz或 .tar.bz2格式。

参数:

-c 用于创建压缩文件

-x 用于解压文件

-t查看压缩包内有哪些文件

-z 用Gzip压缩或解压

-j 用bzip压缩或解压

-v 显示压缩或解压的过程

-f 目标文件名,f后面一定是.tar文件,所以必须放选项最后

-p 保留原始的权限与属性

-P 使用绝对路径来压缩

-C 指定解压到的目录

-c和-x 参数不能同时使用

用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。

tar -cvf 打包文件.tar 被打包的文件/路径... (多个文件空格分开)  #打包文件

tar -xvf 打包文件.tar       #解包文件

gzip压缩tar打包后的文件

tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...    #压缩文件

tar -zxvf 打包文件.tar.gz    #解压缩文件

tar -zxvf 打包文件.tar.gz  -C 目标路径     #解压缩到指定路径

bzip2压缩

tar -jcvf 打包文件.tar.gz 被压缩的文件/路径...    #压缩文件

tar -jxvf 打包文件.tar.gz    #解压缩文件

tar -jxvf 打包文件.tar.gz  -C 目标路径     #解压缩到指定路径


29. 重定向>和>>

Linux允许将命令执行结果重定向到一个文件

将本应显示在终端上的内容输出/追加到指定文件中

其中:> 表示输出,会覆盖文件原有内容

  >> 表示追加,会将内容追加到已有文件的末尾

例如:echo Hello Python > a    将Hello Python输出到文件a中

  ls -lh > a  将ls -lh产生的结果输出到文件a中

  echo Hello Python >> a  将Hello Python追加到文件a中

  tree >> a   将tree 产生的结果追加到文件a中  


30. 管道 |

Linux允许将一个命令的输出可以通过管道做为另一个命令的输入

可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分为两端,左端塞东西(写),右端取东西(读)

常用的管道命令有:

more:分屏显示内容

grep:在命令执行结果的基础上查询指定的文本

例如:ls -lh ~

ls -lha ~ | more   分屏查看文件列表信息

ls -lha ~ | grep abc  查看含有abc的文件列表信息


31. wget命令

wget命令用于在终端中下载网络文件,格式:wget [参数 ] 下载地址。


推荐阅读
  • 1.man(相当于cmd--help)对不熟悉的命令想查询详细使用方法的帮助解释可以使用eg:manls就可以查看ls相关的用法注: ... [详细]
  • Linux操作系统回炉复习各种常用命令集合解析
    Linux操作系统回炉复习各种常用命令集合解析猿码互联猿码互联今天Linux终端命令格式目标了解终端命令格式知道如何查阅终端命令帮助信息01.终端命令格式command[ ... [详细]
  • 本文介绍了在Linux系统下进行文件压缩与解压的常用命令,包括tar命令的基本使用和参数,以及gzip、bz2、compress、rar和zip等不同格式的压缩与解压方法。同时还提供了常见的压缩文件后缀名及对应的解压命令,方便用户进行文件的压缩和解压操作。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
  • 开发中,EXT封装的.NET控件,使用了ExtJsExtenderControl的开源控件,发现个问题,就是每次控件加载,都需要调EXT_ALL.JS文件,600K,导致页面加载很慢。想对这个问题进行 ... [详细]
  • 用SpringBoot实现万能文件在线预览
    推荐一个用SpringBoot搭建的文档在线预览解决方案:kkFileView,一款成熟且开源的文件文档在线预览项目解决方案,对标业内付 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • Telnet的使用(Telnet远程连接Linux)
    一、环境描述:客户端:Win10操作系统 ... [详细]
author-avatar
G眯眼猫2850927647Ona
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有