目录处理命令

ls

  • 命令名称:ls
  • 英文原意:list
  • 执行权限:所有用户
  • 功能:显示目录文件
  • 语法:ls 选项[-ald] [文件或目录]
  • -a:显示所有文件,包括隐藏文件
  • -l:详细信息显示
  • -d:查看目录属性

-a

-a能显示所有文件,包括隐藏文件。隐藏文件以.开头。

-l

 1atomy@atomy-virtual-machine:~/桌面$ ls -l /
2总用量 1918440
3lrwxrwxrwx   1 root root          7 5月   6 11:48 bin -> usr/bin
4drwxr-xr-x   4 root root       4096 5月   6 12:00 boot
5drwxrwxr-x   2 root root       4096 5月   6 11:50 cdrom
6drwxr-xr-x  19 root root       4140 5月   9 09:17 dev
7drwxr-xr-x 131 root root      12288 5月   9 09:04 etc
8drwxr-xr-x   3 root root       4096 5月   6 11:51 home
9lrwxrwxrwx   1 root root          7 5月   6 11:48 lib -> usr/lib
10lrwxrwxrwx   1 root root          9 5月   6 11:48 lib32 -> usr/lib32
11lrwxrwxrwx   1 root root          9 5月   6 11:48 lib64 -> usr/lib64
12lrwxrwxrwx   1 root root         10 5月   6 11:48 libx32 -> usr/libx32
13drwx------   2 root root      16384 5月   6 11:47 lost+found
14drwxr-xr-x   3 root root       4096 5月   6 12:10 media
15drwxr-xr-x   3 root root       4096 5月   6 12:16 mnt
16drwxr-xr-x   2 root root       4096 2月  10 02:47 opt
17dr-xr-xr-x 371 root root          0 5月   9 09:17 proc
18drwx------   4 root root       4096 5月   9 09:16 root
19drwxr-xr-x  33 root root        880 5月   9 09:17 run
20lrwxrwxrwx   1 root root          8 5月   6 11:48 sbin -> usr/sbin
21drwxr-xr-x   8 root root       4096 2月  10 02:57 snap
22drwxr-xr-x   2 root root       4096 2月  10 02:47 srv
23-rw-------   1 root root 1964400640 5月   6 11:48 swapfile
24dr-xr-xr-x  13 root root          0 5月   9 09:17 sys
25drwxrwxrwt  21 root root       4096 5月   9 09:18 tmp
26drwxr-xr-x  14 root root       4096 2月  10 02:48 usr
27drwxr-xr-x  14 root root       4096 2月  10 02:56 var

这是使用-l查看根目录下文件的信息。第一行是总计(total),Total后面的数字是指当前目录下所有文件所占用的空间总和。可以使用ls –lh查看,也可使用ls –alh查看。

我们以home文件的信息为例分析各个字段

1drwxr-xr-x   3 root root       4096 5月   6 11:51 home

第一部分:文件属性字段

文件属性字段总共有10个字符组成

第一个字符表示文件类型

  • -:二进制文件
  • d:目录
  • l:软链接文件

之后每三个字符为一组,第一组表示u,即所有者;第二组表示g,即所属组;第三组表示o,即其他人

他们的权限有三种表示:r、w、x

  • r:读
  • w:写
  • x:执行

rwx表示这个文件可读可写可执行,r--表示这个文件只可以读,不可以写也不可以执行,-用来表示没有这个权限。

因此drwxr-xr-x的含义就是表示这是一个目录,所有者(即root)拥有读、写、执行的权限,所属组拥有读和执行的权限,但没有写的权限,其他人拥有读和执行的权限,但没有写的权限。

第二部分:目录/链接个数

文件硬链接数或目录子目录数

  • 如果一个文件不是目录那么这一字段表示,这个文件所具有的硬链接数,即这个文件总共有多少个文件名.

  • 1-rw-r--r-- 1 root root 1581 11月 24 18:14 anaconda-ks.cfg
    2第2字段的值为1,说明这个文件只有anaconda-ks.cfg这一个文件名.即只有一个指向该链接的硬链接. 
  • 可以使用ls -i来查看文件的硬链接数。

  • 如果是一个目录,则第2字段表示该目录所含子目录的个数。

第三部分:文件拥有者

该字段表示这个文件是属于哪个用户的

**第四部分:文件拥有者所在的组 **

一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第4字段的名称。

第五部分:文件大小

  • 如果是文件,则表示该文件的大小,单位为字节。
  • 如果是目录,则表示该目录符所占的大小,并不表示该目录下所有文件的大小。请注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小。

如果想要看到具象的文件大小,可以用ls -lh,这样会附带上文件大小的单位。

1atomy@atomy-virtual-machine:~/桌面$ ls -lh /home
2总用量 4.0K
3drwxr-xr-x 14 atomy atomy 4.0K 5月   6 15:01 atomy

第六部分:文件创建月份

第七部分:文件创建日期

第八部分:文件创建时间

第九部分:文件名

-d

如果想看一个文件夹的信息,要加上-d,否则会显示这个文件夹下的文件信息

