202208029

linux操作系统与应用编程
linux系统采用分成结构:
应用层 系统接口层 内核层 硬件交互层
在linux系统中,每支持一个用户远程登录,会消耗系统1MB左右的内存,用户退出系统不但可以将消耗的内存归还,还可以避免系统记账日志继续记录,以及用户账号被他人利用,用户文件遭到破坏等现象的发生。
退出系统的方法是在系统提示符后输入字符exit或logout,或同时按下Ctrl和D键。exit,logout,Ctrl-D这三种退出方式的区别是:logout是用户这次使用环境注销,exit和Ctrl-D是退出这次特定的Shell进程。
在用户之间切换su,成功切换到root,出现系统提示符“#”。普通用户则是“%”
命令通用格式如下: command [-options] [arguments]
其中选项表示如下:command是命令的名称 options是对命令作用的要求 arguments是描述命令作用对象的命令参数
pwd命令显示当前的工作目录
系统的运行级定义及管理文件为/etc/inittab文件。控制运行级运行的脚本位于目录/etc/rc.d/rc#.d中,例如初始化进程选择运行级3时,则执行目录/etc/rc.d/rc3.d目录中的文件。
在linux系统中常用的用户管理文件有:/etc/passwd文件 /etc/shadow文件 /etc/security/shadow文件 /etc/group文件
/etc/passwd文件是系统用户认证访问权限的第一个文件。
/etc/shadow文件是系统中管理用户密码。
/etc/group文件是管理用户组 查看用户组:[root@localhost 桌面]# groups

使用jobs命令显示用户当前的所有作业
:“+”表示现行作业,“-”表示前一个作业;Running表示正运行的作业,Stoped表示已停止的作业,Suspended表示挂起的作业

监控进程活动信息的应用软件包psacct
chkconfig 命令用于检查,设置系统的各种服务:开启服务chkconfig telnet on//开启Telnet服务;关闭服务chkconfig telnet off//关闭Telnet服务

ps命令可用于显示正在运行的进程信息(进程管理命令)
请添加图片描述
ps(process status)命令用于显示当前进程的状态,显示处于活动状态的进程信息,类似于windows的任务管理器
参数:-A列出所有进程-au显示较详细的资讯-aux显示所有包含其中使用者的行程
查找指定进程的格式:ps -ef | grep 进程关键字
命令ps -el#可查看进程状态,如果标识是Z,则进程处于僵死状态
ps -fu zhang#列出进程的全部清单,列出用户zhang的所有进程

使用kill命令终止后台进程(作业)命令:kill -9 pid#表示终止正在运行的进程号为pid的进程,在终止进程前一定要知道所终止进程的pid,使用ps -e可以得到所要终止进程的pid
例子:终止httpd,首先使用ps查得进程httpd的pid为5198,然后使用命令kill -9 5198终止给进程,最后使用命令ps -df | grep httpd验证是否已经终止该进程。
#ps -ef | grep httpd
UID PID PPID C STIME TTY TIME CMD
root 5198 1 0 08:45 - 09:10 httpd
#kill -9 5198
#ps -ef | grep httpd

sleep命令,使进程睡眠 格式:sleep n 让进程睡眠n秒 例:sleep 5
wait命令,等待后台进程结束 wait [pid]#如果指定pid,则等待该进程结束;如果没有指定pid,则等待该shell中所有进程结束,例:wait 12888#等待进程号为12888的进程结束

僵死进程数zombie
vmstat命令显示虚拟内存信息,包括调页,磁盘,内存和cpu的统计数据
iostat命令显示磁盘与cpu,终端有关的统计信息

守护进程(daemon):就是一直在后台运行的进程。

查看系统平均负载:
1)cat /proc/loadavg 输出结果如下:0.27 0.36 0.37 4/83 4828/
前三个数字大家都知道,是1、5、15分钟内的平均进程数(有人认为是系统负荷的百分比,其实不然,有些时候可以看到200甚至更多)。后面两个呢,一个的分子是正在运行的进程数,分母是进程总数;另一个是最近运行的进程ID号。
2)uptime
说明: uptime 提供使用者下面的资讯,不需其他参数:
现在的时间 系统开机运转到现在经过的时间 连线的使用者数量 最近一分钟,五分钟和十五分钟的系统负载
3)w
说明:显示目前登入系统的用户信息
4)top
说明:显示,管理执行中的程序
5)tload
说明:显示系统负载状况
服务器负载高怎么办?:可能由于cpu资源不足,I/O读写瓶颈,内存资源不足,cpu正在进行密集型计算等原因。使用,vmstat,iostat,top命令判断负载过高的原因,并找到具体占用大量资源的进程进行优化处理

网元是网络管理中可以监视和管理的最小单位

