> 文章列表 > LiangGaRy_学习笔记_Day04

LiangGaRy_学习笔记_Day04

LiangGaRy_学习笔记_Day04

1、学习方法分享

课程的前半部分:–>作用就是打基础的;

后半部分才是核心:重点掌握–>斩获高薪

课前讲解作业:

  • 基础作业:echo命令的使用
  • 优化:进阶:
    • 有可能需要用到课程也也以外的知识点;
    • 百度、Google等等辅助

学习记忆法则:

  • 死记硬背:
  • 谐音法则
  • 重复法则

把难点、记忆点

  • 放到CSDN发博客;
  • 运用思维导图
  • 接下来就是文件系统的讲解

2、文件系统详解

2.1、文件系统

计算机文件系统:

  • 用于存储和组织计算机数据的方法;让访问数据变得更加容易
  • 文件系统会调用目录和文件名

Linux的文件系统:

  • ext2:centos6之前
  • ext3:centos6之前
  • ext4:centos6
  • xfs:centos7
  • NTFS:
  • iso9660
  • tmpfs:缓存相关

Linux文件系统:

  • 是一个以/目录开始的文件系统
  • Linux只有一个/,树状结构,
    • 可以使用tree命令查看
  • Linux当中一切皆是文件–>这话很重要
#命令也是文件#使用which命令可以查询命令路径
[root@Node1 ~]# which find
/usr/bin/find

2.2、Linux的根目录下的重要文件

使用tree命令可以查看/下的目录结构

  • -L:制定查看的层数;
#各个目录的功能介绍
[root@Node1 ~]# tree -L 1  /
/							#Linux的顶点:/目录
├── bin -> usr/bin			#普通用户使用的命令
├── boot					#存放启动文件、用于引导的
├── dev						#设备文件:/dev/sdc /dev/sdd
├── etc						#yum安装默认的配置文件路径
├── home					#普通用户的家目录
├── lib -> usr/lib			#存放库文件的路径
├── lib64 -> usr/lib64		#存放库文件的路径
├── media					#用于挂在光盘的文件
├── mnt						#手工挂在设备的挂载点
├── opt						#临时的目录
├── proc					#虚拟文件存放的路径,反映出内核的相关参数lsof
├── root					#root目录的家目录
├── run						#进程相关的目录
├── sbin -> usr/sbin		#管理员使用的命令存放的路径你呢
├── srv						#
├── sys						#系统相关参数存放的路径
├── tmp						#临时目录
├── usr						#源码安装默认的路径
└── var						#日志存放的目录

2.3、常用的文件

/etc/hostname : 			#主机名配置文件
/etc/hosts:					#设置用户IP和域名一对一的映射关系
/etc/fstab:					#配置开机自动挂在
/etc/motd					#开机读出来的信息
/etc/init.d/:				#开机自启动的服务,或者是说运行级别
/etc/redhat-release			#查看系统版本信息
/var/log/dmesg 				#记录硬件

查看系统的版本信息

