Linux基础笔记

目录

Linux 系统安装和配置

前期准备

需要下载的软件:

VMware-workstation-full-10.0.0-1295980

注册机破解:vm10keygen

远程登录管理工具:

SecureCRT Putty xshell

远程文件传输工具:

winscp

UTF-8编码

设置了主机server001地址:

192.168.0.102

设置虚拟机IP地址

cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-eth1 

4个主分区 硬盘比较大我们就扩展分区 主分区+扩展分区=4

扩展分区只能一个,包括逻辑分区,逻辑分区可以格式化,写入数据,但扩展分区不能写数据,只能包含逻辑分区

格式化,我们说的格式化都是高级格式化,windows格式化(FAT16 32 NTFS)

linux格式化文件系统(ext2 ext3 ext4)

centos6.2默认的分区格式是ext4

Linux基本信息

硬盘:

/dev/hda  IDE接口的硬盘
/dev/hda1 代表 IDE的第一个硬盘第一个分区
/dev/hdb  IDE的第二个硬盘
/dev/sda  SCSI接口和SATA
/dev/sda1 代表的是SCSI或SATA的第一个硬盘第一个分区

IDE硬盘分秒传输速度130M/秒
SCSI传输速度200M/秒
SATA传输速度500M/秒 第三代
USB /dev/usb
打印机 dev/1p[0-2] 针式打印机
USB打印机 /dev/usb/1p
软盘 /dev/fd[0-1]
鼠标 /dev/mouse
查看网卡信息
cat /etc/sysconfig/network-scripts/ifcfg-eht0

修改网卡信息
vi /etc/sysconfig/network-scripts/ifcfg-eth0

保存信息
:wq 

重启网卡
/etc/init.d/network restart

查看ip配置
ifconfig

查看端口ssh
netstat -ntlp

linux

退出系统命令

1.输入exit或logout

2.组合键ctrl+D

修改密码

1.重启,进入导航页面,按E

2.输入1,然后按b(boot引导)

3.输入reboot重启

常见故障修复

硬盘扇区错乱

  1. 按ctrl+D进入单用户模式
  2. 输入fsck –y/dev/hda6(fsck为文件系统检测修复命令,“-y”设定检测到错误自动修复,devhda6位发生错误的硬盘分区,请依据具体情况更改此参数),系统修复完成后,用命令“reboot”重新启动即可

救援模式(单用户模式无法进入或出现GRUB命令行也不能解决的引导问题,就需要Linux救援模式来进行故障排除)

1.设置CMOS/BIOS为光盘引导,在“boot:”提示符后输入“linux rescue”回车进入救援模式

2.选择简体中文语言,键盘设置“us”

3.系统将试图查找根分区,出现挂载提示,选择“continue”

linux网络基础

OSI****七层网络参考模型

应用层-表示层-会话层-传输层-网络层-数据链路层-物理层

TCP/IP参考模型(LINUX)

应用层-传输层-网络层-网络接口层

应用层(http、ftp、pop3)

传输层(tcp协议、udp协议)

网络层(ip协议)

网络接口层(bit流、网卡)

IP地址:用的是IPv4 32bit

ip地址=网络号+主机号

MTU最大传输单元

RFC(TCP/IP协议的标准文档)

公有IP地址(通过它直接访问因特网)

私有IP地址(非注册IP地址,专供组织机构内部使用)

内部私有IP地址:

A类:10.0.0.0---10.255.255.255

B类:172.16.0.0---172.31.255.255

C类:192.168.0.0---192.168.255.255

http://www.ip138.com

子网掩码(标明子网是如何划分的,即地址的哪一部分是包含子网的网络号,哪一部分是网络中的主机号)

系统默认情况下,掩码包含两个域:网络域和主机域,分别对应网络号和主机号

广播地址(用户可以将消息一次性传递到自己所在网络的全体成员中)

设置规则:主机部分被设置为255(二进制权威1),网络部分保持不变。

例如:IP地址为192.68.56.6,其中“192.68.56”表示网络地址,占用了前24位,后8位是主机地址。将后8位全部设置为1就可以得到其广播地址为“192.68.56.255”

loopback(回环地址) 127.0.0.1

HWaddr MAC地址,全球唯一

网关地址(让不同网段之间可以通过网关进行通信)

主机IP设置正确后可以和同网段的其他主机进行通信,但还不能与不同网段的外网进行通信。为了能够和外部网络通信,需要正确设置网关地址。网关通常是提供外部网络连接的路由器,一般至少有两个网络接口:一个连接局域网,另一个提供外网连接。对于需要连接外部网络的主机,需要正确设置本地局域网内的至少一个网关的IP地址,任何不同网段主机间进行的通信都将通过网关进行(一个是van口,另一个是LAN口,从LAN口向van口转换,再向互联网上的机器进行通信)

域名服务器地址(DNS)

仅仅正确设置IP地址和网关地址,只能保证用户通过IP地址和其他主机进行通信。为了能够使用更为简易的主机域名进行通信,需要指定至少一个DNS服务器的IP地址。所有的域名解析任务都会通过指定的DNS服务器来完成。

DHCP服务器

网络中每台计算拥有唯一IP地址,主机IP分为静态地址和动态地址两类。静态地址一般手工设定,动态地址由用户指定的DHCP服务器负责自动分配。用户每次接入网络时,由DHCP服务器从其地址池中动态选择一个没被使用的IP地址分配给用户临时使用。当用户退出网络时(关机或断开网络连接),所使用的IP地址会被释放,由DHCP服务器重新分配。

IP协议 是TCP/IP的一个协议的核心,TCP UDP ICMP

TCP协议是一个可靠的协议

UDP是不可靠的协议

路由表

子网的寻址 IP地址=网络号+主机号

网络管理常用名命令

ARP协议(地址解析的一个协议)

arp –a

配置以太网连接

1.添加网络配置

在虚拟机设置里添加网络适配器

2.修改网络配置

cat /etc/udev/rules.d/70-persistent-cd.rules
reboot

网卡信息保存地址
vi /etc/udev/rules.d/70-persistent-net.rules         
添加的一个新的以太网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth1       

3.使用配置文件

cd /etc/sysconfig/network-scripts/
ls

将给出的文件或目录拷贝到另一文件或目录中
cp ifcfg-eth0 ifcfg-eth1 

修改网卡配置信息
vi ifcfg-eth1 
名称,地址,不需mac,ipv6等信息

将网卡转换至桥接模式

/etc/init.d/network restart

网络管理常用命令

Hostname命令

显示和更改系统的主机名

cat /etc/sysconfig/network

ping命令使用ICMP协议,主要用于测试网络的连通性

1.ping命令的一般格式

2.指定发送分组的数量

3.指定发送分组的大小

nslookup命令主要用于测试DNS服务器是否正常工作,除此之外,还可以对域名和IP地址进行查询

ifconfig命令类似于windows下的ipconfig,用于获取和修改网络接口配置信息

1.ifconfig命令的一般格式

2.显示已激活的网络接口信息

3.显示所有网络接口信息

4.显示指定的网络接口信息