1ls -ld /etc

一般情况下,-d会和-l一起使用。

mkdir

  • 命令名称:mkdir

  • 英文原意:make directories

  • 执行权限:所有用户

  • 功能描述:创建新目录

  • 语法

  • 1mkdir -p [目录名]
  • -p:递归创建

    • 递归创建就是一个目录本身不存在,就会先创建这个目录,如下:

    • 1mkdir /tmp/test/test01
      2
      3tmp下是没有test文件夹的,所以会提示创建失败要用如下方法:
      4
      5mkdir -p /tmp/test/test01
  • 同时创建多个目录(已经创建了test)

    • <br />mkdir /tmp/test/test01 /tmp/test/test02 /tmp/test/test03<br />

pwd

  • 命令名称:pwd
  • 英文原意:print working directory
  • 执行权限:所有用户
  • 功能描述:显示当前目录
  • 语法:pwd

cd

  • 命令名称:cd
  • 英文原意:change directory
  • 执行权限:所有用户
  • 功能描述:切换目录
  • 语法:cd [目录]

特殊目录:

  • .:当前目录
  • ..:上一级目录
  • cd ..回到上级目录

rmdir

  • 命令名称:rmdir
  • 英文原意:remove empty directories
  • 执行权限:所有用户
  • 功能描述:删除空目录
  • 删除的目录不是空目录会提示失败:目录非空
  • 语法:rmdir [目录名]

cp

  • 命令名称:cp
  • 英文原意:copy
  • 执行权限:所有用户
  • 功能描述:复制文件或目录
  • 语法:cp -rp [源文件或目录] [目标目录]
  • -r:复制目录
  • -p:保留文件属性

1.如果复制的是目录,就要加上-r,如

1cp -r /tmp/test/test01 /root

上面的语句就是将test01复制到root下

2.可以同时复制多个文件

1cp /etc/gai.conf /etc/gamemode.ini /tmp具体如下:root@atomy-virtual-machine:/etc# cp /etc/gai.conf /etc/gamemode.ini /tmproot@atomy-virtual-machine:/etc# cd /tmproot@atomy-virtual-machine:/tmp# ls_cafenv-appconfig_                                                                  systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-systemd-resolved.service-9AZqDhconfig-err-7lSB6k                                                                   systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-systemd-timesyncd.service-iI6Byigai.conf                                                                            systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-upower.service-Emh8lhgamemode.ini                                                                        tracker-extract-files.1000ssh-HsQTLczBrZ8o                                                                    tracker-extract-files.125systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-colord.service-Oxys1e              vmware-atomysystemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-ModemManager.service-1HeSRi        VMwareDnDsystemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-switcheroo-control.service-3ISK0i  vmware-rootsystemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-systemd-logind.service-3bdVEi      vmware-root_1153-4013330019这两个文件也新增在tmp中了。

注意,复制过来的文件相当于创建了一个新文件,日期是变化的

etc下的文件

1-rw-r--r--  1 root root    2584 2月   1  2020 gai.conf-rw-r--r--  1 root root    4372 5月  18  2020 gamemode.ini

tmp下的文件

1-rw-r--r-- 1 root  root  2584 5月   9 15:47 gai.conf-rw-r--r-- 1 root  root  4372 5月   9 15:47 gamemode.ini

3.使用-p来解决上面的问题

保留原来文件的属性

4.在复制的同时可以改名

1cp -r /tmp/test/test02 /tmp/testcopy将test02复制到tmp下并改名为testcopy,具体如下:root@atomy-virtual-machine:/tmp# cp -r /tmp/test/test02 /tmp/testcopyroot@atomy-virtual-machine:/tmp# ls_cafenv-appconfig_                                                            systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-switcheroo-control.service-3ISK0i  tracker-extract-files.1000config-err-7lSB6k                                                             systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-systemd-logind.service-3bdVEi      tracker-extract-files.125gai.conf                                                                      systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-systemd-resolved.service-9AZqDh    vmware-atomygamemode.ini                                                                  systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-systemd-timesyncd.service-iI6Byi   VMwareDnDssh-HsQTLczBrZ8o                                                              systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-upower.service-Emh8lh              vmware-rootsystemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-colord.service-Oxys1e        test                                                                                vmware-root_1153-4013330019systemd-private-a77e8ee0988c4b05b0e3a30c7f6f5967-ModemManager.service-1HeSRi  testcopy

mv

  • 命令名称:mv
  • 英文原意:move
  • 执行权限:所有用户
  • 功能描述:剪切(移动)文件、改名
  • 语法:mv [源文件或目录] [目标目录]
1root@atomy-virtual-machine:/tmp# mv /tmp/test/test03 /tmp/testcopyroot@atomy-virtual-machine:/tmp# ls /tmp/testcopytest03

可以和cp一样剪切的时候改名,也可以一次移动多个文件或目录

因此,我们使用这个命令对文件或目录重命名

1root@atomy-virtual-machine:/tmp# mv /tmp/testcopy/test03 /tmp/testcopy/test03renameroot@atomy-virtual-machine:/tmp# ls /tmp/testcopytest03rename

