linux学习-DAY1-centos的基本配置,linux的基本命令

目录

一、centos系统安装后的基本配置

1.常用软件安装

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^C

2.主机名和网络

# 1.设置主机名
hostnamectl set-hostname 自定义主机名
# 2.更改/etc/hosts中配置,进入vim编辑
vim /etc/hosts
# 3.添加一句 IP地址 自定义主机名
10.0.0.100 xcq

# 或者不用进入vim
echo "IP地址 自定义主机名">>/etc/hosts

3.关闭防火墙

# 1.显示出当前使用的 iptables 规则
iptables -L
# 2.清除iptables内置规则,但此时并不会永久关闭防火墙,重启会刷新
iptables -F
# 3.开机禁用防火墙,第一道防火墙成功关闭
systemctl disable firewalld

#第二道防火墙
# 4.getenforce 查询当前状态。此时状态,Enforcing:工作状态
getenforce 
# 5.临时关闭防火墙 ,此时状态,Permissive:关闭状态
setenforce 0
# 6.为了永久关闭
vim /etc/selinux/config 
# 7.在config文件中更改配置
SELINUX=disable

二、Linux命令

1.命令的基本组成

命令体 选项 参数(对象)

命令体:实现功能的小程序
选项:对于这个小程序的配置
参数:文件

2.文件类型

d :目录,也就是文件夹
f :普通文件
l :链接,快捷方式
b :块设备,磁盘、光驱
c :字符设备
p :管道
s :套接字

3.命令提示符

#:表示root用户
[root@oldboy ~]#   

$:普通用户
[oldguo@oldboy ~]$

4.快捷键

# 经常使用
ctrl + c/cancel:取消当前的操作 
ctrl + l(小写字母L)/clear:清屏
ctrl + d:退出当前用户 
ctrl + r:搜索使用过的命令。或history:显示所有使用过的命令
[TAB]:
    1.命令补全
    2.参数补全



# 了解
ctrl + a:把光标移动到行首 
ctrl + e:把光标移动到行尾
ctrl+ u:把光标到行首的内容删除/剪切 
ctrl + y:粘贴 
delete:光标所在处从前往后删除内容
ctrl + k:把光标到行尾的内容删除/剪切 
ctrl + →:向右移动一个单词 
ctrl + ←:向左移动一个单词
ctrl + s:锁屏,虽然锁屏,但是键盘还是可以使用的,命令也会执行,所以一般都是先退出当前用户,再锁屏,提高安全性
ctrl + q:解锁

5.帮助命令

# 该命令的详细帮助
man 命令
# 该命令的简易帮助
命令 --help
# 该命令的最详细帮助
info 命令

6.关机重启命令

# 重启
reboot
#关机
poweroff

三、Linux命令分类

1.目录

目录结构规范 FSH(文件系统层次化标准)

  • 绝对路径:从"/"开始一个具体路径
  • 相对路径:从当前目录开始的具体路径(pwd可以查看当前所在目录)
# 1.创建目录

# 创建一个目录
mkdir /test 

# 连续创建多个目录,并且是父子关系
# 创建a目录,并在a目录下创建b目录,在b目录下创建c目录
mkdir -p /a/b/c
# 与mkdir -p不同的是mkdir只能创建最后的c目录,且如果a或b目录没有就会报错


# 2.查询目录

# 只列出文件及目录
ls  目录名
# 显示目录名,参数以详细格式列表
ls -l  目录名
# 只显示当前目录名
ls -d  目录名
# 只显示当前目录名的具体信息
ls -ld 目录名
# 显示当前目录下的所有文件及文件夹包括隐藏的.和..等的详细信息
ls -al 目录名
# 对输出文件进行各种排序
ls -ltr 目录名

# 以树的形式显示目录及文件,会显示所有的
tree 目录名
# 只显示n层的目录及文件
tree -L n 目录名


# 3.删除目录

rm -rf 目录名 
# 通过文件句柄,有可能可以找回丢失数据(前提:不能重启,不能有大量数据写入)


# 4.修改目录
# 剪切
# mv 来源目录 目的目录  
mv /root/oldboy/ /tmp
# mv可以实现剪切的同时重命名
mv /root/oldguo/ /tmp/oldguo.bak
# 相对路径,在当前目录,相当于重命名
mv oldboy old

# 复制
# cp -r 来源目录 目的目录 
cp -r /tmp/old /
# 复制目录的同时携带属性
cp -a 


# 5.切换目录
# 切换到指定目录
cd 目录名
# 切换到上一层目录
cd ..
# 切换到上一次目录
cd -

# 同时创建多个目录,必须是连续的数组或字母
mkdir a{1..10}
mkdir dir{a..f}