5.关闭与激活指定的网络接口

6.设定指定网络接口的IP地址

ifup命令用于启动指定的非活动网卡,与“ifconfig up”命令相似

ifdown命令用于关闭指定的活动网卡,与“ifconfig down”命令相似

route命令用于现实和动态修改系统当前的路由表。

  • route命令的一般格式
  • 显示当前路由信息
  • 添加和删除路由信息
  • 添加和删除默认网关

ping命令

nslookup命令

arp命令可以实现从IP地址到以太网MAC地质之间的转换

netstat命令主要用于显示网络的连接状态、查询路由表、对网络接口进行统计

netstat –a

traceroute命令用于检测到达目的地的路由状况。

traceroute在每个ttl值发送3个分组,如果有一个发出的分组没有接收到响应,traceroute就显示1个“*”,如果有响应则显示路由的名字和地址。traceroute以毫秒为单位计算分组的往返时间。

traceroute 192.168.0.102

利用常用命令分析局域网连通故障(物理故障和逻辑故障)

  • 计算机操作系统
  • 网络通信协议
  • 网卡安装设置
  • 网络传输介质
  • 网络交换机设备
  • 计算机病毒
  • 人为操作

当网络不通时,联合使用ping、netstat、nslookup以及traceroute命令可以进行故障的分析和诊断。

  • 首先使用ping、命令测试回环地址、本机IP、地址和网关地址
  • 再使用netstat、nslookup、traceroute命令检查路由、DNS设置

OPENSSH安装配置和远程连接

openssh配置文件查看

rpm –qa |grep openssh

mount /dev/cdrom /mnt

cd /mnt/

ls

cd Packages

ls

ls openssh*

查看openssh版本信息

ssh –V

启动和停止opnssh守护进程—sshd

Centos6.2在系统启动时,默认启动openssh守护进程

netstat –ntlp

/etc/init.d/sshd start

/etc/init.d/sshd stop

exit

需要进入虚拟机,进行sshd的开启命令

/etc/init.d/sshd start

配置openssh服务器

openssh的守护进程默认使用/etc/ssh/sshd_config配置文件

默认配置文件足以启动sshd守护进程并允许ssh客户端连接到服务器。除此之外,在/etc/ssh目录中还有一些系统级配置文件。

vi /etc/ssh/sshd_config

端口号改成58999

配置openssh客户端

openssh默认的客户端配置文件为/etc/ssh/ssh_config

cd .ssh/

ls

echo >authorized_keys

ssh root@192.168.0.191

然后输入密码确认连接

exit

cd

ls –la

cd .ssh/

ls

清除两项文件

rm –rf id_dsa id_dsa.pub known_hosts

获取ssh公钥

ssh-keygen

连续三下空格

获取到

id_rsa这个是私钥

id_rsa.pub这个是公钥

获取到所需的公钥

cat id_rsa.pub

然后复制到另外一台虚拟机上

vi authorized_keys

随后就可以进行无密登录

ssh root@192.168.0.110

再将一台机器的公钥复制到另一台虚拟机上后,这台机器就可以进行无密登录另一台虚拟机

复制一份文件到另一台机器上

touch abc

scp abc root@192.168.0.110:/root/

scp(secure copy,即安全复制)是一个远程文件的安全复制程序。由于scp底层基于ssh,当ssh启动时,scp也会默认启动。

进行上传文件命令

rz

但是

好像是缺少了安装rz/sz

https://blog.csdn.net/dbljy2015/article/details/53908256

sz abc

sftp与ftp类似,是一个交互式的文件传输程序,由于底层采用了ssh,因此可以在加密通道上完成文件传输。

下载安装xftp4

选择22端口。协议选择SFTP

遇到个问题,一直无法切换到.ssh,在老师的帮助下解决,用了如下方法:

今天在设置Linux免登录的时候,按照Hadoop官方说明的ssh设置,然后通过ssh localhost测试,可是总是提示要输入密码。

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

命令1:$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

这个命令会产生一个公钥(/.ssh/id_rsa.pub)和密钥(/.ssh/id_rsa),

-t dsa:表示使用密钥的加密类型,可以为'rsa'和'dsa'

-P '':表示不需要密码登录

-f ~/.ssh/id_dsa:表示密钥存放的路径为${USER}/.ssh/id_dsa

命令2:$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将本机的公钥添加进authorized_keys中,这样允许本机通过ssh的形式免密码登录

注意使用>>,而不是>,因为如果其它主机(如A)也采用免登陆的形式登录,也可以把主机A的公钥添加到authorized_keys文件中。这样主机A就可以免登陆ssh到本机了。

开始也找不出什么原因,后来用root用户跟踪/var/log/message日志,发现每次ssh localhost的时候,有以下日志出现

Aug 20 14:47:40 vm-360-149-11 sshd[11072]: Authentication refused: bad ownership or modes for file /home/linzm/.ssh/authorized_keys

于是更改authorized_keys的权限为600

chmod 600 authorized_keys

问题解决,配置成功。

ssh localhost再也不需要输入密码了。

Vi文本编辑器

vi文本编辑器(三种命令模式,关系,常用命令)

一、命令模式

通过输入命令来执行功能。控制屏幕光标移动。字符,字或行的删除。移动复制某区段及进入插入模式,或者进入到末行模式

高级命令模式vim(是vi的升级版本,带有高亮,和vi具有兼容)vim 文件名

yum install vim-emhanced

进入命令模式

vi 文件名

退出命令模式

(:wq)(:q!)(ESC键)

二、插入模式

在进入vi命令模式时,按下I(i)、A(a)、O(o)之一,即可进入插入模式

插入命令

命令 作用
a 在光标所在字符后插入
A 在光标所在行尾插入
I 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行

定位命令

命令 作用
:set nu 设置显示行号
:set nonu 取消行号
gg G 到第一行 到最后一行
nG 到第n行
:n 到第n行
$ 移至行尾
0 移至行首

三、底行模式(编辑模式)

编辑环境,如寻找字符串、列出行号……等。一般末行模式也算入命令行模式

四、三种命令之间的关系

命令模式可以进入插入模式(通过i a o),插入模式也可以进入命令模式(ESC键)。

命令模式可以进入底行模式,底行模式也可以进入命令模式(命令行以回车结束运行)。

五、光标的移动及换页(在命令模式下)

定位命令两种方式 方向键定 命令状态

上下左右光标键  
h光标左移一格
i在光标前插入正文
j光标下移一行
k光标上移一行
l光标右移一格
m字母 用字母标记当前行,以后可用‘字母使光标移动到当前行’
n重复上次/或?命令

ctrl + B 返回前一页,前面加数字表示重复次数,每次换页时保留上一页的两行
ctrl + F 前进一页,前面加数字表示重复次数,每次换页时保留上一页的两行
ctrl + R 刷新屏幕
ctrl + d 下移半屏
ctrl + u 上移半屏

按u撤销删除
$(移至行尾) 0(移至行首) 
回车键   
H(移至屏幕的上端) 
M(移至屏幕的中央)
L(移至屏幕的下端)

