你必须非常努力,才能看起来毫不费力!

微信搜索公众号[ 漫漫Coding路 ],一起From Zero To Hero !

前言

Linux系列,主要是学习在工作中所必须的 ​​Linux​​​ 命令及​​shell​​​编程,只涉及常用命令及参数。如果有对​​Linux​​​不熟悉的同学,或者想要更加深入学习​​Linux​​的同学,可以点击这里。本篇文章首先来学习文件操作相关命令。

cd

命令格式

cd 目录复制代码

命令描述

  • 切换用户当前工作目录。示例
cd    # 进入用户主目录;
cd / # 进入根目录
cd ~ # 进入用户主目录;
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. # 返回上两级目录;
复制代码

ls

命令格式

ls 选项 目录
复制代码

命令描述


  • ​ls​​就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。

常用选项


  • -a: 显示所有文件,包括隐藏文件
  • -l: 详细信息显示
  • -h: 人性化显示,文件大小以B、K、M显示
  • -i: 显示Linux对于每个文件的id
  • -t: 按时间信息排序
  • -d: 显示目录属性

示例

# 组合使用多个命令
[root@VM-0-5-centos redis-6.2.4]# ls -alhit
总用量 348K
131900 drwxrwxr-x 3 root root 12K 9月 20 11:14 src
131082 drwxrwxr-x 7 root root 4.0K 6月 19 14:16 .
132726 -rw-r--r-- 1 root root 92K 6月 19 14:15 my.conf
131140 drwxrwxr-x 7 root root 4.0K 6月 19 14:04 deps
131117 -rw-rw-r-- 1 root root 28K 6月 1 22:03 00-RELEASENOTES
131120 -rw-rw-r-- 1 root root 51 6月 1 22:03 BUGS
131123 -rw-rw-r-- 1 root root 5.0K 6月 1 22:03 CONDUCT
131126 -rw-rw-r-- 1 root root 3.4K 6月 1 22:03 CONTRIBUTING
131129 -rw-rw-r-- 1 root root 1.5K 6月 1 22:03 COPYING

# 使用 -d,输出目录属性,而不是列出其中的文件
[root@VM-0-5-centos redis-6.2.4]# ls -lhd /opt
drwxr-xr-x. 4 root root 4.0K 6月 19 14:03 /opt
复制代码

命令输出第二列,有字符串"-rw-r--r--",这是对文件的权限描述,具体如下图所示:

其中第一个字符表示文件类型:'-'表示二进制文件,'d'表示目录 'l'表示软链接文件

后面三组分别表示所有者、所属组、其他用户对该文件的权限:r表示可读、w表示可写、x表示可执行

Linux常用文件操作命令学习_后端

mkdir

命令格式

mkdir 选项 目录
复制代码

命令描述


  • 用来创建目录

常用选项


  • -m: 建立目录的同时设置目录的权限
  • -p: 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

示例

[root@VM-0-5-centos /]# cd home
[root@VM-0-5-centos home]# ls

# -p,新建父子目录
[root@VM-0-5-centos home]# mkdir -p hello/world
[root@VM-0-5-centos home]# ls
hello

# -m,新建时指定权限
[root@VM-0-5-centos home]# mkdir -m 700 test
[root@VM-0-5-centos home]# ls -l
总用量 8
drwxr-xr-x 3 root root 4096 9月 20 12:06 hello
drwx------ 2 root root 4096 9月 20 12:07 test
复制代码

rmdir

命令格式

rmdir 选项 目录
复制代码

命令描述


  • 删除空目录

常用选项


  • -p:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;

示例

[root@VM-0-5-centos home]# ls
hello test

# 使用 -p 参数删除空目录
[root@VM-0-5-centos home]# rmdir -p hello/world/
[root@VM-0-5-centos home]# ls
test
复制代码

touch

命令格式

touch 选项 文件 
复制代码

命令描述

创建新的空文件

示例

[root@VM-0-5-centos home]# touch a.txt
[root@VM-0-5-centos home]# ls
a.txt hello test
复制代码

rm

命令格式

rm 选项 文件
复制代码

命令描述

删除文件或目录

常用选项


  • -f:强制删除,没有提示是否确认删除
  • -r:递归删除,在删除目录时使用
  • -i:删除已有文件或目录之前先询问用户

慎重使用​​rm​​命令,不小心删除后无法找回

示例

