红帽Linux — 从命令行管理文件


文章目录

  • 红帽Linux — 从命令行管理文件
    • 一、目录文件夹内容及作用
      • 练习题目
      • 答案
    • 二、路径定位和目录信息
      • 路径定位
        • 路径
        • 切换目录
      • 查看目录内容
        • ls指令
        • ls -l 显示的信息
      • 练习
      • 答案
    • 三、目录和文件的增删改查、复制、移动等
      • 创建文件
      • 创建目录
      • 删除文件
      • 删除目录
      • 复制文件/目录
      • 移动与重命名文件/目录
    • 四、制作文件间的链接
      • 文件存储
      • 硬链接
        • 属性
        • 局限
        • 创建硬链接
        • 判断两文件是否为互为硬链接
      • 软链接
        • 属性
        • 限制
        • 创建软链接
    • 五、扩展匹配文件名
      • 模式匹配
      • 习题
      • 答案
    • 六、Man page
      • 章节
      • 使用方法
        • 指令
        • 快捷键
      • 其它获取帮助的方法
    • 七、创建、查看、编辑文本文件
      • 移动光标
      • 查找与替换
      • 删除
      • 命令模式常用命令
      • 查看文件内容

一、目录文件夹内容及作用

/                根目录
|-- **bin**        (1)
|-- boot           存放内核和启动文件
|-- dev            包含特殊的设备文件,供系统用于访问硬件
|-- etc            特定于此系统的配置文件(passwd等)
|-- home           普通用户存储其个人数据和文件
|  |-- alice
|  |-- bob
|  |-- eve
|-- **lib**        (2)
|-- lost+found    非正常关机后留下的无处可放的文件,win中的.chk文件
|-- media          自动挂载点,U盘、光盘等
|-- mnt            手动挂载设备
|-- root           管理超级用户root的主目录
|-- run            系统启动以来进程的运行(临时)数据(重启时重建),包括进程ID文件和锁文件
|-- **sbin**       (3)
|-- tmp            提供临时文件使用的全局可写空间,10天未访问更改的文件将删除
|-- usr            安装的软件、共享库,包括文件和只读程序数据
|   |-- **bin**       (1)
|   |-- **lib**       (2)
|   |-- local
|   |   |-- **lib**    (2)
|   |   |-- **sbin**    (3)
|   |--  **sbin**     (3)
|   |-- **tmp**       本地自定义软件
|-- var            存取系统的可变数据,存储动态变化文件(数据库、缓存目录、日志文件等)
|  |-- **tmp**Linux7及更高版本中,加粗的文件与usr中的同名文件有相同的内容
(1)命令存放处,所有用户可执行
(2)共享文件库及标准程序设计库,又叫动态连接共享库,类似于win中的.dll文件和字体
(3)命令存放处,只有root用户可用

练习题目

  1. A 2. B 3. B 4. A 5. D 6.D 7. C 8. C 9. B × => C √

答案


二、路径定位和目录信息

路径定位

路径

  • 绝对路径:从根开始的完整路径
  • 相对路径:相对于当前目录开始的路径

切换目录

pwd           #显示当前位置
cd [目录]     #跳转目录
符号 位置
/ 根目录
~ 用户的家目录(主目录)
. 当前目录
上一级目录
- 上次工作的目录

注:cdcd ~效果相同

查看目录内容

ls指令

ls           #查看当前目录的子目录和文件
ls -a       #查看当前目录的子目录和文件,包括隐藏文件
ls -R       #递归显示当前目录及下层目录里的子目录和文件,树状分层显示(一层目录、所有二层目录、所有三层目录……)
ls -l       #查看目录内子目录和文件的详细信息(长列表格式)
ll          #ls -l 的简写
ls -la | ls -al | ls -a -l      #既显示隐藏文件,又以长列表格式显示(详细信息)
ls <dir1> [dir2 ... dirN]     #显示多个目录的子目录和文件

ls -l 显示的信息

drwxr-xr-x. 2 root root 6 Jul 12 14:52 Videos

位置 含义
参数①:第一个字母:d d:目录、l:软链接、-:文件、p:管道
参数①:第2~10字母:rwxr-xr-x 所有者、所属组、其他用户的读、写、执行权限是否开启
参数②:2 硬链接数
参数③:root 所有者
参数④:root 所属组
参数⑤:6 文件/目录大小
参数⑥:Jul 12 14:52 修改时间
参数⑦:Videos 名称

