据说,你要对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. 【优雅代码】07-spring下的优秀工具类

    [优雅代码]07-spring下的优秀工具类 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点 ...

  2. MongoDB分片集群机制及原理

    1. MongoDB常见的部署架构 * 单机版 * 复制集 * 分片集群 2. 为什么要使用分片集群 * 数据容量日益增大,访问性能日渐下降,怎么破? * 新品上线异常火爆,如何支撑更多用户并发? * ...

  3. 手写RPC-简陋版

    前言 最近不小心被隔离,放假思考一番,决定开始在手写序列.这个序列在之前看Nacous和网关源码的时候就有想法,只是一直没落实下来,趁着隔离行动起来. 必备知识介绍 序列化与反序列化 序列化是把对象的 ...

  4. 初识python: 字符串常用操作

    直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print ...

  5. 创建react开发环境

    准备工作 1.下载node.js(http://nodejs.cn/download/)推荐下载长期支持的版本 2.下载cnpm(https://jingyan.baidu.com/article/9 ...

  6. 安霸pipeline简述之YUV域的处理

    YUV域处理模块的详细介绍: YUV域的处理主要是rgb_to_yuv_matrix,chroma_scale,ASF(空域降噪),MCTF(时域降噪),SharpenB(锐化模块). RGB2YUV ...

  7. 二维数组与稀疏数组的转换---dataStructures

    首先我们看一个需求 在11 * 11 的五子棋的棋盘中 我们使用0代表十字交叉点也是无效的数据 用1代表黑棋 用2代表蓝棋 那么所看到的棋盘如下 改用数字显示后就如一下样式 现在我们需要将怎个棋盘存储 ...

  8. Go 分布式令牌桶限流 + 兜底策略

    上篇文章提到固定时间窗口限流无法处理突然请求洪峰情况,本文讲述的令牌桶线路算法则可以比较好的处理此场景. 工作原理 单位时间按照一定速率匀速的生产 token 放入桶内,直到达到桶容量上限. 处理请求 ...

  9. 极简promise雏形

    function Promise(fn) { var value = null, callbacks = []; //callbacks为数组,因为可能同时有很多个回调 this.then = fun ...

  10. 【刷题-LeetCode】198 House Robber

    House Robber You are a professional robber planning to rob houses along a street. Each house has a c ...