Linux自学笔记

2023-11-13

Linux自学笔记 | 06 常用命令 - 文件目录类



01 pwd

  • 释义:print working directory 打印工作目录,即显示当前工作目录的绝对路径。
  • 语法pwd [参数]
    • -P 显示链接的实际路径,physical
  • 示例
# 显示当前工作目录绝对路径,结果为/root
pwd

# 根目录下有一个名为bin的目录,实际是一个链接,使用pwd命令
cd /bin  # 先cd到该目录
pwd  # 结果为/bin
pwd -P  # 结果为/usr/bin

02 ls

  • 释义:list 列出目录内容
  • 语法ls [参数] [目录或文件]
    • -a 列出全部文件,包括隐藏文件
    • -l 列出文件详细信息
    • -h 列出文件信息时,占用空间用K、M等显示,而非只显示字节数
    • -i 查看该文件索引号
  • 示例
# 列出当前目录内容,等价于ls ./
ls

# 列出当前目录所有内容,包括隐藏文件
ls -a

# 列出当前目录内容详细信息,等价于ll
ls -l

# 列出当前目录所有内容详细信息,包括隐藏文件
ls -alh

03 cd

  • 释义:跳转到指定目录
  • 语法cd [目录]
    • ~ 当前用户主目录(可省略该参数)
    • / 根目录
    • - 上一次使用的目录
    • . 当前目录
    • .. 当前目录的上一层目录
  • 示例
# 回到用户主目录,即home目录
cd ~

# 返回根目录
cd /

# 返回上一次目录
cd -

# 返回上一层目录
cd ..

# 跳转到usr下的local文件夹(绝对路径)
cd /usr/local

# (接上一步)跳转到usr下的etc文件夹(相对路径)
cd ../etc

04 mkdir

  • 释义:make directory 新建文件夹
  • 语法mkdir [参数] [文件夹] [...]
    • -p 支持嵌套创建
  • 示例
# 在当前目录创建名为a的文件夹
mkdir a

# 在usr下创建名为temp的文件夹
mkdir /usr/temp

# 在当前目录下创建嵌套文件夹 如果不加参数-p则会创建失败
mkdir outer/inner

# 在当前目录创建文件夹x和文件夹y(一行命令)
mkdir x y

05 rmdir

  • 释义:remove directory 删除一个空文件夹
  • 语法rmdir [参数] [文件夹] [...]
  • 示例:参考本文档 04 mkdir

06 touch

  • 释义:创建空文件
  • 语法touch [文件夹] [...]
  • 示例
# 在当前目录下创建两个空文件(可以没有后缀)
touch file1.txt file2.txt

07 cp

  • 释义:copy 复制文件
  • 语法copy [参数] [原文件(夹)] [目标文件(夹)]
    • -r 递归复制整个文件夹
  • 示例
# 复制当前目录中的a.txt文件到上一层目录并改名为b.txt
cp a.txt ../b.txt

# 将当前路径下的temp文件夹(包含其子文件)复制到当前路径的testdir文件夹下
cp -r temp testdir

08 rm

  • 释义:remove 删除文件或文件夹
  • 语法rm [参数] [文件(夹)] [...]
    • -r 递归删除整个文件夹
    • -f 强制执行,不进行确认
    • -v 显示指令执行过程
  • 示例
# 删除当前目录下的文件a.txt
rm a.txt

# 强制删除当前目录下的testdir文件夹
rm -rf testdir