六、删除字符和行(在命令模式下)

删除命令

命令 作用
X 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到文件末尾内容
D 删除光标所在处到行尾内容
:n1,n2d 删除指定范围的行
dw删除一个字
dd删除一行
x删除当前字符
nx删除光标所在处后n个字符
dG删除光标所在行到文件末尾内容
重复某个命令.
删除多行ndd 删除5行 5dd

七、新建/插入(在命令模式下)

vi filename:打开或新建文件,并将光标置于第一行首
一定要有加号
vi + n filename:打开文件,并将光标置于第n行首
vi + filename:打开文件,并将光标置于最后一行首
vi –r filename:在上次正用vi编辑时发生系统崩溃,恢复filename

插入文本类命令
i:在光标前
I:在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行

八、复制和粘贴(在命令模式下)

复制和剪贴命令

命令 作用
yy 复制当前行
nyy 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上上一次复制的内容

九、查找和替换(在底行模式下)

替换和取消命令

命令 作用
r 取代光标所在处字符
R 从光标所在处开始替换字符,按ESC结束
u 取消上一步操作

搜索和搜索替换命令

命令 作用
/string 搜索指定字符串 搜索时忽略大小写:set ic
n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串

保存和退出命令

命令 作用
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者及root可使用)

查找和替换命令

:!while date 查找命令所在的位置
ab 定义将一个名字输入后替换成ab设置的内容
!ab abc 123 将输入的abc替换成123

用户和用户组的管理

(普通用户,超级用户,系统用户)

一、普通用户的管理

用户分为三种

  1. 超级用户(root,uid 0)
  2. 普通用户(uid 500-60000)
  3. 系统用户(uid 1-499)

使用useradd命令添加用户

新创建用户默认信息,默认信息包括用户账户文件所存储的用户详细信息。useradd命令格式如下:

useradd option username

系统每一个用户除了有其用户名外,还有对应的用户口令(其实就是密码的意思)。因此,新增用户同时,还需要用passwd命令为每一位新用户设置口令,之后还可以随时用passwd命令改变自己的口令。格式如下:

passwd username

添加新用户abc2

useradd abc2

设置用户abc2密码

passwd abc2

查看useradd帮助文档(相关调用语句)

man useradd

指定用户的主目录(需建立在不存在的路径下)

useradd –d /opt/abc3 abc3

usermod命令是用来修改使用者账号用户信息,具体修改的修改信息和useradd命令所添加的信息一致,usermod命令格式如下:

usermod option username

userdel命令是用来删除系统中的用户信息,userdel命令格式如下:

userdel option username

用户信息配置文件/etc/passwd

/etc/passwd文件是linux安全的关键文件之一,该文件用于用户登录时校验用户登录名,加密的口令数据项,用户id(uid)默认的用户组id(gid)用户信息,用户主目录以及登陆后使用的shell

/etc/passwd文件的每一行保存一个用户的资料,而用户数据按域以冒号:分隔,格式如下:

username:password:uid:gid:userinfo:home:shell

域的含义:

字段 含义
username 登录名
password 加密的用户口令
uid 用户ID
gid 用户组ID
info 用户信息
home 分配给用户的主目录
shell 用户登陆后将执行的shell

清空屏幕

clear

用户密码文件:/etc/shadow

linux使用不可逆的加密算法(如MD5 SHA1等)来加密口令

和/etc/passwd类似,/etc/shadow文件中每条记录用冒号分隔,形成9个域,格式如下所示:

username:password:lastchg:min:max:warn:inactive:expire:flag

3.其中各个域含义如表所示:

字段 含义
username 用户名
password 密码
lastchg 用户最后一次修改密码时间
min 两次修改密码之间的最小天数
max 密码保持有效的最多天数
warn 从系统开始警告到密码失效的天数
inactive 账号闲置时间
expire 密码失效的绝对天数
flag 一般不使用

新用户配置文件目录

/etc/skel

skel是skeleton的缩写,每当你新建一个用户的时候(通过useradd命令),/etc/skel目录下的文件,都会原封不动的复制到新建用户的家目录下

登录信息文件

/etc/motd

/etc/motd即messageoftoday(布告栏信息),每次用户登录时,/etc/motd文件的内容会显示在用户的终端

验证用户账号文件命令pwck

pwck命令是用来验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性

pwck(选项)(参数)

选项

-q:仅报告错误信息

-s:以用户ID排序文件“/etc/passwd”和“/etc/shadow”

-r:只读方式运行指令

参数

(/etc/passwd)密码文件:指定密码文件的途径

(/etc/shadow)影子文件:指定影子文件的路径

pwck /etc/passwd

二、根用户的管理

Linux根用户(root)概述

所有linux系统中,系统都是通过UID来区分用户权限级别,而UID为0的用户被系统约定为是具有超级权限。我们可以通过/etc/passwd来查找UID为0的用户是root,而且只有root对应的UID为****0。root用户是无可替代的而且无限制权限。root用户在系统中就是超级用户

超级用户权限:

\1. 对任何文件、目录或进程进行操作

\2. 对于涉及系统全局的系统管理

\3. 超级权限的不可替代性

查看进程

ps -ef

关闭进程

kill -9 pid

切换用户

su abc3

然后输入密码

返回原本用户

su –

然后输入原本用户的密码,返回

su – abc3

su命令就是切换用户的工具

su的用法

su[OPTION选项参数][用户]

-l,-login登录并改变到所切换的用户环境

-c,-command=COMMAND执行一个命令,然后退出所切换到的用户环境

sudo(是受限制的su)是授权许可使用的su

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或全部的root命令的一个工具,如halt,reboot,su等等。这样做不仅减少root用户的你的登陆和管理实践,同样也提高了安全性

普通用户运行

yum install wget

权限不够

夺取授权

sudo yuminstall wget

配置文件/etc/sudoers

三、用户组的管理

用户组描述:

Linux用户组是具有相同特征用户的逻辑集合

,将用户分组是linux系统中对用户进行管理及控制权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。用户和组的关系有:

  1. 每一个用户都至少属于一个用户组(一对一)
  2. 每个用户可以属于多个用户组(一对多)
  3. 同一用户组的用户享有该组的权限(多对一)
  4. 多个用户可以存在多个组中(多对多)

查看用户组配置文件

cat /etc/group

groupadd命令创建用户组

groupadd命令可以以指定名称来建立新的用户,group命令格式如下:

groupadd option groupname

groupmod命令修改用户组属性

groupmod命令可以修改用户组主属性,格式如下:

groupmod option groupname
groupmod –n newgroupname oldgroupname

groupdel命令删除用户组

groupdel命令可以用来删除系统中存在的组,使用该命令时必须确认待删除的用户组存在,格式如下:

groupdel groupname

初始组不可删除

组信息文件/etc/group

/etc/group文件对用户组的许可权限并不是必要的,这是因为系统用来自于/etc/passwd文件的UID GID来决定文件存取权限

用户组可以像用户一样拥有口令

如:haldaemon❌68:haldaemon

第一字段:组名

