当前位置:首页 > 技术文章 > 正文内容

Linux文件操作命令,常用命令有哪些?

arlanguage3个月前 (02-10)技术文章25

1.1 文件创建命令(touch)

该命令的作用主要为创建文件,就类似于Windows系统中的新建功能,比如新建一个*.txt*.md文件,该命令可以在当前目录下创建文件,也可以在指定目录下创建文件。

示例1:在当前目录下创建文件

touch math.txt

执行结果如下:

[root@VM-0-6-centos math]# touch math.txt
[root@VM-0-6-centos math]# ls
math.txt

示例2:在指定目录下创建文件

touch english/english.md

执行结果如下:

[root@VM-0-6-centos subject]# ls english/
english.md

在上面的示例中,我们是一次只创建了一个文件,我们也可以一次性创建多个文件,只需要文件名之间用空格隔开即可。

示例3:一次创建多个文件

touch xiaohong.txt xiaomin.txt xiaogang.txt

执行结果如下:

[root@VM-0-6-centos name]# touch xiaohong.txt xiaomin.txt xiaogang.txt
[root@VM-0-6-centos name]# ls
xiaogang.txt  xiaohong.txt  xiaomin.txt

1.2 移动或重命名(mv)

mv命令的作用有两个,一个是移动文件或文件夹,就类似于Windows系统的剪切功能,将一个文件从一个目录或文件移动到另一个目录,还有一个作用是对文件或目录进行重命名

示例1:移动文件

mv xiaomin.txt name1

执行结果如下:

[root@VM-0-6-centos name]# mv xiaomin.txt name1
[root@VM-0-6-centos name]# ls name1
xiaomin.txt
[root@VM-0-6-centos name]#

从上面的运行结果我们得知,我们将name目录下的xiaomin.txt文件移动至name1的目录下。

示例2:重命名文件

mv xiaomin.txt xiaominpro.txt

执行结果如下:

[root@VM-0-6-centos name1]# mv xiaomin.txt xiaominpro.txt
[root@VM-0-6-centos name1]# ls
xiaominpro.txt

在使用mv命令操作文件的时候,如果你第二个参数是一个目录的话,那么此时mv的功能就是移动,如果第二个位置是一个文件的话,那么此时mv的功能就是重命名mv不仅可以移动或重命名文件,也可以重命名或移动文件夹

示例3:移动文件夹

 mv name1 name2

执行结果如下:

[root@VM-0-6-centos name]# ls
name1  name2  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# mv name1 name2
[root@VM-0-6-centos name]# ls name2
name1

示例4:重命名文件夹

 mv name2 name3

执行结果如下:

[root@VM-0-6-centos name]# ls
name2  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# mv name2 name3
[root@VM-0-6-centos name]# ls
name3  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]#

在使用mv命令操作目录的时候,第二个参数,如果目录是存在的,那么此时mv的作用就是移动如果第二个参数的目录是不存在的,那么mv的作用就是重命名

1.3 查看文件内容(cat)

该命令的作用主要是查看文件的内容,比如有一个文本文件,我们想查看它里面写了什么内容,此时就可以使用cat命令。

示例1:查看文件内容

cat flower.txt

执行结果如下:

[root@VM-0-6-centos name]# cat flower.txt
阳春三月,风和日暖;信步城外,看阡陌之上杨柳依依,野花绚烂,身心不由得轻爽而浪漫。
漫步陌上,只因陌上花开;花是自然的那种,朴素而恬淡,不落尘俗。“三月风情陌上花”,是花在其中生命得以璀璨,人在其中心情得以畅然的一种意境。这意境,枝繁叶茂,从古代长到现代,不枯不衰;又如水,岁岁年年,流淌在阡陌之上,不知迷醉过古今几个王公贵族、粉黛佳丽、骚人墨客、凡男俗女,三月陌上花,让人爱让人痴,恍惚人的骨子里头都沉淀了花的影子,花的风韵。

1.4 文件复制命令(cp)

该命令的作用为复制文件,cp是英文copy的缩写。

示例1:复制文件到指定目录

cp flower.txt temp

执行结果如下:

[root@VM-0-6-centos name]# ls
flower.txt  name3  temp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# cp flower.txt temp
[root@VM-0-6-centos name]# ls temp/
flower.txt

除了可以把文件复制到指定的目录,我们也可以将文件复制给另一个文件,但是会覆盖目标文件的内容,如果目标文件不存在,则会为其创建

示例2:复制文件内容给指定文件呢

