【LInux入门手册】目录结构 常用指令与操作 vim与tmux
Linux系统
Linux系统的组成
Linux系统一般由内核、Shell、文件系统、应用程序这四个部分组成。
- 内核:操作系统核心,具有很多最基本的功能。如虚拟内存。多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。主要模块:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统初始化和系统调用等。
- Shell:系统的用户界面,用户与内核交互操作的接口。Shell本身是一个命令解释器,Shell语言也具有许多其他编程语言的特点。
- 文件系统:文件存放在磁盘等存储设备上的组织方法。常见的文件系统有:xfs、ext4、ext3、ext2、msdos、vfat和iso9660等。
- 应用程序:一堆程序集。文本编辑器、办公软件、XWindow、数据库、internet工具等。
Linux版本
Linux版本一般指内核版本和发行版本。一般安装在服务器上的是发行版本。
Linux内核版本:Linux操作系统中最核心的功能框架部分,一个用来和硬件打交道并为用户提供有限服务集的支撑软件。内核版本号用于区分历次修改的内核版本,由点分割开的三段数字组成,如5.10.0-kali7-amd64
,可使用uname -r
命令查看。
Linux发行版本:最著名的是由RedHat公司发布的RedHat系列和社区组织开发的Debian系列。
- Red Hat: Red Hat Enterprise Linux简称RHEL。由Bob Young和Mare Ewing在1995创建。
- Oracle:简称OEL。它与RHEL二进制兼容。
- Centos:不包含封闭源代码软件的RHEL。具有更高的稳定性。在企业中也十分常用。
- Debian: 由Ian Murdock于1993创建。采用Linux内核却也用了大部分来自于GNU操作系统工具。因此又称为Debian GNU/Linux。
- Ubuntu:基于Debian系统的近乎完美的Linux发行版,对硬件支持最好、最全面,并且采用自行加强的内核,具有更高的安全性。
Linux目录结构
Linux世界中,一切皆文件。
linux会把所有的硬盘映射成文件去管理。
linux的文件系统采用级层式树状目录结构,最上层是根目录。
linux目录与win最大的不同是,linux的根目录是规定好的,不可改变的,我们只能从根目录下新建文件。
最好对根目录十分熟悉。
/bin Binary 存放经常使用的指令
/sbin Super User 系统管理员实用的系统管理数据
/home 存放普通用户的主目录,以用户的账户命名
/root 系统管理员的用户主目录
/lib 系统开机所需要的最基本的动态链接共享库 库文件,类似于win中的dll
/lost+found 一般是空的 且会隐藏起来 系统非法关机后会存放一些文件
/ect 所有系统管理所需要的配置文件和子目录
/usr 默认应用程序和文件 类似于program files
/boot linux启动相关核心文件
/proc 虚拟目录 是系统内存的映射
/srv Service 存放一些服务启动之后需要提取的数据
/sys linux2.6内核的一个变化 存放新文件系统sysfs
/tmp 临时文件
/dev 设备信息 类似win的设备管理器 把所有硬件用文件形式储存
/media 自动识别的硬件挂载
/mnt 外部文件系统挂载
/opt 安装软件所存放的目录
/usr/usual 另一个安装软件目录 一般是通过编译源码方式安装的程序
/var 存放着不断扩充着的东西 习惯将经常被修改的目录放在这个目录下 包括各种日志文件
/selinux Security-enhanced Linux 安全子系统 控制程序只能访问特定文件 有三种工作模式
. . 上一层目录
. 当前目录
/~ 当前用户的家目录
常用操作
基本指令
ctrl+c 杀死程序
ctrl+u 清除本行
Tab 补全 Tab两次 显示补全选项
↑键 显示上一条指令
history 查看历史执行过的指令
history 10 显示最近使用过的10个指令
!5 执行编号为5的指令
文件目录类
- pwd 显示当前所在的绝对路径
绝对路径:从根目录开始的路径
相对路径:从当前目录开始的路径 可以理解为树上两点的路径
- ls 列举当前目录 蓝色-文件夹 白色-普通文件 绿色-可执行文件
参数
-l 显示详细信息
-h 人性化地显示详细信息
-a 显示所有文件 包括隐藏文件
-la 显示所有文件的详细信息(ls -la 等价于 ll) 一个组合
- cd __ 进入某个路径 可以后接绝对路径或者相对路径
cd 或者 cd~ 默认返回当前用户的家目录
cd .. 返回上层目录
- cp A B 将A复制到B
cp -r A B 把整个A文件夹全都复制到B目录里去
cp A/a.txt B 把A中的a.txt复制到B目录里
cp A/a.txt B/b.txt 把a.txt复制到B里并且重命名为b.txt
cp A/* B 将A中所有的非隐藏文件复制到B中
- mv A B 将A移动到B 或将A重命名为B
与cp指令同理
- mkdir __ 创建目录 默认只能创建一层
mkdir _ / _ /_ -p 创建多级目录
- touch __ 创建空文件
- cat __ 展示文件的内容
只能浏览而不能编辑 一般为了浏览方便会在后面加上管道指令 |more
- rm __ 删除普通文件
rm ___ -r 删除文件夹
rm -fr .* 删除当前目录下所有隐藏文件
rmdir __ 删除空目录
rm -rf 强制递归删除整个文件夹 -r 递归 -f强制删除不提示
- more 基于vim编辑器的文本过滤器 可以单独使用也可以组合使用
[space] 翻页
[enter] 翻行
q 立刻离开
ctrl+f 向下滚动一屏
ctrl+b 向上滚动一屏
= 退出当前行的行号
:f 输出文件名和当前行的行号
- less 分屏查看内容 与more相似 但效率更高 更强大
[space] 向下翻页
[pageup ] [ pagedown ]
/ 向下查找 n下一项 N上一项
? 向上查找 n上一项 N下一项
q 立刻离开
echo 输出内容到控制台
shell中的echo命令详细介绍head 显示文件开头部分的内容
head filename 默认查看文件前10行内容
head -n 5 查看文件头5行的内容
- tail 显示文件结尾部分的内容
tail filename 默认查看文件后10行内容
tail -n 5 查看文件后5行的内容
tail -f filename 实时追踪文件最新内容
> 输出重定向 和>>追加
shell中的关于文件重定向和追加详细介绍
注意>
会直接覆盖文件ln软连接
In -s 原文件或目录 软连接名在当前目录下创建一个原文件的软连接
实现动态连接文件
时间日期指令
- date 显示当前时间
date +%Y 显示年
date +%m 显示月
date +%d 显示日
date “+%Y-%m-%d %H:%M:%S” 格式化显示年月日时分秒
date -s 字符串时间 更改时间 例2022-11-11 11:11
- cal 显示日历
cal 1983 显示1983的日历
搜索查找类
- find 搜索范围 选项从指定目录向下递归查找符合条件的文件
-name 文件名
-user 用户名
-size <+,-, >文件大小 +n大于 -n小于 n等于 (大小单位 k M G )
- locate filename快速定位文件路径
该指令利用实现建立的locate数据库进行快速查询而无需遍历整个文件系统 所以第一次运行前必须执行一遍updatedb指令 且需要定期更新
which command查看某个指令在哪个目录下
grep 参数 查找内容 filename
-n 显示匹配行及行号
-i 忽略大小写
- 经常结合管道符执行 例如 cat filename | grep -n “Hello” (等价于 grep -n “Hello” filename)
压缩和解压类
gzip filename 压缩文件
gunzip filename 解压文件
zip xxx.zip xxx 压缩文件或目录
-r 递归压缩目录
- unzip xxx.zip解压文件或目录
-d 指定解压后文件的存放目录 例 unzip -d 指定路径 xxx.zip
- tar 参数 xxx.tar.gz 打包内容
-c 产生打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包的同时压缩
-x 解包.tar文件
关机
- shutdown 默认一分钟后关机 (-h :halt)
shutdown -h 1
默认 同上
shutdown -h now
立刻关机
shutdown -r now
立刻重启(-r:reboot)
sync
将内存数据同步到磁盘 在重启和关闭前必须执行一遍 不过目前的shutdown/reboot/halt指令默认在关机前执行了sync 但还是最好执行一遍
运行级别
0-关机
1-单用户 【找回丢失密码】
2-多用户 无网络
3-多用户 有网络
4-系统未使用保留给用户
5-图形界面
6-系统重启
一般级别3和5比较常用,但是在工作中最常用的是级别3,与级别5相比更省资源
- init [num] 指定运行级别
- systemctl get-default 查看当前在那个运行级别
帮助指令
man [command]
可以看到指令的所有参数和使用方法,参数可以组合使用,顺序随意help [command]
获得shell命令的内置帮助信息
两个最常用工具——vim与tmux
vim编辑器
模式:正常模式 命令行模式 输入模式
来自b站韩顺平老师
正常转输入
- i 光标前
- l 光标所在行首
- a 字符后面
- A 光标所在行尾
- o 光标行下新建
- O 光标行上新建
- s 删除光标所在字符
- r 替换光标所在字符
输入转正常
ESC键
快捷键操作
正常模式
- yy 拷贝当前行 ; [num]yy 拷贝从当前行向下的[num]行
- p 粘贴 在光标的下一行
- dd 删除当前行 ; [num]dd删除从当前行向下的[num]行
- u 撤销
- ctrl+r 重做
- v 选中文本
- d 剪切选中的文本
- shift+> 选中文本整体右移
- shift+< 选中文本整体左移
- [num]+<Space> 向后跳num个字符
- [num]+<Enter> 向后跳num行
- [num]+shift+g 去到指定行
- G 最末行
- g 最首行
- h ← j ↓ k ↑ l →
- /PATTERN 从当然位置向后查找
- ?PATTERN 从当前位置向前查找
- n 查找下一个
- ctrl+q 取消当前命令 异常处理
- gg=G 全文代码格式化
- gg+d+G 全删
- gg+d+[num] 删从第一行到第[num]行
- $ 跳到行尾
命令行模式
- :set nu 显示行号
- :set nonu 隐藏行号
- :[num1],[num2]s/[word1]/[word2]/g 指定行查找替换
- :1,$s/[word1]/[word2]/g 全文查找替换
- :1,$s/[word1]/[word2]/gc 全文查找替换并询问
- :noh 取消关键词高亮
- :set paste 粘贴模式 取消代码缩进
- :set nopaste 取消粘贴模式 设置代码缩进
命令行模式下关闭保存
- :w 保存
- :q 退出
- :wq 和 : x 保存退出
- :q! 强制退出
- :w! 强制保存 管理员权限
关于一个异常处理
每次打开vim编辑文件时,会自动创建一个隐藏临时文件.filename.swp
若尝试打开一个已经存在swp的文件 则会报错 此时如果你愿意无视vim善意的警告的话 可以直接rm掉swp
Tmux
两大作用:分屏、允许断开Terminal连接后 继续运行进程
结构
sessionwindowpane - 包含一个shell对话框
操作
- tmux 新建一个session 其中包含一个window window里包含一个pane pane里包含一个shell框
- 左右分pane ctrl+A 松开 再%
- 上下分pane ctrl+A 松开 再"
- ctrl+D 关掉当前pane 若当前window所有的pane已关闭 则关闭当前window 若当前session的所有window已关闭 则关闭当前session
- 鼠标点击可以选择pane
- ctrl+A松开 方向键 可以选择相邻pane
- 鼠标拖动分界线
- ctrl+A同时方向键 调整分界线
- ctrl+A松开 +Z 当前pane全屏/取消全屏
- ctrl+A松开 +D 挂起当前session
- tmux a 打开之前挂起的session
- ctrl+A松开 +A 选择其他session /+W 选择其他window
- ↑ 上一项session/window/pane
- ↓ 下一项session/window/pane
- ← 展开当前项 session/window
- → 闭合当前项 session/window
- ctrl+A松开 +C 在当前session创建一个新的window
- ctrl+A松开 +Pageup 翻阅当前pane
- 鼠标滚轮翻阅当前pane
- 按住shift选中文本
所有的终端基本都是
ctrl+insert复制 shift+insert粘贴
若文章中有任何错误或问题,请评论区指教。
【LInux入门手册】目录结构 常用指令与操作 vim与tmux相关推荐
- linux入门之目录结构
linux的目录结构: /:根目录 /etc: 绝大多数系统和相关服务的配置文件都在这里,一般只能有管理员进行修改. /home:所有普通用户的宿主目录所在地,一般情况下,如果想对用户进行磁盘限额功能 ...
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
linux目录架构 / 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/menu.lst ...
- Linux入门-环境搭建、基本指令以及权限讲解
这次我给大家介绍Linux系统,究竟怎么更快上手Linux,怎么学习Linux?接下来我给大家分享一下干货. Linux入门 环境搭建 Linux指令 基本指令 ls命令 cd指令 安装软件的指令 r ...
- 简述 Linux 文件系统的目录结构
Linux文件系统结的结构是树形结构,其入口从/开始,了解Linux文件系统的结构,对于我们需要掌握的基础知识点之一. 1.什么是文件系统: 请参见:<Linux 文件系统概述> 2.文件 ...
- 深入理解linux系统的目录结构
深入理解linux系统的目录结构(总结的非常详细) 作者:佚名 字体:[增加 减小] 来源:互联网 时间:04-09 14:34:20 我要评论 对于每一个Linux学习者来说,了解Linux文件系统 ...
- linux目录结构与功能_深入理解linux系统的目录结构(总结的非常详细)
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...
- Linux文件系统的目录结构详解
一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件系统的类型 3.目录结构的详细解读 4 ...
- Linux文件系统以及目录结构简介
Linux和Windows操作系统中的文件系统些不同,在学习使用Linux之前,能够了解这个不同之处助于后续的学习.本文先对Windows和Linux上面文件系统的一些概念进行区分,然后介绍一些Lin ...
- Linux常用基础知识必备三之常用指令及操作
Linux常用基础知识必备三之常用指令及操作 1.vi和vim vi如何使用 vi几种模式下的操作指令 命令模式进入编辑模式 命令模式下的快捷键 底行模式(指按了esc键之后输入按键:后出现) 字符串 ...
- Linux文件系统的目录结构详解(转)
Linux文件系统的目录结构详解(转) 原文链接https://www.cnblogs.com/cyjaysun/p/4462325.html 一.前 言 文章对Linux下所有目录一一说明,对比较重 ...
最新文章
- LeetCode简单题之将所有数字用字符替换
- 微服务发现与注册之Eureka源码分析
- TS流的解码过程-ES-PES-DTS-PTS-PCR
- (R)?ex 0.41.2 发布,软件配置和部署
- 用C++/CLI搭建C++和C#之间的桥梁(三)—— 基本类型
- python安装whl_EN-mysqlclient库安装问题
- div+css 你知道多少?值得一看
- ControllerContext分析
- pathinfo函数获取非UTF-8字符集文件名的问题
- 测试面试题集-Python三局两胜小游戏
- ros melodic控制真实机械臂之openmanipulator参考
- jQuery ZeroClipboard中Flash定位不准确的解决方案
- 质疑北京大北农科技集团股份有限公司(”大北农“)停牌公告
- Java编程:切面条
- 计算机对电器的影响论文,突然断电到底伤不伤电器:这是答案
- 四种常见演讲结构对比
- k8s core-dns 解析域名异常
- Renderdoc调试总结
- python获取摄像头型号_python opencv设置摄像头分辨率以及各个参数的方法_python
- JavaScript(订单的增删改)
热门文章
- Hard Swish激活函数
- 04-读取Word文档内容
- 在unity3D中添加字体
- [ctfshow 2021摆烂杯] FORENSICS部分 writeup
- STM32F103_study55_The punctual atoms(STM32 PWM output experimental theoretical knowledge)
- linux 命令:userdel 详解
- 长微博android,凑合着用吧:Android版长微博
- 腾达n6路由器虚拟服务器设置,腾达n6路由器怎么设置带宽控制
- 中国石油沥青行业市场供需与战略研究报告
- 微分方程——线性微分方程