Linux系统目录和常用文件管理的命令介绍
Linux系统命名规则
1,文件名最长255字节
2,包括路径在内文件名称最长4095字节
3,蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件
4,除了斜杠和null,所有字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要引号来引用他们
5,标准Linux文件系统,文件名大小写敏感
Linux系统目录用途
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(BootLoader,gtrub,grub2)都存在此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于X86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home:普通用户家目录
/root:管理员家目录
/media:便携式移动设备挂载点
/mnt:临时文件挂载点
/dev:设备文件及特殊文件存储位置
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock: 锁文件 log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置
文件元数据信息查看及字段含义
stat命令查看
File: 文件名
Size:文件大小 Blocks: 存储占用磁盘块数
Device: 设备信息 Inode:inode编号 Links: 链接数
Access:权限 Uid:属主 Gid:属组
Access: atime,最近访问时间
Modify: mtime,修改文件内容时间
Change: ctime,修改文件元数据
使用touch命令修改时间戳信息
touch [OPTION]... FILE...
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的时间戳
软链接和硬链接区别
1,本质:硬链接:同一个多个名字,软链接不同文件
2,硬链接不可跨分区,软连接可以
3,目录无法创建硬链接,软链接可以
4,相互关系:软链接依赖原始文件,硬链接不依赖
5,创建硬链接,inode号不变,软链接变
6,创建硬链接,链接数会加1,软链接不会
7,软链接的相对路径:原始文件相对链接文件的路径,硬链接的相对路径都是相对当前路径
8,文件类型,硬链接的文件类型与原始文件一致,软链接文件类型为l
9,命令不同ln -s 创建软链接,ln创建硬链接
[root@mage01 ~]#ln -s ../f1 tst/f1.slk
[root@mage01 ~]#ln f1 tst/f1.hlk
[root@mage01 ~]#ll -i f1 tst/f*
203900854 -rw-r--r-- 2 root root 4 Feb 24 20:58 f1
203900854 -rw-r--r-- 2 root root 4 Feb 24 20:58 tst/f1.hlk
67404995 lrwxrwxrwx 1 root root 5 Feb 24 21:01 tst/f1.slk -> ../f1
[root@mage01 ~]#
常见文件管理命令
pwd 显示当前工作目录
basename 文件基名
dirname 目录名
cd 切换工作目录
使用绝对或相对路径:
cd /home/wang/
cd home/wang
切换至父目录: cd ..
切换至当前用户主目录: cd
切换至以前的工作目录: cd -
ls 列出目录内容
s -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls -S 按从大到小排序
ls -t 按mtime排序
ls -u 配合-t选项,显示并按atime从新到旧排序
ls -U 按目录存放顺序显示
ls -X 按文件后缀排序
cp 复制
常用选项
-i 覆盖前提示
-n 不覆盖,注意两者顺序
-r, -R 递归复制目录及内部的所有内容
-a 归档,相当于-dR --preserv=all
-d --no-dereference --preserv=links 不复制原文件,只复制链接名
-p 等同--preserv=mode,ownership,timestamp
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-f --force
-u --update 只复制源比目标更新文件或目标不存在的文件
-b 目标存在,覆盖前先备份,形式为 filename~
--backup=numbered 目标存在,覆盖前先备份加数字后缀
例如 cp -rv /etc/ /data/backupdate +%F
#将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录 格式为 backupYYYY-mm-dd,备份过程可见
cp -a /root/ /data/rootdir 并复制/root下所有文件到该目录内,要求保留原有 权限
mv 移动或重命名文件
-i 交互式
-f 强制
-b 目标存在,覆盖前先备份
rm 删除
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/
rm -rf /* 删除所有文件
[root@xxx ~]#sed -ir 's/^[[:space:]]+([^[:space:]].+)$/\1/g' /tmp/profile 删除行首空白字符
[root@xxx ~]#echo "set ts =4" >> ~/.vimrc vim中设置table为4个字符