Linux 基础(一)
一、centos 系统安装后的基本配置
常用软件安装:
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc
配置主机名与网络:
hostnamectl set-hostname python3
# 将 10.0.0.100 python3 添加到 /etc/hosts 文件中
echo "10.0.0.100 python3">>/etc/hosts
关闭防火墙:
# 查看防火墙
iptables -L
iptables -F
systemctl disable firewalld
[root@python3 ~]# getenforce
Enforcing
[root@python3 ~]# setenforce 0
[root@python3 ~]# getenforce
[root@python3 ~]# vim /etc/selinux/config
二、Linux 基础命令
命令的基本构成:
命令体 选项 参数(对象)
ls -l /var
参数:
参数:文件
文件类型:
d :目录
f :普通文件
l :链接
b :块设备,磁盘 光驱
c :字符设备
p :管道
s :套接字
命令提示符:
[root@oldboy ~]#
[oldguo@oldboy ~]$
常用快捷键(bash shell支持的快捷键):
ctrl + c cancel 取消当前的操作
ctrl + l (小写字母L) clear(命令)
ctrl + d 退出当前用户
ctrl + r查找(历史命令)。 history|grep
[TAB]键:
1.命令补全
2.参数补全
快捷键了解:
ctrl + a 把光标移动到行首
ctrl + e 把光标移动到行尾
ctrl+ u 把光标到行首的内容删除/剪切
ctrl + y 粘贴
delete 光标所在处从前往后删除内容
ctrl + k 把光标到行尾的内容删除/剪切
ctrl + → 向右移动一个单词
ctrl + ← 向左移动一个单词
ctrl + s 锁屏
ctrl + q 解锁
获取帮助:
--help 常用
man
info
关机重启:
reboot
poweroff
三、linux命令分类
(1)针对不同文件的管理命令
目录:
FHS 文件系统层次化标准
绝对路径:从"/"开始一个具体路径
相对路径:从当前目录开始的具体路径(pwd可以查看当前所在目录)
/3层/oldboy/教室3
/3层/oldboy/教室2
创建目录:
mkdir /hgq
mkdir -p /a/b/c
查询目录:
ls -ld /hgq
tree /a
tree -L 2 /
删除目录:(谨慎操作)
rm -rf /hgq
误删怎么办
PS:通过文件句柄,有可能可以找回丢失数据(前提:不能重启,不能有大量数据写入)
修改目录:
# 剪切+复制
mv /root/oldboy/ /tmp
mv /root/oldguo/ /tmp/oldguo.bak
mv oldboy old
# 复制+粘贴
cp -r /tmp/old /
cp -a
切换目录:
cd / # 切换到根目录下
cd /hgq # 切换到指定目录
cd hgq # 切换到指定目录
cd .. # 返回上一级
cd - # 在最近两次工作目录下来回切换
cd # 切换到root目录下
小技巧:
[root@hgq tmp]# mkdir a{1..10}
[root@hgq tmp]# mkdir dir{a..f}
[root@hgq tmp]# ls -ld dir*
[root@hgq tmp]# rm -rf dir*
普通文件:
- ASCII TEXT:纯文本文件(操作最多的)
- LSB Exe:二进制的可执行文件(命令,程序)
- 压缩文件:zip tar gz bz2 cpio iso
- 二进制数据文件。。。。等
文件创建:
touch a.txt
# Linux 没有文件后缀的概念,但习惯加上与该文件对应的后缀
文件删除:
rm -rf a.txt
文件查看:
ls -l a.txt # 查看文件属性
# 小文件内容查看
cat /etc/passwd
cat /etc/passwd /etc/shadow # 一次查看多个文件
cat -n /etc/passwd # 带序号
# 分页查看大文件内容
more /var/log/secure
less /var/log/secure
# 查看文件前多少行
head /etc/passwd
# 下两种写法效果相同
head -n3 /etc/passwd
head -3 /etc/passwd
# 查看文件后多少行
tail -2 /etc/passwd
tail -f /var/log/secure
文件剪切、复制与目录操作相同
文件内容修改:
# 重定向
# 内容覆盖重定向 >
cat /etc/passwd >a.txt
# 内容追加重定向 >>
cat /etc/passwd >>a.txt
# 将 10.0.0.100 python3 内容追加到 /etc/hosts 文件中
echo "10.0.0.100 python3" >>/etc/hosts
四、vim 编辑器
三种模式: 命令模式、编辑模式、末行模式
命令模式:(初始模式)
# 功能:
# 1.查看文件内容
上下左右光标移动
page up # 翻页
page down # 翻页
G # 光标到达最后一行
1G # 光标到达第一行(gg)
10G # 第10行
^ # 光标到达行首
$ # 光标到达行尾
/ # 搜索关键字
yy # 复制光标所在行
Nyy # 复制N行
dd # 删除/剪切
Ndd # 删除/剪切N行
p # 粘贴
x(del) # 删除光标所在字符
dG # 删除光标到文本末尾
d$ # 从光标删除到行尾,包括贯标所在字符
d^ # 从光标删除到行首,不包括光标所在字符
r # 替换光标所在字符
ZZ # 保存退出
u # 撤销上次操作
编辑模式:
a # 在光标之后录入数据
i # 在光标之前录入数据
o # 在光标下一行开启新行录入数据
A
I
O
ESC # 返回命令模式
小技巧:每编辑完一行就ESC,退回到命令模式,防止错误操作
末行模式:( ':' 模式 )
:q!
:wq!
:set nu
:set nonu
:%s/root/ROOT/g
链接:
ln -s passwd passwd.lnk
ls 命令: 查看当前目录下内容
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息备注: ls -l =ll
-h 配合-l 以人性化方式显示文件大小,以K M G 为单位
-t 根据最后修改时间排序,默认是以文件名排序,通常与-l 连用
-F 在条目后加上文件类型的指示符号(* , /, = , @ , | ,其中的一个)注:可以标识文件类型
-d 显示目录本身的信息 而不是显示目录的内容
-r 逆序 倒序排序
ls -lt 按照时间进行排序
ls -lrt 找出最新的文件
-i 显示索引节点信息(索引节点相当于身份证号)
--full-time 以完整的时间格式输出(也就是按照中国的时间日期显示)
五、磁盘 和 文件系统
磁盘分类:
SAS:
容量 :900G
主机版
存储版
转速:15K
品牌:IBM HDS EMC
缓存:
接口速度:16Gb
SSD:
Sata3
PCI-E
Flash盘
文件系统:
方便用户使用和管理磁盘硬件的,辅助系统(Filesystem)
Linux文件系统类型:
ext2
ext3
ext4
XFS
文件系统管理:
[root@python3 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Jan 3 15:28 /dev/sda
brw-rw---- 1 root disk 8, 1 Jan 3 15:28 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jan 3 15:28 /dev/sda2
brw-rw---- 1 root disk 8, 16 Jan 3 15:28 /dev/sdb
[root@python3 ~]# fdisk -l
磁盘分区:
[root@hgq ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 1月 3 15:39 /dev/sda
brw-rw---- 1 root disk 8, 1 1月 3 15:39 /dev/sda1
brw-rw---- 1 root disk 8, 2 1月 3 15:39 /dev/sda2
brw-rw---- 1 root disk 8, 16 1月 3 16:01 /dev/sdb
brw-rw---- 1 root disk 8, 17 1月 3 16:02 /dev/sdb1
[root@hgq ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2011c6b4
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 25167871 2097152 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
格式化成文件系统:
mkfs.xfs /dev/sdb1
挂载设备:
mkdir /data
mount /dev/sdb1 /data
查看挂载的磁盘使用情况:
df -h
自动挂载文件系统:
vim /etc/fstab
# 方式一:
/dev/sdb1 /data xfs defaults 0 0
# 查看唯一uuid
blkid
# 方式二:使用UUID更加安全
UUID=9fb2ec36使用UUID更加安全-6a60-4394-9bfa-369261844d56 /data xfs defaults 0 0
六、Raid
功能特性:
- 将多块磁盘合并成一块磁盘,提供更大的存储空间
- 可以提供更高的IO能力
- 数据物理层面的高安全
Raid的工作级别:
raid0:条带化功能,性能极高,安全性和单盘一样
至少两块盘,理论上盘越多性能越高
raid1:镜像功能,性能没有明显提升,安全性高.
浪费一半空间
raid10:镜像+条带化 ,至少四快盘,性能和安全兼顾
浪费一般空间
raid5:带有校验功能的条带化
存储数据时,根据数据计算校验值,存储到第三块盘.
写入性能较低
读数据性能较高
至少三快盘,只允许一块盘损坏,浪费1/n的磁盘空间
适合于读多写少的场景
七、用户、组、权限
用户的作用:
用户的定义:
- 用户名(uid),密码,家目录(/home/oldboy),家目录下会有环境变量文件等
- 每个用户都必须有一个工作组,创建时没指定,自动创建一个同名的组
组:
用户和组的管理
groupadd -g 1001 dev
groupadd -g 1002 sa
groupadd -g 1003 dba
tail -3 /etc/group
# 显示所有组名与id
dev:x:1001:
sa:x:1002:
dba:x:1003:
groupdel dba
groupmod -g 10086 dev
useradd -u 10011 -g dev oldguo
id oldguo
passwd oldguo
su - oldboy
userdel -r oldboy
usermod -u 3000 oldguo
权限:
# 权限是作用在文件上的属性.
# 普通权限的规划:
r 4
w 2
x 1
# 设置用户对应某个目录的权限
chmod -R 755 /data
chwon -R oldguo:dev /data
chmod -R 755 /data
chown -R oldguo:dev /data
八、网络管理
ip a
ifconfig
ping
vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network