Linux基础之文件管理

目录结构

Windows: 以多根的方式组织文件 C:\ D:\ E:\

Linux: 以单根的方式组织文件 /

一切目录的起点都是 /
在这里插入图片描述
root root用户的HOME

home 存储普通用户家目录

dev 设备文件 /dev/sda,/dev/tty,/dev/pts/1, /dev/zero, /dev/null, /dev/random

proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态,只存在于内存中,

大小为0,du -sh /proc

sys 伪文件系统(硬件信息,内核参数,进程在内存中的信息) 类似于proc目录

bin 普通用户使用的命令

sbin 管理员使用的命令

lib 库文件,存放应用程序所需要的共享库,类似于windows里的.dll文件

lib64 库文件 Glibc

usr 系统文件(应用程序目录),相当于C:\Windows

/usr/local  软件安装的目录,相当于C:\Program

/usr/bin 普通用户使用的应用程序

/usr/sbin  管理员使用的应用程序

/usr/lib 32 bit库文件Glibc

/usr/lib64 64 bit 库文件Glibc

boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)

etc 配置文件(系统相关如网络/etc/sysconfig/network)

tmp 临时文件(主要是程序产生的临时数据)

var 存放的是一些变化文件,比如数据库,日志,邮件…

mysql: /var/lib/mysql

vsftpd: /var/ftp

mail: /var/spool/mail

cron: /var/spool/cron

log: /var/log

临时文件: /var/tmp (主要是程序产生的临时文件)

srv 服务器数据目录

opt 第三方软件(flush,splunk,open office)

/run/media 移动设备默认的挂载点

mnt 手工挂载设备的挂载点
文件路径

文件路径:描述文件位置的一种方法。如/etc/sysconfig就是一个文件路径。

绝对路径: 从/开头的路径 /home/file1 ~alice

相对路径: 相对于当前目录开始 Desktop/file1 file1 . …

. 链接到当前目录

… 链接到上一级目录
当前用户的家目录

cd - 返回上次目录

cd 直接回家

文件管理

文件管理:是指文件、文件夹的增(新建)、删、改(改内容或名称)、查

文件管理之:创建/复制/移动/删除

创建

文件 touch
文件 touch

touch file1.txt //无则创建,有则修改时间

touch file2 file3

touch /home/file4.txt

touch /home/file5 file6

touch file{1..20}

touch file{a..c}

touch chen{a,b} //{}集合,等价touch chena chenb

touch a{1..5}{1,5}.txt

在同一个目录下面,创建一个同名的文件是可以成功的,但是文件的时间会发生变化

目录 mkdir

mkdir dir1

mkdir /home/dir2 /home/dir3

mkdir /home/{dir4,dir5}

mkdir -v /home/{dir6,dir7}

mkdir -v /home/dir8/111/222

mkdir -pv /home/dir8/111/222 //包括其父母的创建,不会有任何消息输出

mkdir -pv /home/{yang/{dir1,111},xiaochen}

复制

cp -v install.log /home/dir1

cp -v install.log /home/dir1/yang.txt //将前面的文件拷贝到后面的目录当中并重新命名

cp -v /etc /home/dir1

cp -rv /etc /home/dir1 //-r递归

cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hosts /home/dir2 

//将多个文件拷贝到同一个目录

cp -rvf /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hosts /etc/sysconfig/network .

\cp -rf /etc /tmp 不提示 覆盖信息

移动

mv file1 /tmp/dir3 //将file1移动到/home/dir3

mv file2 /tmp/dir3/file20 //将file2移动到/home/dir3,并改名为file20

mv file4 file5 //将file4重命名为file5,当前位置的移动就是重命名

删除

rm -rf dir1
-r 递归
-f force强制
-v 详细过程

rmdir /tmp/dir/ 只能删除空目录

文件管理之:查看文件内容

==文本文件 (cat less more head tail grep)

cat看文件的所有的内容

less支持上下翻看,并且支持搜索,使用n或者是N上下切换搜索的内容

more只支持向下翻看

cat

cat
-n 显示所有行
-b 显示有效行
-A 包括控制字符(换行符)
linux $
Windows ^M$

扩展知识:

dos2unix 将Windows格式的文件转换成Unix格式

unix2dos 将Unix格式的文件转换成Windows格式

例如

unix2dos file1

dos2unix file2

less more head tail

head /etc/passwd 默认的看头10行

head -2 /etc/passwd 看头两行

tail /etc/passwd 看尾10行,默认显示的是10行

tail -1 /etc/passwd 看尾1行

tail /var/log/messages

tail -30 /var/log/messages 看尾30行

tail -f /root/桌面/aa.txt //-f 动态查看文件尾部信息

tailf /root/桌面/aa.txt

扩展知识:

tail -f /var/log/messages //-f 动态查看文件尾部信息,追踪的是文件的inode号

tail -F /tmp/file1 //动态查看文件尾部信息,追踪的是文件名

grep 针对文件内容进行过滤

grep 'root' /etc/passwd

grep --color 'root' /etc/passwd

grep --color '^root' /etc/passwd

grep --color 'bash$' /etc/passwd

grep 'failure' /var/log/secure

grep -i root /root/桌面/passwd //查找root关键字的行,且不区分大小写

grep -ci abc file2 //统计带有abc的行的总数

文件管理之:文件类型

文件类型有:目录d、普通文件-、软链接文件l、块设备文件b、字符设备文件c、套接字文件s、管道文件p

目录d:即文件夹

例:

ls   -l    /          说明:ls  -l结果中的第1个字符是文件类型的标识符

dr-xr-xr-x.   5 root root 4096 1月   3 12:18 boot

普通文件-:即文本文件、图片、音乐、视频等都是普通文件。

例:

ls   -l    /etc/host*     //列出以/etc/host开头的所有(任意)文件

-rw-r--r--. 1 root root   9 6月   7 2013 /etc/host.conf

-rw-r--r--. 1 root root  22 1月   3 12:17 /etc/hostname

软链接(link)文件l(即快捷方式):

例:

ls   -l    /

lrwxrwxrwx.   1 root root    7 1月   3 12:07 bin -> usr/bin

lrwxrwxrwx.   1 root root    8 1月   3 12:07 sbin -> usr/sbin

块设备文件b(block):常见的块设备有硬盘、分区、U盘

例:

ls    -l    /dev/sd*

brw-rw----. 1 root disk 8, 0 1月   4 09:16 /dev/sda           sda硬盘

brw-rw----. 1 root disk 8, 1 1月   4 09:16 /dev/sda1        sda硬盘的第1个分区

字符设备文件c(Charact ):常见的字符设备文件有tty终端设备文件

例:

ls  -l   /dev/tty*       

例:查当前命令行终端号

tty      

例:查终端号文件的类型:

ls    -l    /dev/pts/1

crw--w----. 1 root tty 136, 1 1月   4 15:54 /dev/pts/1

补充说明:

套接字文件s(socket):是指网络进程设备文件。里面存放网络连接的端口号。

例:

ls -l /tmp/.esd-0/socket

srwxrwxrwx. 1 root root 0 1月   4 09:17 /tmp/.esd-0/socket

管道文件p(pipe):

–例:在根目录及其子目录中查找管道类型的文件:

find   /    -type    p

–例:

ls   -l   /run/dmeventd-client    结果如下

prw-------. 1 root root 0 1月   4 09:16 /run/dmeventd-client

猜你喜欢

转载自blog.csdn.net/Ever_Linux/article/details/87100705