09-文件属性详解

09-文件属性详解
文件属性
[root@oldboyedu ~]# ll -i
	ls 命令
		-l		#显示详细 *
		-a		#显示隐藏 *
		-i		#显示node	*
		-r		#逆序排序
		-t		#按照文件创建时间显示 默认在最上面
total 4
33574983  -       rw-r--r--.  1     root root    0    Mar 11 19:06  a.txt
--------  --      --------   --     ---- ----    --   ------------  -----
第一列     第二列   第三列	  第四列   第五列  第六列 第七列  第八列       第九列
inode号   文件类型  文件权限    硬链接数 属主  数组   大小   修改时间       文件名

--------  ----   ---------  --    ----- ----  ---  ----------  --------  16816914    d    rwxr-xr-x. 4      root root   32     Mar 7 21:04  oldboy

第一列:inode号,类似书的目录
作用:存着具体内容的指针指向,查找文件内容的时候先找到inode号码 类似书的目录

#查看磁盘的inode号:
[root@oldboyedu ~]# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
devtmpfs        250803   378  250425    1% /dev
tmpfs           253483     1  253482    1% /dev/shm
tmpfs           253483   698  252785    1% /run
tmpfs           253483    16  253467    1% /sys/fs/cgroup
/dev/sda3      9334272 59980 9274292    1% /
/dev/sda1       102400   326  102074    1% /boot
tmpfs           253483     1  253482    1% /run/user/0
/dev/sr0             0     0       0     - /mnt
第二列:文件类型
	Windows的文件类型:
		.txt
		.exe
		.mp4
		.docx
		.png
	linux文件类型:一切皆文件,作用是给自己看的
		.txt	#普通文件
		.log	#日志文件
		.png	#图片文件
linux 系统文件类型分类:# -
1)表示普通文件 
2)数据文件 压缩包
3)媒体文件 图片 视频 音频文件
4)命令文件

#d: 表示目录

#l: 表示软链接
[root@oldboyedu ~]# ll /etc/rc.local 
lrwxrwxrwx. 1 root root 13 Feb 29 19:38 /etc/rc.local -> rc.d/rc.local

#b: block 块文件
[root@oldboyedu ~]# ll /dev/sda1
brw-rw----. 1 root disk 8, 1 Mar  7 21:12 /dev/sda1
[root@oldboyedu ~]# ll /dev/sda2
brw-rw----. 1 root disk 8, 2 Mar  7 21:12 /dev/sda2
[root@oldboyedu ~]# ll /dev/sda3
brw-rw----. 1 root disk 8, 3 Mar  7 21:12 /dev/sda3

#c: 字节文件
[root@oldboyedu ~]# ll /dev/urandom 
crw-rw-rw-. 1 root root 1, 9 Mar  7 21:12 /dev/urandom
[root@oldboyedu ~]# ll /dev/zero 
crw-rw-rw-. 1 root root 1, 5 Mar  7 21:12 /dev/zero
[root@oldboyedu ~]# ll /dev/null 
crw-rw-rw-. 1 root root 1, 3 Mar  7 21:12 /dev/null

#urandom  作用:查看此文件,一直不停地往外吐

#/dev/zero 作用:生成定量的数据 做测试使用
案例:生成一个10G的文件
[root@oldboyedu ~]# dd if=/dev/zero of=1g.txt bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 4.81137 s, 218 MB/s
[root@oldboyedu ~]# ll -h 1g.txt 
-rw-r--r--. 1 root root 1000M Mar 12 17:07 1g.txt

dd: 命令 。data duplicate数据复制
if:input file  输入文件
of:output file 输出文件
bs:block size  每次取多大
count:总共读取的次数

#/dev/null  作用:将执行命令的结果定向到null文件中 .类似黑洞设备,可以持续不断地往里吃
案例:写shell编程的时候,很多结果不需要显示在屏幕上,需要按照自己编辑的内容格式化输出
[root@oldboyedu ~]# ping -W1 -c1 www.baidu.com   -W1 延迟1秒  -c1 ping一次包

[root@oldboyedu ~]# ping -W1 -c1 www.baidu.com
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=128 time=12.0 ms

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 12.015/12.015/12.015/0.000 ms
[root@oldboyedu ~]# ping -W1 -c1 www.baidu.com >/dev/null 
[root@oldboyedu ~]# echo $?
0

# echo $?   作用:判断上次执行的命令成功还是失败。成功则返回0 失败则返回非0.
[root@oldboyedu ~]# ping -W1 -c1 www.baidaaaau.com &>/dev/null 
[root@oldboyedu ~]# echo $?
2
[root@oldboyedu ~]# ping -W1 -c1 www.baidu.com >/dev/null 
[root@oldboyedu ~]# echo $?
0
案例:编写脚本,判断ping www.baidu.com 是否能通。并且输出结果自定义输出
vim test.sh
#!/bin/bash
ping -W1 -c1 www.baidu.com &> /dev/null
if [ $? -eq 0 ];then
        echo "www.baidu.com 在线"
else
        echo "www.baidu.com 不通"
fi
[root@oldboyedu ~]# sh test.sh 
www.baidu.com 在线
--------------------------------------------------------------------------

1.> #标准正确输出重定向,只接收正确的结果
2.>> #标准正确追加重定向 只接收正确的结果
3.2> #标准错误输出重定向,只接收错误结果
4.2>> #标准错误追加重定向 只接收错误结果
# 覆盖:
[root@oldboyedu ~]# cat a.txt 
aaa
[root@oldboyedu ~]# echo aaaa > a.txt 
[root@oldboyedu ~]# cat a.txt 
aaaa
# 追加:
[root@oldboyedu ~]# echo aaaa >> a.txt 
[root@oldboyedu ~]# cat a.txt 
aaaa
aaaa

