据说,你要对Linux文件做的事情,98%都记录在这篇文章里了。

1.ls命令

最常见的命令,相信刚进入linux命令行界面的时候,都要用这个命令看看当前目录下都有哪些文件吧。

  • 名称:List

  • 含义:列出当前目录(或者指定目录)下的文件或目录列表,通过不同的参数展示权限等目录相关信息,以及排序规则。

  • 格式:ls [参数]、ls [目录名] [参数]

  • 参数:

    参数 含义
    -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。可以缩写成我们常用的ll命令
    -a 列出目录所有文件,包含以.开始的隐藏文件
    -A 列出除.及..的其它文件
    -r 反序排列
    -t 以文件修改时间排序
    -S 以文件大小排序
    -h 以易读大小显示,与-l一起使用
    x* 列出当前目录中所有以“x”开头的目录

2.cd命令

也是最常见的命令,无需多言。

  • 名称:Change Directory

  • 含义:切换到指定路径

  • 格式:cd [目录名]

  • 例子:

    • 切换到home路径:cd或者cd ~

    • 切换到指定路径:cd /bin/(/bin是完整路径名)

    • 切换到当前路径下的目录:cd learncd/(learncd是当前路径下的目录名)

    • 切换到上一级目录:cd ../

3.pwd

一般用于在目录中迷失方向的时候,需要找找自己在哪

  • 名称:Print Working Directory
  • 含义:打印当前工作目录的完整路径名
  • 格式:pwd

4.mkdir

  • 名称:Make Directory

  • 含义:创建目录

  • 格式:mkdir [参数] [目录]

  • 参数:

    参数 含义
    -p 创建的路径中间有不存在的路径,则自动创建其中的父目录
    -v 创建目录成功后展示结果文案(感觉比较鸡肋)

5.rm

删除命令很危险,使用rm -rf的时候一定要慎重。毕竟跑路是一件比较麻烦的事情。

  • 名称:Remove

  • 含义:删除文件

  • 格式:rm [参数] [文件路径]

  • 参数:

    参数 含义
    -i 删除前会提示确认是否删除,一般适用于一次性删除多个文件
    -r 递归的删除目录和目录下的文件
    -f 强制删除,不做任何提示

6.cp

cp是copy,不是炒的那个cp。

  • 名称:Copy

  • 含义:将源文件/目录复制到目标文件/目录

  • 格式:cp [参数] [源文件] [目标目录]、cp [参数] [源文件] [目标目录下文件名](可以将复制后的文件指定为新的名字)

  • 参数:

    参数 含义
    -i 复制指定的目标文件有同名文件,会有提示
    -r 复制目录及目录内所有项目
    -l 只是创建链接,不是复制文件。如果修改源文件,则打开的目标链接会看到改动。
  • 例子:

7.mv

  • 名称:Move

  • 含义:移动文件/目录到指定目录下,并支持重命名

  • 格式:mv [参数] [源文件] [目标目录]

  • 参数:

    参数 含义
    -i 移动到指定的目标文件有同名文件,会有提示
    -b 移动到指定的目标文件有同名文件,会将已有的同名文件备份。备份的文件,在原有文件名后面有~符号。
    -n 移动到指定的目标文件有同名文件,则不进行移动

8.chmod

权限控制命令,还是稍微有些复杂,这里需要多多科普一下。

  • 名称:change mode

  • 含义:修改用户对文件/目录的访问权限

  • 格式:chmod [参数] [用户类型] [权限] [文件]

    • 其中,用户类型包括:u-文件所有者;g-文件所有者所在的用户组;o-其他用户;a-全部用户
  • 参数:

    参数 含义
    -c 权限改变时,会有提示
    -R 变更指定目录及子目录下的全部文件

在这里需要对Linux的文件权限做一下介绍。

Linux中的一个用户,可以属于多个用户组。一个用户组里可以有多个用户。所以对于一个文件来说,Linux将拥有其权限的用户,分为了三个级别。分别是:文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。对于每一级别的用户,可以设置属于该级别用户的权限,通过9个权限位来设置。

举个例子,我们用ll命令来查看文件信息,如图:

其中每一列的含义都标注在图片上了。

最前面的这一串-rwxrwxrwx,就代表fileA当前的权限。每一个字符都代表什么意思呢?

其中第一位的-代表文件,d代表目录,l代表链接。2到4位是文件所有者(Owner)的权限,5到7位是用户组(Group)的权限,8到10位是其它用户(Other Users)的权限。r代表read读权限,w代表write写权限,x代表execute运行权限,-代表没有该权限位的权限。具体直接看图:

所以我们就知道了,如果想修改一个文件的权限,只需要修改指定用户级别的对应的权限位就可以了。

可以使用+增加权限,使用-删除权限,使用=指定权限。

比如对于刚才的那个文件fileA:

  • 我想让其他用户只拥有读权限,可以用命令:chmod o=r fileA
  • 我想删掉用户组的写权限,可以用命令:chmod g-w fileA
  • 我又想让其他用户拥有写权限运行权限,可以用命令:chmod o+wx fileA

那传说中经常用到的 chmod 777 是啥意思呢?

