Linux 第四天: (07月28日) Linux文件管理

Linux 第四天: (07月28日) Linux文件管理

 

 

 

 

rootfs 根目录文件系统 root filesystem
LSB  Linux Standard Base
FHS 文件系统分层结构 Filesystem Hierarchy Standard

 

 

蓝色表示 目录
绿色表示 可执行文件
红色表示 压缩文件
浅蓝表示 链接文件
灰色表示 其它文件
/和NUL外, 所以字符都有效

 

 

/boot 引导文件,内核文件(vmlinuz),引导加载器(bootloader,grub)
/bin 基本命令
/sbin 管理类的基本命令
/lib 基本共享库,内核模块文件(/lib/modules)
/lib64 64位系统的共享库
/etc 配置文件
/home/USERNAME 普通用户家
/root 管理员家
/media 移动设备挂载
/mnt 临时文件系统挂载
/dev 设备和特殊文件存储
b block device 随机访问
c character device 线性访问
/opt 第三方应用程序安装
/srv 系统运行所用数据
/tmp 临时文件

 

 

/usr
bin 提供系统完整功能的应用程序
sbin 空
lib 32位
lib 64位
include C程序的头文件
share 结构化独立的数据
local 第三方应用程序安装
bin, sbin, lib, lib64, etc, share

 

 

/var
cache 应用程序缓存数据目录
lib 应用程序状态信息数据
local 为/usr/local程序存储数据
lock 锁文件
log 日志文件
opt 为/opt下程序存储数据
run 运行进程数据, 存储pid文件
spool 应用程序数据池
tmp 保存系统两次重启之间临时数据

 

 

/proc 输出内核和进程的虚拟文件系统
/sys 输出硬件设备的虚拟文件系统
/selinux security enhanced linux 安全策略信息

 

 

二进制程序
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin

 

 

库文件
/lib
/lib64
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64

 

 

配置文件
/etc
/etc/DIRECTORY
/usr/local/etc

 

 

帮助文件
/usr/share/man
/usr/share/doc
/usr/local/share/man
/usr/local/share/doc

 

 

– 普通文件
d 目录文件
b 块设备
c 字符设备
l 符号链接文件
p 管道pipe
s 套接字文件socket

 

 

centos7 目录变化
/bin
/usr/bin
/sbin
/usr/sbin
/lib
/usr/lib
/lib64
/usr/lib6

 

 

pwd printing working directory 当前shell CWD绝对路径
cd.. 到上一级目录
cd   到自己主目录
cd-  到以前的目录

 

 

ls 列出目录内容
ls -a 包含隐藏文件
ls -l 显示额外信息
ls -R 递归通过
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls -S 从大到小排序
ls -u 配合-t显示atime排序
ls -U 不排序按存放顺序显示

 

 

* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~username 用户家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 一个数字
[a-z] 大写和小写字母
[A-Z] 大写字母
[wxc] 匹配列表中任一字符
[^wxc] 匹配列表所有之外字符
man 7 glob
[:digit:] 任意数字0-9
[:lower:] 任意小写字母
[:upper:] 任意大写字母
[:alpha:] 任意大小写字母
[:alnum:] 任意数字或字母
[:space:] 空格
[:punct:] 标点符号

 

 

stat 文件状态
atime, access time 访问时间 读取文件内容
mtime, modity time 修改时间 改变文件内容
ctime, change time 改变世界 改变元数据
touch -a 仅改变atime
touch -m 仅改变mtime
touch -c 如果文件不存在则不创建
touch -t STAMP [[CC]YY]MMDDhhmm[ss]

 

 

cp -i 交互式
cp -r, -R 递归复制
cp -a 归档 等于 -dR –preserv=all
cp -d –no-derefernce –preserv=links 不复制源文件只复制链接
–preserv[=ATTR-LIST]
mode 权限
ownership 属主属组
timestamp
links
xattr
context
all
-p 等同–preserv=mode,ownership,timestamp
-v –verbose
-f –force

 

 

alias 显示所有别名
alias NAME='VALUE' 定义别名, 当前shell有效
~/.bashrc 当前用户永久有效
/etc/bashrc 所有用户永久有效
source /path/to/config_file
./path/to/config_file
bash进程重新读取配置文件
unalias 撤销别名

 

 

"\COMMAND" 执行原命令
'COMMAND' 执行原命令
/PATH/COMMAND 执行原命令

 

 

rm -i 交互式
rm -f 强制删
rm -r 递归删
rm –no-preserve-root
rm -rf /

 

 

tree -d 只显示目录
tree -L level 指定显示层级数
tree -P pattern 只显示指定匹配路径

 

 

mkdir -p 存在于不报错可自动建各目录
mkdir -v 显示详细信息
mkdir -m MODE 直接指定权限
rmdir -p 递归删空目录
rmdir -v 显示详细信息
rm -r 递归删除目录树

 

 