# 错误追加:
[root@oldboyedu ~]# echo oldboy >> a.txt
[root@oldboyedu ~]# ech oldboyy 2>> a.txt 
[root@oldboyedu ~]# cat a.txt 
aaaa
aaaa
oldboy
-bash: ech: command not found
# 错误覆盖:
[root@oldboyedu ~]# cat a.txt
aaaa
aaaa
oldboy
-bash: ech: command not found
[root@oldboyedu ~]# 
[root@oldboyedu ~]# ech bbb 2> a.txt 
[root@oldboyedu ~]# cat a.txt 
-bash: ech: command not found

#方法一: 正确的和错误的同时都追加到a.txt文件中
[root@oldboyedu ~]# echo oldboy >> a.txt 2>> a.txt 
[root@oldboyedu ~]# 
[root@oldboyedu ~]# cat a.txt 
oldboy
[root@oldboyedu ~]# 
[root@oldboyedu ~]# ech oldboy >> a.txt 2>>a.txt 
[root@oldboyedu ~]# cat a.txt 
oldboy
-bash: ech: command not found

#方法二:
[root@oldboyedu ~]# echo oldboy >> a.txt 2>&1
[root@oldboyedu ~]# 
[root@oldboyedu ~]# cat a.txt 
oldboy
[root@oldboyedu ~]# ech olodboy >> a.txt 2>&1
[root@oldboyedu ~]# cat a.txt 
oldboy
-bash: ech: command not found

## echo oldboy >> a.txt 2>&1 命令解释:正确的追加到a.txt 2错误的和1一样同样也追加到a.txt
						-----
						命令的固定格式。2错误的和1正确的方式一样追加到a.txt。正确的追加2错误的就跟随追加。正确的覆盖则错误的也同样覆盖。

# 方法三;直接使用&符 *****重点记忆
&>/dev/null
&>>/dev/null

[root@oldboyedu ~]# echo oldboy &> a.txt
[root@oldboyedu ~]# cat a.txt 
oldboy
[root@oldboyedu ~]# 
[root@oldboyedu ~]# ech oldboy &>> a.txt
[root@oldboyedu ~]# cat a.txt 
-bash: ech: command not found

## p:管道设备--不常用
## s:socket 接口类型

总结Linux文件类型:
-:普通文件--命令、压缩包、数据文件
d: 目录
l: 软链接
b: 块设备 磁盘、光驱
c: 字节设备	/dev/zero /dev/null
p: 管道设备
s: 接口设备





第三列:
第四列:
第五列:
第六列:
第七列:
第八列:
第九列:
软件安装
linux 安装软件常用的三种方式:
1.yum安装 
2.rpm安装
3.编译安装

方法一:
yum 安装
特点:
1.直接搜索到安装的命令,自动在仓库中下载
2.自动解决安装过程中的依赖包问题
3.类似吃水饺,点外卖 睡觉做好了 辣椒 醋 蒜

语法格式:yum -y install 软件包名
		yum -y install 包1 包2..包n
卸载软件:
		yum -y remove 包名
		yum -y remove 包1 包2..
查看仓库:
		yum repolist #查看默认仓库
		yum -y reinstall 包名  #重新安装。类似Windows的覆盖安装

清空仓库缓存:
		yum clean all
		
安装过程中:
Total download size: 547 k
Installed size: 2.0 M
Is this ok [y/d/N]: y # 如果输入错误按住ctrl键删除或者剪切 然后再重新输入

安装错误原因:
1.无法上网,网速慢
2.仓库错误,没有仓库,仓库速度慢
3.包的名字拼错
4.当前命令是包含在其他包里面

举例:安装rz命令

rz # 将Windows的文件上传到Linux系统
sz # 将Linux中的文件下载到Windows系统上

1.百度查询命令属于哪个包 --重点
百度-->搜索 Linux 安装 rz 命令
2.使用命令 
yum search rz
查到rz 和sz命令都属于lrzsz包 所在执行一下命令:
yum -y install lrzsz

案例:安装ifconfig命令
[root@db01 ~]# yum -y install net-tools
安装完成后执行命令:
[root@db01 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.200 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe1f:4dbe prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1f:4d:be txqueuelen 1000 (Ethernet)
RX packets 74709 bytes 53011720 (50.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58259 bytes 80967440 (77.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

查看系统开启了哪些服务:netstat 属于net-tools包
netstat -tunlp
[root@oldboyedu oldboy]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1188/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1327/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1188/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1327/master

案例:同时卸载wget 和lrzsz
yum -y remove wget lrzsz

知识点小结
1.文件的详细信息每列的含义
2.inode号码的作用
3.文件类型
	-
	d
	b
	c
	l
	p
	s
4./dev/zero 测试使用
5./dev/null 定时任务 脚本
6.重定向符号
  >>a.txt 2>&1 #了解
  &>>/dev/null #同时接受正确和错误的结果
7.$?存储上一条执行命令的返回结果 0为成功 非0为失败
8.yum 安装和卸载
	yum -y install 包名 #安装
	yum -y remove 包名 #卸载
	yum repolist #查看仓库
	yum lean all  #清理缓存
9.lrzsz包
rz 上传
  sz  下载
10.查看开启了哪些服务
netstat -tnulp
ifconfig
11. rpm 安装
	rpm -ivh 软件包(提前下载)
	rpm -qa |grep 命令 #查看是否安装了该命令
	rpm -ql 包名  #查看安装了哪些文件,了解 几乎用不到
	1)挂载cdrom: mount /dev/cdrom /mnt
	2)进入packages目录找到rpm包
	3)coppy 到root目录 使用rpm -ivh 命令进行安装。或者带路径安装 rpm -ivh /路径/xxx.rpm
rpm卸载:
	rpm -e 命令

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

atomLg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值