第二字段:组密码标志

第三字段:GID

第四字段:组中附加用户

组密码文件/etc/gshadow

如:haldaemon:!::haldaemon

第一字段:组名

第二字段:组密码

第三字段:组管理员用户名

第四字段:组中附加用户

无密码时,组密码是!

如果要使某个用户无法登陆,第二个域第一位加个!

也可以改变用户路径改成sbin/nologin

组密码

可以把这个组其他成员删除

也可以加入其他成员进入组中

四、用户和用户组的图形化管理

五、用户和用户组管理常见问题

一、对/etc/shadow文件的编辑导致用户密码丢失

当用户尝试修改密码时,如果其他人正在编辑/etc/shadow文件,将可能导致修改的密码失效

解决:

我们可以使用vi /etc/shadow命令来编辑时,自动对该文件加锁,编辑结束自动结束,从而保证了数据的一致性。

二、/etc/nologin文件引起普通用户无法登录

1./etc/nologin文件给系统管理员提供了一种在Linux系统维护期间禁止用户登录的方法。这种机制也被应用到系统的关机、重启环节中。通常系统在关闭时将自动创建/etc/nologin文件,禁止所有用户登录,然后处理相关程序的退出,停止工作,并在即将关闭系统前删除/etc/nologin文件。

2.如果系统在还未正常删除/etc/nologin文件前引出线突然断电停机等情况,就会出现因nologin文件未删除而引起的普通用户无法登录的现象。

解决:

根用户登录系统并删除nologin文件,问题即可解决。

三、账户到期或密码失效导致用户无法登录

1.通过chage命令查看账户密码的有效期

chage[选项] 用户名

-l:列出用户的以及密码有效期限

-m:修改密码的最大天数

-d:指定密码最后修改日期

Linux磁盘管理

常用的磁盘管理工具

fdisk磁盘分区工具

查看磁盘分区

fdisk –l

/dev/sda 第一块硬盘

Linux文件系统 ext3 ext4 centos redhat

ReiserFs(suse默认的文件系统)

格式化

fdisk /dev/sdb

m

n

p

1

20G

W

Linux磁盘分区后,就要建立Linux文件系统。类似于Windows下的格式化硬盘。在磁盘分区上建立文件系统会冲掉分区上的数据,而且不可恢复,因此在建立文件系统之前要确认分区上的数据不再使用。

建立文件系统的命令是mkfs

cat /etc/fstab

mkfs [参数] 文件系统

mkfs命令常用的参数选项:

-t 指定要创建文件系统的类型

-c 建立文件系统前首先检查坏块

-V 输出建立文件系统详细信息

mkfs –t ext4 –V –c /dev/sdb1

fsck命令主要用于检查文件系统的正确性。并对Linux磁盘进行修复。

fsck[参数选项] 文件系统

fsck 命令常用的参数选项:

-t:给定文件系统类型,若在/etc/fstab中已有定义或kernel本身已支持的不需添加此项。

-s:一个一个地执行fsck命令进行检查

-A:对/etc/fstab中所有列出来的分区进行检查

-C:显示完整的检查进度

-d:列出fsck的debug结果

-P:在同时有-A选项时,多个fsck的检查一起执行

-a:如果检查中发现错误,则自动修复。

-r:如果检查有错误,询问是否修复

fsck –a /dev/sdb1

dd命令可用于将指定的输入文件拷贝到指定的输出文件上。并且在复制过程中可以进行格式转换。dd命令与cp命令的区别在于:dd命令可以再没有创建文件系统的软盘上进行,拷贝到软盘的数据实际上是镜像文件。类似于DOS中的diskcopy命令的作用。

dd命令格式为:

dd[<if=输入文件名/设备名>][][bs=块字节大小][count=块数]

du命令可用于显示磁盘空间的使用情况。该命令逐级显示指定目录的每一级子目录占用文件系统数据块的情况。

du命令的参数选项:

-s:对每个name参数只给出占用的数据块总数

-a:递归显示指定目录中各文件及子目录中各文件占用的数据块数

-b以字节为单位列出磁盘空间使用情况

-k:以1024字节为单位列出磁盘空间使用情况

-c:在统计后加上一个总计(系统默认设置)

-l:计算所有文件大小,对硬链接文件重复计算

-x:跳过在不同文件系统上的目录,不予统计

du -sh *

df命令

df是来自于coreutils软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置

df –h

挂载与卸载命令

mount和umount

mount挂上文件系统

umount卸载文件操作系统

mount命令指示操作系统使文件系统在指定位置(安装点)可用。而且可以用mount命令构建由目录和安装文件(filemounts)组成的其他文件树。mount命令通过在Directory参数指定的目录上使用Device/Node:Directory参数来安装表示为设备的文件系统。mount命令完成后,指定的目录变为新安装文件系统的跟目录。

df –Th

fdisk –l

mkdir /backup

mount /dev/sdb1 /backup

/etc/fstab(自动挂载分区)

是用来存放文件系统的静态信息的文件

挂载光盘

mount /dev/cdrom /mnt/cdrom

卸载光盘

umount /dev/cdrom

dd 用于整个磁盘备份 类似于diskcopy

dd if=/dev/sdb of=/dev/sda 把本地/dev/sdb盘备份到/dev/sda

磁盘配额管理

/dev/sdb1 /backup ext4 defaults 0 0

/etc/fstab 它有6个区域 文件系统 挂载点 挂载类型 填写设置选项 dump

pass 代表的是如何指定使用fsck来检查硬盘,如果是1代表执行完整备份

uuid是全局唯一标识符

一、 查看系统是否支持quota

grep CONFIG——QUOTA //boot/config-2.6.32-220.el6.x86_64

CONFIG_QUOTA=y

CONFIG_QUOTA_NETLINK_INTERFACE=y

#CONFIG_QUOTA_DEBUG is not set

CONFIG_QUOTA_TREE=y

CONFIG_QUOTACTL=y

二、修改/etc/fstab文件,让需要进行配额的分区激活配额功能

vi /etc/fstab

/dev/sdb1 /backup ext4 grpquota,suid,dev,usrquota,extc 0 0

在位置部分的default后填写usrquota,grpquota,如果配置外加的新设备需要填写grpquota,suid,dev,usrquota,exec参数

三、使用quotacheck对设置了配置配额的目录进行初始化

quotacheck-avug

四、启动QUOTA

quotaon -av

五、编辑用户磁盘限额

edquota –u[username]

六、设定宽限时间

edquota -t

磁盘常见问题

一、 错误:设备上无剩余空间

当你的Linux系统磁盘写满了时你会在屏幕上看到这样的信息

No space left on device

查看硬盘空间

df –h

二、文件系统是只读模式吗?

当你尝试新建或保存一个文件时,你可能最终得到诸如以下的错误:

-bash:file:Read-only file system

mount /dev/cdrom /mnt/cdrom

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

修复磁盘写满的问题:

1、 用gzip,bzip或tar命令来压缩未压缩的日志和其他文件

gzip /tpusers/tap/4.log

bzip /ftpusers/tap/large.file