inode表中包含文件系统所有文件列表
一个节点包含元数据
文件类型,权限,UID,GID
连接数(指向这个文件名路径名称个数)
该文件的大小和不同时间戳
指向磁盘上文件的数据块指针
其它数据

 

 

mv源文件和目标文件在同一分区,
建立新文件名对应新目录项
删除旧文件名对应旧目录项
不影响inode表(除时间戳)或磁盘位置,数据不移动
mv源文件和目标文件不在同一分区
mv 相当于cp和rm

 

 

ln filename [linkname]硬链接
不能跨分区
连接数递增
删文件时rm递减链接数直到0

 

 

ln -s filename [linkname]软连接
ls -l 显示软链接
可以对目录, 可以跨分区,
大小是指向路径字符串长度, 不改变inode数

 

 

file -b 不显示文件名
file -c 显示详细过程
file -f 列出文件类型
file -F 指定分隔符替换":"
file -i 输出mime字符串
file -L 查看软连接文件类型
file -z 解读压缩文件
file –help 显示在线帮助

 

 

STDIN -0 标准输入
STDOUT -1 标准输出
STDERR -2 标准错误输出

 

 

> 把STDOUT重定向到文件
2> 把STDERR重定向到文件
&> 把所有输出重定向到文件

 

 

> 覆盖文件
set -C 禁止覆盖但可追加强制覆盖 >|
set +C 允许覆盖
>> 追加

 

 

2> 覆盖重定向错误输出
2>> 追加重定向错误输出
COMMAND > /file.out  2>error.out 对和错分别输出到不同处
&> 对和错合并覆盖
&>> 对和错合并追加

COMMAND &> FILE
COMMAND > FILE 2> &1 顺序很重要
COMMAND >> FILE 2> &1
find /etc -name passwd 2> /dev/null
() 合并多个程序的输出
(cal 2016; cal 2017) > all.txt

 

tr -c 或 –complerment 取字符补集
tr -d 或 –delete 删除字符
tr -s 或 –squeeze-repeats 将连续重复字符以单一表示
tr -t 或 –truncate-set1 将第一字符集转化第二字符集
tr'a-z''A-Z' < /file 小写转大写
tr -d abc < /file 删abc任一
cat > file 按ctrl +d 离开, 用文件代替键盘输入
cat > file << END
<<终止词
mail -s "subject" user << END
>xxx
>END

 

 

COMM1 | COMM2 | COMM3 管道命令
STDERR默认不能用管道转发, 可用2>&1 或 |&
最后一个命令在当前shell的子shell中执行
组合多种工具
ls | tr'a-z''A-Z'
COMMAND | less 逐页显示
echo "test" | mail \ -s "test" user@example.com

 

 

COMMAND | tee FILE | COMMAND2 重定向到多目标

 

 

 

原创文章,作者:dengjian,如若转载,请注明出处:http://www.178linux.com/28082

(0)
dengjiandengjian
上一篇 2016-08-08 09:22
下一篇 2016-08-08 09:22

相关推荐

  • LAMP组合的编译安装(apache2.4+mariadb5.5+php5.6)

    安装次序 httpd, MariaDB, php 安装apache2.4 [root@root ~]# yum groupinstall "Development Tools" "Server Platform Develoment "&n…

    Linux干货 2016-06-29
  • mount命令使用详解

    一、挂载(mount)初识     1.什么是挂载         将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其它文件访问入口的行为。     2.常用的文件系统类型 &…

    Linux干货 2016-09-01
  • 马哥教育网络班22期-第2周博客作业1

    1、Linux上的文件管理类命令都有哪些?其常用的使用方法及其相关示例演示。    文件管理类命令:cp、mv、rm 1.1 cp命令    cp – copy files and directories    复制文件或目录 【SYNOPSIS】    单源复制:c…

    Linux干货 2016-08-22
  • linux用户管理(一)

    作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理: useradd可以在系统中新建一个用户 用法如下: useradd [选项] 用户名 常用选项: -u 指定用户的UID -g 指定用户的初始组ID -G…

    Linux干货 2017-04-03
  • linux文件基本权限、默认权限、隐藏权限和ACL权限

    基本权限    文件属性rwx     每个文件当用ls -l查看时,都会显示文件的详细属性信息,其中在排在首位的共有10位字符信息     例如 -rw-r–rw-. 1 root root …….. 共有10位,第一位代表的是文件的类型,后边9位表示的是文件的…

    Linux干货 2016-08-04
  • yum总结之概述篇

    前言 一个linux菜鸟往往因为对与linux安装软件的复杂而望而却步,特别是从windows到linux的用户肯定表示接受不了。确实linux下装软件想做到win下下一步下一步完成目前来说是不可能的。 linux下软件安装有3种方法:   一种是源码安装,需要用户自己手动编译,另一种是RPM包(RedHat Linux Packet M…

    Linux干货 2016-03-01