# 搜索dir开头的
ls -ld dir*

# 删除dir开头的
 rm -rf dir*

2.文件

文件种类:

  • ASCII TEXT:纯文本文件(操作最多的)
  • LSB Exe:二进制的可执行文件(命令,程序)
  • 压缩文件:zip tar gz bz2 cpio iso
  • 二进制数据文件等.
# 1.创建文件
touch a.txt



# 2.查询文件
# ls的操作与目录的一致
ls 文件名

# 文件内容查看
cat a.txt
# 可查看多个文件内容
cat a.txt b.txt
# 由 1 开始对所有输出的行数编号
cat -n a.txt

# 分页显示大文件内容
# 对于一些大文件,可以只显示一部分内容,空格可接着显示没显示的部分,只能往下翻页
more a.txt
# 可上下翻页
less a.txt


# 文件前多少行
# 默认显示前10行
head a.txt
# 显示前三行,全称n3,简称3
head -n3 a.txt
head -3 a.txt

# 文件后多少行 默认显示后10行
# 显示后2行
tail -2 a.txt
# 监视文件,会显示文件新增的后几行
tail -f a.txt


# mv 命令和目录的操作一样
# cp 命令和目录的区别不需要加-r (加上也不报错)


# 3.内容修改
# 覆盖重定向
# a会被passwd的内容覆盖
cat /etc/passwd >a.txt
# 追加重定向
# 在a的后面添加上passwd的内容
cat /etc/passwd >>a.txt

四、VIM编辑器

1.使用

vim 文件名

2.模式

  • 命令模式/初始模式:进入VIM之后的默认操作
  • 编辑模式:可用键盘对文本随意写入
  • 末行模式

3.命令模式

G:光标到达最后一行
gg/1G:光标到达第一行
nG:光标到达第n行
^:光标到达行首
$:光标到达行尾
/:搜索关键字
yy:复制光标所在行
Nyy:复制N行
dd:剪切
Ndd:剪切N行
p:粘贴,剪切后不黏贴就是删除
x(del):删除光标所在字符
dG:删除光标到文本末尾
d$:从光标删除到行尾,包括贯标所在字符
d^:从光标删除到行首,不包括光标所在字符
r:替换光标所在字符
ZZ:保存退出
u:撤销上次操作

4.编辑模式

a:在光标之后录入数据
i:在光标之前录入数据
o:在光标下一行开启新行录入数据
A:在行尾录入数据
I:在行首录入数据
O:在光标上一行开启新行录入数据
ESC:退回到命令模式

# 小技巧:为了安全行,建议每编辑完一行就ESC,退回到命令模式

5.行末模式

:q! # 不保存退出
:wq!# 保存退出
:set nu   # 每行标上序号
:set nonu # 取消序号
:%s/原字符/替代的字符/g # 替换字符 g代表全局替换 

五、文件系统管理

1.Linux文件系统类型

  • ext2
  • ext3
  • ext4
  • XFS
# 显示所有的分区
ls -l /dev/sd*

2.如何分区

# 首先,当你新装了一块硬盘,你需要对这块硬盘分区
# 1.查看你的新装的硬盘的名字
ls -l /dev/sd*

# 2.假设是/dev/sdb,分区
fdisk   /dev/sdb 

# 3.对/dev/sdb 新建分区
n

# 4.对/dev/sdb的新建分区命名,默认是1,每份一块会自增,最多到4
回车

# 5.对/dev/sdb的新建分区分配空间的起始位置,开始位置是在上一个分区的之后,一般默认
回车

# 6.对/dev/sdb的新建分区分空间,也就是结束位置
+10G
回车

# 7.还可以接着分区,此时的分区还是预分区,一旦关闭,是不会保存的
# 保存预分区
w

# 8.格式化成文件系统(XFS)
mkfs.xfs /dev/sdb1 

# 9.挂载设备
# 创建挂载点
mkdir /data
mount /dev/sdb1 /data   

# 注:此时的挂载,一旦关机就不会有效果,所以要设置开机自动挂载

# 10.自动挂载文件系统
vim /etc/fstab
# 新建一行
/dev/sdb1 /data xfs defaults 0 0 

# 由于,在正真的生产环境中是根据连接顺序来排列的,这样会导致一个问题,和挂载里的配置名会不一致,所以使用UUID来表示唯一,更加安全
# 显示当前格式化的所有的硬盘的uuid
blkid
# 在/etc/fstab使用uuid
vim /etc/fstab
UUID=9fb2ec36-6a60-4394-9bfa-369261844d56 /data xfs defaults 0 0

六、Raid