2、 在类Linux系统中用rm命令删除不想要的文件

rm –rf /ftpusers/tap/4.log

3、 用rsync命令移动文件至其它系统或外置硬盘

rsync --move-source-files –azv /ftpusers/tmpf.mov/mnt/usbdisk

rsync –remove-source-files –azv/ftpusers/tmp/f.mov

server2:/path/to/dest/dir/v

4、 在类Linux系统中找出醉斩磁盘空间的目录或文件

du –a /ftpusers/tmp |sort –n –r | head –n 10

du –cks * |sort –rn | head

5、 清空指定文件。这招对日志文件很有效

truncate –s o /ftpusers/ftp.upload.log

### bash/sh

/ftpusers/ftp.upload.log

##perl##

perl –e’trunce “filename”,LENGTH’

七、 在Linux和Linux中找出并删除显示着但已经被删除的大文件:

##基于Linux/Linux/OSX/BSD等系统##

lsof –np | grep’(deleted)’

##只基于Linux##

find /proc/#/fd-ls |grep ‘(deleted)

清空它:

##基于Linux/Linux/OSD/BSD等所有系统##

‘/path/to/the/deleted/file.name’

##只基于Linux##

‘/proc/PID-KERH/fd/FD-HERH’

检查在系统中识别文件及其属性的索引节点

df –i

df –I /ftpusers/

然后会输出部分内容

php 的session文件很小,很容易占满磁盘空间。需注意,还有一个就是系统发给root的邮件,sendmail postfix产生的小文件占满inode

LCTT译注:如果一个分区存储了太多的小文件,会出现inode用完而存储扇区还有空闲的情况,这种情况下要么清除小文件或在不需要独立访问的情况下将他们打包成一个大文件;要么将数据保存好之后重新分区,并设置分区的-t news属性,增加inode分配。

我的硬盘驱动器宕了吗?

日志文件中的输入/输出错误(例如:/var/log/messages)说明硬盘除了一些问题并且可能已经失效,你可以用smartctl命令来查看硬盘的错误,这是一个在类Linux系统下控制和监控硬盘状态的一个命令。语法如下:

smartctl –a /dev/DEVICE

#在Linux服务器下检查/dev/sda

smartctl –a /dev/sda

有时候系统突然断电,系统启动的时候,需要输入fsck修复系统盘。

Linux文件和目录管理

一、概念

1.Linux文件系统是指操作系统中与管理文件有关的软件和数据

2.Linux的文件系统和Windows中的文件系统有很大的区别,在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。

3.在Linux中把每一个分区和某一个目录对应,以后在对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理和软件目录管理手段的统一。这个把分区和目录对应的过程叫做挂载(Mount),而这个挂载在文件树中的位置就是挂载点。

4.WIndwos下的主流文件系统是FAT32、NTFS;

5.Linux下的主流文件系统是:EXT3、EXT4;

一级目录:

cd /

ls

ll

二级目录:

cd boot/

ls

ll

Linux系统主要目录及其内容
目录 内容
/bin 构建最小系统所需要的命令(最常用的命令)
/boot 内核与启动文件
/dev 各种设备文件
/etc 系统软件的启动和配置文件
/home 用户的主目录
/lib C编辑器的库
/media 可移动介质的安装点
/opt 可选的应用软件包
/proc 进程的映像
/root 超级用户的主目录
/sbin 和系统操作相关的命令
/tmp 临时文件存放点
/user 非系统的程序和命令
/var 系统专用的数据和配置文件

Linux文件系统建立文件和目录

1.建立目录mkdir

mkdir命令可以一次建立一个或几个目录

2.建立一个空文件:touch

touch命令建立空文件,还可以更新一个文件的建立日期和时间

Linux文件系统移动、复制和删除文件

1.移动和重命名mv

2.复制文件和目录cp

3.删除目录和文件rmdir和rm

二、Linux文件的类型

Linux中文件的类型
文件类型 符号
普通文件 -
目录 d
字符设备文件 c
块设备文件 b
本地域套接口 s
有名管道 p
符号链接 l

查看进程

ps –ef

查看文件类型

ls -l

建立连接ln

符号链接(也成为“软链接”)需要使用-s参数的ln命令来创建。

