Linux(二)—— Linux配置及指令

Stella981
• 阅读 695

Linux配置及指令

[TOC]

一、linux中常用软件的安装

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

二、主机名和网络

1、修改主机名

 hostnamectl set-hostname py3

Linux(二)—— Linux配置及指令

2、设置网络

# 1.进入配置
vim /etc/hosts    
# 2.光标移到最后一行
o
# 3.输入ip地址和主机名
10.0.0.100 py3
# 4.按Esc,冒号:wq,保存并退出

Linux(二)—— Linux配置及指令

.png)

三、关闭防火墙

1、检查防火墙是否开启

iptables -L

2、清除策略

iptables -F

3、永久关闭第一个防火墙

systemctl disable firewalld

4、关闭第二个防火墙

# 1.查看防火墙
getenforce
# 2.临时关闭防火墙
setenforce 0
# 3.永久关闭,进入配置
vim /etc/selinux/config 
# 4.修改配置,保存并退出
SELINUX = disabled

Linux(二)—— Linux配置及指令

.png)

四、Linux命令

1、命令组成

命令体             选项                参数(对象,文件)
ls                   -l               /var

2、文件的分类

d :目录
f :普通文件
l :链接
b :块设备,磁盘 光驱
c :字符设备
p :管道
s :套接字

3、命令提示符

[root@oldboy ~]#        # '#'表示超级管理员用户 
[oldguo@oldboy ~]$      # '$'表示普通用户

4、常用快捷键

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     # 解锁

5、查看帮助

man ls      # 手册,查看ls的手册
ls --help     # 简要手册
info ls     # 查看详细的ls的手册

6、关机重启

shutdown -r n    # n分钟以后重启
shutdown -h n     # n分钟以后关机
shutdown -r now  # 立即重启
shutdown -c    # 取消关机重启

# 常用关机重启命令
reboot    # 重启
poweroff    # 关机

五、linux管理命令

1、普通文件及目录的命令

ls
pwd
cd
tree
mkdir
touch
cp
mv
rm

2、目录

  • 绝对路径:从"/"开始一个具体路径

  • 相对路径:从当前目录开始的具体路径( pwd 可以查看当前所在目录)

    1.创建目录

    mkdir /oldboy # 在根目录下创建oldboy目录,利用绝对路径创建 mkdir old # 在当前目录下创建old目录,利用相对路径创建 mkdir -p a/b/c # 创建多层目录,创建a,a下的b,b下的c mkdir a b c # 同时创建a、b、c mkdir a{1..10} # 批量创建a1~a10目录

    2.查询目录

    ls -ld /oldboy # 查看oldboy目录是否存在,并查看其详细信息 ls -ld a b c # 同时查看a、b、c tree /a # 查看多层目录,查看a下的所有目录,会以树状图的形式展示 tree -L 2 / # 查看根目录下的两次目录,如果是3,表示查看3层目录 ls -ld dir* # 产看以dir开头的所有文件

    3.删除目录(慎用)

    rm -rf /oldboy # 删除根目录下的oldboy rm -rf a b c # 同时删除a、b、c rm -rf dir* # 删除以dir开头的所有目录

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

    4.修改目录

    mv /root/oldboy/ /tmp # 将oldboy文件移到tmp目录下 mv /root/oldguo/ /tmp/oldguo.bak # 将oldboy移到tmp中,并重命名 mv oldboy old # 当前目录下的oldboy重命名为old cp -r /tmp/old / # 将old文件拷贝到根目录下 cp -a /tmp/old / # 带上源文件的属性权限拷贝

    5.切换目录

    cd / # 切换到根目录下 cd /oldboy # 切换到根目录下的oldboy目录 cd oldboy # 切换到当前目录下的oldboy cd .. # 切换到上一层目录 cd - # 切换到上一次所在的目录

3、普通文件

(1)文件种类

ASCII TEXT:纯文本文件(操作最多的)
LSB Exe:二进制的可执行文件(命令,程序)
压缩文件:zip tar  gz  bz2   cpio  iso
二进制数据文件:

(2)命令

  • linux中一切皆文件,不管是目录还是文件,名字都不能重复

    1.创建文件

    touch a.txt # 创建a.txt文件

    2.删除文件

    rm -rf a.txt # 删除a.txt文件

    3.查看文件

    ls -l a.txt # 查看文件属性 # (1)小文件内容查看 cat /etc/passwd # 查看passpwd文件的内容 cat /etc/passwd /etc/shadow # 同时查看两个文件的内容 cat -n /etc/passwd # 查看文件内容,每行内容都带上序号 # (2)分页显示大文件内容 more /var/log/secure # 使用空格下翻,只能往下翻,查看文件内容 less /var/log/secure # 既能往上翻,又能往下翻 # (3)文件前多少行 head /etc/passwd # 查看前10行内容,默认是10行 head -n3 /etc/passwd # 查看前3行内容,默认是10行 head -3 /etc/passwd # 查看前3行内容,默认是10行 # (4)文件后多少行 tail /etc/passwd # 查看后10行内容,默认是10行 tail -2 /etc/passwd # 查看后2行内容 tail -f /var/log/secure # 实时监控文件

    4.复制、剪切文件

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

    5.修改文件内容

    cat /etc/passwd >a.txt # > 覆盖重定向,如果文件没有,会自动创建 cat /etc/passwd >>a.txt # >> 追加重定向,如果文件没有,会自动创建 echo "10.0.0.100 python3" >>/etc/hosts # 将"10.0.0.100 python3"追加到hosts中

4、vim编辑