cp flower.txt flower1.txt

执行结果如下:

[root@VM-0-6-centos name]# ls
flower.txt  name3  temp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# cp flower.txt flower1.txt
[root@VM-0-6-centos name]# ls
flower1.txt  flower.txt  name3  temp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]#

1.5 压缩和解压命令(tar)

在Windows系统中我们一般都是通过解压软件来进行对文件或者文件的压缩和解压,在Linux系统中一般是通过tar解压缩命令来实现的,tar命令的参数如下:

在Windows系统中,一般常见的压缩包文件格式是*.zip*.rar等,但是在Linux系统中压缩包的文件格式一般为*.tar.gz。在使用tar命令进行解压缩的时候,我们一般是将参数组合起来使用的。

示例1:将文件解压到当前目录

tar -zxvf nginx-1.18.0.tar.gz

执行结果如下:

[root@VM-0-6-centos name]# ls
flower1.txt  flower.txt  name3  nginx-1.18.0.tar.gz  temp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# tar -zxvf nginx-1.18.0.tar.gz
nginx-1.18.0/
nginx-1.18.0/auto/
nginx-1.18.0/conf/
....
[root@VM-0-6-centos name]# ls
flower1.txt  flower.txt  name3  nginx-1.18.0  nginx-1.18.0.tar.gz  temp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]#

当我们解压完成后,会在当前目录下产生一个解压后的文件夹。

示例2:将文件解压到指定目录

tar -zxf nginx-1.18.0.tar.gz -C temp

执行结果如下:

[root@VM-0-6-centos name]# ls
flower1.txt  flower.txt  name3  nginx-1.18.0.tar.gz  temp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# tar -zxf nginx-1.18.0.tar.gz -C temp
[root@VM-0-6-centos name]# ls temp
flower.txt  nginx-1.18.0
[root@VM-0-6-centos name]#

这里的-C表示 解压到指定的目录,我们将nginx-1.18.0.tar.gz解压到temp的目录下。

示例3:将文件夹压缩至当前目录下

tar -czvf name.tar.gz name

执行结果如下:

[root@VM-0-6-centos filedir]# tar -czvf name.tar.gz name
name/
name/nginx-1.18.0.tar.gz
name/xiaohong.txt
name/tmp/
name/tmp/nginx-1.21.1/
name/tmp/nginx-1.21.1/nginx.exe
name/tmp/nginx-1.21.1/contrib/
...
[root@VM-0-6-centos filedir]# ls
a  filetemp  name  name.tar.gz  subject
[root@VM-0-6-centos filedir]# 

我们来解释一下命令,name.tar.gz你指定的压缩包名称和后缀名name表示你要压缩那个目录。有的时候,我们只是想把文件快速打包一下,不想压缩,此时我们可以将-z选项去掉缺点就是打包后的文件比较大如果你想要压缩,那么就需要将-z加上,缺点就是压缩的速度慢

示例4:对文件进行压缩

有的时候我们不想压缩整个目录,只想压缩单个或多个文件,这个时候我们只需要将上面示例中的文件夹目录换成文件即可,如果是多个文件,只需用空格分割开就行。

tar -czvf txt.tar.gz 1.txt 2.txt 3.txt

执行结果如下:

[root@VM-0-6-centos filedir]# ls
1.txt  2.txt  3.txt  a  filetemp  name  name.tar.gz  subject
[root@VM-0-6-centos filedir]# tar -czvf txt.tar.gz 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
[root@VM-0-6-centos filedir]# ls
1.txt  2.txt  3.txt  a  filetemp  name  name.tar.gz  subject  txt.tar.gz
[root@VM-0-6-centos filedir]#

1.6 解压zip格式文件(unzip)

在Linux系统中,一般情况压缩的文件后缀都是*.tar.gz,但是它也不是唯一,像Windows系统中的*.zip文件,在Linux系统中也是可以解压的,使用的命令是unzip

示例1:解压zip文件至当前目录

unzip nginx-1.21.1.zip

执行结果如下:

[root@VM-0-6-centos name]# unzip nginx-1.21.1.zip 
Archive:  nginx-1.21.1.zip
   creating: nginx-1.21.1/
   creating: nginx-1.21.1/temp/
  inflating: nginx-1.21.1/nginx.exe
   creating: nginx-1.21.1/html/
....
[root@VM-0-6-centos name]# ls
flower1.txt  flower.txt  name3  nginx-1.18.0.tar.gz  nginx-1.21.1  nginx-1.21.1.zip  temp  xiaogang.txt  xiaohong.txt

