Linux之目录结构和文件管理

news/2024/7/5 5:28:34

Linux之目录结构和文件管理

  • 一. Linux目录结构
    • 1. 目录与文件管理
    • 2. 常见子目录
  • 二. 查看文件内容
    • 1. 查看文件内容:cat
    • 2. 查看文件内容:more
    • 3. 查看文件内容:less
    • 4. 查看文件内容 : head 、tail
    • 5. 统计文件内容:wc
    • 6. 检索和过滤文件内容:grep
  • 三. 压缩命令
    • 1. 压缩命令:gzip、bzip2
    • 2. 归档命令:tar
  • 四. 文本编辑器
    • 1. 文本编辑器:vi
      • 1.1. 文本编辑器的作用:
      • 1.2. Linux中最常用的额文本编辑器
      • 1.3. vi编辑器的工作模式
      • 1.4. 不同模式之间的切换
      • 1.5. 命令模式切换到输入模式
      • 1.6. 命令模式

一. Linux目录结构

1. 目录与文件管理

  • 为树形目录结构
  • 根目录
  • 所有分区、目录、文件等的位置起点
    整个树形目录结构中,使用独立的一个"/"表示
    在这里插入图片描述

2. 常见子目录

子目录说明
/root管理员的宿主(家)目录
/home除root用户之外的普通用户的家目录
/bin存放二进制文件,所有用户可执行的命令 。实际是个软链接,链接到/usr/bin
/sbin存放二进制文件,只有管理员可执行的管理命令。软链接到/usr/sbin
/boot系统内核、启动文件目录
/dec存放设备文件(光驱、硬盘等)
/etc存放系统程序和大部分应用程序(rpm、yum安装)的配置文件
/var存放可以变化的文件,包括各种日志文作
/lib存放系统程序的动态连接共享库文件(类似于Windows里的DLL文件)。软链接到/usr/lib
/usr存放系统用户工具和程序
/media可拆卸的媒介挂载点,例如U盘、光驱等
/proc存放映射系统信息的文件
/opt存放映射系统信息的文件
/tmp存放系统的临时文件
/mnt用于临时挂载储存设备的目录

二. 查看文件内容

1. 查看文件内容:cat

直接显示出整个文件的内容

-n :对所有输出的行数编号
-b :忽略空白行,对于空白行不编号
-s :将所有的连续的多个空白行替换为一个空白行

2. 查看文件内容:more

全屏方式分页显示文件内容

交互操作方法

  • 按Enter向下逐行滚动
  • 按空格向下翻一屏
  • 按 b 向上翻一屏
  • 按 q 退出
  • 下翻到最后一页后会自动退出
  • 结合管道操作使用时无法向上翻页

3. 查看文件内容:less

与more相同,但扩展功能更多

交互操作方法

  • Page Up 向上翻页,Page Down向下翻页
  • 按“/”键查找内容,“n”下一个内容,“N”上一个内容
  • 通过↑和↓方向键可以实现上下逐行滚动
  • 其他功能与more命令基本类似
  • 下到最后一页不会自动退出
  • 结合管道操作可向上翻页

4. 查看文件内容 : head 、tail

  1. head命令
    head -n 文件 n为行数

用途:查看文件开头的一部分(默认10行)

  1. tail命令
    tail - n 文件 n为行数
    tail - f 文件 跟踪文件尾部内容动态更新

用途:查看文件结尾的少部分内容(默认10行)

5. 统计文件内容:wc

统计文件中的单词数量(word count)等信息

-l: 统计行数
-w:统计单词个数
-c: 统计字节数

  • 注:不带任何选项的 wc 命令,默认同时使用 -lwc 三个选项

6. 检索和过滤文件内容:grep

在文件中查找并显示包含指定字符串的行

命令选项说明
-i查找时不区分大小写
-v显示不包含匹配文件的所有行(反向查询,反向匹配)
-c只输出匹配到的总行数(不是匹配到的次数)
-n显示匹配行及行号
-e实现可多个查找条件的匹配,逻辑or关系
-E支持使用扩展正则表达式,相当于使用egrep命令
-o精确匹配,即“仅匹配”之意