(1)命令模式

vim passwd 直接进入的就是初始模式,即命令模式

    ↑↓←→   # 上下左右光标移动
    page up  page down    # 翻页
    G   # 光标到达最后一行
    1G   # 光标到达第一行(gg)
    10G    # 第10行
    ^    # 光标到达行首
    $    # 光标到达行尾
    /    # 搜索关键字
    yy   # 复制光标所在行
    Nyy    # 复制N行
    dd   # 删除/剪切
    Ndd   # 删除/剪切N行
    p    # 粘贴
    x(del)    # 删除光标所在字符
    dG   # 删除光标到文本末尾
    d$    # 从光标删除到行尾,包括贯标所在字符
    d^     # 从光标删除到行首,不包括光标所在字符
    r    # 替换光标所在字符
    ZZ    # 保存退出
    u     # 撤销上次操作

(2)编辑模式

a    # 在光标之后录入数据
i     # 在光标之前录入数据
o    # 在光标下一行开启新行录入数据
A
I
O
ESC    # 回到命令模式,建议每编辑完一行就ESC,退回到命令模式

(3)末行模式

在命令模式下,进入末行模式

:q!     # 强制不保存退出
:wq!      # 保存退出
:set nu     # 在编辑器中显示行号
:set nonu      # 在编辑器中不显示行号
:%s/root/ROOT/g     # 批量修改,将所有的root替换为ROOT,g表示全局

5、链接(快捷方式)

ln -s passwd passwd.lnk

6、磁盘和文件系统

[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

(1)分区

# 1.分区
fdisk   /dev/sdb   # 进行分区
m
n     # 新建分区
p     # 打印先有的分区
w     # 保存分区
    
# 2.格式化成文件系统(XFS)
mkfs.xfs /dev/sdb1
    
# 3.挂载设备
mkdir /data   # 格式化以后创建新的目录
mount /dev/sdb1 /data      # 把新的分区,挂载到data中
    
# 4.查看挂载的磁盘使用情况
df -h

(2)自动挂载

# 自动挂载文件系统
vim /etc/fstab   # 进入文件进行配置

/dev/sdb1 /data xfs defaults 0 0   # 在配置文件中添加内容,挂载的分区、挂载位置、类型、默认参数、不检查系统

Linux(二)—— Linux配置及指令

.png)

  • 挂载的分区使用UUID更加安全

    获取UUID

    blkid

    自动挂载,使用uuid

    UUID=R2PoCI-tOiD-Mksr-fsiW-5tBV-YIbV-pVYwfP /data xfs defaults 0 0

Linux(二)—— Linux配置及指令

7、Raid

(1)功能特性

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

(2)Raid的工作级别

# 1.raid0
条带化功能,性能极高,安全性和单盘一样
至少两块盘,理论上盘越多性能越高

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

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

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

8、用户、组、权限

(1)用户的定义

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

(2)组的定义

​ 组名字,GID(1001~65535)

(3)用户和组的管理

a.组的管理
# 1.创建组
groupadd -g 1001 dev    # 创建分组,组id从1000开始
groupadd -g 1002 sa
groupadd -g 1003 dba

# 2.查看组
cat /etc/group
tail -3 /etc/group

# 3.删除组
groupdel dba   # 删除组dba

# 修改组(不建议改)
groupmod -g 10086 dev    # 修改组的id
b.用户的管理
# 创建用户(普通用户)
useradd oldguo     # 其余自动创建
useradd -u 10011 -g dev oldguo      # 指定id,指定组,用户名

# 查看用户
id oldguo

# 设置密码
passwd oldguo

# 切换用户
su - oldboy     # 切换到oldboy用户
exit     # 退出用户

# 删除用户
userdel -r oldboy

# 修改用户(id)
usermod -u 3000 oldguo

(4)权限

a.权限的分类
r   4    # 读
w   2      # 写
x   1    # 执行
b.权限的管理
[root@py3 ~]# ls -l /a

# drwxr-xr-x 3 root root 14 Jan  4 04:12 b
drw ---->  root用户权限
xr- ------>  文件所属组root组的权限
xr-  ------->  文件的进行操作
c.权限对应命令
               目录                                 文件
r              ls                                  cat more    ,vim
w              目录下的修改                        vim   > 
x              目录下所有操作都依赖于x              可执行程序
d.设置权限
# 设置权限  
chmod -R  755 /data     # 755相当于 rwxrx-rx-
chwon -R oldguo:dev /data     # 设置oldguo和dev的权限

9、程序管理

# 查看进程状态
ps -ef     # 查看所有进程的状态
ps -ef|grep mysql        # 查看mysql的状态

# 关闭进程
kill 1234(pid)    # 安全的结束
kill -9 1234     # 如果进程崩了,也可以关闭
pkill mysqld      # 批量关闭,关闭mysqld的所有进程

# 服务的启动与关闭
systemctl start httpd(服务的名字)      # 开启服务
systemctl restart httpd     # 重启服务
systemctl stop httpd    # 关闭服务

10、网络管理

# 查看ip地址
ip a
或者
ifconfig

# ping命令


# 网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0    # linux中默认的网卡位置,可以修改IP地址
systemctl restart network     # 改完IP地址以后要重启

# 查看已启动端口
netstat -tulnp       # 查看启动的端口
netstat -tulnp |grep 80       # 过滤查看端口
ss -tulnp|grep 80     # 查看端口对应的详细信息

11、查看yum源

[root@py3 ~]# cd /etc/yum.repos.d/
[root@py3 yum.repos.d]# ls
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这