Linux 基础(一)

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

功能特性:
  1. 将多块磁盘合并成一块磁盘,提供更大的存储空间
  2. 可以提供更高的IO能力
  3. 数据物理层面的高安全
Raid的工作级别:
raid0:条带化功能,性能极高,安全性和单盘一样
至少两块盘,理论上盘越多性能越高


raid1:镜像功能,性能没有明显提升,安全性高.   
    浪费一半空间


raid10:镜像+条带化 ,至少四快盘,性能和安全兼顾
浪费一般空间  


raid5:带有校验功能的条带化    
存储数据时,根据数据计算校验值,存储到第三块盘.
写入性能较低
读数据性能较高
至少三快盘,只允许一块盘损坏,浪费1/n的磁盘空间

适合于读多写少的场景

七、用户、组、权限

用户的作用:
  • 登录系统
  • 管理系统对象
用户的定义:
  • 用户名(uid),密码,家目录(/home/oldboy),家目录下会有环境变量文件等
  • 每个用户都必须有一个工作组,创建时没指定,自动创建一个同名的组
组:
  • 组名字,GID
用户和组的管理
  • 组的管理:
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

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 2,639评论 0 5
  • 第一章 1.Linux是一套免费使用和自由传播的类UNIX操作系统,它可以基于Intel x86系列处理器以及Cy...
    yansicing阅读 1,437评论 0 8
  • 观其大纲 第1部分Linux的基础知识第1章Linux概述第2章Linux系统的安装KickStart开始自动安装...
    周少言阅读 669评论 1 10
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 4,259评论 0 10
  • 几天前将军结合自身寝室悲催情况发奋写了大学室友之间闹矛盾,“要”“不要”“忍”?这个辩论题。 【1】我看着这个辩题...
    逗霸君阅读 497评论 22 14