查找条件设置

  • 要查找的字符串以双引号括起来
  • “^…” 表示以 … 开头, “…$” 表示以…结尾
  • "^$"表示空行
[root@localhost jichao]# grep -ie "^d" -ie "b$" 1234.txt
ddsfbbbbb
12nbv4n5b

[root@localhost jichao]# grep -ie "^d" 1234.txt | grep -ie "b$" 
ddsfbbbbb

三. 压缩命令

1. 压缩命令:gzip、bzip2

  • 制作压缩文件

gzip - 9 文件名
bzip2 - 9 文件名

  • 解开压缩文件
    gzip - d 压缩文件
    bzip2 - d 压缩文件

  • 注:使用"-9"选项可以提高压缩的比率指令的值可为1 (压缩速度最快,最低的压缩质量)至9 (最慢的压缩速度,压缩率最高)之间的整数,其默认值为6(压缩速度和压缩质量较为平衡的值)

2. 归档命令:tar

命令选项说明
-c创建 .tar 格式的包文件
-x解开 .tar 格式的包文件
-C解压时指定释放的目标文件夹
-f表示使用归档文件
-t列表查看包内的文件
-v输出详细信息(Verbose)
-j调用 bzip2 程序进行压缩或解压
-z调用 gzip 程序进行压缩或解压
-p打包时保留文件及目录的权限
-P打包时保留文件及目录的绝对路径
  • 压缩一般:jcvf 或者 zcvf
  • 解压一般:jxvf 或者 zxvf

四. 文本编辑器

1. 文本编辑器:vi

1.1. 文本编辑器的作用:

  • 创建或修改文本文件
  • 维护Linux系统中的各种配置文件

1.2. Linux中最常用的额文本编辑器

  • vi :类UNIX操作系统的默认文本编辑器
  • vim : vim 是vi 编辑器的增强版本

1.3. vi编辑器的工作模式

命令模式:

启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作

输入模式:

该模式中主要的操作就是录人文件内容,可以对更本文件正文进行修改、或者添加新的内容。处于输入模式时, vi编辑器的最后一行会出现"–INSERT–"的状态提示信息

末行模式:

该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号":"提示符

1.4. 不同模式之间的切换

在这里插入图片描述

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。此时按下i,并不会输入一个字符,i被当作了一个命令。

!vim 切换到上一次vim

i 切换到输入模式,以输入字符。
ESC,退出输入模式,切换到命令模式
按: 进入到末行模式 wq 保存文件,退出程序

1.5. 命令模式切换到输入模式

命令说明
a在当前光标位置之后插入内容
i在当前光标位置之前插入内容
o在光标所在行之下插入一个新行内容
O在光标所在行之上插入一个新行内容
A在所在行的行尾插入内容
I在所在行的行首插入内容

1.6. 命令模式

操作类型操作键功能
翻页移动Page Down 键 或 Ctrl + F向下翻动一整页内容
-(同上)Page Up 键 或 Ctrl + B向上翻动一整页内容
行内快速跳转home 键 或 ^ 键、数字0键跳转到本行的行首
-End 键 或 $键跳转到本行的行尾
行间快速跳转1G 或 gg
G
#G
M
跳转到文件内容的第一行
跳转到文件的最后一行
跳转到文件的第#行(其中" # "用具体数字替换)
跳转到当前页的中间位置
显示行号:set nu
:set nonu
在编辑器中 Ctrl + : 进入末行模式
显示行号
取消显示行号
删除x 或 Delete键
dd
#dd
d^
d$
dw
删除光标处的单个字符
删除当前光标所在(有剪切功能)(一直按着d键 一直进行删行操作)
删除从光标处开始的#内容(如 1000dd)
删除当前光标之前到行首的整个内容
删除当前光标处到行尾的整个内容
删除光标处的整个单词
替换字符R 或 Shift+ r进入 -- 替. -- 模式,替换当前光标处字符
复制yy
#yy
复制当前行整行的内容到剪贴板
复制从光标处开始往下的 # 行内容
粘贴P
p
粘贴到光标所在行之下;
粘贴到光标所在行之上
查找/word
?word
n
N
从当前光标处开始向后进行查找字符串“word”
从当前光标处开始向前进行查找
定位下一个匹配的被查找字符串
定位上一个匹配的被查找字符串
撤销u
U
按一次取消最近的一次操作;重复u键,恢复多次操作;
用于取消对当前行所做的所有编辑
保存退出:w
:w 新文件名
:q
:q!
zz:wq:x
保存修改的内容
另存为其他文件