你可以把权限的rwx的每一个权限位对应成二进制的位。有权限则为1,无权限则为0。这样每一类用户的三个权限位就可以转换成一个二进制数,同时也可以转换成八进制数。

例如:

权限 二进制 八进制
rwx 111 7
r-x 101 5
--x 001 1

因此,我们就可以通过八进制的数字,来指定文件的权限了。

比如对于刚才的那个初始权限为-rwxrwxrwx的文件fileA:

  • 我想让其他用户只拥有读权限,也就是最终权限为-rwxrwxr--,可以用命令:chmod 774 fileA
  • 我想删掉用户组的写权限,也就是最终权限为-rwxr-xr--,可以用命令:chmod 754 fileA
  • 我又想让其他用户拥有写权限运行权限,也就是最终权限为-rwxr-xrw-,可以用命令:chmod 756 fileA

好啦,以上就是绝大部分你在使用Linux时,涉及到的命令了。如果有其他的用法和补充,欢迎在评论区里交流。后续还会有其他类型的命令整理,可以持续关注哈。

Linux常用命令整理:文件目录管理的更多相关文章

  1. Linux常用命令整理 - imsoft.cnblogs

    su 用户名 在不退出登陆的情况下,切换到另外一个人的身份如果用户名缺省,则切换到root状态会提示输入密码,密码不回显的. 在用su命令切换root用户时,使用“-”选项,这样可以将root的环境变 ...

  2. Linux常用命令整理

    1.常用命令:cd 进入 ls(list)查看当前目录下的文件 pwd 查看目录的路径 who an i 查看当前用户 clear 清除屏幕   2.绝对路径:从根目录开始\ 相对路径:上一层.下一层 ...

  3. linux常用命令:2权限管理命令

    权限管理命令 1.权限管理命令:chmod 命令名:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限: ...

  4. linux常用命令之--磁盘管理命令

    linux的磁盘管理命令 1.查看磁盘空间 df:用于显示磁盘空间的使用情况 其命令格式如下: df [-option] 常用参数: -i:使用inodes显示结果 -k:使用KBytes显示结果 - ...

  5. Linux常用命令2 权限管理命令

    1.权限管理命令:chmod 上面图片中的ugoa与rwx并不是一个命令,而是不同选项 u 所有者  g 所属组 o 其他人 a 所有人 r 读取权限 w写入权限  x 执行权限 chmod u+x ...

  6. Linux常用命令之权限管理

    在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录,这也让linux更安全.下面主要讲解下常用的权限命令chgrp,chmod,chown . 1.文 ...

  7. Linux常用命令5 用户管理命令

    1.用户管理命令:useradd 所在路径:/usr/bin/useradd      执行权限:root 语法:useradd 用户名 功能描述:添加新用户 例如:useradd hzw userd ...

  8. Linux学习笔记(4)Linux常用命令之权限管理命令

    (1)chmod chmod命令用于改变文件或目录权限,英文原意为change the permissions mode of a file,所在路径为/bin/chmod,其语法格式为: chmod ...

  9. Linux 常用命令整理

    系统 切换用户 su 关机/重新启动 shoutdown,reboot,halt,poweroff 内存数据写入磁盘 sync 查询命令用法  "命令 –help" 或 " ...

随机推荐

  1. Python_关于python2的encode(编码)和decode(解码)的使用

    在使用Python2时,我们习惯于在文件开头声明编码 # coding: utf-8 不然在文件中出现中文,运行时就会报错 SyntaxError: Non-ASCII character... 之类 ...

  2. Flask_请求钩子(七)

    在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编 ...

  3. vue-cli axios封装(element-ui)

    1.http.js /** * * http配置 */ import axios from 'axios'import { Loading, Message } from 'element-ui' / ...

  4. testng 的常用注解

    常用注解如下: @BeforeSuite: 此注解的方法会在当前测试集合中的任一测试用例前执行 @AfterSuite: 此注解的方法会在当前测试集合中的所有测试程序结束后执行 @BeforeTest ...

  5. Sentry 开发者贡献指南 - Feature Flag

    功能 flag 在 Sentry 的代码库中声明. 对于自托管用户,这些标志然后通过 sentry.conf.py 进行配置. 对于 Sentry 的 SaaS 部署,Flagr 用于在生产中配置标志 ...

  6. java集合分类

    Java中的集合包括三大类,它们是Set.List和Map, Set(集) List(列表) Map(映射) 它们都处于java.util包中,Set.List和Map都是接口,它们有各自的实现类.( ...

  7. Solon 开发,五、切面与环绕拦截

    Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...

  8. RHCSA 第五天

    1. a.创建普通变量local_data=1并访问 [root@sss ~]#local_data=1 [root@sss ~]#echo local_data local_data [root@s ...

  9. 带你玩转Flink流批一体分布式实时处理引擎

    摘要:Apache Flink是为分布式.高性能的流处理应用程序打造的开源流处理框架. 本文分享自华为云社区<[云驻共创]手把手教你玩转Flink流批一体分布式实时处理引擎>,作者: 萌兔 ...

  10. 【刷题-LeetCode】147 Insertion Sort List

    Insertion Sort List Sort a linked list using insertion sort. A graphical example of insertion sort. ...