Linux 目录和文件管理

Posted m-zhuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 目录和文件管理相关的知识,希望对你有一定的参考价值。

一、Linux目录结构

目录 作用
/root 超级管理员的家目录
/home/用户名 普通用户的家目录
/bin 命令文件目录,存放所有用户可以执行的目录
/sbin 管理员操作目录,存放只有管理员才可以使用的命令
/boot 存放系统内核、启动文件目录
/dev 存放设备文件(硬盘、光驱)
/etc 存放系统程序和系统配置文件
/var 存放各种日志文件
/lib 存放系统程序的动态连接共享库文件
/usr 存放用户工具和程序
/media 可拆卸的媒介挂载点,例:U盘、光驱
/proc 存放映射系统信息的文件
/mnt 用于临时挂载存储设备的目录
/opt 第三方应用程序安装所存放的目录
/tmp 存放系统的临时文件

二、文件管理

1. cat 显示文件内容

全量查看文件内容

格式:

cat [选项] 需要查看文件内容的路径

选项含义:

选项 含义
-n 对所有行进行编号
-b 空白行不编号
-s 将所有连续的空行替换成一个空行

操作

① 查看/data/passwd文件内容

② 查看/data/passwd文件内容显示行号

[root@localhost data]# cat -n /data/passwd

③ 查看/data/passwd文件内容显示行号但空行不显示行号

[root@localhost data]# cat -nb /data/passwd

④ 查看/data/passwd文件内容显示行号但空行不显示行号且连续的空行只显示一行

[root@localhost data]# cat -nbs /data/passwd

2. more 显示文件内容

翻页查看文件内容

格式:

more [选项] 文件名

基本操作:

操作 作用
空格键 下一行,到文末自动退出
b 键 上一行
enter 键 一行一行滚动,到文末自动退出
q 键 退出

3. less 显示文件内容

翻页查看文件内容

格式:

less [选项] 需要查看的文件路径

操作 作用
/需要查找的字符 查找,n 键向下查找,N 键向上查找
Page Up 键 向上翻页
Page Down 键 向下翻译
其余 参考 more 和 cat

实操:

less 查看 /data/passwd 文件内容,并查找出 root

[root@localhost data]# less -s /data/passwd 

# 底行模式
/root


4. head 显示文件内容

head -n 具体数字 文件路径 (不加具体数字,默认为10)

查看文件前多少行

实操:

head 查看 /data/passwd 文件前三行

[root@localhost data]# head -n 3 /data/passwd

5. tail 显示文件内容

查看文件内容后多少行也可以动态查看文件内容的后多少行

格式:

tail [选项] 需要查看的文件路径

命令 作用
tail -n 具体数字 文件路径 (不加具体数字,默认为10) 查看文件内容的后多少行
tail -f 具体数字 文件路径 (不加具体数字,默认为10) 动态查看文件内容的后多少行(按CTRL + C 退出)

实操:

动态查看 /var/log/messages 的后十行

打开两个连接窗口,第一个窗口观察,第二个窗口重启防火墙

# 第一个窗口
[root@localhost data]# tail -10f /var/log/messages

# 第二个窗口
[root@localhost ~]# systemctl restart firewalld.service 

第二个窗口:

第一个窗口:

6. tr 转换

格式:

tr [选项] string

命令 作用
tr -d string 出现string就删除
tr -s ‘ ’ 压缩空格,1 2 3 ---> 1 2 3
tr -c str1 str2 出现str1转换成str2

7. wc 统计文件内容

格式:
wc [选项] 文件路径

选项功能

选项 功能
-l 统计行数
-w 统计单词
-c 统计文件内容的字节数

实操:

① 查看 /data/passwd 文件有多少行

[root@localhost data]# wc -l /data//passwd 

② 查看 /data/passwd 文件有多少单词

[root@localhost data]# wc -w /data/passwd 

③ 查看 /data/passwd 文件有多少字节

[root@localhost data]# wc -c /data/passwd

8. grep 查找文件内容

格式:

grep [选项] [查找条件设置] 文件路径

选项作用:

选项 作用
-i 查找时不区分大小写(默认)
-v 显示不匹配查找条件的所有行(反向查找)
-n 显示行号
-c 只输出匹配到的总行数
-e 多个条件查找(相当于 or)
-E 支持正则表达式(相当于使用egrep命令)

实操:

① 显示 /data/passwd 文件内容中含有user的行并显示所在文件中的行号

[root@localhost data]# grep -n user /data/passwd

② 显示 /data/passwd 文件内容中含有user的总行数

[root@localhost data]# grep -c user /data/passwd 

② 显示 /data/passwd 文件内容中不含有user的行并显示所在文件中的行号

[root@localhost data]# grep -vn user /data/passwd 

③ 显示 /data/passwd 文件内容中含有user或者含有root的行并显示所在文件中的行号

[root@localhost data]# grep -ne user /data/passwd -e root /data/passwd 

9. vim 文件文本编辑

格式:

vim 文件路径

命令模式下:

