linu学习第二天:文件系统相关操作

     1	---第二天笔记---

     2	查看操作系统版本:cat /etc/redhat-release, /etc/os-release
     3	命令:lsb_release

     4	查看内存 和 swap分区:free

     5	查看cpu:	lscpu
     6	L1 L2 L3 CACHE

     7	查看硬盘:	lsblk        也能看到分区和挂载点

     8	man	分为9个章节
     9	1:用户命令
    10	2:系统调用	如socket
    11	3:C库调用
    12	5:配置文件格式
    13	8:管理类命令
    14	9:Linux内核API

    15	issue	预登陆提示文件提示  修改 man 8 agetty
    16	-l	显示tty终端
    17	-m	显示主机名
    18	-t	当前时间
    19	...

    20	安装软件一般产生一个帮助文档:/usr/share/doc

    21	历史命令:history

    22	-c	清空历史,不会删除文件
    23	-d	清楚某一条	history -d 10
    24	-a	存到历史文件中 .bash_history
    25	-r	文件-->history
    26	-w	写入其他文件	history -w ./history.txt
    27	-p	隐藏,不写入
    28	-s	伪造

    29	一些变量:
    30	$HISTSIZE
    31	$HISTIGNORE	+string		这些历史忽略,不显示
    32	$HISTFILE	可以修改默认存放位置
    33	$HISTTIMEFORMAT	"%F %T"
    34	$HISTCONTROL	=both 忽略空白和重复的,默认是忽略重复的。
    35	文件:/etc/profile.d/env.sh

    36	快捷键:
    37	^ + s	锁屏	^ + q	解锁	^ + z	挂起


    38	文件管理部分:
    39	/boot	引导启动
    40	/dev	硬件设备文件	/dev/zero,null
    41	/etc	配置文件
    42	/home	用户
    43	/run	运行时生成的文件
    44	/bin	普通用户可执行程序
    45	/sbin	管理员程序
    46	/usr	
    47	/var	变化的数据	缓存,数据库等
    48	/media	媒体
    49	/sys	硬件信息 	比如磁盘
	/proc	保存内存和进程相关文件
    50	...

    51	FHS	Linux File Hierarchy Standard	文件分层系统
    52	文件:metadata + data

    53	文件颜色配置文件:/etc/DIR_COLORS

    54	块设备与字符设备有什么区别?
	块设备是随机存取(如硬盘),字符设备是顺序存储。

    55	echo '- - -' > /sys/class/scsi_host/host*/scan	触发对磁盘的扫描
	可以设置为别名:alias scandisk='echo - - -  >/sys/class/scsi_host/host0/scan;echo - - -  >/sys/class/scsi_host/host1/scan;echo - - -  >/sys/class/scsi_host/host2/scan'


    56	pwd	当前目录	-P 显示软连接的真实路径
	补充:描述文件位置根据实际使用绝对路径或者相对路径
    57	cd	改变目录	cd ~wang	
    58	cd -	回到上一次目录	echo $OLDPWD
    59	dirname	取出路径	
    60	basename	取出文件(夹)名

    61	ls -R	目录递归列出所有
    62	ls -l	长格式
    63	ls -d	只看文件夹本身属性
    64	-S	从大到小
	ls -1	竖着显示
	l.	显示隐藏文件	
    65	atime	读时间	ll --time=atime /f1
    66	mtime	修改时间	ll /f1
    67	ctime	文件状态更改时间 ll --time=ctime /f1 

    68	stat /f1	直接查看3个时间


    69	通配符:匹配文件的路径
    70	*	任意长度任意字符
    71	?	任意一个字符
    72	[0-9a-zA-Z]
    73	[^abc]	排除了a,b,c

    74	[:digit:]
    75	[:lower:]
    76	[:upper:]
    77	[:alpha:]
	[:alnum:]数字字母
	查看说明:man 7 glob
    78	...

    79	touch -c	刷新文件时间,不存在不创建

    80	cp	拷贝,会改变文件一些属性信息
    81	-a	保持属性不变,常用于备份
    82	-r	递归
    83	-v	显示过程
    84	-av	很常用
    85	-u	可以用来更新数据(比较新旧,留下较新的)
	-f	可以强制覆盖
	-b	备份(如果文件已存在,被覆盖的文件将被备份一份)
	
	man ascii		查看ASCII表
	
    86	scp	远程拷贝 例子:scp /etc/issue 172.22.5.6:/data

    87	lsof |grep delete	查看删除文件
	
	rm	删除-h之类的文件 --> rm -- -h

	tree	-d只显示目录的结构

    88	> filename	可以安全的删除文件,擦除磁盘空间。
	
	mkdir	创建目录
	-p	递归创建
	rmdir	删除目录
	-p	同理~

	df命令:查看分区,挂载点,大小,已使用,未使用,百分比
	
    89	文件:
    90	meta data	索引节点:inode
    91			inode	节点编号,文件的唯一标识,在同一分区唯一
	ll -i	查看节点编号*	inode table	节点表
	目录文件:文件夹的内容就是里面文件的名字!元数据中的指针指向的数据块保存着文件的名字。
	查看磁盘的节点编号使用:df -i
	测试touch文件将节点编号占满:echo {1..600000}|xargs touch	新建600000个文件
	
    92	面试题:磁盘有空间报错,No space left on device为什么?
    93	原因:节点编号用光了
    94	 
    95	备注:在LINUX系统中,即使文件或者目录正在使用,也可以删除!

    96	cp命令底层发生了什么?	创建文件,分配节点编号,在磁盘中分配一定空间,设置meta data
	例子:cp /etc/fstab /data/1.txt底层发生了什么?
	回答:建立新文件,系统会新建一个记录给文件分配一个节点编号,指定各种属性,另外在磁盘上分配一块空间并用指针指向它。
    97	mv底层发生了什么?	cp	+ 	rm
	
    98	同一分区mv文件,节点编号不变。本质上文件没动。

    99	ln	硬连接
	特点:同一文件的不同名字,磁盘占一个空间,不支持目录,不支持跨分区。
	删除一个文件:只是删除了一个名字,没有任何影响,连接数会减一。
	局限:不能跨设备(分区)
	本质:是同一个文件,同一节点编号。

  

  2019/3/7  21:34

posted @ 2019-03-07 21:35  abb_ceo  阅读(171)  评论(0编辑  收藏  举报