我们通过unzip命令,在命令后面直接输入要解压的文件名,即可解压。但是有些时候我们不想解压到当前目录,我们怎么办呢,此时我们可以将-d参数来指定要解压的位置

示例2:解压zip文件至指定目录

unzip nginx-1.21.1.zip -d tmp

执行结果如下:

[root@VM-0-6-centos name]# ls
nginx-1.18.0.tar.gz  nginx-1.21.1.zip  tmp  xiaogang.txt  xiaohong.txt
[root@VM-0-6-centos name]# unzip nginx-1.21.1.zip -d tmp
Archive:  nginx-1.21.1.zip
   creating: tmp/nginx-1.21.1/
   creating: tmp/nginx-1.21.1/temp/
  inflating: tmp/nginx-1.21.1/nginx.exe
   creating: tmp/nginx-1.21.1/html/
  inflating: tmp/nginx-1.21.1/html/index.html
  inflating: tmp/nginx-1.21.1/html/50x.html
   creating: tmp/nginx-1.21.1/docs/
[root@VM-0-6-centos name]# ls tmp
nginx-1.21.1

通过-d选项将文件解压在tmp目录下。

示例3:压缩zip格式的文件

zip -r name.zip name

执行结果如下:

[root@VM-0-6-centos filedir]# zip -r name.zip name
  adding: name/ (stored 0%)
  adding: name/nginx-1.18.0.tar.gz (deflated 0%)
  adding: name/xiaohong.txt (stored 0%)
  adding: name/tmp/ (stored 0%)
  adding: name/tmp/nginx-1.21.1/ (stored 0%)
  adding: name/tmp/nginx-1.21.1/nginx.exe (deflated 59%)
  adding: name/tmp/nginx-1.21.1/contrib/ (stored 0%)
...
[root@VM-0-6-centos filedir]# ls
1.txt  2.txt  3.txt  a  filetemp  name  name.tar.gz  name.zip  subject  txt.tar.gz

值得注意的是-r的选项最好是放在前面,如果放在后面,可能会有问题。

1.7 查找文件命令(find)

在Windows系统中,我们查找文件通常是在文件管理器中的搜索框中进行搜索,在Linux系统中我们一般是使用find命令来查找我们所需的文件。

查找文件名以test开头的文件

find . -name 'test*'

执行结果如下:

[root@VM-0-6-centos test]# ls
test1.txt  test2.txt  test3.txt  te.txt
[root@VM-0-6-centos test]# find . -name 'test*'
./test1.txt
./test2.txt
./test3.txt
[root@VM-0-6-centos test]#

在命令中,.表示当前目录,即要查找的位置,-name 选项表示:我们通过文件的名称查找,后面的test* 表示我们要查找的文件名称,支持通配符,在当前的目录下有四个文件中,只有三个文件是以test开头的,通过命令我们可以查出符合条件的文件路径。

查找文件名以txt结尾的文件

find . -name '*.txt'

执行结果如下:

[root@VM-0-6-centos test]# ls
test1.txt  test2.txt  test3.txt  test.md  te.txt
[root@VM-0-6-centos test]# find . -name '*.txt'
./test1.txt
./test2.txt
./test3.txt
./te.txt
[root@VM-0-6-centos test]#

查找文件大小大于3K的文件有的时候,我们发现磁盘的空间不够了,这个时候我们想看看有哪些文件比较大,比如看看有哪些文件是大约1G的,这个时候我们也可以使用find命令把他们找到,把没有用的大文件删掉。为了演示我们这里暂且就查找3K的文件。

find . -type f -size +3k

执行结果如下:

[root@VM-0-6-centos nginx-1.21.1]# find . -type f -size +3k
./conf/koi-utf
./conf/nginx.conf
./conf/koi-win
[root@VM-0-6-centos nginx-1.21.1]#

这里我们解释一下命令中参数的含义,find 表示使用查找命令,. 表示从当前目录开始查找,-type表示根据文件的类型来查,f表示只查文件,不查目录,-size表示文件大小,+号表示大于的意思,也可以省略不写,如果是-则表示小于,最后一个参数为查询的条件。

1.8 文件内容查找命令(grep)

我们在Windows的系统中,比如在word打开一个文档,当我们想去查看文档中,有没有我们关注的内容时,这个时候我们一般会使用Ctrl+F快捷键进行搜索,在Linux系统中我们可以使用grep命令。

示例1:查询文件内容中有linlang的行

grep linlang linlang.txt