练习

  1. A 2. B 3. A 4. C 5. B × => D √ 6. B 7. B 8. C

答案

三、目录和文件的增删改查、复制、移动等

创建文件

touch <file1> [file2]  #触碰文件、更新最后修改时间,若无则创建文件

创建目录

mkdir <dir> [dir2]     #mkdir可创建一个或多个目录或子目录
mkdir -p AAA/bbb        #AAA不存在的情况下,创建AAA并在其下创建目录bbb(可能创建处非本意的目录)

删除文件

rm <file> [file2]  #rm可删除一个或多个文件,无法删除空目录
rm -i <file>      #删之前询问(i:inquire 询问)
rm -f <file>      #强制删除文件,不提示确认。-f与-i一起时,-f优先(-f 或 --force)

删除目录

rmdir <dir> [dir2]         #rmdir可删除一个或多个空目录
rm -d <dir>           #与rmdir子相同
rm -r <dir>           #将含有文件的目录当作文件来删除,-r 或 --recursive (递归)
rm -ri  <dir>     #-r与-i相结合,删目录和其中每个子目录和文件时都询问
rm -rf <dir>      #强制删除目录,不提示确认。-f与-i一起时,-f优先

复制文件/目录

cp <file1> <file2>   #复制file1到file2的路径,并重命名为file2
cp <file1> [file2 ... fileN] <dir>  #复制一个或多个文件到同一目录中
cp -r <dir1> <dir2> #将目录dir1复制到dir2下,-r意为递归
# cp 时若目标文件存在,则会覆盖文件

移动与重命名文件/目录

mv <file1> <file2>   #移动file1到file2的路径,并重命名为file2
mv <file1> [file2 ... fileN] <dir>  #移动一个或多个文件到同一目录中
# mv 时若文件存在,则会报错
# 移动目录不需要 -r
# 移动到原目录,相当于重命名

四、制作文件间的链接

文件存储

  • 文件内容以数据块的形式存储在存储介质上

  • 当访问指定文件名的文件时,系统根据文件的inode num在inode table中查找到对应inode,再通过inode找到数据存放的data block信息,从而找到文件对应的内容数据。文件名相对于inode num的别名。

硬链接

属性

  • 同一文件的所有硬链接的inode num相同,指向同一数据,同一存储位置,因此有相同的属性(rwx权限、硬链接数、所有者、所有组、修改时间等,文件名可不同),任一硬链接发生更改,所有硬链接的内容都会变化。
  • 删除文件时只是删除了一个硬链接,数据并没有发生变化,其它硬链接任可用。
  • 每个文件都是以一个硬链接开始的,即其初始路径,创建新的硬链接时只是对同一物理地址创建了一条新路径。
  • ls -l中,第2个参数为文件的硬链接个数

局限

  • 只能对常规文件使用,不能对目录和特殊文件使用。
  • 只能在同一文件系统上使用,即df命令可查看有所有Filesystem,同一文件的硬链接必须在同一Filesystem中。

创建硬链接

ln <file> <hard-link>        #为文件创建硬链接

判断两文件是否为互为硬链接

ls -i        #可查看文件的inode num
ls -l       #第2参数可查看硬链接的个数
ls -li <file1> <file2> #可查看两文件的inode num和其它属性,相同可判断互为硬链接

软链接

属性

  • 类似于win中的快捷方式,删掉源文件,则无法访问,再建一个同名文件会恢复。
  • 若硬盘空间不足添加新磁盘时,可在就磁盘中创建一个指向新磁盘文件的软链接,就可以实现通过旧磁盘去使用新磁盘(软链接主要是方便Linux管理员习惯)
  • 不同于硬链接,软链接可指向目录

限制

  • 软链接最好使用绝对路径,避免出现悬挂的情况

创建软链接

ln -s <file> <soft-link>     #为文件创建软链接
ls -l                       #可看到软链接指向的文件或目录

五、扩展匹配文件名

模式匹配

