首页 > 系统 > Linux > 正文

linux文件管理

2024-06-28 16:04:27
字体:
来源:转载
供稿:网友

linux文件管理

一、bash shell对文件的操作

创建、复制、删除、移动、查看、编辑、压缩、查找

二、Linux目录结构

bin 普通用户使用的命令 /bin/ls, /bin/datesbin 管理员使用的命令 /sbin/service dev 设备文件 /dev/sda,/dev/tty1,dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/randomroot root用户的HOMEhome 存储普通用户家目录 lost+found 孤儿文件,用于存放系统不正常关机后形成的一些无家可归的文件PRoc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态,只存在于内存中,大小为0,du -sh /procsys 伪文件系统(硬件信息,内核参数,进程在内存中的信息),是一种虚拟的基于内存的文件系统,类似于proc目录opt 第三方软件(flush,splunk,open office)cgroup 资源控制目录(内存 cpu....)usr 系统文件(应用程序目录),相当于C:/Windows/usr/local 软件安装的目录,相当于C:/Program/usr/bin 普通用户使用的应用程序/usr/sbin 管理员使用的应用程序/usr/lib 32 bit库文件Glibc/usr/lib64 64 bit 库文件Glibcboot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)

etc 配置文件(系统相关如网络/etc/sysconfig/network,应用相关配置文件...)lib 库文件,存放应用程序所需要的共享库,类似于windows里的.dll文件lib64 库文件Glibctmp 临时文件(主要是程序产生的临时数据) var 存放的是一些变化文件,比如数据库,日志,邮件....MySQL: /var/lib/mysqlvsftpd: /var/ftpmail: /var/spool/mailcron: /var/spool/cronlog: /var/log临时文件: /var/tmp (主要是程序产生的临时文件) misc和net autofs服务使用的目录srv 服务器数据目录

设备(主要指存储设备)挂载目录

media 移动设备默认的挂载点mnt 手工挂载设备的挂载点misc automount进程挂载net automount进程挂载# df -ThP 查看系统中的挂载项# mount 查看系统中的挂载项,显示详细的挂载信息

命令存储位置:/bin 普通用户使用的命令 /bin/ls, /bin/date RHEL7淘汰/sbin 管理员使用的命令 RHEL7淘汰/usr/bin 普通用户使用的应用程序/usr/sbin 管理员使用的应用程序库文件存储位置:/lib 库文件Glibc RHEL7淘汰/lib64 库文件Glibc RHEL7淘汰/usr/lib 库文件Glibc/usr/lib64 库文件Glibc

三、文件类型

# ll anaconda-ks.cfg //看第一个字符-rw-------. 1 root root 2460 6月 1 13:14 anaconda-ks.cfg- 普通文件(文本文件,二进制文件,压缩文件。。。)d 目录文件(蓝色)b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1c 设备文件(字符设备)打印机,终端 /dev/tty1s 套接字文件p 管道文件l 链接文件(淡蓝色)lrwxrwxrwx 1 root root 9 4月 22 18:17 check_spop -> check_tcp注:1、通过颜色判断文件的类型是不一定正确2、Linux文件是没有扩展名这一说

四、路径 (定位文件)

/tmp/file1 和 /home/tom/file1 不是同一文件!绝对路径: 从' / '开头的路径 '/'  , /home/user1  ,/var/log相对路径: 相对于当前目录开始  Desktop/file1 file1 . ..----------------------------------. 链接到当前目录.. 链接到上一级目录~ 当前用户的家目录----------------------------------# useradd tom# touch /home/alice/file1# touch ~tom/file2# ls /home/tom# mkdir abc# touch ../file3# touch file4# touch abc/file5# ls# ls abc

五、文件操作