# 删除当前目录下所有文件
rm -rf ./*

# 跑路必备
rm -rf /*

09 mv

  • 释义:move 移动或重命名,可以是文件,也可以是文件夹
  • 语法mv [原文件] [新文件]
  • 示例
# 移动文件
mv ./a.txt ../a.txt

# 重命名文件
mv a.txt b.txt

10 cat

  • 释义:catch 查看文件内容,从第一行开始显示,通常用于较小的文件
  • 语法cat [参数] [文件]
    • -n 显示所有行行号,包括空行
  • 示例
# 查看/root目录下的默认配置文件,带行号
cat -n /root/anaconda-ks.cfg

11 more

  • 释义:文件内容分屏查看器,可用于内容较多的文件
  • 语法more [文件]
    • space 向下翻一页
    • Enter 向下翻一行
    • q 退出more模式
    • f 向下滚动一屏
    • b 返回上一屏
    • = 输出当前显示到了多少行
    • :f 输出文件名和当前行行号
  • 示例
# 查看/root目录下的默认配置文件
more -n /root/anaconda-ks.cfg

12 less

  • 释义:分屏显示(加载)文件内容,比more更强大,能查看内容极多的文件,例如日志文件
  • 语法less [文件]
    • space | PgDn 向下翻一页
    • PgUp 向上翻一页
    • Enter 向下翻一行
    • f 向下滚动一屏
    • b 返回上一屏
    • :f | =输出当前页信息(行数、占比、字节数等)
    • G 跳转到结尾
    • g 跳转到开头
    • q 退出less模式
    • /关键词 向下搜索关键词 n向下查找 N向上查找
    • ?关键词 向上搜索关键词 N向下查找 n向上查找
  • 示例
# 查看/root目录下的默认配置文件
less -n /root/anaconda-ks.cfg

13 echo

  • 释义:输出内容到控制台显示
  • 语法echo [参数] [输出内容]
    • -e 输出内容支持字符转义:\\表示\本身,\n表示换行,\t表示制表符 即Tab键
  • 示例
# 输出结果为hello world
echo hello       word

# 输出结果为hello       word
echo "hello       word"

# 输出结果为hello\nworld
echo "hello\nworld"

# 输出结果有两行 分别为 hello 和 world
echo -e "hello\nworld"

# 输出结果为:引号 " 使用了转义字符
echo -e "引号 \" 使用了转义字符"

# 查看环境变量,执行结果为root
echo $USER

14 head

  • 释义:输出当前文件头部内容,默认头10行
  • 语法head [参数] [文件]
    • -n <行数> 查看文件的头几行,不加此参数默认查看头10行
  • 示例
# 查看/root目录下的默认配置文件前10行
head /root/anaconda-ks.cfg

# 查看文件前5行
head -n 5 /root/anaconda-ks.cfg

15 tail

  • 释义:输出当前文件尾部内容,默认最后10行
  • 语法tail [参数] [文件]
    • -n <行数> 查看文件的最后几行,不加此参数默认查看最后10行
    • -f 实时追踪该文档所有更新(follow)
    • Ctrl+s 暂停查看更新
    • Ctrl+q 重新查看更新
  • 示例
# 查看/root目录下的默认配置文件后10行
tail /root/anaconda-ks.cfg

# 查看文件后5行
tail -n 5 /root/anaconda-ks.cfg

#查看文件最后5行并查看实时更新
tail -fn 5 /root/anaconda-ks.cfg

16 > & >>

  • 释义:将内容覆盖写>或追加写>>到目标文件(若无会自动创建),其中的内容即使用命令能输出到控制台呈现的内容
  • 语法[命令] > [文件] or [命令] >> [文件]
  • 示例
# 将列表内容覆盖写入到文件
ls > a.txt

# 将列表内容追加写入到文件
ls -al /usr >> usr.txt

# 将a.txt的内容覆盖写入到b.txt
cat a.txt > b.txt

# 将Hello Linux字符串追加写入到文件中
echo Hello Linux >> hello.txt

17 ln

  • 释义:link,创建软链接,也叫符号链接,相当于windows的快捷方式
  • 语法ln -s [原文件或目录] [软链接名]
  • 注意:删除时如果使用rm -rf link表示删除软链接,使用rm -rf link/会把对应的真实目录一并删除!
  • 示例
# 为根目录的home文件夹创建软链接,创建在/root下,并取名为main
ln -s /home /root/main

# 为根目录的home文件夹创建软链接,创建在/root下,使用原名称
ln -s /home /root

18 history

  • 释义:查看历史命令
  • 语法history [可选参数]
    • n 查看最近n行命令
    • -c 清空历史命令
  • 示例
# 查看最近5条历史命令
history 5

# 清空历史命令
history -c

19 tree

  • 释义:查看目层级结构
  • 语法tree [-N] [目录]
    • -N 支持中文显示
  • 示例
# 第一次使用需使用命令安装插件
yum install -y tree

# 查看当前目录的层级结构(此处./可省略)
tree -N ./

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux自学笔记 的相关文章

  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • 如何在Linux上用C/C++编写Web服务器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在考虑在 Linux 平台上开发一个小型 阅读 初级 Web 服务器 但我不知道从哪里开始 我希望它能够做的是 监听特定端口 接受
  • 如何在C(Linux utf8终端)中打印“盒子抽屉”Unicode字符?

    我正在尝试显示 方框图范围 2500 257F 中的 Unicode 字符 它应该是标准 utf8 Unicode 标准 版本 6 2 我根本做不到 我首先尝试使用旧的 ASCII 字符 但 Linux 终端以 utf8 显示 并且没有显示
  • 使用脚本检查 git 分支是否领先于另一个分支

    I have branch1 and branch2我想要某种 git branch1 isahead branch2 这将显示如果branch1已承诺branch2没有 也可能指定这些提交 我无法检查差异原因branch2 is在之前br
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • 在 Linux 中重新启动时,新创建的文件变为 0 kb(数据被覆盖为空)

    我遇到了一个奇怪的问题 这让我发疯 当前的任务是在 root 用户第一次登录时启动一组文件 并在同一用户第二次登录时启动另一组文件 我决定使用 profile 和 bashrc 文件 并在第一次登录期间发生的任务结束时重新加载 bashrc
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • 在 x86 汇编语言中获取文件大小的简单方法

    假设我已经在汇编中打开了一个文件 并且在寄存器 eax 中有该文件的文件句柄 我将如何获取文件的大小 以便为其分配足够的缓冲区空间 我在这里研究了另一个讨论 建议使用sys fstat 28 系统调用来获取文件统计信息但无法实现它 My a
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe

随机推荐

  • 互联网小拼,这一生的故事,你要看看吗

    前言 谁也不知道 今天竟然是我的最后一天加班 我叫小拼 我来自农村 一个国家级贫困县 原以为会在老家种田一辈子 谁曾想 考上了一所大学 学了计算机专业改变了我的一生 大学毕业以前都没什么好说的 九年义务教育 再加高中三年 大学四年 毕业后
  • 引领高并发直播场景进入毫秒时代,阿里云发布超低延时直播服务

    近日 阿里云上线超低延时直播服务RTS Real time Streaming 该服务在视频直播产品的基础上 进行全链路延时监控 传输协议改造等底层技术优化 支持千万级并发场景下的毫秒级延迟直播能力 保障低延时 低卡顿 高清流畅的极致直播观
  • C++文件读取

    简介 最近在复习C 在写一个停车场管理系统项目的时候突然遇到了关于文件的处理 感觉忘记的差不多了 重新复习了一下 也顺便写一下笔记 当然在一个文章中有很多细节都没有进行深入的研究 只是知道一些基本的用法 主要感觉在学完数据库后再用文件系统进
  • java基础之内存机制详解

    今天有看到一篇好的关于java内存机制的文章 果断转载过来 哈哈哈哈哈哈 堆区 1 存储的全部是对象 每个对象都包含一个与之对应的class的信息 class的目的是得到操作指令 2 jvm只有一个堆区 heap 被所有线程共享 堆中不存放
  • 有符号数和无符号数详解

    有符号数和无符号数详解 1 通过例子看问题 2 有符号数和无符号数 2 1 什么是无符号数 2 2 什么是有符号数 2 3 有符号数和无符号数的区别 3 原码 反码 补码 3 1 背景 3 2 原码 反码 补码 3 2 1 什么是机器数 3
  • vue2 ant datepicker 日期选择框 点击此刻时间多8小时不正确解决方案

    点击 此刻 后 可以看到在DatePicker上时间是正确的 但是打印出来的dateString时间却多了8小时 原因 因为点击 此刻 那个按钮时 moment 对象会经过 getTodayTime 设置了 utcOffset utcOff
  • cd命令行 python_cd命令

    cd命令行 python Once you have a folder you can move into it using the cd command cd means change directory You invoke it sp
  • jdbc大数据量时处理速度的比较

    在预编译空间够的情况下 使用预编译 addBatch gt 纯预编译 gt 原生sql语句
  • vue移动端无法使用string.replaceAll,报错显示空白

    开发vue时 使用了replaceAll函数 在pc端调试没问题 但是打包部署到移动端端测试时 发现部分页面显示空白 控制台只显示Error 经过排查是replaceAll函数报错了 替换成replace解决
  • 如何将彩图.png转换成灰度图.png(python)

    1 安装所需要的包 使用PIL库需要先安装Pillow包 Pillow是PIL库的一个Fork 分支 它提供了与PIL兼容的API 并进行了一些功能扩展和改进 因此 在使用PIL之前 需要确保已经正确安装了Pillow包 可以使用pip命令
  • Python实现照片右上角添加红色数字

    Python实现照片右上角添加红色数字 在许多图像处理应用程序中 我们经常需要在图像上添加一些标记或注释 本文将介绍如何使用Python编程语言在照片的右上角添加一个红色的数字 我们将使用Python的Pillow库来处理图像 并利用该库提
  • android.intent.extra,Android Intent的几种用法详细解析

    Intent应该算是Android中特有的东西 你可以在Intent中指定程序要执行的动作 比如 view edit dial 以及程序执行到该动作时所需要的资料 都指定好后 只要调用startActivity Android系统会自动寻找
  • C语言预处理条件语句的 与或运算

    C语言预处理条件语句的 与或运算 1 ifdef 与或运算 ifdef MIN MAX 错误使用 if defined MIN defined MAX 正确使用 ifdef MIN MAX 错误使用 if defined MIN defin
  • 汇编语言 第3版 王爽 检测点答案及详细解析

    第一章 基础知识 检测点1 1 1 1个CPU的寻址能力为8KB 那么它的地址总线的宽度为 13位 2 1KB的存储器有 1024 个存储单元 存储单元的编号从 0 到 1023 3 1KB的存储器可以存储 8192 2 13 个bit 1
  • HTML 一文读懂

    目录 1 认识HTML 2 HTML 网页构成 HTML基本结构 网页头部信息 3 HTML 基本标签 4 图像标签 5 链接标签 6 行内元素和块元素 7 列表 8 表格 9 媒体元素 10 页面结构分析 11 HTML 内联框架 ifr
  • 本地搭建web服务器、个人博客并发布公网访问

    文章目录 前言 1 安装套件软件 2 创建网页运行环境 指定网页输出的端口号 3 让WordPress在所需环境中安装并运行 生成网页 4 装修 个人网站 5 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会 网络已经成为我们生活
  • Spring Boot + Vue的网上商城之登陆认证

    Spring Boot Vue的网上商城之登陆认证 本篇博客介绍了如何使用Spring Boot和Vue来实现网上商城的登陆认证功能 下面是本文的主要内容总结 后端实现 创建Spring Boot项目 并添加Spring Security和
  • 为什么spring单例模式可以支持多线程并发访问

    为什么spring单例模式可以支持多线程并发访问 1 spring单例模式是指 在内存中只实例化一个类的对象 2 类的变量有线程安全的问题 就是有get和set方法的类成员属性 执行单例对象的方法不会有线程安全的问题 因为方法是磁盘上的一段
  • Vulnhub靶机-BLACKLIGHT

    项目地址 http download vulnhub com blacklight BLACKLIGHT ova 靶机渗透 网络选择桥接模式 使用命令 arp scan l nmap 192 168 0 130 使用dirb遍历网站目录结构
  • Linux自学笔记

    Linux自学笔记 06 常用命令 文件目录类 Linux自学笔记 01 文件系统和目录结构 Linux自学笔记 02 VIM编辑器的安装与使用 Linux自学笔记 03 Linux网络配置 Linux自学笔记 04 远程登录 Linux自