Linux基础二:文件系统
二、文件系统:
Linux系统一切皆文件!整个文件系统是一棵颠倒过来的树形结构,根目录/在顶部,且从根目录到下面的任一文件有且仅有一条路径。
1、重要目录:
/usr -> 存放普通用户命令(/usr/bin)、供root用户使用的系统管理命令,(/usr/sbin)、及安装的软件等数据。
/etc -> 存放系统服务的配置文件。
/dev -> 存放设备文件,例如硬盘、cpu、网卡等数据。
/home -> 普通用户的家目录(或主目录),存放普通用户的配置文件。
/root -> root用户的家目录(或主目录),存放root用户的配置文件。
/boot -> 存放系统启动过程所需的文件,系统内核等。
/var -> 存放动态变化的文件,例如日志文件、缓存文件、数据库等。
/tmp -> 存放临时文件,10天内未访问更改的文件将自动删除。
/run -> 存放上一次系统启动过的进程文件。
4个链接文件:
当查看这些链接文件的时候,系统会自动显示指向的对应文件内容。
/bin -> /usr/bin -> 存放普通用户使用的命令。
/sbin -> /usr/sbin -> 存放root用户使用的命令。
/lib -> /usr/lib 库文件
/lib64 -> /usr/lib64
绝对路径——以“/”开头的所有路径都是绝对路径
相对路径——不以“/”开头的路径都是相对路径
2、文件命令:
touch命令——创建文本文件
dd命令——创建一个大容量空文件
dd if=/dev/zero of=/test.file bs=1M count=100
mkdir命令——创建文件夹
mkdir -p 创建多级目录
cp命令——复制文件
cp -r 复制文件夹(递归复制)
注:当复制的旧文件与新文件重名时,旧文件将覆盖新文件。
mv命令——移动文件,重命名文件
rm命令——删除文件
rm -r 删除文件夹
rm -f 强制删除,不提示删除确认
echo命令——将命令后面的参数显示出来
$符号后面跟系统变量,这个变量可以是大写也可以是小写。
[root@localhost /]# echo $HOSTNAME
localhost.localdomain
[root@localhost /]# echo date
date
[root@chenglu213 /]# echo `date`
p 8 11:36:21 CST 2020
3、通配符:
*号简单模式匹配 -> 由0个或更多字符组成的字符串
?号简单模式匹配 -> 任何1个字符
{ }大括号 -> 批量执行命令,可以连续使用或者嵌套使用
[root@localhost /]# echo file{a{1,2},b,c}.log
filea1.log filea2.log fileb.log filec.log
[root@localhost /]# echo file{a,b,c}{1..3}.log
filea1.log filea2.log filea3.log fileb1.log fileb2.log fileb3.log filec1.log filec2.log filec3.log
``反引号命令替换
[root@localhost /]# echo today is `date +%X%x`
today is 12:59:11 PM03/13/2019
\反斜杠转意字符
[root@localhost /]# echo the hostname is \&HOSTNAME
the hostname is &HOSTNAME
4、重定向操作符:
一个>是重定向符,作用:覆盖写入,文件里的原有数据不保留
两个>>是追加重定向符,作用:追加写入,不覆盖已有内容,直接写在文件末尾,原数据保留
[root@localhost /]# touch err.txt
[root@localhost /]# systemctl restart unbound
Failed to restart unbound.service: Unit not found.
[root@localhost /]# systemctl restart unbound 2>err.txt
[root@localhost /]# cat err.txt
Failed to restart unbound.service: Unit not found.
标准输入(通道0)、标准输出(通道1)、标准错误(通道2)
5、管道符|:
将前面的执行结果丢到管道符后面的命令去执行
注:管道符前面有重定向符号时,管道符后面要加上一个tee命令。
[root@chenglu etc]# ls | grep ssh
ssh
[root@localhost /]# ls -l > 1.txt |tee less
6、Vim文本编辑器:
1.插入模式:
i/a/O/o -> vim进入编辑状态
i -> 在当前光标处进行编辑
a -> 在当前光标下一格进行编辑
O -> 在当前光标上一行插入一个空行进行编辑
o -> 在当前光标下一行插入一个空行进行编辑
2.命令模式:
Esc->vim退出编辑状态(插入模式)
yy(复制一行)
nyy(复制n行)
p(粘贴)
dd(删除一行)
ndd(删除n行)
u -> 撤销上一次操作
U -> 撤销之前所有的操作
大写的G -> 光标跳到末行
两次小写的g -> 光标跳到首行
3.末行模式:
(w/q/wq/wq!=x) -> 退出vim
:set nu -> 显示行号
:set nonu -> 不显示行号
/word -> 从上而下查找某个单词内容
?word -> 从下而上查找某个单词word
N -> 从尾至头进行查找
n -> 从头至尾进行查找
:%s/XXX/YYY/g -> 将文档中所有的XXX替换为YYY
4.可视模式:
-> V(大写的) -> 用光标选择 -> Y
修改文本文档的两种方式:
1)echo “XXX” > 、 >> filename
2) vim 或 vi
vim 1.txt 2.txt 3.txt -> 可同时打开多个文档
Linux基础二:文件系统的更多相关文章
- (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...
- Linux基础二(挂载、关机重启与系统等级)
一.Linux 基础之挂载 1. 挂载和查询 1.1 挂载 什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可 ...
- Linux基础入门-文件系统操作与磁盘管理
一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...
- Linux基础二:初识linux命令
一.UNIX和Linux操作系统概述 1.UNIX是什么 1)UNIX的定义: UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 2)UNIX操作系统的特点:多用 ...
- Linux基础(二)centOS7密码重置
之前安装linux的时候,为了安全起见,起了一个非常特别的,长的密码.然后,就不记得了密码. 下面通过进入单用户模式,就行挽救. 1>重启系统,在系统菜单选择页按 [上下方向键],使界面停在该界 ...
- linux 基础二---用户群租权限
用户&群组&权限 一.用户 1.用户及passwd文件 1) 掌握/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database). 2) / ...
- Linux基础(二)
网卡的启动与关闭 ipup ens33 启动网卡 ifdown 关闭网卡 普通用户没有该权限 root用户,管理员,普通用户的权限 root 至高无上的 root用户所在的组是root组 管理员 ...
- Linux基础二
linux命令分类 内部命令:属于shell解释器 外部命令:独立于shell解释器 检查命令类型 type:检查命令字的类型 [root@localhost ~]# type ls ls 是 `ls ...
- Linux基础(二)之命令
01-基础命令 1. 创建一个目录 mkdir /data 创建多级目录 mkdir -p /oldboy/data 2. 查看目录里面的内容 ls /data 3. 查看目录里面的详细信息 ls - ...
随机推荐
- 关于spring boot+maven项目大面积报红
有时候我们使用git拉取代码,首先代码本身是没有任何问题的,但我们拉取的代码却大面积报红,模块间的类显示无法加载上方导进来的包一片灰, 代码部分大面积报红,在代码可以确定没问题的情况下,可这样操作: ...
- Python日常Bug集
1.TypeError: 'int' object is not iterable: 场景示例: data = 7 for i in data: print(i) # 原因:直接对int数据进行迭代造 ...
- C#开发BIMFACE系列42 服务端API之图纸对比
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在我的前一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>中详细介绍了BIMFACE服务端接口 ...
- CF125E MST company (凸优化+MST)
qwq自闭的一个题 我来修锅辣!!!!!! 这篇题解!可以\(hack\)全网大部分的做法!!! 首先,我们可以把原图中的边,分成两类,一类是与\(1\)相连,另一类是不与\(1\)相连. 原题就转化 ...
- 容器化之路Docker网络核心知识小结,理清楚了吗?
Docker网络是容器化中最难理解的一点也是整个容器化中最容易出问题又难以排查的地方,加上使用Kubernets后大部分人即使是专业运维如果没有扎实的网络知识也很难定位容器网络问题,因此这里就容器网络 ...
- 【Docker】(10)---详细说说 Dockerfile文件
一.基础概念 1.基本概念 Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建.有了 Dockerfile,当我们需要定制 ...
- 解决pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
参考链接[侵权删] https://www.jianshu.com/p/3378fa827924 https://yq.aliyun.com/articles/619208 问题描述:在Windows ...
- 用例图示例:使用系统边界表示多个项目 / Using System Boundary to model Multiple Projects in Use Case Diagram
什么是用例图? 用例是一种捕获系统功能需求的技术.用例描述了一个独立于实现细节的期望行为.用例的目标是捕获用户设想的所有系统级功能.从用户的角度来看,用例是关于系统应该做什么的.用例捕获系统利益相关者 ...
- Convolutional Neural Network-week1编程题(TensorFlow实现手势数字识别)
1. TensorFlow model import math import numpy as np import h5py import matplotlib.pyplot as plt impor ...
- pagelayout在py中的引用不支持size_hint和pos_hint
from kivy.uix.pagelayout import PageLayout from kivy.uix.button import Button from kivy.app import A ...