[root@Node1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

查看ssh的登陆日志

#查看登陆信息
[root@Node1 ~]# cat /var/log/secure
..........
May 21 20:42:35 Node1 sshd[6634]: pam_unix(sshd:session): session opened for user root by (uid=0)#时间、登陆主机名是否成功等等

查看硬盘信息

[root@Node1 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 19.5G  0 part ├─centos-root 253:0    0 18.5G  0 lvm  /└─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sr0              11:0    1  4.3G  0 rom  

查看主机名

[root@Node1 ~]# uname -a
Linux Node1 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2.4、绝对路径与相对路径

绝对路径:从根开始的路径就是绝对路径

  • 例如:/etc/sysconfig

**相对路径:**从当前路径(非/)开始的目录开始的路径

  • 例如:a/b/c/d

特殊字符的几个说明

  • …上级目录
  • ~当前用户的家目录
  • .当前目录

配置文件:

Linux当中,修改配置文件就能够实现对应的功能;这也体现出了,Linux一切皆文件的特性;

  • /etc/httpd/http.conf
    • 里面有个passwd的配置
      • 可以直接指定功能–>指定了密码文件的路径
      • passwd=/root/passwd

3、文件管理命令

对文件的操作,无非就是增删改查;

  • 增加:touch 、mkdir
  • 删除:rm 、rmdir
  • 修改:cd
  • 查询:ls、cat、more、head命令
  • 其他类型:hostname 、ifconfig

3.1、touch命令

作用:常见空文件,或者修改文件的时间戳

语法:touch+选项+文件名

选项:

  • -m:只改变文件的修改时间
  • -a:改变文件的访问时间
  • 如果使用echo命令
#创建一个文件;
[root@Node1 ~]# touch liangjiawei.txt
[root@Node1 ~]# ls liangjiawei.txt 
liangjiawei.txt# 查看的文件-->文件的信息
[root@Node1 ~]# stat  liangjiawei.txt File: ‘liangjiawei.txt’Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 33658315    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-05-23 11:22:42.864878837 +0800
Modify: 2023-05-23 11:22:42.864878837 +0800
Change: 2023-05-23 11:22:42.864878837 +0800Birth: -#输出讲解:
Access:访问时间--->cat liangjiawei.txt可以修改访问时间
Modify:修改时间-->vim liangjiawei.txt,可以修改内容的时间
Change:改变文件属性,属主和属组的权限#当使用ls命令来查看文件-->发现,Access时间已经改变了(对比第一个)
[root@Node1 ~]# ls liangjiawei.txt 
liangjiawei.txt#如果使用echo来改变文件内容,则访问时间不会改变
[root@Node1 ~]# echo "this is liangjiawei" >> liangjiawei.txt 
[root@Node1 ~]# stat liangjiawei.txt 
.....
Access: 2023-05-23 11:22:42.864878837 +0800
............#如果改变文件的属性,则会改变Change time
[root@Node1 ~]# chown liangjiawei:liangjiawei liangjiawei.txt 
[root@Node1 ~]# stat liangjiawei.txt 
.....
Change: 2023-05-23 13:02:01.200521864 +0800#如果修改内容,则会修改mtime
[root@Node1 ~]# vim liangjiawei.txt 
[root@Node1 ~]# stat liangjiawei.txt 
.....
Modify: 2023-05-23 13:02:55.906518586 +0800#如果touch修改创建文件,文件存在就会修改文件的时间戳
[root@Node1 ~]# touch liangjiawei.txt 
[root@Node1 ~]# stat liangjiawei.txt 
..........
Access: 2023-05-23 13:04:08.005514267 +0800
Modify: 2023-05-23 13:04:08.005514267 +0800
Change: 2023-05-23 13:04:08.005514267 +0800

3.2、mkdir命令

作用:创建目录

语法:mkdir+ 选项+ 目录名

选项:

  • -v:显示创建过程
  • -p:递归创建,连同父目录也一起创建
  • -m:创建目录的时候直接指定了权限
#普通创建一个目录
[root@Node1 ~]# mkdir /sh
#如果目录名相同,创建目录会失败
[root@Node1 ~]# mkdir /sh
mkdir: cannot create directory ‘/sh’: File exists#直接指定权限创建
[root@Node1 ~]# mkdir -m 777 /sh/liangjiawei
[root@Node1 ~]# ls -ld /sh/liangjiawei/
drwxrwxrwx 2 root root 6 May 23 13:06 /sh/liangjiawei/

3.3、rm命令

作用:删除文件或者目录

语法:人民 + 选项+文件名

选项:

  • -r:递归删除
  • -v:详细参数
  • -f:强制删除

注意事项:

  • 这个是一个非常危险的命令
  • 必须提前做好备份,日常工作使用移动代替删除;
  • 如果确实要删除,提示一个信息;可以不删除就尽量不删除;
#强制删除
[root@Node1 ~]# rm -rf /sh/#可以结合通配符进行删除
[root@Node1 ~]# rm -rf  ./*#删除/是十分危险的操作-->系统有默认的安全机制-->
[root@Node1 ~]# rm -rf /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe

3.3、cp命令

作用:拷贝、复制文件

语法:

  • cp 源文件 目标文件

选项:

  • -p:保留源文件的属性
  • -R:递归拷贝
  • -v:显示详细信息
#复制文件
[root@Node1 ~]# cp /etc/passwd .
[root@Node1 ~]# ls
passwd

3.4、mv命令

作用:移动文件、或者是改名文件

语法:mv+选项+源文件+目标文件

选项:

  • -b:如果覆盖文件,则会对文件进行备份
  • -f:如果目标文件存在,不会询问,直接覆盖
#移动文件
[root@Node1 ~]# mv /etc/passwd .#备份文件
[root@Node1 ~]# mv -b passwd  /tmp/

3.5、cat命令

作用:查看文件内容

语法:cat + 选项 + 文件名

选项:

  • -n:添加行号
  • -b:对空行不编号
  • -s:如果遇到两个空行以上,则会压缩成一行
#查看文件
[root@Node1 ~]# cat /tmp/passwd 
root:x:0:0:root:/root:/bin/bash
........#查看文件并且显示行号
[root@Node1 ~]# cat -n /tmp/passwd 1	root:x:0:0:root:/root:/bin/bash
.........

cat可以结合重定向对文件输入内容

#编写一个函数
[root@Node1 ~]# vim aa.txtliangjiawei(){
cat  << EOF1.apple2.banana3.pearPlease slect one that you like:
EOF
}
list