初识Linux-总结

tech2025-06-18  1

Linux查缺补漏

存储

动态分配 用多少占多少,可以有最大限制

进程是资源分配的最小单位,

线程是程序运行的最小单位

分区

磁盘需要有索引index(相当于笔记本的目录),存储分区信息 #格式化 划分出几个扇区,把索引建好,把分区建好 U盘中文件不能超过4G mount -help df -h 目录 #查看目录挂载的分区,h代表人性化显示 sda,b,c 代表磁盘1,2,3

挂载磁盘

#创建一个新磁盘 创建一个新磁盘后,会有一定的空间被预分配,有助于加速磁盘 ls /dev/sd* 挂载完成后,多了一个sdb,原来是sda,sda1(系统盘) fdisk #磁盘管理(创建分区,删除分区,查看分区) fdisk /dev/sdb #管理新创建的磁盘 m #查看帮助 n #创建一个新分区,可以全回车,及分一个分区;也可以分多个。 w #保存并退出 mkf mkfs.ext4 mkfs.ext4 /dev/sdb1(分区) #格式化分区,可以格式化为不同的类型 或mkfs -t ext3 /dev/sdc2 mount 分区 目录 #挂载分区 mkdir /data mount /dev/sdb1 /data/ #如果要过载另一个磁盘分区,会覆盖前面的磁盘分区。 注意:挂载好磁盘分区后在里面新建一个文件,然后通过umount卸载磁盘分区,后重新过载,之前创建的文件还存在。 用df -h / 与 df -h /data进行比较 umount /dev/sdb1 #卸载磁盘分区
交换分区

虚拟磁盘,当内存不够用时,可以使用虚拟磁盘当作内存使用,/swap分区。

安装系统的本质:创建各种文件夹,并拷贝文件(这些工作安装启动引导帮我们做了)

文件描述符

linux下全是文件,文件用文件描述符表示

cerro标准错误:0

cout标准输出:1

cin标准输入:2

socket也是文件:socket 0~65535

数据库底层为b+树


write /dev/screen hello write 1 hello read /dev/keyboard2 read0 ulimit -n 查看最大文件数,理论上最大不超过65536个,系统会自动占3个。

mysql的索引底层结构是b+树,减少对磁盘的I/O操作。

网络(《图解TCP/IP》这本书挺好的)

在创建一个新的磁盘后,磁盘会自动预分配一定的磁盘空间,加快运行速度。(相当于缓存)

F4 #切换终端 sync #同步磁盘 mount -l #看自己曾经的挂载

IP地址

子网掩码

192.168.0.100(A) -> 101.7.101.22(B)

如果A与B在同一个局域网,会通过Mac地址去查找;如果不在,会经过网关

网关:192.168.0.1 没有网关只能访问局域网里面的东西,无法访问外网。

电脑通信有两种办法:1.局域网Mac地址 2.广域网IP地址

DNS可以将网址转换成IP地址

当电脑不配置DNS时,可以上网,但只能通过IP地址来通信

ping baidu.com #会出现百度的IP地址,直接输入IP地址一样可以进入百度页面 #ping域名可以发现IP地址 DNS污染:ping Google时返回的IP地址是经过gfw墙修改过的,是错的。 ipconfig #Windows查看IP地址命令 ip addr #Linux查看IP地址命令 cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 #查看以特网网络配置文件,可以进行改动,开机自动获取IP地址 dhclient #获取IP地址 用Net时保险,但用桥接效率更高。可以在网络界面进行设置。 桥接,连接同一个路由器,分配一个新的IP地址 NAT连接,共用同一个带宽。 HOST-ONLY仅与宿主机连接 ifdown 网卡名 #关闭网卡 ifup #开启网卡 最小化默认开启了ssh服务,可以连接xshell ,关闭ssh服务 systemctl stop sshd 然后重新连接会连接不上。 要想连接xshell,需要新建一个网卡,设置为仅主机(Host-Only)网络。 telnet #查询端口开启情况 用yum install net-tools 进行下载 netstat -anlp :grep 22 #查看端口 systemctl start 服务名 #启动命令

安装神器:zsh,一个漂亮的字符界面(自行百度)

yum install -y git wget curl zsh #自动安装,涉及到外网拦截的问题 sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" #手动安装 git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh #下载源码 cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc #复制配置

网络调试技巧

1.ping测试网络是否已经连接 2.telent测试端口是否开启,在window下`telent 192.168.56.102:22`测试。如果`telent`找不到命令,需要在应用与功能里开启`telent` 3.防火墙

用户与组

操作

groupadd 组名 #添加组 useradd 用户名 #添加用户 usermod 用户名 -g 组名 #添加用户到组 cat /dev/group #查看组 passwd 用户 #设置密码 whoami #查看当前用户 id #查看用户信息 yum install tree -y #tree命令 tree #查看组结构

权限

可执行文件不一定可以执行,可能没有执行权限 chmod +x 文件名 #提升权限 chmod -x 文件名 #降低权限 file 文件名 #查看文件类型 文件属性:新建文件后会保存一些信息(创建时间,文件权限)。最前面的字母,d表示目录,l表示软连接 linux中文件后缀名与文件类型无关 export PATH=/root/:$PATH #配置环境变量PATH vim /etc/profile #持久化自己设计的环境变量,在最后加上配置就行 cat /etc/shadow #查看密码

Linux操作技巧

处理文件

vim 1.txt #编辑文件 进入字符模式后 yy #复制 p #粘贴,100p为粘贴100遍 o #跳到下一行 cat 1.txt #查看文件内容 more 1.txt #可以翻页查看文件内容,用回车翻页 less 1.txt #同上 tail 1.txt #默认查看文件后10位 tail 1.txt -n20 #查看文件后20位 tail -F 1.txt #监听查看文件后10位,会一直等待

管道符(|)

grep hello 1.txt -n #查找文件内容,并显示行数 cat 1.txt | grep hello #查找不能直接打开的文件内容,'|'的含义是把前面的输出作为后面的输入。 cat 1.txt | grep hello | cat | cat | cat | cat #同样可行

重定向(>)

echo hello > nginx.log #覆盖添加 echo hello >> nginx.log #追击添加

lts长期支持版本 long time support

后台运行ctrl + z

然后调到前台fg

最新回复(0)