01这些命令真的很重要吗?

文件及目录的路径切换、显示、创建、复制、移动和删除操作的常用姿势,必会!因为这些命令是使用 Linux 系统进行工作的基础,是摆脱小白的第一步,是构建大厦的基石!

发现锅锅真是个话痨啊!那锅锅就不要脸了真就再比比两句啦,承蒙不要嫌弃(=_=)。这篇文章不是 Linux 相关命令使用字典或百科全书,这一篇文章里总结工作实践中会用到的关于文件和目录操作常用的基础命令,这些命令真的很重要!

02路径切换和显示:cd、ls、pwd

  1. cd (全称 Change directory) 命令在 Linux 中是所有命令的基础依赖。
  2. ls 是离不开 cd 的基友,用来查看当前文件夹下有哪些文件和目录,ls (全称 List files)。
  3. pwd 看看自己身在何处。cd 切来切去,忘了自己身在何处,那就打印下当前的所在的工作路径,这就是 pwd (Print working directory)。

cd

  • cd / # 进入主机根目录。
  • cd ~ # 进入用户根目录。
  • cd .. # 返回爸爸(上级)目录,注 . 代表当前目录。
  • cd ../.. # 返回爷爷(上级的上级)目录,可以以此类推。
  • cd – # 返回上次目录。来回在两个目录中切换时很好用。
  • cd /home/root/temp # 使用绝对路径,从根目录开始,到temp目录。

ls

  • ls # 显示当前目录下所有文件和目录。

  • ls -l # 显示文件详情(文件名称、文件类型、权限、拥有者、文件大小等详细列出)。

  • ll # 等同 ls -l。

  • ls -al # 等同 [ll -a] 显示所有文件及详情,(ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)。

  • ls -lh # 等同 [ll -h] 以适合的单位显示文件大小,如kb、Mb、Gb。-h 这个参数在linux中很有用,基本所有需要统计大小的命令中都可以用它,如df -h, du -h,free -h。

  • ls -lhs # 对文件或者目录进行从大到小的排序

  • ls -lrt #按照文件修改时间升序,从上到倒下时间越来越近

    详细解释:

    -l use a long listing format 以长列表方式显示(详细信息方式)

    -t sort by modification time 按修改时间排序(最新的在最前面)

    -r reverse order while sorting (反序)

  • ls -lt #按照时间降序(默认:最新修改的排在前面)

pwd

  • pwd # 查看当前所在路径。
  • pwdx pid #可配合查找应用的安装路径。如查找 zookeeper 的安装路径 ,[ps –ef|grep zookeeper],找到 pid (进程号),接着 [pwdx pid],即可找到  zookeeper 安装路径。

03创建:touch、mkdir

  1. touch (含义触碰)创建一个空文件。
  2. mkdir (全称 Make directory)  建立目录,创建一个空目录。

touch

  • touch info.log  #在当前目录下创建一个 info.log 的空文件。
  • touch {01..10}info.log #注:是两个点号。批量创建文件,01info.log、02info.log、...、10info.log

mkdir

  • mkdir dirs #在当前目录下创建空目录 dirs。
  • mkdir log temp data # 同时创建多个同级目录,目录名以空格分开。
  • mkdir -p parent/child/logs #一次性创建多级目录,在当前目录下创建 parent 目录,在 parent 目录下创建 child 目录,在 child 目录下创建 logs 目录。

04复制、移动和删除:cp、mv、rm

  1. cp (全称 copy)复制。
  2. mv (全称 move)移动。
  3. rm (全称 remove)删除。

cp

  • cp info.log tempInfo.log #将 info.log 文件拷贝一份,拷贝后的文件名为 tempInfo.log。
  • cp -R parent  tempParent #将 parent 目录拷贝一份,拷贝后的目录名为 tempParent。一般加参数 -R(或参数-r,-r/R 表示递归),因为目录下一般会有子目录,否则无法成功拷贝。

mv

  • mv /home/docker/info.log  /home/temp/info.log #这个示例里文件名没变,就是搬移下文件位置。
  • mv /home/docker/info.log  /home/temp/tmp.log #这个示例里,搬移了文件位置且变更了文件名。
  • mv info.log tmp.log #这个示例里等同于对文件进行了重命名。
  • mv a b c /tmp #一次移动多个文件或到某个目录下

rm

  • rm [文件名] #删除文件,文件不存在会有报错提示。
  • rm -f [文件名] # (常用命令)删除文件,-f,忽略报错信息,不提示。
  • rm -rf [目录名] # (常用命令)递归删除目录。
  • rm -rf [文件1] [文件2] [目录1] [目录2] # (常用命令)删除多个文件和目录。
  • rm -rf .log # 删除当前目录所有.log后缀结尾的文件, 是匹配符表示匹配所有字符。
  • rm -i *.log # 删除所有以结尾log文件时,会逐一询问按 y 确认删除,n 不删除。

05跑路命令?千万不要作死自己!

  1. rm -rf / # 这个命令绝逼不能操作,删除根目录下的文件,就是系统中的所有文件都要被删除。如果是线上服务机器操作了,那就悲剧了!误操作了怎么办?赶快ctrl+c、ctrl+z 能保住多少是多少吧。
  2. rm -rf / home/apps/logs/ # 这也是个天坑命令!目的是删除日志文。结果书写时“多了一个空格”的bug,看懂了么?这就变成了 [rm -rf /] !
  3. 埋藏隐患的日志清理 shell 脚本!脚本关键内容如下。