source命令:
解析:source 就是 重新读的意思;.bashrc 是 系统 存放 全局变量和局部变量的 一个文件,和 /etc/profile 一样。/etc/profile 是 linux 系统中所以用户 又具有的变量 ,如果 你要 不同的用户 有各自的变量 ,如果 你要 不同的用户 有各自的变量 。
命令用法:source FileName 注:该命令通常用命令“.”来代替
使用范例:1.source filename 2. . filename(中间有空格)
source(或.)命令通常用于重新执行刚修改的初始化文档,如.bash_profile和.profile等等
例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。
source filename 与 sh filename 及./filename执行脚本的区别:
1)当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。
2)sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。
3)source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
在这里插入图片描述

rpm安装的mysql 才可以用系统管理命令去调用,如果是源码包安装 需要在bin目录下找到 程序脚本 才可以启动 。一般程序 安装完毕后 你要了解一些东西 比如 进程名 程序名 包名 ,比如说 dns 程序,Dns是做 域名解析的 包名叫bind 服务名叫 named ;比如 apache 包名 叫 httpd 服务名也叫httpd。

linux文件系统基础:
在Linux2.6内核之前,文件目录/dev下提供了所有设备的管理文件;在Linux2.6内核之后,文件目录/sys下提供了根据实际应用的总线为分级的设备管理文件,通过这些文件与操作内核交互。
在Linux文件系统目录中,/proc不是一般的目录,而是一个只存在于内存,不占用外存的虚拟文件系统。/proc以文件系统的方式为用户或应用程序访问系统内核空间信息提供接口。
输入命令cat /proc/filesystems 可以查看文件系统列表,输入命令 cat /proc/cpuinfo可以查看cpu信息
加载与卸载:将文件系统连接到系统可用的目录层次中的过程称为加载,反之为卸载。
磁盘分区管理:fdisk -l #查看系统的分区表
维护文件系统:df命令用于查看文件系统磁盘磁盘总空间,可用空间信息和文件系统加载情况。
du命令用于查看文件和目录的信息,只能显示整个文件系统的信息,无法知道硬盘上个别目录或整个目录的情况,而du命令在这方面却有优势。
quota命令用于显示磁盘已使用的空间与限制。

文件系统的备份与恢复:
在文件系统中,以下目录需要备份:
目录/etc包含所有核心配置文件,如用户管理,网络配置,系统设置,防火墙规则,NFS文件系统配置等
目录/var包含系统各种守护进程所使用的的信息,如DNS配置,HTTP服务和SMTP服务等
目录/home是所有用户的家目录,有用户存放在系统中的重要信息
目录/bin存放系统的常用命令
目录/opt是安装各种应用软件的地方,如OpenOffice和JDK等,需要备份
以下目录不需要备份:
目录/proc是虚拟文件系统
目录/dev是硬件设备管理的文件
目录/tmp,/var/tmp,/usr/var/tmp通常存放临时文件,不用备份
系统备份是指对文件系统的备份
Linux系统中支持备份与恢复工具主要有:
dump和restore
volcopy和labelit
tar,cpio,dd
备份工具dump和恢复工具restore:
例子:将opt 目录完全备份到/dev/rmt/lcbn/opt的本地刺刀驱动器上
#dump 0unbdsf 128 12100 11500 /dev/rmt/lcbn/opt
其中选项0表示0级,全部文件系统备份(level,指定dump进行的备份级别,可以使0~9,其中9是默认级别)
u告诉dump更新dumpdates文件,由于dumpdates文件中列出每个文件系统的原始设备以及设备上最近一次每个级别的备份,作增量备份时要用到该文件,所以必须更新。
n告诉dump当它完成时要通知系 统管理员。选项b指定的块因子为128,选项d和s告诉dump备份卷为121000和11500,选项f指名使用/dev/rmt/lcbn设备来备份。
例子:使用命令读取device上的dump备份内容表,并重定向到文件/tmp/dump.list,然后从该文件中查找要恢复的文件restorefile。
#restore tfy device >/tmp/dump.list
#grep restorefile /tmp/dump.list
2546 ./home/restorefile
tar命令适合于文件目录的备份与恢复:
例子:备份目录/home到文件file.tar tar cvf file.tar /home
恢复文件file.tar到目录/home下 tar xvf file.tar /home

绝对路径:从根目录开始的路径。如:/usr/share目录
相对路径:相对于当前目录的路径。如:…/share目录
(.当前目录…上一层目录-前一个工作目录-当前用户的家目录-account account用户的家目录)

查询/etc/下有多少文件,并能够前后翻动相关信息:
[root@localhost ~]# ls -al /etc | less 后,显示出来的信息,在冒号后面输入2,就会翻到第二页,输入q就会退出。