按键 作用
a 在光标之后插入内容
i 在光标之前插入内容
o 在光标下一行插入新行
O 在光标上一行插入新行
A 在光标所在行行尾插入内容
I 在光标所在行行首插入内容
x 删除光标上的字符
dd 删除光标所在行
u 撤销上一次操作
gg 光标跳至首行
G 光标跳至末行
数字gg 或 数字G 光标跳至指定行
yy 复制
数字yy 从光标当前行向下复制指定行
p 粘贴
输入字符 作用
:w 保存
:q 不保存退出
:q! 强制退出
:wq! 强制保存退出
:set nu 显示行号
:/srting 查找string
:e 其它文件路径 打开新的文件进行编辑
:r 其它文件路径 在当前文件中读入其它文件内容
: s /str1/str2 将当前行中第一个str1替换成str2
: s /str1/str2/g 将当前行中所有str1替换成str2
:num1,num2 s/str1/str2/g 将num1行到num2行所有的str1替换成str2
:% s/str1/str2/g 将所有的str1替换成str2
:num1,num2 m num3 将num1到num2行剪切至第num3行
:num1,num2 co num3 将num1到num2行复制至第num3行

10. tar 压缩和解压

格式:

tar [选项] 压缩文件名称 需要压缩的文件

tar [选项] 需要解压的文件 -C 指定解压到的目录

选项作用:

选项 作用
-c 创建 .tar格式的包文件
-x 解压 .tar格式的包文件
-C 解压至指定目录(绝对路径)
-f 表示归档文件(必须要加)
-v 输出详细信息
-j 调用bzip2程序进行压缩或解压
-z 调用gzip程序进行压缩和解压

bz2 和 gz 的区别:

​ bz2 比 gz 压缩出的包小,但时间慢

​ gz 比 bz2 压缩出的包大,但时间快

实操:

① 用 gzip程序 将 /data/file1 和 /data/file2 压缩为 test1.gz.tar 压缩包文件

[root@localhost data]# tar -zcvf test1.tar.gz file1 file2


② 用gzip程序解压 /data/test1.gz.tar 至 /data/dir1 目录下

[root@localhost data]# tar -zxvf test1.tar.gz -C /data/dir1

③ 用 bzip2程序 将 /data/file1 和 /data/file2 压缩为 test2.bz2.tar 压缩包文件

[root@localhost data]# tar -jcvf test2.tar.bz2 file1 file2

④ 用bzip2程序解压 /data/test2.bz2.tar 至 /data/dir2 目录下

[root@localhost data]# tar -jxvf test2.tar.bz2 -C /data/dir2

Linux命令——目录和文件管理命令

一、Linux系统的目录结构

1.根目录(/):顶层目录,某些系统中的唯一分区。

2./bin命令文件目录:包含Linux命令的二进制可执行文件。

3./boot目录:存放系统的内核文件和引导装载程序文件。

4./dev设备文件目录:存放连接到计算机上的设备(磁盘驱动器、终端、光驱和网卡)的对应文件。

5./etc目录:存放系统的大部分配置文件和子目录。

6./home目录:包含系统中各个用户的主目录。

7./lib目录:存放各种编程语言库。

8./lost+found目录:系统奔溃时碎片文件存放的位置,可通过手工修复。

9./opt目录:软件包安装的位置,某些第三方应用程序通常安装在这个目录。

10./root目录:系统管理员的主目录。

11./usr目录:存放一些不经常变化的数据,以及系统下安装的应用程序目录。

12./mnt目录:用来临时挂载文件系统,为某些设备提供默认挂载点。

13./proc目录:虚拟的文件系统,该目录的文件是内存中的映像。可以查看该目录中的文件获取有关系统硬件运行的详细信息。

14./sbin目录:保存系统管理员或者root用户的命令文件。/usr/sbin存放了应用软件,/usr/local/sbin存放通用的根用户权限的命令。

15./tmp目录:存放临时文件,该目录的所有文件会被定时删除。(学习过程中尽量将测试文件建在该目录下)

16./var目录:保存系统中经常变化的内容。如系统日志、邮件文件等。

二、目录管理命令

1.ls   列目录命令:ls  [选项]  [目录或文件名]

常用选项:-a  列出该目录下所有文件,包含隐藏文件。

     -l  以长格式显示文件的详细信息。

     -m  以逗号分隔方式紧凑显示文件列表。

     -R  递归式的显示指定目录的各个子目录中的文件。

     -i   在输出的第一列显示文件的索引节点号。

     -r:以文件名反序排列并输出目录内容列表。

     -S:以文件大小降序排列并输出目录内容列表。(-Sl/-Slr)

     -t:按时间排序并输出。(-t/-rt)

2.cd   改变当前工作目录命令:cd  [目录名]

常用命令:cd ..    上移一层目录

     cd /home/a   移动到指定目录

     cd   移到自己的主目录

3.mkdir   创建目录命令:mkdir  [选项]  [目录名]

常用选项:mkdir -p a/b/c   在当前目录下递归生成a、b、c三个目录。

     mkdir a b    在当前目录下同时生成a、b两个目录。   

 

以上是关于Linux 目录和文件管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础三:linux目录结构和目录文件的浏览管理及维护

Linux命令——目录和文件管理命令

1Linux 文件和目录管理

Linux系统管理--目录和文件管理

linux文件和目录管理

Linux文件和目录管理