文件操作之:cd 改变目录:cd 绝对路径 cd /home/tom    cd ~tomcd 相对路径 cd Desktop/abc cd ..cd 专用:cd - 返回上次目录 ,   cd ..cd 直接回家2. 文件管理之:创建/复制/移动/删除文件创建文件 touch # touch file1.txt //无则创建,有则修改时间# touch file2 file3# touch /home/file4.txt# touch /home/file5 file6# touch file{1..20}# touch file{a..c}# touch mu{a,b} //{}集合,等价touch mua mub注:在同一个目录下面,创建一个同名的文件是可以成功的,但是文件的修改时间会发生变化[root@localhost tmp]# ls /tmp/hao/* // *表示所有的意思目录创建目录 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},zhanghao}复制 cp用法: cp [OPTION]... [-T] SOURCE DEST# cd# mkdir /home/dir{1,2}# cp -v install.log /home/dir1# cp -v install.log /home/dir1/test.txt //将前面的文件拷贝到后面的目录当中并重新命名# cp -v /etc /home/dir1# cp -rv /etc /home/dir1 //-r递归# cp -v anaconda-ks.cfg !$# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/grub.conf /home/dir2 //将多个文件拷贝到同一个目录# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/grub.conf /etc/hosts.# cp -r /etc /tmp# cp -rf /etc /tmp# /cp -r /etc /tmp[root@localhost ~]# type -a cpcp is aliased to `cp -i'cp is /bin/cp[root@localhost ~]# cp -rvf /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth0.bak}[root@localhost ~]# cp -rvf /etc/sysconfig/network-scripts/ifcfg-eth0{,.old}移动 mv用法: mv [OPTION]... [-T] SOURCE DEST# mkdir /tmp/dir3# mv file1 /tmp/dir3 //将file1移动到/home/dir3# mv file2 /tmp/dir3/file20 //将file2移动到/home/dir3,并改名为file20# mv file4 file5 //将file4重命名为file5,当前位置的移动就是重命名删除 rm rmdir示例1:删除/home/dir1 # cd /home# rm -rf dir1 -r 递归-f force强制-v 详细过程# rmdir /tmp/dir/ 只能删除空目录示例2:[root@localhost ~]# rm -rf file*[root@localhost ~]# rm -rf dir*[root@localhost ~]# rm -rf /home/dir*[root@localhost ~]# rm -rf *.pdf示例3:[root@localhost dir]# mkdir -- -a[root@localhost dir]# ls-a dir2 file1[root@localhost dir]# mkdir -- -b[root@localhost dir]# ls-a -b dir2 file1[root@localhost dir]# rm -- -arm: 无法删除"-a": 是一个目录[root@localhost dir]# rm -rf -- -a[root@localhost dir]# ls-b dir2 file1[root@localhost dir]# rm -rf ./-b/[root@localhostdir]# lsdir2 file13. 文件管理之:查看文件内容文本文件 命令: (cat lessmore head tail grep tac rev)cat看文件的所有的内容less支持上下翻看,并且支持搜索,使用n或者是N上下切换搜索的内容more只支持向下翻看/bin/ls/etc/hosts/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/passwd/etc/shadow /etc/group/etc/grub.conf/etc/resolv.conf/var/log/messages /var/log/securecat -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 /var/log/messages //-f 动态查看文件尾部信息# tailf /var/log/messages另外打开一个终端,手动产生日志,使用下面的命令# logger kldskjjdfa切换回到动态查看日志的终端中,看一下是否成功动态产生的日志

扩展:

# tail -f /var/log/messages //-f 动态查看文件尾部信息,追踪的是文件的inode号# tail -F /tmp/file1 //动态查看文件尾部信息,追踪的是文件名注:vim, gedit编辑文件时,inode会改变==============================================================================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

随记:

Linux文件有三种时间: 访问时间:atime,查看内容修改时间:mtime,修改内容改变时间:ctime,文件属性,比如权限

注:RHEL6开始relatime,atime延迟修改,必须满足其中一个条件:1. 自上次atime修改后,已达到86400秒;2. 发生写操作时;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表