linux分区管理:
磁盘分区命令:fdisk,parted,mkfs(mkfs.ext4),partprobe,mount,unmount,dumpe2fs
/etc/fstab(开机文件系统挂载的文件 ),/proc/mounts(查看文件系统挂载的文件),/etc/mtab
网络文件系统NFS(MFS,GFS):
服务端:/etc/init.d/rpcbind start
/etc/init.d/nfs start
客户端:
/etc/init.d/rpcbind start
查看挂载的命令:showmount -e 10.0.0.7(ip地址)
NFS配置文件:/etc/exports
共享目录 ip或主机名(参数)
查看服务端默认的参数:/var/lib/nfs/etab
在客户端查看挂载的参数:/proc/mounts
修改文件后重启:/etc/init.d/nfs reload
exportfs -rv
exportfs 直接共享目录,而不需要放置在/etc/exports

sd代表scsi硬盘,hd代表ide硬盘,例子:
1)第二块scsi硬盘的第1个分区设备文件名是什么?
设备文件名是sdb1,访问路径为/dev/sdb1
2)第三块ide硬盘的第2个分区设备文件名是什么?
设备文件名是hdc2,访问路径为/dev/hdc2
建立文件系统的常用命令是mkfs,调整文件系统的命令是tune2fs

1)查看第一块scsi硬盘的分区表信息,命令写法如下:#fdisk -l /dev/sda
2)进入fdisk交互模式:fdisk /dev/sda 后输入子命令p查看该磁盘分区的详细信息
3)将分区sda5挂载到/mnt/sda5目录,命令写法如下:#mount -t auto /dev/sda5 mnt/sda5
auto:自动检测文件系统

生产分区的建议:
常规分区:web集群节点
/boot 100-200M
swap 内存1.5(如果内存大于8G,只分8-16G)
/ 剩余分区

数据库和存储
/boot 100-200M
swap 内存1.5(如果内存大于8G,只分8-16G)
/ 80-100G
/data 数据分区

门户网站:灵活分区方式
/boot 100-200M
swap 内存1.5(如果内存大于8G,只分8-16G)
/ 80-100G
剩余分区不分,留着。将来领用的部门自己再分

ssh服务:
ssh服务端的进程名为sshd
小结:1.ssh安全的加密协议,用于远程连接服务器 2.默认端口是22,安全协议版本ssh2 3.服务端主要包含两个服务功能:ssh远程连接,sftp服务 4.ssh客户端包含ssh连接命令以及远程拷贝scp命令等

查一个包最快最好的方法:rpm -qa 包名 例:rpm -qa openssh
也可 rpm -qa | grep openssh

chkconfig命令:用于检查,设置系统的各种服务
参数:–add增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。–del删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。–level指定读系统服务要在哪一个执行等级中开启或关毕。
实例: #chkconfig --list 列出chkconfig 所知道的所有命令
开启服务: # chkconfig telnet on //开启 Telnet 服务
# chkconfig --list //列出 chkconfig 所知道的所有的服务的情况
关闭服务: # chkconfig telnet off // 关闭 Telnet 服务
# chkconfig --list // 列出 chkconfig 所知道的所有的服务的情况
查看指定服务:例子chkconfig --list ssh
/etc/ssh/sshd_config是OpenSSH的配置文件,允许设置选项改变这个daemon的运行。
已知端口查出端口对应的服务:lsof -i :22或者netstat -lntup|grep 22

更改ssh默认登录配置执行方法:
[root@centos~]#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori
#更改配置前进行备份,是系统管理员的好习惯
[root@centos~]#vi /etc/ssh/sshd_config #编辑sshd_config
Port 52113 #ssh连接默认端口为22,这谁都知道,为提高安全级别,建议改掉
PermitRootLogin no #root超级用户黑客都知道(禁止root登录),建议禁止它远程登录能力
PermitEmptyPasswords no #禁止空密码登录
UseDNS no #不适用DNS解析

ssh连接慢的原因是dns解析导致:
解决方法:
在ssh服务端上更改/etc/ssh/sshd_config文件中的配置为如下内容
UseDNS no
#GSSAPI options
GSSAPIAuthentication no
然后,执行/etc/init.d/sshd restart 重启sshd进程使上述配置生效

#connection refused 提示拒绝连接
小结:切换到别的机器 ssh -p 52113(原为22端口后自改为52113) user@ip
到其他机器执行命令 ssh -p 52113 user@ip 命令(执行的时候需要全路径)
当第一次连接时,本地会产生一个秘钥~/.ssh/know_hosts

scp的使用:
例子:scp -P52113 /data/oldboy.txt oldboy@10.0.0.7:/tmp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值