cd ${log_path}
rm -rf *

目的是:进入到日志目录,然后把日志都删除。隐患:当目录不存在时,悲剧就发生了!

不跑路,有啥规避方案?

  1. 在生产环境把 [rm -rf] 命令替换为 [mv],再写个脚本程序定期清理,模拟回收站的功能。
  2. 把日志清理 shell 脚本,改用逻辑与 && 进行连接。
cd ${log_path}
rm -rf *

改用逻辑与 && 进行连接,合并成一句,前半句逻辑失败,后半句命令不执行:

cd ${log_path} && rm -rf * 

完整的日志清理 shell 脚本如下:

#!/bin/bash
base_home="/home/apps"
log_path=${base_home}/logs
cd ${log_path} && rm -rf *

06小结

  1. 总结了文件及目录的路径切换、显示、创建、复制、移动和删除操作的常用姿势。
  2. cp、rm都用到了-r/R参数,即 recursion,递归的意思,如果不加这个参数,好多时候操作会失败。
  3. 在操作 cd 、ls、cp、mv、touch、mkdir、rm 等命令时,如果没有指定路径,默认在当前目录下进行操作。如果指定目录,则脱离不了以下几类目录符号:
    /  #主机根目录
    ~  #用户目录
    ./  #相对目录,本级目录
    ../  #相对目录的上级目录
    ../..  #相对目录,爷爷目录,其他类推
    - #上次目录
    /xxx/xx2/xx3 # 绝对目录,从根目录开始
  4. 删库跑路命令【rm -rf】,以及如何规避!

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

002 Linux 文件与目录命令的必会姿势!的更多相关文章

  1. CentOS(十)--与Linux文件和目录管理相关的一些重要命令②

    在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...

  2. CentOS(九)--与Linux文件和目录管理相关的一些重要命令①

       接上一篇文章,实际生产过程中的目录管理一定要注意用户是root 还是其他用户. 一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 & ...

  3. Linux系列教程(四)——Linux文件和目录处理命令

    这个系列教程的前面我们讲解了如何安装Linux系统,以及学习Linux系统的一些方法.那么从这篇博客开始,我们就正式进入Linux命令的学习.学习命令,首先要跟大家纠正的一点就是,我们不需要记住每一条 ...

  4. Linux - 文件和目录常用命令

    文件和目录常用命令 目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 ...

  5. Linux文件与目录管理常用命令

    Linux文件与目录常用命令管理: 文件权限/目录权限: -rwxr-xr-x. root root Mar : zeng.txt r():可读 w():可写 x():可执行 drwxr-xr-x. ...

  6. linux查找文件或目录命令

    inux查找文件或目录命令,前提:知道文件或者目录的具体名字,例如:sphinx.conf find 查找  find / -name dirname  查找目录 find -name filenam ...

  7. 【转】第七章、Linux 文件与目录管理

    原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0220filemanager.php 第七章.Linux 文件与目录管理 最近升级日期:2009/08/26 ...

  8. 第七章、Linux 文件与目录管理

    第七章.Linux 文件与目录管理   1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH ...

  9. (转)Linux 文件和目录的属性

    linux 文件属性与权限 原文:https://www.cnblogs.com/kzloser/articles/2673790.html https://www.cnblogs.com/danh/ ...

随机推荐

  1. UDP&串口调试助手用法(3)

    发送参数配置 下面以 UDP 通道为例介绍 发送数据配置 概览 选择数据源 文件: 选择发送的文件 源码: 自己手动键入发送数据,默认输入的为16进制数据, 定时器发送周期 单位为毫秒. 发送帧计数 ...

  2. 【LeetCode】1222. Queens That Can Attack the King 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 遍历 日期 题目地址:https://leetcode ...

  3. 【LeetCode】168. Excel Sheet Column Title 解题报告(Java & Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 迭代 递归 日期 [LeetCode] 题目地址:https: ...

  4. TKE用户故事 | 作业帮检索服务基于Fluid的计算存储分离实践

    作者 吕亚霖,2019年加入作业帮,作业帮基础架构-架构研发团队负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 张浩然,2019年加入 ...

  5. HDU 6470:Count(矩阵快速幂)

    Count Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  6. Java并发:五种线程安全类型、线程安全的实现、枚举类型

    1. Java中的线程安全 Java线程安全:狭义地认为是多线程之间共享数据的访问. Java语言中各种操作共享的数据有5种类型:不可变.绝对线程安全.相对线程安全.线程兼容.线程独立 ① 不可变 不 ...

  7. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  8. 关于linux的一点好奇心(一):linux启动过程

    一直很好奇,操作系统是如何工作的?我们知道平时编程,是如何让代码跑起来的,但那些都是比较高层次的东西.越往后,你会越觉得,像是空中楼阁,或者说只是有人帮你铺平了许多道理,而你却对此一无所知. 1. 操 ...

  9. PostgreSQL数据库安装Version10.5

    PostgreSQL数据库安装,基于版本10.5安装, 在Linux系统上使用*.gz二进制压缩包手动安装. 操作系统:Red Hat Enterprise Linux Server release ...

  10. 论文翻译:2020_A Robust and Cascaded Acoustic Echo Cancellation Based on Deep Learning

    论文地址:https://indico2.conference4me.psnc.pl/event/35/contributions/3364/attachments/777/815/Thu-1-10- ...