一.文件类型
预备知识:扩展名 .avi .txt .log .sh
windows: 系统根据不同的扩展名,区分不同类型的文件
Linux: 扩展名是给我们看的。方便人类区分不同类型文件
预备知识:常见的扩展名
.txt 文本文件
.log 日志文件
.conf .cfg 配置文件
.sh .bash 脚本文件(命令大礼包)
常见的文件类型
- (file)普通文件
file 查看文件类型命令
/etc/init.d/network
#CentOS7下 #CentOS6下
systemctl restart network ==== /etc/init.d/network restart关联网卡
普通文件类型
1.二进制文件(命令)
2.文本文件(text)
3.数据文件(data 压缩包)
d (diectory)目录 (文件夹)
l (softlink) 软连接(快捷方式)存放源文件的位置
ln -s 创建软连接
[root@oldboyedu59 oldboy]# touch /oldboy/oldboy.txt
[root@oldboyedu59 oldboy]# ls -l /oldboy/
total 8
drwxr-xr-x. 3 root root 19 Mar 28 11:57 alex
-rw-r--r-- 1 root root 7 Apr 9 15:08 alex.txt
-rw-r--r-- 1 root root 65 Apr 1 20:52 oldboy.avi
-rw-r--r-- 1 root root 0 Apr 9 15:19 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 28 12:38 oldboy.txt.bak
[root@oldboyedu59 oldboy]# ln -s /oldboy/oldboy.txt /oldboy/oldboy.txt.soft
[root@oldboyedu59 oldboy]# ls -l /oldboy/
total 8
drwxr-xr-x. 3 root root 19 Mar 28 11:57 alex
-rw-r--r-- 1 root root 7 Apr 9 15:08 alex.txt
-rw-r--r-- 1 root root 65 Apr 1 20:52 oldboy.avi
-rw-r--r-- 1 root root 0 Apr 9 15:19 oldboy.txt
-rw-r--r--. 1 root root 0 Mar 28 12:38 oldboy.txt.bak
lrwxrwxrwx 1 root root 18 Apr 9 15:20 oldboy.txt.soft -> /oldboy/oldboy.txt
[root@oldboyedu59 oldboy]# file /oldboy/oldboy.txt.soft
/oldboy/oldboy.txt.soft: symbolic link to `/oldboy/oldboy.txt'
[root@oldboyedu59 oldboy]# ls -l /bin /sbin /etc/init.d /etc/rc.local
lrwxrwxrwx. 1 root root 7 Mar 26 11:38 /bin -> usr/bin
lrwxrwxrwx. 1 root root 11 Mar 26 11:37 /etc/init.d -> rc.d/init.d
lrwxrwxrwx. 1 root root 13 Mar 26 11:39 /etc/rc.local -> rc.d/rc.local
lrwxrwxrwx. 1 root root 8 Mar 26 11:38 /sbin -> usr/sbin
b (block) 设备(块)文件 光盘,硬盘
[root@oldboyedu59 oldboy]# ls -l /dev/cdrom /dev/sr0 /dev/sda
光盘(快捷方式) 硬盘 光盘(源文件)
lrwxrwxrwx 1 root root 3 Apr 3 14:39 /dev/cdrom -> sr0
brw-rw---- 1 root disk 8, 0 Apr 3 14:39 /dev/sda
brw-rw---- 1 root cdrom 11, 0 Apr 3 14:39 /dev/sr0
c (character)字符设备(不断向外发出或接受字符)
/dev/urandom 随机字符生成器(生成随机密码)
/dev/null 黑洞(不断接收信息 并丢弃)
/dev/zero 白洞(不断发出信息,无法查看)
yum故障集合:
Error: Nothing to do
No package locate available.
没有叫做 locate 的软件包
如何查询命令属于哪个软件包
软件包-多个命令
-
yum provides locate 查询locate命令属于哪个软件包
mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
软件包叫mlocate el7(centos7) 64位
Repo : base
Matched from:
Filename : /usr/bin/locate
光盘安装
[root@oldboyedu59 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu59 ~]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@oldboyedu59 ~]# rpm -ivh /mnt/Packages/mlocate-0.26-8.el7.x86_64.rpm
Preparing... ################################# [100%]
package mlocate-0.26-8.el7.x86_64 is already installed
[root@oldboyedu59 ~]# rpm -qa mlocate
mlocate-0.26-8.el7.x86_64
rpm -ivh 安装软件包
rpm -qa 查询所有软件包
rpm -ql 查询软件包里的文件列表
rpm -qf 查询命令或文件属于哪个软件包
rpm -e 卸载软件包
find 查找目录下文件
find /oldboy -maxdepth 1 -type f -name "*.txt" -size +1M
find 所在目录 -maxdepth 数字 ( 查找层数) -type (查找类型 f 文件 d 目录 l 软连接) -name(名字 或 -iname名字忽略大小写 !-name 取反) “文件名 或 *部分文件名” -size +所找文件大致大小(+1M 大于1M - 1k小于有k 数字不支持小数 )
xargs 分组
[root@oldboyedu59 ~]# echo {1..10} >/oldboy/sf.txt
[root@oldboyedu59 ~]# cat /oldboy/sf.txt
1 2 3 4 5 6 7 8 9 10
[root@oldboyedu59 ~]# xargs -n2 </oldboy/sf.txt
1 2
3 4
5 6
7 8
9 10
tar 打包备份命令
作用:文本文件(配置)备份
windows:压缩(winrar 好压)
Linux: 打包压缩
命令:tar
创建压缩包:
/etc 目录 压缩完成放在/tmp/etc.tar.gz (通过tar打包 gzip进行压缩)
z 通过gzip工具进行压缩
c create 创建包
v verbose 显示过程5
f 指定压缩包(放在最后)
tar zcvf /tmp/etc.tar.gz /etc/ 或 tar zcf /tmp/etc.tar.gz /etc/
查看压缩包的内容
tar ztf /tmp/etc.tar.gz
t (list) 查看压缩包内容
解压(默认解压到当前目录)
tar zxf /tmp/etc.tar.gz
tar zxf /tmp/etc.tar.gz -C /opt/ 解压到指定的opt目录下
排除
--exclude 打包压缩时排除某个文件
[root@oldboyedu59 ~]# tar zcf /tmp/etc-paichu.tar.gz /etc/ --exclude /etc/services (排除/etc/services文件将/etc/打包)
【巨坑】tar让你迷茫的提示:
Remov ing leading `/' from member names
(提示:把压缩包中的绝对路径变成了相对路径)
| 管道符号,把管道前命令的结果通过管道传递给后面的命令
Linux下的对比工具
将需要对比的两个文件写入同一个文件夹下
# tar tf /tmp/etc.tar.gz >/oldboy/tar.txt
# tar tf /tmp/etc-paichu.tar.gz >/oldboy/tar-paichu.txt
diff ====different (直接在命令行显示不同的内容)
[root@oldboyedu59 ~]# diff /oldboy/tar.txt /oldboy/tar-paichu.txt
1950d1949
< etc/services
vimdiff (会在窗口界面上分开显示不同的内容,退出 :q 需退出两次,才完全退出)
date 显示或设置时间
[root@lc-59 ~]# date
Wed Apr 10 09:51:30 CST 2019
[root@lc-59 ~]# date +%F (年月日)
2019-04-10
[root@lc-59 ~]# date +%Y
2019
[root@lc-59 ~]# date +%Y-%m-%d (year month day)
2019-04-10
[root@lc-59 ~]# date +%T (时分秒)
09:57:46
[root@lc-59 ~]# date +%H:%M:%S (hour minute second)
09:58:44
[root@lc-59 ~]# date +%w (week 周几)
3
参数:
-d 根据描述显示日期
[root@oldboyedu59 ~]# date -d "10day"
Sat Apr 20 10:10:12 CST 2019
[root@oldboyedu59 ~]# date -d "10day" +%F
2019-04-20 (显示10天后的时间,若显示10天前的时间引号内用 -10day )
-S 设置时间(set)
date -s “所设置的时间”
自动同步时间
ntpdate(需要安装) 根据网站时间修改系统时间
ntp1.aliyun.com
lrzsz 作用:把文件上传或下载到linux (通过yum安装)
rz 把windowns下文件上传到linux
sz 把linux下文件下载到windowns
查看操作系统的位数(64位或32位)
uname -a