1.功能特性

  1. 将多块磁盘合并成一块磁盘,提供更大的存储空间
  2. 可以把一个文件分成多份并发存取,可以提供更高的IO能力
  3. 数据物理层面的高安全

2.工作级别

raid0

优点:
    条带化功能,性能极高
    至少两块盘,理论上盘越多性能越高
缺点:
    安全性和单盘一样
    如果有一块硬盘坏了,那数据就会丢失

raid1

优点:
    镜像功能,性能没有明显提升,就算有硬盘坏了,但是由于在别的盘有镜像保存,安全性高
缺点:
    浪费一半空间

raid10

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

raid5

带有校验功能的条带化  
优点:
    存储数据时,根据数据计算校验值,存储到第三块盘.
    即使有硬盘损坏,也可以根据校验值和仅剩的数据计算出丢失的数据,安全性相比raid0大大提高
    读数据性能较高
缺点:
    写入性能较低
    至少三快盘,只允许一块盘损坏,浪费1/n的磁盘空间

适合于读多写少的场景

七、用户,组,权限

1.用户

作用

  • 登录系统
  • 管理系统对象

定义
​ 用户名(uid),密码,家目录(/home/oldboy),家目录下会有环境变量文件等.
​ 每个用户都必须有一个工作组,创建时没指定,自动创建一个同名的组

操作

# 创建用户
# -u 10011:指定用户ID
# -g dev:指定用户所属组是dev,不写默认会创建一个以用户名命名的组
useradd -u 10011 -g dev oldguo

# 查询用户
id oldguo

# 设置用户密码
passwd oldguo

# 切换当前用户
su - oldboy

# 删除用户
userdel -r oldboy

# 编辑用户ID
usermod -u 3000 oldguo

2.组

# 创建组,并指定组ID,若不指定,默认从1000开始
groupadd -g 1001 dev 
groupadd -g 1002 sa
groupadd -g 1003 dba

# 查询组
cat /etc/group
# 查询组文件group最后三行,因为新建的组添加在后面
tail -3 /etc/group

# 删除组
groupdel dba

# 编辑组ID 
groupmod -g 10086 dev

3.权限

定义

​ 权限是作用在文件上的属性.

权限的分类

  • r:可读,用4代表
  • w:可写,用2代表
  • x:可执行,用1代表
目录 文件
r ls命令 cat,vim等
w 目录以及目录下的修改 vim
x 目录下的所有操作都依赖于x 可执行程序

实例

# 文件的属性以及文件名
-rw-r--r-- 1 root root  154 Jan  4 17:38 uwsgi.ini

# -:文件
    当为[ d ]则是目录
    当为[ - ]则是文件;
    若是[ l ]则表示为链接文档(link file);
    若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
    
# rw-r--r--:应该以三个为一组,分成三部分,且均为『rwx』
            第1-3位(rw-):该文件的所有者拥有该文件的权限
            第4-6位(r--):所有者的同组用户拥有该文件的权限
            第7-9位(r--):其他用户拥有该文件的权限
            
# root root:文件所有者和文件所有者的组

使用

# chmod:更改文件权限
# Linux文件属性有两种设置方法,一种是数字,一种是符号。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限:
# r:4
# w:2
# x:1
# chmod [-R] xyz 文件或目录
# -R:对该目录下的所有文件生效
chmod -R  755 /data 

# chgrp:更改文件属组
# chgrp [-R] 属组名 文件名
# -R:该目录下的所有文件的属组都会更改。
chgrp -R dev /data

# chown:更改文件属主,也可以同时更改文件属组
# chown [–R] 属主名 文件名
# chown [-R] 属主名:属组名 文件名
chown -R oldguo /data
chown -R oldguo:dev /data

八、程序管理

进程

# 显示进程
ps -ef / ps -A

# 过滤
ps -ef|grep mysql 

# 停止进程,搜索条件:进程号
kill 进程号

# 强制停止进程,搜索条件:进程号
kill -9 进程号

# 停止进程,搜索条件:进程名
pkill mysqld

服务

# 开启服务
systemctl start 服务名

# 重启服务
systemctl restart 服务名

# 暂停服务
systemctl stop  服务名

# 查看已启动服务的端口
netstat -tulnp / ss -tulnp

# 可过滤
netstat -tulnp |grep 80
ss -tulnp|grep 80

九、网络

操作

# 查看IP地址,类似于windows的ipconfig
ip a

# 显示或配置网络设备
ifconfig 

# 连接网络
ping 

# 修改网卡IP地址IPADDR
vim /etc/sysconfig/network-scripts/ifcfg-eth0 
# 修改好后重启
systemctl restart network

猜你喜欢

转载自www.cnblogs.com/xvchengqi/p/10241169.html