执行结果如下:

[root@VM-0-6-centos ~]# cat linlang.txt
lina
hallo
linlangya
make money
linlang
[root@VM-0-6-centos ~]# grep linlang linlang.txt
linlangya
linlang
[root@VM-0-6-centos ~]#

从上面的结果中,我们发现通过grep会查找出文档中满足条件的行。但是在实际的使用中,grep命令不会单独使用,一般都是与管道结合使用,管道在后面章节单独讲。

1.9 查找可执行文件路径(which)

这个命令的作用主要是查找可执行文件,所在的文件路径,比如我们在Linux中使用的命令,其实也是可执行文件,比如我们此时想看ls、cd这些命令所在的路径,此时就可以通过which来查找,该命令在实际的使用中,一般在shell脚本使用的比较多

示例1:查看ls命令的位置

which ls

执行结果如下:

[root@VM-0-6-centos ~]# which ls
alias ls='ls --color=auto'
        /bin/ls
[root@VM-0-6-centos ~]#

1.10 创建连接接命令(ln)

什么叫创建软链接命令呢,简单地说就是类似于Windows系统的快捷方式。示例1:为文件创建软连接

ln -s linlang.txt linlang_bak.txt

执行结果如下:

[root@iZ8vb15btme7rdyvwu43dyZ study]# ls
linlang1  linlang2  linlang3  linlang.txt  plus
[root@iZ8vb15btme7rdyvwu43dyZ study]# ln -s linlang.txt linlang_bak.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# ll *.txt
lrwxrwxrwx 1 root root 11 8月  15 11:31 linlang_bak.txt -> linlang.txt
-rw-rwxrwx 1 root root  0 8月  14 16:41 linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# 

命令中有有一个-s的参数,表示创建的是一个软连接,后面接着两个参数,第一个参数表示你要为那个文件创建快捷方式,第二个参数表示你创建的快捷方式叫什么。

结尾

本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,大家也可以关注我们的公众号「郑大钱呀」,一起学习交流,谢谢。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/2438.html

标签: phpstudy nginx
分享给朋友:

“Linux文件操作命令,常用命令有哪些?” 的相关文章

2022年从零开始,用一篇博客掌握 nginx 的初级配置

当 nginx 安装之后,默认的配置如下所示(数据来源为宝塔自动生成),本篇博客重点介绍的是配置虚拟机相关内容,即 server 块配置项。 server 块的指令主要用于设置主机和端口, location 块用于匹配网页路径,一个 http 块可以包含多个 server 。基础配置server {...

Nginx+keepalived实现高可用 nginx和keepalived如何搭建高可用集群

Nginx一般用来做服务网关,虽然Nginx的性能非常高,但是还是有宕机的风险,所以Nginx的高可用也是我们需要考虑的。常见的Nginx的高可用方案是使用keepalived浮动IP技术来实现。通过keepalived虚拟一个vip出来作为虚拟网关,所有请求都先通过虚拟网关找到真正网关,再往下走。...

【Nginx进阶】Nginx安全配置

在本章中,我们将详细介绍 Nginx 的安全配置,包括 SSL/TLS 安全、访问控制、HTTP 安全头、防止 DDoS 攻击和日志审计。Nginx安全配置在现代网络环境中,保障 Web 服务器的安全性至关重要。Nginx 作为一个高性能的 Web 服务器和反向代理服务器,通过合理的安全配置,可以有...

Nginx如何实现四层负载均衡

静态负载均衡Nginx的四层静态负载均衡需要启用ngx_stream_core_module模块,默认情况下,ngx_stream_core_module是没有启用的,需要在安装Nginx时,添加--with-stream配置参数启用,如下所示。./configure --prefix=/usr/l...

一般人绝对无法发现的nginx锅

nginx热启动:nginx -s reloadPS:要在/etc/profile环境变量PATH里配置nginx的路径。配置完执行 source /etc/profile 让变量生效。 一次部署,同样的前端代码,放到了nginx里面运行,但是有一个模块全部页面都报这个错误,其他模块正常展示。以前遇...

大数据分析工程师入门15-数据收集

数据与智能 本公众号关注大数据与人工智能技术。由一批具备多年实战经验的技术极客参与运营管理,持续输出大数据、数据分析、推荐系统、机器学习、人工智能等方向的原创文章,每周至少输出10篇精品原创。同时,我们会关注和分享大数据与人工智能行业动态。欢迎关注。 作者:凯凯连导语上一篇文章我们简单介绍了下大数...