002 Linux 文件与目录命令的必会姿势!

文件及目录的路径切换、显示、创建、复制、移动和删除操作的常用姿势,必会!因为这些命令是使用 Linux 系统进行工作的基础,是摆脱小白的第一步,是构建大厦的基石!
发现锅锅真是个话痨啊!那锅锅就不要脸了真就再比比两句啦,承蒙不要嫌弃(=_=)。这篇文章不是 Linux 相关命令使用字典或百科全书,这一篇文章里总结工作实践中会用到的关于文件和目录操作常用的基础命令,这些命令真的很重要!

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

  • 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 安装路径。

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 目录。

  • cp info.log tempInfo.log #将 info.log 文件拷贝一份,拷贝后的文件名为 tempInfo.log。

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

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

目标是转到日志目录并删除所有日志。隐患:当目录不存在时,悲剧就发生了!

[En]

The goal is to go to the log directory and delete all the logs. Hidden trouble: when the directory does not exist, the tragedy occurs!

不跑路,有啥规避方案?

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 *

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

Original: https://www.cnblogs.com/bilahepan/p/15796032.html
Author: 不甩锅的码农
Title: 002 Linux 文件与目录命令的必会姿势!

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524178/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • GFS-Google 文件系统

    GFS分布式文件系统 简介 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体…

    Linux 2023年6月13日
    090
  • 斐波那契数列前1000项

    斐波那契数列前1000项 {1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177…

    Linux 2023年6月6日
    093
  • Linux磁盘管理

    一、磁盘管理 Linux 磁盘管理好坏直接关系到整个系统的性能问题。 Linux 磁盘管理常用的三个命令为 df、 du 和 fdisk。 df(英文全称:disk full):列…

    Linux 2023年5月27日
    097
  • [转] OSDI, SOSP与美国著名计算机系的调查报告

    看到一个很久之前的文章,重新排版后转发一下,希望能带来一些帮助;文章有时效性,出现的数据多为历史数据。资源来源自网络,侵删。 序言 按照USnews的分类,Computer Sci…

    Linux 2023年6月13日
    0104
  • Spring MVC处理日期字符串参数自动转换成后台Date类型

    当前台提交日期字符串到后台时,以字符串形式传输,若后台接收时采用Date类型,则会报格式转换错误的异常. 方式一: 将 @DateTimeFormat(pattern = &amp…

    Linux 2023年6月14日
    093
  • 使用Kotlin协程配合Retrofit发送请求

    Retrofit2.6开始增加了对Kotlin协程的支持,可以通过suspend函数进行异步调用。本文简单介绍一下使用Kotlin协程配合Retrofit使用,发起网络请求。 ap…

    Linux 2023年6月8日
    0111
  • 学习一下 SpringCloud (六)– 注册中心与配置中心 Nacos、网关 Gateway

    (1) 相关博文地址: 学习一下 SpringCloud (一)– 从单体架构到微服务架构、代码拆分(maven 聚合): https://www.cnblogs.com/l-y…

    Linux 2023年6月14日
    0122
  • Linux命令篇-curl 命令

    curl 查看网页源码 自动跳转 显示头信息 通信过程 下载文件 断点续传 获取天气 curl 查看网页源码 直接在curl命令后加上网址,就可以看到网页源码。 $ curl ww…

    Linux 2023年6月13日
    0110
  • keepalived+nginx高可用集群配置(centos)

    1、简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。主要提供l oa…

    Linux 2023年6月6日
    0103
  • MySQL-连接数据库

    连接数据库在操作数据库之前,需要连接它,输入命令:mysql -u用户名 -p密码。 在你自己本机上连接数据库用上述方式是可以的,不过在平台上连接数据库还需要加上一句-h127.0…

    Linux 2023年6月8日
    093
  • 很有创意的AkShell:用JS开发web,轻松发布

    今天看了infoq对作者的采访,感觉很有意思。 我去他们的网站看了下,作者是俄罗斯人,他的目标是最大可能地简化web开发。只需要用浏览器就可以开发 ,点两下鼠标就发布了。 他的哲学…

    Linux 2023年5月28日
    096
  • Docker-资源限制(Cgroup)

    Docker-资源限制 1.Cgroup简介 _cgroups,是一个非常强大的linux内核工具,他不仅可以限制被namespace隔离起来的资源,还可以为资源设置权重、计算使用…

    Linux 2023年6月13日
    078
  • Identity Server 4客户端认证控制访问API(一)

    一、说明 我们将定义一个api和要访问它的客户端,客户端将在identityser上请求访问令牌,并使用访问令牌调用api 二、项目结构与准备 1、创建项目QuickStartId…

    Linux 2023年6月13日
    097
  • Golang 实现 Redis(9): 使用GeoHash 搜索附近的人

    本文是使用 golang 实现 redis 系列的第九篇,主要介绍如何使用 GeoHash 实现搜索附近的人。 搜索附近的POI是一个非常常见的功能,它的技术难点在于地理位置是二维…

    Linux 2023年5月28日
    0115
  • 网络安全简单入门与扫描

    网络安全简单入门 内容大纲 策略制定 安全工具 其他 1、安全策略 1.1、安全三要素 要全面地认识一个安全问题,我们有很多种办法,但首先要理解安全问题的组成属性。前人通过无数实践…

    Linux 2023年6月7日
    092
  • Linux指令_曾佳豪

    一、基础指令 1、ls指令 含义:ls (list) 用法1 :#ls 含义:列出当前工作目录下所有文件/文件夹的名称 [En] Meaning: list the names o…

    Linux 2023年5月27日
    0121
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球