二、文件系统:

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基础二:文件系统的更多相关文章

  1. (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理

    介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...

  2. Linux基础二(挂载、关机重启与系统等级)

    一.Linux 基础之挂载 1. 挂载和查询 1.1 挂载 什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可 ...

  3. Linux基础入门-文件系统操作与磁盘管理

    一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...

  4. Linux基础二:初识linux命令

    一.UNIX和Linux操作系统概述 1.UNIX是什么 1)UNIX的定义: UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 2)UNIX操作系统的特点:多用 ...

  5. Linux基础(二)centOS7密码重置

    之前安装linux的时候,为了安全起见,起了一个非常特别的,长的密码.然后,就不记得了密码. 下面通过进入单用户模式,就行挽救. 1>重启系统,在系统菜单选择页按 [上下方向键],使界面停在该界 ...

  6. linux 基础二---用户群租权限

    用户&群组&权限 一.用户 1.用户及passwd文件 1) 掌握/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database). 2) / ...

  7. Linux基础(二)

    网卡的启动与关闭 ipup ens33 启动网卡 ifdown 关闭网卡 普通用户没有该权限 root用户,管理员,普通用户的权限 root 至高无上的 root用户所在的组是root组 ​ 管理员 ...

  8. Linux基础二

    linux命令分类 内部命令:属于shell解释器 外部命令:独立于shell解释器 检查命令类型 type:检查命令字的类型 [root@localhost ~]# type ls ls 是 `ls ...

  9. Linux基础(二)之命令

    01-基础命令 1. 创建一个目录 mkdir /data 创建多级目录 mkdir -p /oldboy/data 2. 查看目录里面的内容 ls /data 3. 查看目录里面的详细信息 ls - ...

随机推荐

  1. Linux系统自我学习的一些笔记1

    远程连接: 1.查看IP地址  ip addr 2.远程登陆linux系统 ssh  主机名@IP地址 文件操作: 新建文件touch 例如:touch test.txt (创建单个文件) 例如:to ...

  2. 智汀家庭云-开发指南Golang:设备场景

    场景是指通过SA实现设备联动.例如,自动检测今天的天气情况,今天无雨,定时智能音箱播放浇花提醒,并且播报今天的天气情况. 根据自身需求,把多种控制并发的事情编辑成一个场景,并命名,可以通过场景控制很多 ...

  3. JavaEE & Tomcat 介绍

    目录 企业开发介绍 JavaEE 规范 Web 概述 系统结构简介 C/S 结构 B/S 结构 两种结构的区别及优略 Tomcat Tomcat 介绍 关于服务器 Tomcat下载与安装 Tomcat ...

  4. 服务注册中心之Eureka使用

    一.Eureka基础 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCl ...

  5. 关于VS中的无法解析的外部符号问题

    利用caffe的源码编译出的caffe.lib静态链接库里面就包含了源码里面的那些函数的接口i,所以如果在程序中使用的是源码的话,就不需要在链接器里面再添加此静态链接库了 对于无法解析的外部符号,首先 ...

  6. 项目问题记录------Mabatis动态sql语句

    现在在做一个模糊查询功能,使用两个查询条件: 条件1:下拉框选择的产品名 条件2:输入框输入的用户名 需求1:下拉框的选项是从数据库里导出来的产品名,此外,添加一个选项"全部产品" ...

  7. python join的用法

    joinn其实就相当于用某个字符串来拼接列表或者元组中的元素 当然也可以将字符串以某一个str拼接起来 得出的结果自然也是字符串 ex1: results: 实例用处: 当我们从某个文件中读出内容时, ...

  8. python flask1

    以这个服务端代码为例,简单了解一下flask的运用. 1.app = Flask(__name__)记住就好了 2.@app.route("/")记住就好了:注意括号里的是调用这个 ...

  9. 【Java虚拟机11】线程上下文类加载器

    前言 目前学习到的类加载的知识,都是基于[双亲委托机制]的.那么JDK难道就没有提供一种打破双亲委托机制的类加载机制吗? 答案是否定的. JDK为我们提供了一种打破双亲委托模型的机制:线程上下文类加载 ...

  10. 离线状态迁移Anaconda虚拟环境

    离线状态迁移Anaconda虚拟环境 同样是项目需求,需要布署的服务器上的Anaconda安装到了普通账户下 而后续所有的内容都需要通过root账户进行操作,而服务器已经布署,联网比较麻烦 本文提出, ...