分享生活,记录成长
表达自我,拥抱世界

Linux云计算系统学习第六天

常用软件
vim tree wget net-tools nmap bash-completion(补全部分命令)

ps 查看系统进程信息
ps -ef 查看所有详细的进程信息
kill 删除指定进程
kill pid 删除指定pid号码的进程
kill -9 pid 强制删除指定pid号码的进程

日志文件保存目录

​ ll /var/log
两个较为重要的日志文件:
​ messages -- 记录系统或服务程序运行的状态信息和错误信息
​ secure -- 用户登录信息

tail messages 查看日志文件的尾部信息
tail -8 messages 查看日志文件倒数第8行的信息(默认查看倒数10行)
tail -f messages 实时查看日志文件

head messages 查看日志文件的头部信息
head -5 messages 查看日志文件前5行的信息(默认查看前10行)

系统硬件信息查看方法
CPU:

利用文件进行查看:

​ cat /proc/cpuinfo

physical id查看物理cpu个数,cpu cores是每颗cpu有多少核

​ 查看物理CPU个数
​ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

​ 查看每个物理CPU中core的个数(即核数)
​ cat /proc/cpuinfo| grep "cpu cores"| uniq

​ 查看逻辑CPU的个数
​ cat /proc/cpuinfo| grep "processor"| wc -l

​ 查看CPU信息(型号)
​ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

利用命令进行查看:

​ lscpu

​ Socket(s): 2 --- 显示服务器CPU颗数

​ Core(s) per socket: 2 --- 每颗CPU有几核

​ CPU(s): 4 --- 整个服务器有几核

内存:

利用文件进行查看:

​ cat /proc/meminfo

​ 查看内存大小

​ cat /proc/meminfo |grep MemTotal |cut -d ':' -f 2 |cut -d '' -f 8

利用命令进行查看:

​ free 查看内存大小(字节)

​ free -h 查看内存大小(GB)

​ free -m 概要查看内存情况(MB)

​ 查看内存硬件信息

​ dmidecode -t memory

磁盘信息/挂载信息:

利用文件进行查看:

​ cat /proc/mounts

利用命令进行查看:

​ fdisk -l

​ df -h

​ 查看系统磁盘个数及大小

​ fdisk -l 2> /dev/null | grep "^Disk /dev/[sh]d[a-z]" |cut -d ',' -f 1 | sort

​ 查看硬盘和分区分布

​ lsblk

网卡:

​ nmtui 图形化配置网卡

​ nmcli connection show 查看网卡信息

[root@krist ~]# nmcli connection show
NAME  UUID                                  TYPE      DEVICE 
eth0  620530f7-4d20-4989-918f-bed2645bd846  ethernet  eth0 

​ nmcli device status 查看网卡连接状态

[root@krist ~]# nmcli device status
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --      
lspci |grep -i 'eth' 查看pci插槽中网卡的信息

​ 如果要更详细的信息:lspci -v 或者 lspci -vv

​ 如果要看设备树:lscpi -t

[root@krist ~]# lspci |grep -i 'eth'
02:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)

ifconfig -a / ip link show

ethtool eth0 网卡的详细参数和指标

Settings for eth0:
Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full #支持千兆半双工,全双工模式
Supported pause frame use: No
Supports auto-negotiation: Yes #支持自适应模式,一般都支持
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes #默认使用自适应模式
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
.....
Speed: 100Mb/s #现在网卡的速度是100Mb,网卡使用自适应模式,所以推测路由是100Mb,导致网卡从支持千兆,变成要支持百兆
Duplex: Full #全双工
.....
Link detected: yes #表示有网线连接,和路由是通的

查看bios信息

​ dmidecode -t bios

负载:

​ 利用文件进行查看:

​ cat /proc/loadavg 负载的值与CPU核数有关

[root@krist ~]# cat /proc/loadavg 
0.01(1分钟的平均负载) 0.02(5分钟的平均负载) 0.05(15分钟的平均负载) 1/121 5120

​ 利用命令进行查看:

​ w

[root@krist ~]# w
 11:35:29 up 3 days, 19:10,  2 users,  load average: 0.00, 0.01, 0.05
查看Linux内核版本

​ cat /proc/version

查看Linux系统版本

​ cat /etc/redhat-release

​ cat /etc/system-release

​ uname -a

普通用户如何查看身份

​ 查看用户是否存在
​ id username

​ 查看此时用户身份
​ whoami

操作系统优化---命令提示符优化

修改PS1环境变量
    默认配置:
    [root@localhost ~]# echo $PS1
    [\u@\h \W]\$