模式 匹配项
* 由0或更多个字符串组成的任何字符串
任何一个字符(几个?,就匹配几位字符)
~ 匹配家目录(主目录)
提示符:$ 普通用户
提示符:# 超级用户
变量 用来帮助运行带有长参数的命令
$() 让括号内的命令先运行
\ 使字符变成普通字符
[abc…] 括起的类中任一字符
[!abc…] 或 [^abc…] 括起的类外任一字符
[[:类型:]] 该类型的任一字符。类型可填:alpha(任一字母)、lower(任一小写字母)、upper(任一大写字母)、alnum(任一字母或数字)、punct((所有标点字符)即除空格、字母、数字外的任何可打印字符)、digit(0到9任一数字)、space(任一空白字符:制表符、换行符、回车符、换页符、空格)

习题


1.B 2.A 3.D 4.C 5.B

6.D 7.A

答案

六、Man page

章节

  1. 用户命令,普通用户都可以调用的命令
  2. 系统调用,即由内核提供的函数
  3. 例程,即库函数
  4. 设备,即/dev目录下的特殊文件
  5. 文件格式描述,例如/etc/passwd
  6. 游戏
  7. 杂项,例如宏命令包,惯例等
  8. 系统管理员工具,只能由root启动的命令

使用方法

指令
man [章节] <参数>       #查看[某章节]的命令(命令词完整)的使用说明文档man -K <keyword>        #检索包含keyword的文档(命令词可不完整)
快捷键
  • 空格:下滚一个屏幕

  • g 首行

  • G 尾行

  • q 退出man

  • / 查找关键字

    • n下一个关键字
    • N上一个关键字

其它获取帮助的方法

help <command>         #查看内部命令的用法
<command> --help  #内外部指令都能查看用法
prinfo <command>   #从红帽官方获取指令用法帮助,通常是系统指令
info <command>        #只有红帽Linux和CentOS才能用info
firefox file:///usr/share/doc/   #包含了多数安装管理软件包的子目录及管理内容
  • 在线获取帮助

    https://access.redhat.com/site/solutions/

    https://access.redhat.com/support/

    redhat-support-tool

    https://access.redhat.com

    sosreport

七、创建、查看、编辑文本文件

文本编辑界面有三种模式:一般模式、编辑模式、命令行模式

  • 一般模式:刚进入时的模式,从编辑模式中按Esc可回到一般模式

  • 编辑模式:在一般模式下无法编辑,按i、I、a、A、o、O中任意键进入编辑模式

  • 命令行模式:在一般模式下输入":“或”/"进入命令模式,可使用搜索、保存、替换、退出、显示行号功能

vi <file>      #进入文档编辑界面

移动光标

  • Ctrl+B 屏幕向前移动一页PageUp
  • Ctrl+F 屏幕向后移动一页PageDown
  • n空格 光标向右移动n个字符
  • 0、$ 分别让光标移动到本行的首行和末行
  • gg、G 分别让光标移动到文本的首行和末行
  • nG 让光标踢动到文本第n行

查找与替换

  • /word 和 ? word 查找字符串"word",找到后按n继续查找
  • :1,$s/word1/word2/g 在全文中将"word1"替换为"word2",若在g后加c,则替换时需用户确认

删除

  • dd 删除整行
  • ndd 向下删除n行
  • x、X向后向前删除一个字符
  • nx 向后删除n个字符
  • dG删除光标所在行到末尾的数据
  • d1G删除光标所在行到首行的数据

命令模式常用命令

  • :w 保存文本
  • :q! 强制退出
  • :q 退出(未保存时会报错)
  • :wq 和 ZZ 保存退出
  • :e! 将文档还原成最初始状态
  • :set nu 在每行首行显示行号、取消用 :set nonu
  • :w [filename] 将编辑后文档另存为filename
  • :w n1 n2 [filename] 将文档的第n1至n2行另存为到filename中

查看文件内容

cat [-option] <file>   #-n:将行号一起显示、-b:将非空行的行号显示,空行行号不显示
more <file>               #从第一页开始显示,Ctrl+B 向前翻一页,Ctrl+F 向后翻一页
less <file>               #从第一页开始显示,PageUp 向前翻一页,PageDown 向后翻一页
head [-n num] file      #显示头n行或默认10行
tail [-n num] file      #显示尾n行或默认10行
tac <file>                #按行号倒着显示,适合查看日志文档

参考资料:Red Hat Training and Certification