放弃对文件内容的修改并退出
保存当前的文件内容并退出vi编辑器
操作类型操作键功能
打开新文件:e 其他文件名打开新的文件进行编辑
读入文件内容:r在当前文件中,光标处 读入其他文件内容
文件内容替换: s /old/new
: s /old/new/g

: #,# s/old/new/g
: % s/old/new/g
: s /old/new/c
当前行 中查找到的 第一个字符串 “old" 串替换为"new"
当前行 中查找到的 所有字符串"old"替换为"new"

在行号#,#范围内替换所有的字符串"old"为"new”
在整个文件范围内替换所有的字符串"old"为"new“
在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
-:8,11 m 4将8-11行的内容 剪切到第4行下面
-:8,11 co 4将8-11行的内容 复制到第4行下面
小技巧shift + 3 组合键可在脚本文件中高亮所有的相关字符串

http://www.niftyadmin.cn/n/3652874.html

相关文章

VS.NET2005安装部署之实战

相信很多人都做过安装程序,目前最大功能最全的当属InstallShield,但是InstallShield的语法学习起来实在费劲,相对而言vs.net自带的安装部署短小精悍,且使用C#语法,对于一般C#开发者来说使用起来就极为简便,…

ASP.NET AJAX 之服务器端页面流程

很明显的,ScriptManager 和 UpdatePanel 是ASP.NET AJAX中最重要的2个类。 用Reflector查看Microsoft.Web.Extensions.dll 里的类时,发现有很多个接口,譬如象IHtmlForm,IHttpBrowserCapabilities,IHttpCachePolicy&…

.Net服务组件(ServicedComponent)简介及其使用

.Net服务组件(ServicedComponent)简介及其使用.NET Enterprise Services 为企业应用程序提供重要的基础结构。COM 为企业环境中部署的组件编程模型提供服务结构。System.EnterpriseServices命名空间向 .NET 对象提供对 COM 服务的访问,COM 服…

Linux账号权限的管理

Linux账号权限管理一. 用户账号和组账号概述1. Linux基于用户身份对资源访问进行控制1. 用户账号2. 组账号3. UID和GID2. 用户账号文件/etc/passwd1. 保存用户名称、宿主目录、登录shell等基本信息3. 用户账号文件/etc/shadow1. 保存用户的密码、账号有效期等信息4. 添加用户账…

如何检测Remote Objects是否部署成功

在调试.Net Remoting程序时,经常会出现一些莫名其妙的问题,IDE提示的异常信息有时也不一定正确。很多时候都是自己粗心,配置configuration文件上出了问题,包括Client和Server端的配置文件。  言归正传,这里看看如何检…

Linux 磁盘设备文件管理

Linux 磁盘设备文件管理一. 磁盘结构1. 磁盘物理结构2. 磁盘数据结构3. 硬盘的存储容量4. 磁盘接口类型5. MBR与磁盘分区表示6. 磁盘分区结构二. 文件系统类型1. XFS文件系统2. SWAP交换文件系统3. Linux支持的其他文件系统类型三、创建新的磁盘1. 查看或管理磁盘分区&#xff…

socket异步处理问题

由于一个项目要和第三方软件做接口,第三方软件是Unix的操作系统,所以用了Socket来传输数据。具体结构是这样的:本项目作为服务器端,第三方软件是客户端,并且有多个客户端。通常情况下,要开多个线程来处理多…

Linux挂载windows 共享文件

Linux挂载windows 共享文件学习目标操作步骤学习目标 Linux挂载window 共享文件 操作步骤 windows端共享权限设定: 1.解禁Guest 右击我的电脑选择管理–>本地用户和组–>在用户项中双击Guest用户–>取消账号已禁用选项 2.设置共享目录权限 右击共享目录点属性–…