硬链接:硬链接指通过索引节点来进行连接。在Linux得文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,成为索引节点(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

硬连接的2个限制:

1、不允许给目录创建硬连接

2、只有在同一文件系统中的文件之间才能创建链接。即不同硬盘分区上的两个文件之间不能够建立硬连接。

建立链接文件--创建文件链接

创建文件夹
mkdir test1

创建文件
touch abc1
ls
ln –s abc1 /root/abc1
cd ..
ls –l
rm –rf abc1
ll
ln –s /root/test1/
abc1 hello

这里的.表示当前路径,整句表示是从原路径/root/test1/abc1链接到.即连接到当前路径

ln –s /root/test1/abc1     .
ll

echo aaaaa>abc
echo aaaaa>abc1
cat abc1
aaaaa
cd ..
ls
ll
rm –rf abc1
ls
ll
cd test1/
ls
cat abc1
cd ..
ln –s /root/test1/abc1  /root/abc1
ll

创建目录链接

cd test1/
ll
mkdir user-1
ll
ln –s /root/test1/user-1 /root/user-1
cd ..
ls –l
cd user-1/
ls
touch abc
ls
cd ..
cd test1/user-1/
ls
cd
ls
rm –rf user-1
cd test1
ls
ln hello hard_hello
ll
cat hello
dddddddd
cat hard_hello
dddddddd
echo abc >>hello
cat hard_hello
dddddddddd
abc

相对路径和绝对路径

相对路径:以某一个目录作为参照点,到达目标文件或者目录的路径

绝对路径:就是从根开始,依次向下直到文件或者目录的路径

cd ..

pwd

cd test1/user-1/

pwd

cd /root/test1/user-1

ls

三、文件和目录的权限

1.权限设置只针对用户

Linux为3种人准备了权限—文件所有者(属主),文件属组用户和其他人(不包括root)。

文件名前有.为隐藏文件

2.需要设置哪些权限

可以给某些用户对文件和目录享有3种权限:读取(r),写入(w),执行(x)

touch a.sh

vi a.sh

#!/bin/bash

ls –l

chmod u+x a.sh

./a.sh

3.查看文件和目录属性

使用带选项的-l的ls命令可以查看一个文件属性,包括权限

ls- l

drwxr-xr-x

d表示目录

rwx表示属组

r-x表示组

r-x表示其它

4.改变文件所有权chown和chgrp(一般通过root权限修改)

  1. chown命令用于改变文件所有权
  2. chgrp命令用于设置文件的属组

将test1的权限由root转向user1

chown user1:root test1

将test1的属组由root转向user1

chgrp user1 test1

5.改变文件权限chmod

chmod用于改变一个文件的权限,这个命令使用“用户组+/-权限”的表述方式来增加和删除相应的权限。具体来说,用户组包括了文件属主(u),文件属组(g),其它人(o)和所有人(a),而权限则包括了读取(r),写入(w)和执行(x)

读取用数组表示4

写入用数字表示2

执行用数字表示1

删除写入权限

chmod u-w test1

增加写入权限

chmod u+w test1

也可以采用数字叠加赋值:

赋予对于test1的所有权限

chmod 555 test1

只有读的权限

chmod 774 test1

四、IO重定向及管道操作

新地址:172.23.62.72

所以需要重新设置虚拟机地址以进行局域网通信

设置了新的虚拟机server001通信地址eth0的地址为172.23.62.1

1.输出重定向

程序在默认情况下输出结果的地方被称为标准输出(stdout),通常来说,标准输出一般是指显示屏。

ls >abc1

cat abc1

追加,重定向

ls >>abc1

cat abc1

不追加

ls >abc1

查看日期

date

追加日期

date >abc1

cat abc1

uname –r >>abc1

cat abc1

2.输入重定向

和标准输出类似,程序默认情况下接受输入的地方称为标准输入(stdin),通常来说标准输入指向的是键盘。

显示输入

cat

dddd

按ctrl+d结束输入

touch days

cat >days

vi days

Monday

Tuesday

输出文件内容

cat >days

cat <<BOF

hello

bye

eof

EOF

按ctrl+d结束输入,并会输出刚才输入的一切

3.双重输出重定向

使用>和2>可以将一次操作正确、错误输入,被单读的送到不同地方:

find / -perm -2 2>error >abc

使用&将所有输入都送到同一个地方

find / -perm +6000 >abc1

rm –rf abc1

abc1里都是正确的

find / -perm -2 2>error >abc1

rm –rf abc2

错误的,正确的都在abc2里

find / -perm +6000 >abc2

\3. 管道

管道将“重定向”再向前推进了一步,通过一根竖线“|”,将一条命令的输出作为另一条命令的输入。允许多重管道。

ls –l |grep log

ls –l |grep log

将一条命令ls –l的输出连接到另一条命令grep log的输入

输出第一个域

ls –l |grep log |awk –F “ ” ‘{print $1}’

五、打开文件和目录

文件和目录管理常用命令
命令名 作用
文件和目录操作中常用适配符(?和*) ?代表一个字符,*代表所有字符
ls 列出一切于目录的文件
cd 切换目录
cp 复制文件
rm 删除文件
mkdir 建立目录
rmdir 删除目录
mv 移动文件
find 查找文件
grep 查看文件内容
chown 改变文件所有权
chrgp 改变文件属组的所有权
cat 查看文件内容
more more可以按页来查看文件的内容 (按空格键切换)
less less与more类似但是用less可以随意浏览文件
head head用来显示的开头n行,默认head命令打印
touch 创建文件,改变文件或目录时间
sort sort 命令是做不同的数据类型通过排序
comm comm命令是比较两个已经排序文件每行数据的顺序
diff 用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方
cut cut是选取命令,取出我们想要的数据
locate 用于查找文件,它比find命令的搜索速度更快
spilt 按指定的行数截断文件

显示3个字符的文件

ls –l ???

显示所有带b字符的文件

ls –l b

显示所有文件

ls –l *

查找abc1里所有带bin路径的文件

grep bin abc1

显示文件的开头n行

head 10 install.log

对文件排序

cat install.log|sort

对abc和abc1进行排序输出

comm abc abc1

输出两个文件之间不同的地方

diff abc abc1

对于Linux内核对usb介质有着很好的连接,一般是自动挂载。

Linux终端常用命令

一、 Liinux终端窗口

\1. 在图形界面下启动终端窗口进入命令行工作方式

ctrl+alt+F3切入命令行,F1切换回来

\2. 在系统启动时进入命令行终端方式

\3. 使用远程登录方式

二、命令行自动补齐

Bash Shell提供几种对输入不完整的值自动补齐的方法。如果想对输入进行自动补全,只需输入初始的几个字母,然后按“TAB”键,系统会自动匹配所需的其余输入。当有多种匹配时,系统会给出提示,按“ESC+”组合键或按两次“TAB”键,可以列出所有可能的匹配。

cd /tmp/

cd /etc/

ls

先不按回车,按下“TAB”键,然后会自动列出所有可能

如果遇到这句(显示所有130种可能?)

Display all 130 possibilities?(y or n)^c

就按下ctrl+c

二、常用的信息显示命令

常用的命令信息显示命令
命令 功能
pwd 查看“当前工作目录”的完整路径
stat 查看文件的详细信息
uname 显示当前操作系统名称参数
hostname 查看本机的主机名
dmesg 显示开机信息
free 查看系统内存的使用情况
locale 用于查找文件
lastb 用于列出登入系统失败的用户相关信息
date 以给定的格式显示当前时间

显示当前用户名称

pwd

查看关于abc1信息

stat abc1

查看内存使用情况

free -m

date +%Y%m%d

date +%Y-%m-%d

常用的命令信息显示命令
命令 功能
clock 强制把系统时间写入CMOS
lsmod 查看已经加载的模块
set 设置各种shell选项或者列出shell变量
rulevel 系统运行级别
sysctl 允许您改变正在运行中的Linux系统的接口
uptime 查看Linux系统负载,登陆情况
ps 为我们提供了进程的一次性的查看
top 显示系统中各个进程的资源占用状况
pstree pstree命令以树状图显示进程间的关系
history 显示历史指令记录内容
mesg 用于对方系统屏幕中显示信息

可更改系统指令记录显示条数

vi /etc/profile

source /etc/profile

hitory

\4. 用cat命令查看系统信息

命令 功能
cat /etc/issue 查看当前系统
cat /proc/cpuinfo 查看cpu信息
cat /proc/interrupts 列出当前系统使用的中断的情况
cat /proc/filesystems 查看可用的文件系统
cat /proc/stat 各个中断序号发生中断的次数

三、常用的系统管理命令

常用的系统管理命令
命令 功能
mkbootdisk 创建引导软盘
kill 关闭进程命令
killall 杀死同一进程组内的所有进程
allas 设置别名
unallas 可删除别名设置
clear 这个命令将会刷新屏幕
reboot 重新引导系统
shutdown shutdown命令不仅可以关闭系统、也可以重启Linux系统
& 后台稳定运行
jobs 查看当前有多少在后台运行的命令
fg 将后台中的命令调至前台继续运行
bg 将一个在后台暂停的命令,变成继续执行
exit 退出终端
halt halt –p关闭系统后关闭电源
sync sync就是为了数据同步
mknod mknod命令来申请设备文件
chattr 用chattr命令防止系统中某个关键文件被修改(包括root都不能修改)
echo 显示屏上显示一段文字,一般起到一个提示的作用
wc 统计指定文件中的字节数、字数、行数,并将统计信息显示输出

查看进程

ps –ef

关闭PID为10075的进程

kill -9 PID

kill -9 10075

vi .bashrc

source .bashrc

cat .bashrc

source .bashrc

admin

vi a.sh

chmod 775 a.sh

./a.sh &

锁定该文件

ls –l /etc/resolv.conf

chattr +i /etc/resolv.conf

然后就无法移动,删除该文件

mv /etc/resolv.conf .

rm –rf /etc/resolv.conf

解除锁定该文件

chattr –i /etc/resolv.conf

可以将该文件移动到.(即当前位置)

mv /etc/resolv.conf .

让某个文件只能往里追加数据,但不能删除数据

chattr +a /etc/resolv.conf

统计行数

ls | wc -l

四、使用mount命令挂载外设

mount通常不必指定设备类型,它会自动选择正确的类型,常用的挂载类型有:

\1. 光盘或光盘镜像

\2. ntfs文件系统

\3. smb文件网络共享

\4. nfs文件网络共享

smb挂载

mount.smbfs /192.168.1.1/somedir dir –o username=xx,password=xxxx

nfs挂载

mount 192.168.1.2:/data/export data/export

五、Linux备份与压缩的策略

1.tar打包文件

2.gzip压缩文件

3.zip压缩

备份机制根据不同情况选择不同计划

选择备份机制

\1. 制定一个备份计划

多长时间一次备份

是完整备份还是增量备份

频繁更新的web站点,每天都要做一次备份

六、打包程序tar

tar命令本身只进行打包不进行压缩,主要功能是将多个文件或目录打包在一个文件里,以便于传输和保存

基本选项:

-c:创建新的备份文件

-v:verbose模式,即显示命令执行时的信息

-f:指定压缩的文件格式

-x:对文件进行恢复

-z:指定压缩为.z格式

-t:查询包中内容

将abc、anaconda-ks、cfg打包到abc.tar.gz(压缩)

tar –czwf abc.tar.gz abc abc. anaconda-ks.cfg

mkdir user1

mv abc.tar.gz user1

cd user1/

ls

解压文件(如果打包的时候没有用到t,解压时用到t会失败)

tar –xzvf abc.tar.gz

查询包中内容

tar –czvft abc.tar.gz *

解压

tar –xzvft abc.tar.gz

七、压缩程序gzip和gunzip

gzip具有高校压缩率,但只能逐个生成压缩文件,无法将多个文件压缩并打包成一个文件,所以gzi铺、通常和tar配合使用。即先用tar将多个文件打包,然后用gzip进行压缩,通常生成“.tar.gz”或“.tgz”为后缀名的文件

gzip命令格式如下:

gzip[选项][-S suffix] 文件名

-d 解压缩

-f 对输出文件强制写覆盖并对链接文件进行压缩

-r 对目录进行递归操作

-t 检测压缩包的完整性

-S 使用自定义的压缩文件后缀名

压缩

gzip anaconda-ks.cfg

ls

解压

gunzip anaconda-ks.cfg

八、压缩程序zip与unzip

unzip的命令格式如下:

unzip【选项】 zip文件

-Z:以zininfo格式显示压缩文件内的信息

-l:以简略格式输出压缩文件的基本信息

-L:如果压缩文件是从不区分大小写的文件系统中创建

-t:通过CRC校验对zip压缩包进行检测

-x:用于排除压缩包中的特定文件

压缩文件
zip abc.zip *
ll
mkdir abc
cd abc
cd ..
mv  abc.zip  abc
cd abc/
ls
解压
unzip abc.zip
ls

排除特定文件(install.log.syslog)

zip  install.zip  *  -x  install.log.syslog
ls
mkdir abc
cd abc/
cd ..
mv install.zip abc/
cd abc/
ls
unzip install.zip
ls

zip –r myfile.zip ./*

将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下的所有文件。

unzip

unzip –o –d /home/sunny/myfile.zip

把myfile.zip文件解压到/home/sunny/

-o:不提示的情况下覆盖文件;

-d:-d /home/sunny 指明将文件解压到/home/sunny目录下;

其他

zip –d myfile.zip smart.txt

删除压缩文件中smart.txt文件

zip -n myfile.zip ./rpm_info.txt文件

要使用zip来压缩文件,在shell提示下键入下面的命令:

zip –r filename.zip filesdir

九、其他常用命令与压缩工具

1.压缩程序bzip2与bunzip2

rm –rf install.zip

bzip2 install.tar *

ls

ll

bunzip2 install.log.bz2

\2. dump与restore命令

dump备份文件系统 可以做增量备份

restore 恢复,还原

\3. cpio命令

cpio 压缩,解压缩

cpio –covB

cpio –icduv

4.dd命令

dd 磁盘备份

十、Linux其他相关命令

rsync是linux系统下的数据镜像备份工具-remote sync。一款快速增量备份工具Remote Sync,远程同步,支持本地复制,或者与其他SSH,rsync主机同步。

rsync参数:

-v,  --verbose   详细模式输出
-q,   --quiet   精简输出模式
-c,  -checksum打开校验开关。强制对文件传输进行校验
-a,  --archive  归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r,   --recursive  对子目录以递归模式处理
-R,   --recursive 使用相对路径信息
-b,   --backup  创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用-suffix选项来指定不同的备份文件前缀。
--backup-dir将备份文件(如filename)存放在目录下
--suffix=SUFFIX 定义备份文件前缀
-u,   --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l,   --links  保留软链接
-L,  --copy-links想对待常规文件一样处理软链接
--copy-unsafe-links仅仅拷贝指向SRC路径目录树以外的链接
--safe-links 忽略指向SRC路径目录树以外的链接
-H,    --hard-links  保留硬链接
-p,   -perms  保持文件权限
-o,   ---owner保持文件属主信息
-g,   --group保持文件属组信息
-D, --devices保持设备文件信息
-t,   --times  保持文件时间信息
-S ,  --spare 对稀疏文件进行特殊处理以节省DST的空间

服务端启动

/usr/bin/rsync –daemon –config=/etc/rsyncd/rsyncd.conf

客户端同步

rsync –参数 用户名@同步服务器的IP::同步名字

同步信息

A机器:

mkdir /data/test

cd /data/test/

ls

touch abc.txt

ifconfig

B机器:

mkdir –p /data/abc

cd /data/abc/

ls

查看B机器上的rsync的Local Address(端口)

netstat -ntlp

cd /etc/

ls

查看/usr/bin/rsync –daemon –config=/etc/rsyncd.conf进程

ps –ef

cat /etc/rsyncd.conf

vi rsyncd.conf

A机器:

rsync –avzp root@172.23.62.1:test /data/test

查看防火墙

iptables –L -n

清空防火墙

iptables –F

rsync -vazrtopg root@172.23.62.1::test -exclude-from=”/root/scripts/1.txt” /data/abc --password-file=/etc/rsyncd.secrets --include “*”

scp anaconda-ks.cfg.gz root@172.23.62.1:/root/backup

cd .ssh/

rm –rf id_rsa id_rsa.pub known_hosts

ssh-keygen

cat id_rsa.pub

然后传递公钥到另一台机器上

遇到些问题,需要安装rsync,配置rsync,可以参考以下文档链接:

https://www.cnblogs.com/wenxinphp/p/5800446.html

二、scp可以在2个Linux主机间复制文件

1、从本地复制到远程

scp local_file remote_ip:remote_folder

2、从远程复制到本地

scp 本地用户名 @IP 地址:文件名1 远程用户名@IP 地址:文件名2

-rw------- (600) -- 只有属主有读写权限。

-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。

-rwx------ (700) -- 只有属主有读、写、执行权限。

-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。

-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。

-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。

Linux系统监测与维护

一、 监测系统资源和性能

\1. 使用proc文件系统查看系统内核

proc不是一个真实的文件系统,不占用外存空间,只是以文件的方式为访问Linux内核数据提供接口。用户和应用程序可以通过查看/proc得到系统的运行信息,并可以改变内核的某些参数。由于系统的信息总是动态变化的,所以用户或应用程序读取proc文件时所获得的数据也是瞬时的。许多应用程序依靠proc来访问Linux内核信息。

cd /proc/

cat cpuinfo

\2. 监视进程

进程是操作系统的一种抽象概念,用来表示正在运行的程序。

进程属性:

PID 进程的ID号
PPID 父进程的PID
UID和EUID 真实和有效的用户ID
GID和EGID 真实和有效的组ID
进程优先级

查看当前正在运行的进程情况

ps aux

%MEM 占用内存百分比
VSZ 进程占用虚拟内存大小
RSS 内存中页的数量
TTY 进程所在终端的ID号
STAT 僵尸进程(z),正在进行的进程(R),睡眠的进程(S),不能被唤醒的进程(D),会话的先导进程(s)

ps –lax

\3. top命令

即时跟踪进程信息

top

按ctrl+c退出跟踪

\4. lsof命令

查看占用文件的进程

lsof 文件名

lsof /lib64/ld-2.12.so

\5. kill命令

向进程发送信号

kill[-signal] pid

常用的信号(signal)
信号编号 信号名 描述 默认情况下执行的操作
0 EXIT 程序退出时收到该信号 终止
1 HUP 挂起 终止
2 INT 中断 终止
3 QUIT 退出 终止
9 KILL 杀死 终止
11 SECV 段错误 终止
15 TERM 软件终止 终止

二、查看用户使用系统资源情况

w命令:

在多用户环境下,每个用户都可以登录到系统,执行不同的程序。利用w命令可以查看当前有哪些用户已经登录,以及正在进行什么操作。

who命令:

使用who命令可以查看系统当前有哪些用户登录

last命令:

使用命令last可以查看有哪些用户登录过系统

ac命令:

不带任何选项的ac命令可以查看系统总的连接时间

\3. 管理守护进程

什么是守护进程

是一类在后台运行的特殊进程,用于执行特定的系统任务

服务器守护进程运行的方式

配置xinetd

inetd xinetd 就是为了解决守护进程空闲时间而产生的。

\4. Linux系统引导

Linux启动的步骤

\1. 加载并初始化Linux系统内核

\2. 配置硬件设备

\3. 内核创建自发进程

\4. 由用户决定是否进入手工引导模式

5.(init进程1)执行系统启动脚本

6.进入多用户模式

cd /etc/xinetd.d/

cd /etc/init.d/

ls

/etc/init.d/ss

init和运行级

服务器启动版本

三、利用自动作业程序实现系统自维护

1、任务计划:cron

cron是一个Linux下的定时执行工具,可以在无需人工干预的情况下

运行作业。由于cron是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

/etc/init.d/crond start|restart|stop

启动服务

service srond start

关闭服务

service crond stop

重启服务

service crond restart

重新载入配置

service crond reload

chkconfig –list |grep crond

crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

/etc/init.d/crond restart

2.crontab命令选项:

-u:指定一个用户

-l:列出某个用户的任务计划

-r:删除某个用户的任务

-e:编辑某个用户的任务

3.几个特殊符号的含义:

“**”代表取值范围内的数字

“、”代表”每”

“-”代表从某个数字到某个数字

“,”分开几个离散的数字

cron文件语法:

分 小时 日 月 星期 命令

* * * * * *

0-59 0-23 1-31 1-12 0-6 command

crontab -e

1 * * * * ls

05 21 * * * pwd

05 7 8 * * ls

4.系统全局cron配置文件

和系统维护有关的全局任务计划一般都放在/etc/crontab中。

另一个存放系统crontab的地方是/etc/cron.d目录

at命令

用于一次性的任务

at 时间

atq命令

可以看到当前已经设置的任务

四、改变进程优先级

nice命令

可以根据用户的需要设置进程执行的优先级

NI(谦让度)低谦让度高优先级,高谦让度低优先级

nice和renice谦让度的值 -20至 +19之间

nice –n 2 程序名

renice命令

nice命令用于设置优先级并执行相应的程序。如果一个程序已经开始执行,可以使用renice命令对优先级进行调整。

renice +10 -p 进程名

五、Linux系统日志

1、常见的日志

/var/log/cron 记录crontab日志

/var/log/dmesg 记录系统开机的时候核心侦测过程所产生的相关资讯

/var/log/lastlog 可以记录系统上面所有账号最近一次系统时的相关资讯

/var/log/maillog 记录邮件往来资讯,主要记录sendmail

/var/log/messages 系统日志(重要,系统日志)

/var/log/secure 涉及到“需要输入账号密码”的,登入时要记录在此档案中

cd /var/log/

ls

cat cron

ls

cat dmesg

2、日志的服务程序有:

syslogd 主要登录系统与网络等服务的讯息

klogd 主要登录核心产生的各种资讯

logrotate 主要在进行登录档的轮替功能

cat /etc/log/logrotate.conf

日志级别:

1、info 仅是对一些基本讯息的说明

2、notice 比 info 还需要被注意到的一些资讯内容

3、warning 警示,可能有问题

4、err 重大的一些问题

5、crit 比error还要严重的错误资讯

6、alert 警告,这个比crit更严重

7、emerg 疼痛级别,几乎要当机的一个状态

日志轮替 logrotate

cat /etc/logrotate.conf

3、查看日志是否打开

ps aux |grep sylog

chkconfig --list

4、清空运行日志

随着系统运行时间越来越长,日志文件也会变得越来越大。

如果创建日志文件的服务正在运行,必须停止服务,才能正常删除日志,否则会产生不可预测的后果。但可以利用echo命令清空日志,而不必停止日志服务。

touch a.txt

echo >a.txt

5、使用日志进行故障诊断

一、使用/var/log/dmesg日志文件

二、使用/var/log/cron日志文件

三、日志分析工具Logcheck

课程总结

Vmare虚拟机的安装与配置

Linux系统的安装

Linux网络的配置

SSH安全连接

Linux文件与目录的管理

Linux用户与用户组的管理

Linux系统的检测与维护

vi编辑器

基础操作命令

系统检测与维护

1、从事运维工作 还需学习Linux系统服务管理,shell脚本 监控(初级-中级-高级运维)

2从事开发 在Linux上面安装开发环境(基本掌握 从熟悉到熟练)

3、从事架构 学习高可用 集群管理(高级运维方向,还需懂开发)

posted @ 2018-09-04 16:27  海韵༒听心  阅读(491)  评论(0编辑  收藏  举报