rm

  • 命令名称:rm
  • 英文原意:remove
  • 执行权限:所有用户
  • 功能描述:删除文件
  • 语法:rm -rf [文件或目录]
  • -r:删除目录
  • -f:强制删除

Linux学习笔记:linux命令之目录处理命令的更多相关文章

  1. Linux学习笔记(一)目录处理命令

    目录处理命令 ls cd mkdir rmdir tree ls 英文原意: list 功能: 显示目录文件 语法: ls 选项[-ald] [文件或目录] ls -a 显示所有文件,包括隐藏文件 l ...

  2. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  3. Linux学习笔记05—文件与目录权限

    1. 绝对路径与相对路径绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/local/mysql 这就是绝对路径相对路径:路径的写法不是由根目录 ‘/’写起,例如:首先用户进入到/, 然后 ...

  4. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  5. Linux学习笔记——切换并取代用户身份命令——su

        再次从头好好的学习Linux,本着以免轻易忘记,以备后用的原则,将我觉得常用或者好玩的linux命令记录在这,注意:我的实验环境是 Ubuntu 14.04.1 su 这个命令我经常使用,因为 ...

  6. Linux学习笔记(一):常用命令(1)

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  7. Linux学习笔记(八)权限管理命令

    权限管理命令 权限位含义 chmod chown chgrp umask默认权限 权限位含义 第1位代表文件类型 "-":普通文件 "b":块设备文件 &quo ...

  8. Linux学习笔记 - Linux快捷操作及常用命令

    一.快捷键 剪切光标前的内容 Ctrl + u 剪切光标至行末的内容 Ctrl + k 粘贴 Ctrl + u 或 Ctrl +k 的内容 Ctrl + y 移动光标到行末 Ctrl + e 移动光标 ...

  9. Linux学习笔记(一):常用命令(2)

    3.帮助命令 A,帮助命令:man    B,其他帮助命令 3.1,格式:man [命令名] 查看命令拥有哪个级别的帮助:                                       ...

  10. Linux 学习笔记 Linux环境变量初稿

    set命令会显示为某个特定进程设置的所有环境变量,但不包括一些没有设置值的默认环境变量 可以通过等号来给环境变量赋值,值可以是数值或字符串 如果要给变量赋一个含有空格的字符串值,必需用单引号来界定字符 ...

随机推荐

  1. Sqlmap的使用详解

    目录 Sqlmap Sqlmap的简单用法 探测指定URL是否存在SQL注入漏洞 查看数据库的所有用户 查看数据库所有用户名的密码 查看数据库当前用户 判断当前用户是否有管理权限 列出数据库管理员角色 ...

  2. 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

    碰到这个问题很多次,每次碰到都是去百度找.但是,不尽人意,好在最后还是解决了,所以写下总结. 报错内容: org.apache.catalina.core.StandardContext.startI ...

  3. Nacos 1.3.2 启动报错[db-load-error]load jdbc.properties error

    原因: 1.3.2版本Nacos默认启动模式为集群,在startup.cmd文件中第27行可以看到. 解决办法: 一.选择以默认的集群方式启动,就需要配置集群所需环境: 1.创建持久化数据库,推荐使用 ...

  4. RESTful中的PUT和PATCH实践

    先放上后台的在线API文档:SkyBlog Swagger API 在UserApi中,有这样三个接口1. PUT /users/{id} 更新用户信息2. PATCH /users/role/{id ...

  5. spring.framework 版本从4.1.6.RELEASE升到5.0.20.RELEASE

    将org.springframework 使用到的jar 版本号改为5.0.20.RELEASE后运行会报错: Servlet.service() for servlet [springmvc] in ...

  6. 【我给面试官画饼】Python自动化测试面试题精讲

    那今天给家分享的是一个面试主题. 就比如说我们的自动化测试,自动化如何去应对面试官,和面试官去聊一聊自动化的心得,自动化你现在去面试的时候是一个非常重要的一个关键点,所以如果你在这方面有一定的心得.那 ...

  7. 一次 Go 程序 out of memory 排查及反思

    前言 最近在搞数据导出模块,在测试大文件下载的过程中,报了 Out of memory (OOM) 错误,因为之前没有遇到过这类问题,导致此次排查问题花费了大半天,也走了不少弯路,特此复盘记录. 现象 ...

  8. 事后分析$\alpha$

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 事后分析 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 组织组员 ...

  9. Gradle的环境安装与配置

    本文是基于Windows环境对Gradle-6.6版本进行的安装配置. 简介 下载 安装 环境变量配置 开发工具配置 1.简介 Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持m ...

  10. Arduino杀手在此!!ESP 8266 NodeMCU小白手把手入门(二)(解惑篇)

    上一次更新主要是简单介绍了NodeMCU的基本知识并且进行了一次简单的实操演示,最近有一些读者向我提出了一些小问题,所以决定出一期解惑篇,主要针对的是基础知识不是太牢固,或是喜欢刨根问底的小可爱们.里 ...