\u --- 显示当前登录用户名称
\h --- 显示系统主机名称
\W --- 显示当前所在目录信息(目录结构的最后结尾信息)

命令提示符PS1各参数含义

修改命令提示符的内容:
[root@localhost ~]# tail -1 /etc/profile
export PS1='[\u@\H \w]\$ '
[root@localhost ~]# source /etc/profile
[root@localhost.localdomain ~]#
修改命令提示符颜色:
[root@localhost ~]$ tail -1 /etc/profile
export PS1="\[\e[33;1m\][\u@\h \W]\$ \[\e[0m\]"

image-20200730210054786

查询此命令文件属于哪个安装包
[root@krist ~]# which ssh
/usr/bin/ssh
[root@krist ~]# rpm -qf /usr/bin/ssh
openssh-clients-7.4p1-21.el7.x86_64
或者用`[反引号]将命令结合起来
[root@krist ~]# rpm -qf `which ssh`
openssh-clients-7.4p1-21.el7.x86_64
系统安全相关优化-防火墙服务程序

centos6
查看防火墙服务状态
/etc/init.d/iptables status

临时关闭防火墙服务
/etc/init.d/iptables stop
/etc/init.d/iptables status

永久关闭防火墙服务
chkconfig iptables off

centos7
查看防火墙服务状态
systemctl status firewalld

临时关闭防火墙服务
systemctl stop firewalld
systemctl status firewalld -- 操作完确认

永久关闭防火墙服务
systemctl disable firewalld

查看服务状态的简便方法
systemctl is-active firewalld --检查服务是否正常运行
systemctl is-enabled firewalld --检查服务是否开机运行

系统字符编码优化

echo $LANG --- 表示系统语言及所用字符编码

如何修改:[方法一更优先] centos6:
方法一:
vi /etc/profile
export LANG='en_US.xxx'
source /etc/profile

方法二:
vi /etc/sysconfig/i18n
LANG='en_US.xxx'
source /etc/sysconfig/i18n

centos7:
方法一:
vi /etc/profile
export LANG='en_US.xxx'
source /etc/profile

方法二:
vi /etc/locale.conf
LANG="zh_CN.UTF-8"
source /etc/locale.conf

localectl set-locale LANG=zh_CN.GBK

使远程连接软件连接速度加快

第一个步骤,修改sshd服务配置文件,vi /etc/ssh/sshd_config,:set nu显示行号
79 GSSAPIAuthentication no
115 UseDNS no

第二个步骤,修改hosts文件,加入主机对应的DNS映射关系,vi /etc/hosts
192.168.123.188(对应主机ip地址) krist.com(对应主机hostname)

第三个步骤,重启sshd远程服务

查看启用服务的端口及连接状态,建议使用ss命令

安装netstat命令:yum install -y net-tools

[root@krist /]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1819/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7608/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1819/master         
tcp6       0      0 :::22                   :::*                    LISTEN      7608/sshd           
udp        0      0 127.0.0.1:323           0.0.0.0:*                           1103/chronyd        
udp6       0      0 ::1:323                 :::*                                1103/chronyd        
[root@krist /]# ss -lntup
Netid  State      Recv-Q Send-Q                                        Local Address:Port                                                       Peer Address:Port              
udp    UNCONN     0      0                                                 127.0.0.1:323                                                                   *:*                   users:(("chronyd",pid=1103,fd=5))
udp    UNCONN     0      0                                                     [::1]:323                                                                [::]:*                   users:(("chronyd",pid=1103,fd=6))
tcp    LISTEN     0      100                                               127.0.0.1:25                                                                    *:*                   users:(("master",pid=1819,fd=13))
tcp    LISTEN     0      128                                                       *:22                                                                    *:*                   users:(("sshd",pid=7608,fd=3))
tcp    LISTEN     0      100                                                   [::1]:25                                                                 [::]:*                   users:(("master",pid=1819,fd=14))
tcp    LISTEN     0      128                                                    [::]:22                                                                 [::]:*                   users:(("sshd",pid=7608,fd=4))

常用ss命令:

命令 作用
ss -l 显示本地打开监听(Listening)的所有端口
ss -pl 显示每个进程(Process)具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有udp socket
ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
ss -x src /tmp/.X11--unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息
ss -n 以数字(number)方式进行显示

阶段总结:基础必知必会

01.系统命令提示符组成 --- 用户名 主机名 当前目录
02.系统命令语法格式 --- 命令 参数 对象
03.系统目录结构简介 --- 一切从根开始:①绝对路径,从根路径进入到相应路径中②相对路径,从当前路径到相应路径

a.所有基础命令参数
文件目录创建命令总结

mkdir 目录创建
参数:-p 创建多级目录
rmdir 删除空目录
cd 改变目录
pwd 显示当前目录

文件编辑查看命令总结

touch 创建文件
vim/vi 创建并编辑文件

vi/vim快捷指令:
a.光标快速移动快捷方式

​ 纵向移动: 首部gg 尾部G 指定位置ngg
​ 横向移动: 行首0/^ 行尾$

b.移动光标并进入编辑状态

​ i 字符后面开始编辑
​ I 行首开始编辑
​ a 在下一个字符进行编辑
​ A 在行尾处进行编辑
​ o 下一行进行编辑
​ O 上一行进行编辑
​ C 删除光标所在位置到行尾内容进行编辑
​ cc 清空当前行的所有内容并进入编辑状态

c.快速编辑文本内容信息

​ dd 删除光标所在行单行内容 ndd多行
​ dG 快速删除内容到达行尾
​ yy 复制所在行单行内容 nyy多行
​ p 粘贴复制或删除的内容 np多次

d.特殊操作编辑文本方式

​ set nu 显示行号
​ set nonu 取消显示行号
​ u 进行操作撤销(undo)
​ ctrl+r 取消操作撤销(redo)

e.快速搜索指定文本方法

​ /搜索内容 --默认向下搜索
​ --继续向下查找 n
​ --继续向上查找 N
​ ?搜索内容 --默认向上搜索
​ --继续向下查找 n
​ --继续向上查找 N
​ 忽略大小写搜索信息
​ set ic / 取消方法:set noic
​ set ignorecase / 取消方法:set noignorecase
​ /查找内容\c (忽略大小写查找)

vim快捷指令: 有颜色区分不同信息

​ :noh :nohl 取消查找内容高亮显示
​ :a,bmoven/a,bmn 将a到b行的内容移动到第n行的后面
​ :a,bcopyn 将a到b行的内容复制到第n行的后面
​ :%s#xxx#yyy#g 将所有xxx内容替换为yyy内容
​ % 全部做替换,可以指定替换的行号区间:百分号改为a,b
​ a,$ 从a行开始到结尾的指定内容进行替换
​ s substitute 替换
​ g global 将整行符合要求的字符都做替换

批量进行注释 --- 批量添加信息:

​ 1)ctrl+v进入视图模式(批量编辑状态),光标停在需要注释的起始行
​ -- VISUAL BLOCK --
​ 2)光标向下移动选中要编辑的行
​ 方向键选择
​ 3)进行编辑修改
​ shift+i -- 从起始位置进行单行编辑
​ 输入'#'
​ 4)实现批量修改
​ 按esc即可在选中行自动补全输入的'#'

批量删除信息:

​ 1)ctrl+v进入视图模式(批量编辑状态),光标停在需要注释的起始行
​ -- VISUAL BLOCK --
​ 2)批量选中要删除的列
​ 方向键选择
​ 3)删除信息
​ 按键盘d 或者 键盘x 即可批量删除

vim编辑命令原理图:

vim编辑命令原理图

使用vi/vim编辑文件时遇到意外情况突然退出,会在对应目录产生一个临时隐藏文件,想要再次编辑文件时会弹出ATTENTION告警,此时可以在ATTENTION页面按以下指令解决:

[O]pen Read-Only,(E)dit anyway,(R)ecover,(D)elete it,(Q)uit,(A)bort;
只读打开 继续编辑 恢复 删除 退出

cat 以文本方式查看文件内容
参数: -n 显示行号
more 分屏显示文本内容,f或空格键向后翻页,b向前翻页
less 和more一样也是分页显示文件,less允许用户向前和向后翻页--向前:b键;向后:空格键;指定位置:输入百分比;退出:q 参数:-N 显示行号
head 行数 文件名 查看某文件的前几行,默认值10
tail 行数 文件名 查看某文件的末尾几行,默认值10

tail -f

等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F

等同于--follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

tailf

等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

常用操作:

此时要想暂停刷新,使用【Ctrl】+【S】暂停终端。

若想继续终端,使用【Ctrl】+【Q】。

若想退出tail命令,直接使用【Ctrl】+【C】。

文件属性查看命令总结ls

ls 列出当前目录文件,相当于DOS下的dir
参数:-a 显示指定目录下所有的子目录与文件,包括隐藏文件
-t 按文件的修改时间降序排序 -tr 升序排序(reverse 逆向)
-h 显示的数据信息大小,以人类可读方式显示
-l 采用列表形式来显示文件的详细信息,每个文件一行信息其内容为:
文件类型与权限 链接数 文件属主 文件属组 文件大小 最近修改时间 文件名

文件目录操作命令总结

1 cp 命令文件/目录复制命令
它的语法格式为cp [选项] 源文件或目录 目标文件或目录
常用的选项有
Ø a 该选项常在复制目录时使用它保留链接文件属性并递归地复制目录就象D
OS 中的xcopy /s 一样
Ø f 如果目标文件或目录已存在就覆盖它并且不做提示
Ø i 与f 选项正好相反它在覆盖时会让用户回答Y 来确认
Ø p 使用该选项复制文件时将保留修改时间和访问权限
Ø r 若给出的源是一个目录那么cp 将递归复制该目录下所有的子目录和文件不过
这要求目标也是一个目录名
另外大家要注意的是如果源是文件名目标是目录名的话那么使用cp 命令可以
指定多个源文件名如
$ cp a.txt b.txt /home/user1
该命令将把a.txt 和b.txt 文件复制到/home/usr1 目录中
2 rm 命令文件/目录删除命令
它的语法格式为rm [选项] 文件
常用的选项有
Ø f 在删除过程中不给任何指示直接删除
Ø r 指示rm 将参数中列出的全部目录和子目录都递归地删除
Ø i 交互式的删除每个文件在删除时都给出提示
使用rm 命令时一定要小心特别是以root 用户登录时我就看到过一个朋友在使用r
m 命令删除/home/tmp 目录时将命令rm -rf /home/tmp 误输成了 rm -rf / home/tmp
结果等他走回电脑面前整个系统都被删除了
3 mv 命令文件/目录移动命令
它的语法格式为mv [选项] 源文件或目录 目标文件或目录
常用的选项有
Ø f 如果操作要覆盖某已有的目标文件时不给任何指示
Ø i 交互式的操作如果操作要覆盖某已有的目标文件时会询问用户是否覆盖
mv 命令的执行效果与参数类型的不同而不同
第一参数源 第二个参数目标 结果
文件名 文件名 将源文件名改为目标文件名
文件名 目录名 将文件移动到目标目录
目录名 目录名 目标目录已存在源目录移动到目标目录
目标目录不存在改名
目录名 文件名 出错

直接编辑文件命令方法echo命令扩展(通配符技巧)
输出序列信息:

​ 输出连续序列:
​ 问题1:显示1..100的数字信息
​ echo {1..100}

​ 输出不连续序列:
​ a.不连续有规律的序列
​ 问题1:显示1..10的奇数信息:echo {1..10..2} 1到10之间,从1开始,奇数相差2
​ 问题2:显示1..10的偶数信息:echo{2..10..2} 2到10之间,从2开始
​ b.不连续无规律只能手动输出:echo {1,3,5,7,8}

序列可用来批量操作,例如:mkdir -p /{www,blog,bbs}

批量创建文件/文件夹

​ [root@krist www]# touch file{01..10}
​ [root@krist www]# ls
​ file01 file02 file03 file04 file05 file06 file07 file08 file09 file10

​ [root@krist www]# touch {a..d}{a..d}
​ [root@krist www]# ls
​ aa ab ac ad ba bb bc bd ca cb cc cd da db dc dd

批量删除文件/文件夹

​ rm -rf file{01..10}

追加多行信息:
 [root@krist www]# cat >> aa << EOF
 > aa1
 > aa2
 > aa3
 > aa4
 > aa5
 > EOF
 [root@krist www]# cat aa
  aa1
  aa2
  aa3
  aa4
  aa5
系统特殊符号
~               家目录符号
..              上一级目录
>               标准输出重定向符号
>>               标准输出追加重定向符号
<                标准输入重定向符号
<<                标准输入追加重定向符号
&&              与操作,前一个命令执行成功后再执行后面的命令
#               将配置文件信息进行单行注释
                在命令提示符中表示超级管理员
$               用于加载读取变量信息
                表示一行的结尾
                在命令提示符中表示普通用户
!               强制
``                反引号,将引号内的命令先执行,再交给外面的命令处理
|               管道符,将前一个命令的结果交给后面的命令执行
{}              通配符,显示数字或字母序列

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:DDblog » Linux云计算系统学习第六天

分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

立即登录   注册

DD博客

联系我们每天好心情
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活