一级目录
/bin/ |
存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
/boot/ |
系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ |
设备文件保存位置 |
/etc/ |
配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ |
普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming |
/lib/ |
系统调用的函数库保存位置 |
/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:此目录用于存储系统软件资源
Linux:所有系统默认的软件都存储在 /usr 目录下,/usr 目录类似 Windows 系统中 C:\Windows\ + C:\Program files\ 两个目录的综合体。
子目录 |
功能(作用) |
/usr/bin/ |
存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行 |
/usr/sbin/ |
存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用。 |
/usr/lib/ |
应用程序调用的函数库保存位置 |
/usr/XllR6/ |
图形界面系统保存位置 |
/usr/local/ |
手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置 |
/usr/share/ |
应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/usr/src/ |
源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中 |
/usr/include |
C/C++ 等编程语言头文件的放置目录 |
VAR目录
VAR目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件
根(/)相当于一个入口,文件的总入口,也是唯一入口
-bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 ----------------命令
-sbin 管理员可使用的二进制文件---------------------------------命令ls cd useradd
-boot 系统内核、启动文件
-dev 硬件文件
-etc 配置文件等同于windows 注册表,一般都是文本文件
-run 运行的内存中文件 运行中的文件
-tmp 临时文件 -t 特殊权限
-usr应用程序和操作系统相关的文件 bin sbin
-var/log日志文件,数据变化的
-home 普通用户的家目录的上级目录zhangsan目录会在 home
-root系统管理员的家目录上 /root
-lib 动态库文件 类似于windows 的dll文件
-proc 主要保存系统的内核、进程、外部设备状态和网络状态等
-media 可移动设备
-mnt 默认挂载点
-opt 第三方应用程序安装所在目录程序
目录结构
1以 . 开头的文件均为隐藏文件
2路径用/分开 / 不在第一位就是分隔符
3文件名最长 255个字符
4区分大小写 linux 注意事项
5不要太华丽
d 目录文件directory
b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用
l 符号链接文件link
p 管道文件pipe 主要用于进程间通信单向传输 一个发一个输管道文件
s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
-普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件
显示命令cat
-n:显示行号包括空行
-b:跳过空白行编号
-s:压缩空行
-A:显示隐藏字符
more
基本操作:
空格下一行 到文末后自动退出
b上一行
enter一行一行滚动
自动退出
q退出
less
可以使用/ 查找 n向下 N向上查找
Page Up 向上翻页,Page Down 向下翻页
其余参考more
head/tail
head -n 具体数字 文件名 (不加具体的数字,默认开头十行)
tail -n 具体数字 文件名 (不加具体的数字,默认结尾十行)
tail -f 具体数字 文件名 实时跟踪最后十行
tr
格式
tr [选项]... SET1 [SET2]
SET 是一组字符串,一般都可按照字面含义理解
-d 删除
-s 压缩
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII
wc
统计列数,wc本身就是参数 word
-
-l:统计行数
-
-w:统计单词个数
-
-c:统计字节数
grep
grep [选项]… 查找条件 目标文件
-i:查找时忽略大小写
-v:反向查找,输出与查找条件不相符的行
-o 只显示匹配项
-f 对比两个文件的相同行
-c 匹配的行数([root@localhost ky15]# grep -c root passwd 2)
基本格式
要查找的字符串以双引号括起来单引号也可以
“^……”表示以……开头,“……$”表示以……结尾
“^$”表示空行
paste
-d 指定分隔符
合并文件
soft
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-h 人类可读排序,如: 2K 1G
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique),合并重复项,即去重
-t 指定分隔符
-k 指定列
gzip,zipb2
gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低
bzip2 [-9] 文件名...
gzip -d .gz格式的压缩文件 d就是解压
bzip2 -d .bz2格式的压缩文件
9代表压缩比率,9最大1最小,使用以上两种压缩源文件不存在了
gzip的压缩率 要高于bzip2
不会使用 应为只能对文件操作
归档tar
-c:创建(Create).tar 格式的包文件
-x:解开.tar 格式的包文件
-C:解压时指定释放的目标文件夹
-f:表示使用归档文件(一般都要带上表示使用tar)
-p:打包时保留文件及目录的权限
-P:打包时保留文件及目录的绝对径
-t:列表查看包内的文件(要和f一起使用)
-v:输出详细信息(Verbose)
-j:调用 bzip2 程序进行压缩或解压
-z:调用 gzip 程序进行压缩或解压
vim编制器
Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。
linux中常见的 文本 还有 nano gedit 知道
推荐使用 Vi 文本编辑器的原因有很多,比如说:
几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计接口
vi与vim之间的区别 :vim是vi的升级版
三种常见模式:
命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本
插入(Insert)或编辑模式:用于修改文本
扩展命令(extended command )或末行模式:保存,退出等搜索替代
i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
单词间跳转
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(大写) 删除当前行后的换行符
替换命令(replace)
r 只替换光标所在处的一个字符
R 切换成REPLACE模式(在末行出现-- REPLACE -- 提示),按ESC回到命令模式
删除命令(delete)
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw 下一个单词的词首
de 当前或下一个单词的词尾
db 当前或上一个单词的词首
#COMMAND
dd: 剪切光标所在的行
#dd 多行删除
D:从当前光标位置一直删除到行尾,等同于d$
复制命令(yank)
y 复制,行为相似于d命令
y$
y0
y^
ye
yw
yb
#COMMAND
yy:复制行
#yy 复制多行
Y:复制整行
粘贴命令(paste)
p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
改变命令(change)
命令 c 删除后切换成插入模式
c$
c^
c0
cb
ce
cw
#COMMAND
cc #删除当前行并输入新内容,相当于S
#cc
C #删除当前光标到行尾,并切换成插入模式,相当于c$
查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
撤消更改
u 撤销最近的更改,相当于windows中ctrl+z
#u 撤销之前多次更改
U 撤消光标落在这行后所有此行的更改
Ctrl-r 重做最后的“撤消”更改,相当于windows中crtl+y
di" 光标在“ “之间,则删除” “之间的内容
d i " "之间的内容就会删除"
yi( 光标在()之间,则复制()之间的内容
vi[ 光标在[]之间,则选中[]之间的内容
dtx 删除字符直到遇见光标之后的第一个 x 字符
ytx 复制字符直到遇见光标之后的第一个 x 字符
输入模式
标签:文件,管理,命令,usr,挂载,目录,光标 From: https://www.cnblogs.com/123456789SI/p/16756326.html