Day07 红帽Linux —从命令行管理文件
红帽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用户可用
练习题目
A 2. B 3. B 4. A 5. D 6.D 7. C 8. C 9. B × => C √
答案
二、路径定位和目录信息
路径定位
路径
- 绝对路径:从根开始的完整路径
- 相对路径:相对于当前目录开始的路径
切换目录
pwd #显示当前位置
cd [目录] #跳转目录
符号 | 位置 |
---|---|
/ | 根目录 |
~ | 用户的家目录(主目录) |
. | 当前目录 |
… | 上一级目录 |
- | 上次工作的目录 |
注:cd
与cd ~
效果相同
查看目录内容
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 | 名称 |
练习
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
章节
- 用户命令,普通用户都可以调用的命令
- 系统调用,即由内核提供的函数
- 例程,即库函数
- 设备,即/dev目录下的特殊文件
- 文件格式描述,例如/etc/passwd
- 游戏
- 杂项,例如宏命令包,惯例等
- 系统管理员工具,只能由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 —从命令行管理文件相关推荐
- Linux系统管理命令之管理文件和目录
内部命令与外部命令的区别: 内部命令是Shell自带能用help查看的命令. 外部命令为第三方软件安装的命令 一些快捷键: Tab:自动补全命令. 反斜杠"\":强制换行后在下一行 ...
- Linux使用命令行复制文件的6个案例
原文:https://www.toutiao.com/i6967521776762946051/ 1. Linux cp简介 Linux上最常用的命令之一,用于复制文件.支持文件复制.复制后重命名.建 ...
- Linux中命令行查找文件
背景 在项目中搜索代码,经常使用到的搜索命令的笔记. 在源码目录中代码十几个g,想要找到修改的代码,第一除非你很熟悉项目的结果,第二你掌握了第一. 查找文件 指定文件查找 在当前目录下查找文件,包含子 ...
- RHEL7 - 从命令行管理文件
RHEL中重要的目录 位置 用途 /usr 安装的软件.共享的库,包括文件和静态只读程序数据.重要的子目录有: -/usr/bin:用户命令 -/usr/sbin:系统管理命令 -/usr/local ...
- Linux使用命令行下载文件
使用Wget下载文件 下面的示例将从服务器下载文件到当前本地目录. $ wget https://tecadmin.net/file.zip 下载文件并保存到特定位置 下面的命令将下载名为file.z ...
- linux 从命令行自动识别文件并将其打开的命令
若是shell是 zsh,则可: 使用 alias -s 定义后缀别名 (zsh) % alias -s pl=perl% script.pl perl script.pl% alias -s pdf ...
- 命令行管理 Linux服务器困难?别怕,今天介绍一款基于 Web 的Linux管理神器:Webmin
对于任何 Linux 初学者来说,从命令行管理和管理 Linux 服务器都是非常困难的,在这种情况下,您可以使用 Webmin 从基于 Web 的界面管理您的 Linux 服务器. Webmin 是一 ...
- 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 ...
- linux删除的文件有回收站么,Linux命令行删除文件到回收站
先说方法,原理后面分析. 由于我使用的是Ubuntu14,这里以该系统为主,其他系统略有区别. 可以新加别名del,用于删除文件. alias del='mv -t ~/.local/share/Tr ...
最新文章
- 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用
- Identity of indiscernibles(不可分与同一性)
- 天锋w2019_三星看了想打人,华强北神机天锋W2019现世,专卖店都难辨真假
- PR Lumetri颜色
- 计算机操作系统第二章测试题及答案
- Python 爬虫系列教程一爬取批量百度图片
- 360校招编程题:内存管理
- 常见Linux命令pwd实现
- java网络编程 TCP程序
- Python从入门到实战,我觉着拥有这三本书很有必要
- win 下 docker 环境配置
- 安装JDK8时错误1335的解决
- 多媒体个人计算机软件系统由,多媒体计算机系统是由()组成。
- 狼人杀代码(c++)
- matlab 二维数组声明,Matlab字符串函数及二维数组
- 手机录音amr怎么转mp3?三种方法直接转换!
- SSM快速开发超市管理系统 用户详情功能实现(二)
- Windows Azure Cloud Service (1) 用户手册
- 须得保持几个自身特别之习惯方可进入锤炼
- AVFoundation Programming Guide(官方文档翻译)完整版中英对照
热门文章
- Matlab机器人工具箱(3-2):五自由度机械臂(轨迹规划)
- 实验二 代码 + 贪吃蛇大作战(360°寻路+AI自动蛇)
- 【Orcale】------- Orcale 实现中文转拼音/缩写大小写/全拼音大小写
- Springboot整合activiti(最详细版)
- 收藏 | 30张经典的企业业务架构图
- 手机木马网站服务器,快速查找网站木马
- ES6基础:let和const
- Nordic蓝牙系列芯片对比 及nRF52832详细介绍
- 一边没辞职另一边入职_我从事业单位辞职,再重新考事业单位的经历~
- 中国传统文化常识集锦[转]