linu目录结构总览和基本的文件管理
linux目录和文件管理
1 linux 系统中/目录下的各个目录的概括
1、/bin目录
基础命令,存放所有用户都能使用的基础命令程序文件
例如:ls、cp、mv、rm、cat、echo、pwd、mkdir...
2、/sbin目录
系统管理命令,存放root专用的系统管理命令文件
例如:reboot、shutdown、poweroff、fdisk、ifconfig、iptables...
3、★/etc目录
配置文件,全局配置文件都在这里,是运维最常打交道的目录
例如:/passwd(用户账号信息)、/shadow(用户密码)、/hostname(主机名)、/hosts(本地DNS解析)、/network(网络配置)、/yum.repos.d(yum软件源配置)、/ssh/sshd_config(ssh服务配置)、/crontab(定时任务)...
4、/home目录
普通用户的专属目录
5、/root目录
root用户的专属目录
6、★/var目录
可变数据,存放经常变化的数据,日志、缓存、数据库文件等
例如:/log(系统日志排查问题必看)、/log/messages(系统通用日志)、/log/secure(安全/登录日志)、/spool/cron(用户定时任务)、/www(网站文件apache默认)...
7、/tmp目录
临时文件,程序运行时产生的临时文件,重启后会自动清空
8、/usr目录
存放用户程序资源,类似于windows系统的program files,安装的软件大多都在这里
例如:/bin(用户及命令)、/sbin(系统管理命令)、/lib(库文件)、/local(手动编译安装的软件建议放在这里)、/share(共享数据、文档、man手册)...
9、/lib目录
系统库文件,系统启动和基础命令所需的共享库(.so文件),类似于windows上的DLL。
10、/dev目录
硬件设备文件。
例如:/sda(第一块硬盘)、/sda1(第一块硬盘的第一个分区)、/null(黑洞-丢弃所有写入)、/zer0(零源-持续输出0)、/tty(终端设备)...
11、/proc目录
里面时内核进程信息,虚拟文件系统,不占磁盘空间,内容由内核实时生成。
例如:/cpunifo(cpu信息)、/meminfo(内存信息)、/1234(pid为1234的进程信息)...
12、★/boot目录
启动文件,系统启动的相关文件,包括内核镜像(不能随便乱动,否则系统可能无法正常运行)。
例如:/vmlinuz-xxx(linux内核)、/grub2(引导程序配置)...
13、★/opt目录
第三方软件或大型商业软件的推荐存放位置,临时存放的目录。
例如:/mysql、/nginx...
14、/mnt和/media目录
挂载点,各种盘的挂载点。
如光盘、U盘、网络盘。
2 linux中常用的文件查看命令
2.1 cat命令
cat是查看文件(只能查看文件不能查看命令)后面直接跟需要查看的文件。
示例:
[root@paopao etc]# cat shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh
2.2 more命令
more是 Linux/Unix 系统的分页显示命令,用于逐页查看文件内容,适合大文件。
基本操作:Enter是下一行,空格/f 翻页,b是上一页,=显示当前行号,q代表退出,/关键词(查找关键词)
常用有mor -n 选项表示从第n行开始显示。便于查看但是使用的频率不高。
示例:
[root@paopao etc]# more rwtab dirs /var/cache/man dirs /var/gdm dirs /var/lib/xkb dirs /var/log dirs /var/lib/puppet dirs /var/lib/dbus empty /tmp empty /var/cache/foomatic empty /var/cache/logwatch empty /var/cache/httpd/ssl empty /var/cache/httpd/proxy empty /var/cache/php-pear empty /var/cache/systemtap empty /var/db/nscd empty /var/lib/dav empty /var/lib/dhcpd empty /var/lib/dhclient empty /var/lib/php empty /var/lib/pulse empty /var/lib/systemd/timers empty /var/lib/ups empty /var/tmp --More--(48%)
2.3 less命令
less是 Linux 上一款双向分页查看器,功能比more更强大,是查看文件的首选工具。
基本操作:↑/k按键向上一行,↓/j案件向下一行,空格键/f/PageDown按键向翻页,b/PageUp按键向上翻页,g按键跳转第一行,/关键词(向下查找关键词),?关键词(向上查找关键词),n下一个匹配,N上一个匹配,q退出,=显示当前行号和信息,h显示帮助,v调用文本编辑器(默认vi)。
2.4 head命令
head用于查看文件的开头部分,默认显示前10 行。
常用 -n 行数表示显示前n行
示例:
[root@paopao etc]# head rwtab dirs /var/cache/man dirs /var/gdm dirs /var/lib/xkb dirs /var/log dirs /var/lib/puppet dirs /var/lib/dbus empty /tmp empty /var/cache/foomatic empty /var/cache/logwatch
2.5 tail命令
tail用于查看文件的结尾部分,默认显示最后10 行。
常用 -n 行数表示只显示最后n行(用的最多)常用 -f实时追踪文件变化(监控日志)。tail -f -n 行数 进行实时监控数据。
示例:
[root@paopao etc]# ^C [root@paopao etc]# tail rwtab files /var/lib/iscsi files /var/lib/logrotate.status files /var/lib/ntp files /var/lib/xen files /var/empty/sshd/etc/localtime files /var/lib/systemd/random-seed files /var/spool files /var/lib/samba files /var/log/audit/audit.log files /var/lib/nfs
2.6 wc命令
wc是word count的缩写,用于统计文件的行数、词数、字节数。
常用 -l 只统计行数(最常用)、-w(只统计单词数量)、-c(只统计字节数)。
示例:
[root@paopao etc]# wc rwtab 45 86 966 rwtab [root@paopao etc]# wc -l rwtab 45 rwtab
2.7 grep命令
grep是Global Regular Expression Print的缩写,用于在文件中搜索文本。
基本语法:grep [选项] "搜索内容" 文件名。
2.7.1 常用选项
-i选项(忽略大小写)、-v选项后跟 '^#'(剔除以#号开头的行;反向匹配--不包含搜索内容)、-r选项(递归目录)、-n选项(显示行号)、-i选项(不分大小)--color(高亮显示匹配内容)、
2.7.2 正则表达式
'^……' 表示输出以……为开头的行。'……$'表示输出以……为结尾的行。'^$'表示空行。'.'表示任意一个字符。'*'表示零个或多个。[abc]表示匹配abc(字符前面加^表示不含其中字符)。
egrep -v "'^#|^$"目录,同时筛选以#开头的行还有空行(同时过滤2个内容)。
3 常用的压缩和解压缩命令
3.1 gzip命令
gzip是 Linux 下最常用的文件压缩工具,压缩效率高,最常用,速度快。
基本语法:gzip [选项] 文件名
以 .gz 格式压缩文件目录 gzip -d=gunzip 解压以 .gz 格式的压缩包(压缩或者解压之后原包消失)选项[-0~9]表示花费0~9不同级层的资源比例去压缩。
3.2 bzip2命令
bzip2是 Linux 下的高压缩率压缩工具,比 gzip 压缩效果更好,但速度稍慢。
基本语法:bzip2 [选项] 文件名
以.bz格式压缩文件目录 bzip2 -d=bunzip2 解压以 .bz2 格式的压缩包(压缩或者解压之后原包消失)
3.3 tar命令
tar是 Linux 下最常用的打包/归档工具,可以将多个文件合并为一个归档文件。
基本语法:tar [选项] 归档文件名 源文件/目录
文件格式为 .tar.gz/.tar.bz2 。常用的有zcvf/zxvf选项。
z:使用gzip压缩工具进行压缩/解压操作(压缩之后的文件格式为:.tar.gz)
c:创建一个归档文件(进行压缩打包动作)
v:显示详细信息
f:进行归档操作(指定文件名)
j:使用bzip2压缩工具进行压缩/解压操作(压缩之后的文件格式为:.tar.bz2)
x:表示进行解压缩动作
示例:tar -zcvf/jcvf(进行压缩) tar -zxvf/jxvf(进行解压)
-C 指定解压后的路径 使用格式为:tar -zcvf 压缩包 -C路径
4 vim编辑器的基础操作方法
vim是 Linux 下最强大的文本编辑器,是vi的增强版。学会 vim 几乎可以编辑任何文件。
4.1 三种模式
┌─────────────────────────────────────────────────────┐ │ NORMAL 模式 │ │ (默认,按 i 进入 INSERT) │ │ │ │ i ──▶ INSERT 编辑模式 ◀── ESC │ │ R ──▶ REPLACE 替换模式 ◀── ESC │ │ │ │ : ──▶ COMMANDLINE 命令模式 ◀── ESC, 然后 : │ └─────────────────────────────────────────────────────┘
| 模式 | 用途 | 进入方式 |
|---|---|---|
| Normal | 浏览、移动、复制、粘贴 | 默认模式 |
| Insert | 输入文字 | 按i、a、o |
| Command | 保存、退出、搜索、替换 | 按: |
4.2 基本操作
启动与退出
bash
# 打开文件 vim filename.txt vim file1.txt file2.txt # 打开多个文件 # 退出命令(在 Command 模式下) :q # 退出(未修改) :q! # 强制退出(不保存) :wq # 保存并退出 :x # 保存并退出(等价) ZZ # 保存并退出(无需按 :)
光标移动(Normal 模式)
bash
# 基本移动 h # 左 j # 下 k # 上 l # 右 # 快速移动 0 # 行首 $ # 行尾 ^ # 行首(非空白) g_ # 行尾(非空白) # 单词移动 w # 下一个单词开头 e # 下一个单词结尾 b # 上一个单词开头 # 页面移动 gg # 文件开头 G # 文件末尾 nG # 跳到第 n 行 Ctrl + d # 下翻半页 Ctrl + u # 上翻半页 Ctrl + f # 下翻一页 Ctrl + b # 上翻一页
文本编辑
bash
# 进入编辑模式 i # 在光标前插入 a # 在光标后插入 o # 在下方插入新行 O # 在上方插入新行 I # 行首插入 A # 行尾插入 # 退出编辑模式 ESC # 返回 Normal 模式 # 删除 x # 删除光标处字符 dd # 删除整行 ndd # 删除 n 行 dw # 删除一个单词 d$ # 删除到行尾 d0 # 删除到行首 # 复制 & 粘贴 yy # 复制整行 nyy # 复制 n 行 yw # 复制一个单词 p # 粘贴到光标后 P # 粘贴到光标前 # 撤销 & 重做 u # 撤销 Ctrl + r # 重做
搜索 & 替换
bash
# 搜索 /关键词 # 向下搜索 ?关键词 # 向上搜索 n # 下一个匹配 N # 上一个匹配 * # 向下搜索光标所在词 # # 向上搜索光标所在词 # 替换(Command 模式) :s/old/new/ # 替换当前行第一个 :s/old/new/g # 替换当前行所有 :%s/old/new/g # 替换文件中所有 :%s/old/new/gc # 替换时确认
其他常用命令
bash
# 命令行常用 :set number # 显示行号 :set nonumber # 取消行号 :set hlsearch # 高亮搜索 :nohlsearch # 取消高亮 :set paste # 粘贴模式(保留格式) :!command # 执行 shell 命令 # 多窗口 :sp filename # 水平分屏 :vsp filename # 垂直分屏 Ctrl + w + w # 切换窗口 :qa # 退出所有窗口
vim 配置示例
bash
# ~/.vimrc 常用配置 set number # 显示行号 set tabstop=4 # Tab 宽度 set expandtab # Tab 转空格 set autoindent # 自动缩进 set hlsearch # 搜索高亮 syntax on # 语法高亮
键盘图(简化版)
┌──────────────────────────────────────────────────────┐ │ i a o 插入文本 │ │ x dd dw 删除 │ │ yy p 复制粘贴 │ │ / ? 搜索 │ │ :w :q :wq 保存退出 │ │ u Ctrl+r 撤销重做 │ │ gg G 文件头尾 │ │ :s/old/new 替换 │ └──────────────────────────────────────────────────────┘
