Linux目录和文件管理

一.目录层次

二.查看文件内容

三.压缩和解压缩

四.vi编辑器

一.目录层次

一.1常见目录

一级目录 功能及作用
/bin/ 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行

/boot/ 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等

/dev/ 设备文件保存位置

/etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等

/home/ 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming

/lib/ 系统调用的函数库保存位置(c语言 写的一些固定格式的代码,方便调用)

/media/ 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘

/mnt/ 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区

/misc/ 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的

/opt/ 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件

/root/ root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下

/sbin/ 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看

/srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据

/tmp/ 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空

Linux/usr目录

usr(注意不是 user),全称为 Unix Software Resource,此目录用于存储系统软件资源。FHS 建议所有开发者,应把软件产品的数据合理的放置在 /usr 目录下的各子目录中,而不是为他们的产品创建单独的目录。
Linux 系统中,所有系统默认的软件都存储在 /usr 目录下,/usr 目录类似 Windows 系统中 C:\Windows\ + C:\Program files\ 两个目录的综合体。
子目录 功能、作用
/user/bin/ 存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行

/user/sbin/ 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用。

/usr/lib/ 应用程序调用的函数库保存位置

/usr/XIIR6 图形界面系统保存位置

/usr/local/ 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置

/usr/share/ 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录

/usr/src/ 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中

/usr/include/ C/C++ 等编程语言头文件的放置目录

Linux/var目录

/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。通常,此目录下建议包含如表 4 所示的这些子目录。

/var 子目录 功能、作用
/var/lib/ 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中

/var/log/ 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。

/var/run/ 一些服务和程序运行后,它们的 PID(进程 ID)保存位置

/var/spool/ 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的件,/var/spool/cron/ 存放系统定时任务。

/var/www/ RPM 包安装的 Apache 的网页主目录

/var/nis和/var/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录

/var/tmp 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除

根(/)相当于一个入口,文件的总入口,也是唯一入口
bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 ----------------命令
sbin 管理员可使用的二进制文件---------------------------------命令ls cd useradd
系统内核、启动文件
etc 配置文件等同于windows 注册表,一般都是文本文件
run 运行的内存中文件 运行中的文件
tmp 临时文件 -t 特殊权限
usr应用程序和操作系统相关的文件 bin sbin
var/log日志文件,数据变化的
home 普通用户的家目录的上级目录zhangsan目录会在 home
root系统管理员的家目录上 /root
lib 动态库文件 类似于windows 的dll文件
proc 主要保存系统的内核、进程、外部设备状态和网络状态等
media 可移动设备
mnt 默认挂载点
opt 第三方应用程序安装所在目录程序

文件系统的目录结构

以 . 开头的文件均为隐藏文件
路径用/分开 / 不在第一位就是分隔符
文件名最长 255个字符
区分大小写 linux 注意事项

二.查看文件内容

2.1七类常见的linux文件

1. d 目录文件directory
2. b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
3. c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用
4. l 符号链接文件link
5. p 管道文件pipe 主要用于进程间通信单向传输 一个发一个输管道文件
6. s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
7. -普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等

第一个字符

- 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d 目录,类似 Windows 系统中的文件夹。
b 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 字符设备文件,例如键盘、鼠标等。
s 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l 链接文件,类似 Windows 系统中的快捷方式。

2.2显示命令

cat 查看文件

语法:cat [选项] 文件 cat可支持标准输入
选项 效果
-n 显示行号(包括空行)
-b 跳过空白行编号
-s 将所有连续的多个空行压缩为一个空行
-A 显示隐藏字符

分页显示

less [选项] 文件名 分页查看
more [选项] 文件名 分页查看
tac(逆向显示文本内容)
cat是列反过来,tac是行反过来

显示文件前后内容

head

可以显示文件或标准输入的前面行
格式:head [OPTINO] [FILE]
选项:-c 指定获取前字节
-n 指定获取前#行,如果为负数表示从文件头取到倒数#行
-# 同上
head -n 具体数字 文件名 (不加具体数字,默认开头十行)

******tail

tail和head相反,查看文件或标准输入的倒数行
格式:tail [OPTION] [FILE]
选项:
-f 跟踪显示文件fd新追加的内容,常用日志监控
-n 具体数字 文件名(不加具体数字默认结尾十行)
-f 具体数字 文件名 实时跟踪最后十行
tail -n -# 从第几行开始
tail -n -5 不看后5行

tr

基本功能转换
格式:tr [选项] SET1 [SET2]
SET是一组字符串,一般都可以按照字面含义理解
选项:
-d 删除
-s 压缩

wc

统计列数
格式:wc [选项] 目标文件
选项:
-l 统计行数
-w 统计单词个数
-c 统计字节数

grep 过滤

在大量文件中找到某些包含特定字符的文件
格式:grep [选项] 查找条件 目标文件
选项:
-i 不区分大小写
-v 反向查找
-o 只显示匹配项
-f 对比两个文件的相同行
-c 匹配的行数
grep -r grep -R 递归过滤
基本格式:
正则表达式
元字符:代表任意一个字符
次数:前面字符出现多少次
^ 表示开头 $ 表示结尾 ^$ 空行 grep -v ^%非空行