Day07 红帽Linux —从命令行管理文件相关推荐

  1. Linux系统管理命令之管理文件和目录

    内部命令与外部命令的区别: 内部命令是Shell自带能用help查看的命令. 外部命令为第三方软件安装的命令 一些快捷键: Tab:自动补全命令. 反斜杠"\":强制换行后在下一行 ...

  2. Linux使用命令行复制文件的6个案例

    原文:https://www.toutiao.com/i6967521776762946051/ 1. Linux cp简介 Linux上最常用的命令之一,用于复制文件.支持文件复制.复制后重命名.建 ...

  3. Linux中命令行查找文件

    背景 在项目中搜索代码,经常使用到的搜索命令的笔记. 在源码目录中代码十几个g,想要找到修改的代码,第一除非你很熟悉项目的结果,第二你掌握了第一. 查找文件 指定文件查找 在当前目录下查找文件,包含子 ...

  4. RHEL7 - 从命令行管理文件

    RHEL中重要的目录 位置 用途 /usr 安装的软件.共享的库,包括文件和静态只读程序数据.重要的子目录有: -/usr/bin:用户命令 -/usr/sbin:系统管理命令 -/usr/local ...

  5. Linux使用命令行下载文件

    使用Wget下载文件 下面的示例将从服务器下载文件到当前本地目录. $ wget https://tecadmin.net/file.zip 下载文件并保存到特定位置 下面的命令将下载名为file.z ...

  6. linux 从命令行自动识别文件并将其打开的命令

    若是shell是 zsh,则可: 使用 alias -s 定义后缀别名 (zsh) % alias -s pl=perl% script.pl perl script.pl% alias -s pdf ...

  7. 命令行管理 Linux服务器困难?别怕,今天介绍一款基于 Web 的Linux管理神器:Webmin

    对于任何 Linux 初学者来说,从命令行管理和管理 Linux 服务器都是非常困难的,在这种情况下,您可以使用 Webmin 从基于 Web 的界面管理您的 Linux 服务器. Webmin 是一 ...

  8. Linux/Ubuntu: 命令行任务(To-Do List)管理 task - A command line todo manager

    安装: sudo apt-get install task $ task add some very important task $ task You can also install vit if ...

  9. linux删除的文件有回收站么,Linux命令行删除文件到回收站

    先说方法,原理后面分析. 由于我使用的是Ubuntu14,这里以该系统为主,其他系统略有区别. 可以新加别名del,用于删除文件. alias del='mv -t ~/.local/share/Tr ...

最新文章

  1. 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用
  2. Identity of indiscernibles(不可分与同一性)
  3. 天锋w2019_三星看了想打人,华强北神机天锋W2019现世,专卖店都难辨真假
  4. PR Lumetri颜色
  5. 计算机操作系统第二章测试题及答案
  6. Python 爬虫系列教程一爬取批量百度图片
  7. 360校招编程题:内存管理
  8. 常见Linux命令pwd实现
  9. java网络编程 TCP程序
  10. Python从入门到实战,我觉着拥有这三本书很有必要
  11. win 下 docker 环境配置
  12. 安装JDK8时错误1335的解决
  13. 多媒体个人计算机软件系统由,多媒体计算机系统是由()组成。
  14. 狼人杀代码(c++)
  15. matlab 二维数组声明,Matlab字符串函数及二维数组
  16. 手机录音amr怎么转mp3?三种方法直接转换!
  17. SSM快速开发超市管理系统 用户详情功能实现(二)
  18. Windows Azure Cloud Service (1) 用户手册
  19. 须得保持几个自身特别之习惯方可进入锤炼
  20. AVFoundation Programming Guide(官方文档翻译)完整版中英对照

热门文章

  1. Matlab机器人工具箱(3-2):五自由度机械臂(轨迹规划)
  2. 实验二 代码 + 贪吃蛇大作战(360°寻路+AI自动蛇)
  3. 【Orcale】------- Orcale 实现中文转拼音/缩写大小写/全拼音大小写
  4. Springboot整合activiti(最详细版)
  5. 收藏 | 30张经典的企业业务架构图
  6. 手机木马网站服务器,快速查找网站木马
  7. ES6基础:let和const
  8. Nordic蓝牙系列芯片对比 及nRF52832详细介绍
  9. 一边没辞职另一边入职_我从事业单位辞职,再重新考事业单位的经历~
  10. 中国传统文化常识集锦[转]