Linux文件基本管理
- Linux系统目录结构
- 相对/绝对路径。
- 文件常用命令
Linux系统目录结构和相对/绝对路径
Linux只有一个根目录 / 根目录,可以使用tree命令查看linux目录结构,这个命令默认是没有安装的,需要手工安装。
目录说明
目录 | 说明 |
---|---|
/ | 处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录、文件、设备都在 / 之下 |
/bin | bin是Binary的缩写。常用的二进制命令目录。比如 ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gnu工具 |
/boot | 存放的系统启动相关的文件,例如:kernel.grub(引导装载程序) |
/dev | dev是Device的缩写。设备文件目录,比如声卡、磁盘……在Linux中一切都被看做文件。终端设备、磁盘等等都被看做文件设备文件: /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/cdrom |
/etc | 常用系统及二进制安装包配置文件默认路径和服务器启动命令目录 |
/home | 普通用户的家目录默认存放目录 |
/lib | 库文件存放目录,函数库目录 |
/lost+found | 只在centos6中有 默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件)当系统非法关机后,这里就会存放一些文件。 |
/mnt | 一般用来临时挂载存储设备的挂载目录,比如有cdrom、u盘等目录 |
/media | 在CENTOS7中会挂载到/run下面 |
/opt | 表示的是可选择的意思,有些软件包也会被安装在这里 |
/proc | 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里 |
/sys | 系统目录,存放硬件信息的相关文件 |
/run | 运行目录,存放的是系统运行时的数据,比如进程的PID文件 |
/srv | 服务目录,存放的是我们本地服务的相关文件 |
/sbin | 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的 |
/tmp | 该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是相似的,不能存放重要数据,它的权限比较特殊 |
/var | 系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如/var下有/var/log目录用来存放系统日志的目录,还有mail、/var/spool/cron |
/usr | 存放应用程序和文件,/usr/bin 普通用户使用的应用程序 /usr/sbin 管理员使用的应用程序 /usr/lib 库文件Glibc(32位) /usr/lib64 库文件Glibc |
/lib,/lib64都在/usr/目录下 | 这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库 |
注:
- lib*.a是静态库
- lib*.so是动态库
- 静态库在编译时被加载到二进制文件中
- 动态库在运行时加载到进程的内存空间中
- 简单的说:这些库是为了让你的程序能够正常编译运行的,其实类似于WIN中.dll文件,几乎所有的应用程序都需要用到这些共享库
绝对路径和相对路径
路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径
绝对路径:在Linux中,绝对路径是从”/”开始的,比如/usr、/etc/passwd。如果一个路径是从根(/)开始的,它一定是绝对路径.
相对路径:相对路径是以 . 或 .. 开始的,相对于当前目录开始,a.txt ./a.txt ../miao/b.txt
文件管理常用命令
touch
- 作用:常用来创建空文件,如果文件存在,则修改这个文件的时间
- 语法:touch 文件名
补充:文件的三种时间
ll /etc/passwd # 查看文件
-rw-r--r-- 1 root root 2116 11月 16 14:57 /etc/passwd
[root@love ~]# stat /etc/passwd # 查看文件属性(其中包括文件时间属性)
文件:"/etc/passwd"
大小:2116 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:9401663 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2017-11-16 14:57:39.923177258 +0800
最近更改:2017-11-16 14:57:39.397177256 +0800
最近改动:2017-11-16 14:57:39.409177256 +0800
注:
- 访问时间:atime 查看内容 cat a.txt
- 修改时间:mtime 修改内容 vim a.txt
- 改变时间:ctime 文件属性,比如权限 change time。 chmod +x a.sh
示例:
touch a.txt
touch file1 file2
touch file{6..20} #创建file6到file20的文件
touch -d "20181019 21:30" xd.txt
使用vim和重定向创建一个新文件
用vim命令创建一个新文件
vim file.txt
用重定向创建一新文件
echo aaa > file.txt
mkdir
- 作用:创建目录
- 语法:mkdir (选项) 文件名
示例:
mkdir dir1
mkdir dir2 dir3 /home/dir4
mkdir /tmp/a/b/c # mkdir: 无法创建目录"/tmp/a/b/c": 没有那个文件或目录
# 在创建一个目录的时候,如果这个目录的上一级不存在的话,要加参数-p
mkdir -p /tmp/a/b/c
rm
- 作用:可以删除一个目录中的一个或多个文件或目录,对于链接文件,只是删除整个链接文件,而原文件保持不变的
- 语法:rm (选项) 处理对象
选项:
- -f 强制删除,没有提示
- -r 删除目录
示例:
rm -f a.txt
rm -rf a.txt dir
rm -rf file*
# rm -rf (慎用 一定要在删除以前确定一下所在目录 防止误删除重要数据)
cp
- 命令:cp 源文件/目录 目录文件/目录
选项:
- -R/r:递归处理,将指定目录下的所有文件与子目录一并处理
示例:
cp /etc/passwd /opt/ # 复制文件
cp -r /boot/grub /opt/ # 复制目录
mv passwd dir1
mv xuegod.txt dir1/a.txt # 在移动文件的时候支持改名操作
cat
- 语法:cat 文件名
- 作用:查看文件内容,一次显示整个文件的内容
示例:
cat /etc/passwd # 查看密码文件
more
- 作用:以分页形式显示文件内容
- 语法:more + 文件名
- 说明: 按下回车刷新一行,按下空格刷新一屏,输入q键退出
less
- 作用:和more功能一样
- 语法:less +文件名
- 说明:linux中more与less的区别
more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便
less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。,空格键是向下翻页,Enter键是向下翻一行
head
- 作用: 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容
- 语法:head(选项)文件名
参数:
- -n 显示从文件头开始的行数
示例:
head /etc/passwd
head -n 3 /etc/passwd # 显示前3行
tail
- 作用: 用于显示文件中的尾部内容。默认在屏幕上显示指定文件的末尾10行
- 语法:tail (选项)文件名
参数:
- -n 显示文件尾部多少行的内容(n为数字)
- -f 动态显示数据(不关闭),常用来查看日志
示例:
tail -n 3 /var/log/secure # 查看最后3行记录
tail -f /var/log/secure # 在一个终端执行此命令动态查看文件内容
Comments | NOTHING
该文章已经关闭评论