paste 合并文件

选项:
-d 指定分隔符

split

作用:分割文件 分解文件

三.压缩与解压缩

gzip和bzip都是压缩软件,比如windows里的好压和360 压缩或微软自带的等等
比较gzip和bzip之间的压缩比例,压缩时间等问题

tar

tar tape archive 磁带归档,磁带便宜磁带机很贵,慢永久保存,硬盘越来越便宜了

tar [选项] … 归档文件名 源文件或目录
tar [选项] … 归档文件名 [-C 目标目录]

无论什么情概况下出现tar必须用f!!!
选项:
-c 建立归档
-x 揭开归档
-C 文件夹 指定解压的目录
-f 使用tar归档
-t 不解开归档查看归档文件内容(t要和f一同使用!)
-v 显示过程
-j 使用bzip2压缩
-z 使用gzip压缩

四.vi编辑器

使用vim编辑器的原因:
几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计 接口

**vim   文件名 不存在   就是新建
vim   文件名存在       就是修改
vim+数字   就是光标落在第几行
!vim 打开上一次的文件**

vim三种模式
命令模式:默认模式,可以移动光标,剪切/粘贴文本
编辑模式:修改文本
末行模式:保存,退出 所有的操作都在最后一行

命令模式:

可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
ZZ 保存退出(必须大写)
Q 不保存退出(必须大写)
h:左 L:右 j:下 k:上
单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
当前页跳转:
H:页首
M:页中间行
L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
行间移动:
#G 或者扩展命令模式下
:# 跳转至由第#行
G 最后一行
1G, gg 第一行
命令模式翻屏操作:
Ctrl+f 向文件尾部翻一屏,相当于Pagedown
Ctrl+b 向文件首部翻一屏,相当于Pageup
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
字符编辑
x 剪切光标处的字符
#x 剪切光标处起始的#个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
J(大写) 删除当前行后的换行符
替换命令
r 只替换光标所在处的一个字符
R 切换成REPLACE模式(在末行出现-- REPLACE – 提示),按ESC回到命令模式
删除命令
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw 下一个单词的词首
de 当前或下一个单词的词尾
db 当前或上一个单词的词首
dd: 剪切光标所在的行
D:从当前光标位置一直删除到行尾,等同于d$
复制命令
y 复制,行为相似于d命令
yy:复制行
Y:复制整行
粘贴命令
p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
改变命令
命令 c 删除后切换成插入模式
cc #删除当前行并输入新内容,相当于S
C #删除当前光标到行尾,并切换成插入模式,相当于c$
查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
撤消更改
u 撤销最近的更改,相当于windows中ctrl+z
#u 撤销之前多次更改
U 撤消光标落在这行后所有此行的更改
Ctrl-r 重做最后的“撤消”更改,相当于windows中crtl+y
. 重复前一个操作
#. 重复前一个操作#次
100iky18 [ESC]
重复的次数 i(输入模式) 重复的内容 esc 命令模式
di" 光标在“ “之间,则删除” “之间的内容
d i " “之间的内容就会删除”
yi( 光标在()之间,则复制()之间的内容
vi[ 光标在[]之间,则选中[]之间的内容
dtx 删除字符直到遇见光标之后的第一个 x 字符
ytx 复制字符直到遇见光标之后的第一个 x 字符

编辑模式

输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
切入到输入模式:
快捷键:
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 行首插入命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 行尾插入命令

末行模式

文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

**快捷键:
:q 退出不保存
:q! 强制退出不保存
:w 保存
:w 新文件名 另存为新文件:
:wq :zz :x 保存并退出
:e 其他文件名(如果已修改需要加e!) 打开新文件进行编辑
:r 其他文件名 在当前文件中读入其他文件内容
!命令 执行命令
:r!命令 读入命令
: [替换范围] s /旧的内容/新的内容[/g]
😒 /old/new 替换当前行中的第一个old改为new
😒 /old/new/g 替换当前行中的所有old改为new
:#,# s /old/new/g #到#行所有old改为new
:%s /old/new/g %代表全文 全文替换所有old改为new

d 删除 第#行

#,# d 删除#到#行
#,# y 复制三到6 行
:set nu 或:set nonu 加行号 不显示行号
:set cul (:set nocul ) 光标所在行有下划线(取消)
no hl 取消高亮
:set ai 对齐 回车后和上一行对齐
:set all 可以看所有的一些帮助
set key=password (大X) 加密码
set key=空白 取消密码
set tabstop=4 (set ts=4) tab 一次为四个空格
.!命令 (who,date ) 将date命令插入当前行注意会覆盖当前行**

配置文件定制vim的工作特性
 **Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim。
 /etc/.vimrc 		 #全局
   ~/.vimrc		 #个人

Vim 配置文件分为系统配置文件和用户配置文件:
系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);
用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc 命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。
设置参数: 功能:
set nu 显示行号
set cul 突出显示当前行。
set ai 设置自动缩进,即每行的缩进同上一节相同。
set ts=4 设置 Tab 键宽度为 4 个空格。**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值