[root@VM-0-5-centos home]# rm test2.txt
rm:是否删除普通空文件 "test2.txt"?y
[root@VM-0-5-centos home]#
复制代码

cp

命令格式

cp 选项 原文件或目录  目标文件或目录
复制代码

命令描述


  • 将源文件或目录复制到目标文件或目录中

常用选项


  • -r 递归复制,用于复制目录
  • -p 保留原有文件属性

示例

# 1. 不使用 -p 参数,可以看到两个文件夹中,文件的创建时间不同
[root@VM-0-5-centos home]# touch test1.txt
[root@VM-0-5-centos home]# touch test2.txt
[root@VM-0-5-centos home]# mkdir hello
[root@VM-0-5-centos home]# ls -l
总用量 4
drwxr-xr-x 2 root root 4096 9月 20 12:31 hello
-rw-r--r-- 1 root root 0 9月 20 12:29 test1.txt
-rw-r--r-- 1 root root 0 9月 20 12:29 test2.txt

# 等一分钟后再复制
[root@VM-0-5-centos home]# cp test1.txt test2.txt hello
[root@VM-0-5-centos home]# ls -l hello/
总用量 0
-rw-r--r-- 1 root root 0 9月 20 12:31 test1.txt
-rw-r--r-- 1 root root 0 9月 20 12:31 test2.txt

# 2. 使用 -p 参数,文件属性会保留
[root@VM-0-5-centos home]# mkdir test
[root@VM-0-5-centos home]# cp -p test1.txt test2.txt test
[root@VM-0-5-centos home]# ls -l test
总用量 0
-rw-r--r-- 1 root root 0 9月 20 12:29 test1.txt
-rw-r--r-- 1 root root 0 9月 20 12:29 test2.txt

# 3. 使用-r,复制目录
[root@VM-0-5-centos home]# cp -r test hello/
[root@VM-0-5-centos home]# ls hello/
test test1.txt test2.txt
复制代码

mv

命令格式

mv 原文件或目录 目标文件或目录
复制代码

命令描述

移动文件或者重命名

示例

# 重命名
[root@VM-0-5-centos home]# mv test1.txt test3.txt

# 移动文件到另一个文件夹
[root@VM-0-5-centos home]# mv test3.txt hello/
复制代码

cat

命令格式

cat 选项 文件
复制代码

命令描述

显示文件内容

常用选项


  • -n 显示行号

示例

[root@VM-0-5-centos home]# cat -n /etc/issue
1 \S
2 Kernel \r on an \m
3
复制代码

tac

命令格式

tac 选项 文件
复制代码

命令描述

与cat相反,反向显示文件内容

示例

[root@VM-0-5-centos home]# tac /etc/issue

Kernel \r on an \m
\S
复制代码

more

命令格式

more 文件名
复制代码

命令描述

分页显示文件内容

操作

运行命令进入查看页面后,可以进行如下操作:


  • 空格 或 f:向下翻页
  • b:向上翻页
  • Enter:换行
  • q或Q:退出

示例

[root@VM-0-5-centos home]# more /etc/services
复制代码

less

命令格式

less 文件名
复制代码

命令描述

与​​more​​分页显示文件内容类似,但是​​less​​可以搜索关键字,比​​more​​更强大

操作

运行命令进入查看页面后,可以进行如下操作:


  • 空格 或 f:向下翻页
  • b:向上翻页
  • 上下键:换行
  • Enter:换行
  • q或Q:退出
  • 输入 "/内容 ",搜索内容,按​​n​​寻找下一个(n表示next)

示例

[root@VM-0-5-centos home]# less /etc/services
复制代码

head

命令格式

head 选项 文件名
复制代码

命令描述

显示文件前几行,默认显示前10行

常用选项

-n:指定显示行数

示例

[root@VM-0-5-centos home]# head -n 5 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10


  • tail

命令格式

tail 选项 文件名复制代码

命令描述

显示文件最后几行,默认显示最后10行

常用选项

  • -n:指定显示行数
  • -f:动态显示文件内容(不会退出命令,监听新的数据,文件中有新的数据增加后,会自动打印出来,按 control + c 退出)

示例

[root@VM-0-5-centos home]# tail -f /var/log/messages复制代码

总结

本文介绍了Linux文件操作的相关命令,包括:

  • 创建、删除文件
  • 创建、查看文件
  • 复制、剪切文件

更多

个人博客: lifelmy.github.io/

微信公众号:漫漫Coding路