ocp培训第二天

这篇博客详细介绍了Linux系统中的进程管理,包括如何查看和控制进程,如使用`ps`命令的不同选项,以及如何通过`kill`命令发送信号来终止进程。此外,还涉及了系统信息查询(`uname`),网络配置,挂载U盘,RPM包管理,以及时间与日期的调整。此外,提到了Oracle相关操作和Shell脚本的创建与使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Investigating and managing process

  Multi-user and Multi-tasking
  What a process is
  How to manage processes
  Use job control tools

-----------------------------------------

ps -ef 查看所有进程

显示格式:UID  PID  PPID  C  STIME  TTY  TIME CMD

USER: 行程拥有者                                PID: pid
PPID:Parent PID                                   C: CPU占用率
STIME:进程开始时间                             TTY:终端号
CMD:启动进程的命令


ps -aux

 -a includes processes on all terminals
  -x includes processes not attached to terminals
  -u prints process owner information

显示格式:USER PID PPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER: 行程拥有者                                PID: pid
%CPU: 占用的 CPU 使用率                  %MEM: 占用的MEM使用率
VSZ: 占用的虚拟MEM大小                    RSS: 占用的物理MEM大小
TTY: 终端号                                           STAT: 该进程的状态
START: 进程开始时间                           TIME: 执行的时间
COMMAND:所执行的命令

 

sleep 50000 --休眠

ps -ef | grep sleep  --查看sleep进程


kill -signal pid --杀进程 或者 ctrl+c

Sending Signals to Processes
     By PID: kill [-signal] pid ...或者ctrl+c
     By Name: killall [-signal] name...
     By pattern: pkill [-signal] pattern

--------------------------------

uname -a 查看系统信息

n64位系统输出如下信息:

Linux server141.guodu.net2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64x86_64x86_64 GNU/Linux

n32位系统输出如下信息:

Linux bank.guodu.net 2.6.9-5.ELsmp#1 SMP Wed Jan 5 19:30:39 EST 2005 i686i686 i386 GNU/Linux

uname-n 查看系统名称

fdisk-l 查看系统分区情况

第一块是硬盘情况(sda,sdb,sdc...盘名称),第二块是分区情况(序号1,2,3...第几个分区)


Graphical Network Configuration

12
34

4块网卡:eth0,eth1,eth2,eth3

方法一:

1,命令行:setup 会出现操作的图形界面

2,选择network configuration

3,选择网卡

4,设置ip

本地网络和虚拟机要一致

让配置生效:service network restart--重启网络服务 |stop|start

------------

方法二:

修改/etc/sysconfig/network-scripts/ifcfg-ethX (网卡名

Dynamic Configuration

DEVICE=ethX

HWADDR=0:02:8A:A6:30:45

BOOTPROTO=dhcp动态ip

ONBOOT=yes 启动时激活网卡

Type=Ethernet


Static Configuration

DEVICE=ethX

HWADDR=0:02:8A:A6:30:45

IPADDR=192.168.0.254

NETMASK=255.255.255.0

GATEWAY=192.168.2.254

ONBOOT=yes

Type=Ethernet

----------------------------

/ etc / sysconfig /network-scripts/ ifcfg-ethX:x

注意:要修改/ifcfg-ethX:x文件的DEVICE名称

方法三:

配置虚拟ip
临时的ip,重启后消失。
 ifconfig eth0:1 192.168.199.99 netmask 255.255.255.0 up
Command  第一个配置的网卡 ip 子网掩码 up

最多配4个网卡就够了

------------------------

修改时间和日期

GUI: system-config-date
   System->Administration->Date & Time
CLI:

date [ MMDDhhmm [[CC]YY][. ss ]]--修改当前时间
例:#date
01011330         

       # date 010113302007.05

 

ping 192.168.0.206
Ifconfig –a
netstat –n    ??????????????????
-----------------

linux不能直接读取U盘,要先挂载

挂载U盘方式:
1,fdisk –l 查看U盘盘符(例如 /dev/u001)
---mount /dev/u001(优盘名称)
2,mkfs –t ext3 /dev/u001(优盘格式)
3,mkdir /root/mymnt (建挂载的目录)
4,mount –t ext3 /dev/u001 /root/mymnt
5,cd /root/mymnt (访问U盘)
6,umount (卸载,要在上一级目录卸载)
---------------------------

init
 
init level
      等级0表示:表示关机
      等级1表示:单用户模式
      等级2表示:无网络连接的多用户命令行模式
      等级3表示:有网络连接的多用户命令行模式
      等级4表示:不可用
      等级5表示:带图形界面的多用户模式
      等级6表示:重新启动
init 6 =reboot
 
free  查看物理内存和虚拟内存使用情况
disk. buffer是用于存放要输出到disk的数据。
use. cache是存放从disk上读出的数据。
 
top
top命令提供了实时的对系统处理器的状态监视,它将
显示系统中CPU最“敏感”的任务列表,该命令可以按CPU
使用(P)和内存使用(M)对任务进行排序。
显示情况如下:
PID USER  PR  NI  VIRT  RES  SHR  S  %CPU  %MEM  TIME+  COMMAND
 
-----------?
us  用户空间占用CPU百分比
sy  内核空间占用cpu百分比
id   空闲cpu百分比
wa 等待输入输出的cpu百分比
 --------
PR 优先级
VIRT 进程使用的虚拟内存大小
RES  进程使用的物理虚拟内存大小
%CPU  上次更新到现在的cpu时间占用百分比
%MEM  进程使用的物理内存百分比
TIME+  进程使用的CPU时间总计
 
-------------
ftp
(filezilla工具)
Servers with sites set up for downloading files sometimes provide an anonymous ftp account
相关命令:
cd [dirname]  进入远程机的目录。   lcd [dirname] 设置本地机的目录。
dir/ls 显示远程的目录文件。    bin   以二进制方式进行传输。
asc   传送文本文件。    get/mget  从远程机取一个或多个文件。
put/mput   向远程机送一个或多个文件。  prompt   打开或关闭多个文件传送时的交互提示。
bye   关闭FTP会话。    hash   在传输时以#表示传输的字节数。
 

rpm -q  vsftpd查看包是否存在
把ftp包打上
vsftpd-2.0.5-10.el5.i386.rpm (i386为32位,x86为64位)
到iso中找相关的包

rpm -vih vsftpd-2.0.5-10.el5.i386.rpm

 

-i install

-v view

-h hash(#)

 

rpm -e XXX 卸载已经打好的包

-e delete

rpm -q XXX 查询都打了那些包

-q query

rpm -qpl XXX:列出RPM软件包内的文件信息;

rpm -qpi XXX:列出RPM软件包的描述信息;


把telnet包打上

1,rpm -vih xinetdxxx.rpm 先安xinetd

2,rpm -vih telnet-serverxxx.rpm
3,关闭防火墙

setup进入关闭

然后

service iptables restart --重启防火墙

4,修改/etc/xinetd.d/telnet的disable设为no

5,重启xinetd服务

#service xinetd restart

6,使用root登录的话,还需要 mv /etc/securetty /etc/securetty.bak

---------------

设置vsftpd权限

修改 /etc/vsftpd/ 的相关文件 ftpusers,user_list

之后重启:service vsftpd restart

设置linux为中文字体

打包:fonts-chinese-3.02-12.el5.noarch.rpm 

rpm -vih fonts-chinese*.rpm

-----

rpm -qa telnet-server ---查已经打上的所有的telnet包


Environment Variables

The system software provides several default environment variables whose values can be customized
Temporarily change the environment variables at the command line, affecting only the current shell
Permanently changes it by modifying the initialization files

-----/etc/

 

永久环境变量

vi profile(添加hi=hello

export hi

source profile

echo $hi(显示出hello)

 

临时环境变量

go=dog

echo $go (显示dog)


------------------oracle

安装oracle方法见 Oracle10g Install for Redhat5.6.doc

1,由root用户进入oracle

#su - oracle

2,打开监听

$lsnrctl start/stop/status

3,以dba用户登录

$sqlplus / as /sysdba

4,开启ems

SQL>startup/shutdown [immediate]  ---ems已开启

5,

SQL>select * from emp;

6,退出oracle

SQL>exit

$vi .bash_profile (将 ems-->ems1)

$source .bash_profile

$sqlplus / as sysdba

SQL>startup  --ems1

SQL>exit

$lsnrctl stop

 

shell scripting

Creating Shell Scripts

Step 1: Use such as vi to create atext file containing commands

       #!/bin/bash

Step2: wirtethe scripts

    Comment your scripts!

    Comments start with a #

Step 3: Make the script executable:

     $ chmod u+x myscript.sh

Step4: Execute the shell scripts

      sh myscript.sh 

      ./ myscript.sh

例子:
#!/bin/bash
# This script displays some information about your environment
echo "Greetings. The date and time are $(date)"
echo "Your working directory is: $(pwd)"

 

 if Statements

 

if ....; then ….
if ....; then
      ….
   else
      ….
   fi
if ....; then
      ....
   elif ....; then
      ....
   else
      ....
   fi

通常用“ [ ] ”来表示条件测试。注意这里的空格很重要。要确保方括号的空格。 两边都要有空格
  [ -f "somefile" ] :判断是否是一个文件
  [ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
  [ -n "$var" ] :判断$var变量是否有值
  [ "$a" = "$b" ] :判断$a和$b是否相等

test -x mysh.sh && echo exec|| echo noExec
若mysh.sh具有执行权限,则显示exec,否则显示noEcec

例子:
#!/bin/bash
 if [ "$SHELL" = "/bin/bash" ]; then
 echo "your login shell is the bash (bourne again shell)"
 else
 echo "your login shell is not bash but $SHELL"
 fi

---------------------------------

for loops

Performs actions on each member of a set of values
   for ….
   do ….
   done

例子:

for NAME in joe jane julie
do
 echo hello, $NAME!
done

 

其他shell 例子

#!/bin/bash
read -p "please input your name: " name
echo "hi, " $name
echo $1 $2

echo $1 $2 返回的是命令行后面跟的第一个和第二个参数

Shell script application

退出登录时执行 echo sh logDate.sh>>~/.base_logout  (将logDate.sh信息加到.base_logout中)
系统启动时执行 echo sh logDate.sh >>/etc/rc.d/rc.local
登录时执行 echo sh logDate.sh >> ~/.bash_profile
打开终端时执行 echo sh logDate.sh >>~/.bashrc

 

Scheduling a Process To Execute Later

 

crontab

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
应用场景:证券、银行、保险、电信

使用方式 :
   crontab [ -u user ] file
   crontab [ -u user ] { -l | -r | -e }

-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 vi
-r : 删除目前的时程表
-l : 列出目前的时程表

时程表的格式如下 : 

f1 f2 f3 f4 f5 program
f1 是表示分钟(0-59)
f2 表示小时(0-23)
f3 表示一个月份中的第几日(1-31)
f4 表示月份(1-12)
f5 表示一个星期中的第几天(0-6,其中0代表星期日)

program 表示要执行的程序。

 

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

例子:
每月每天每小时的第 0 分钟执行一次 /bin/ls :
    0 * * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
    0-59/20 6-12 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
    0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
    20 0-23/2 * * * echo "haha"

 

crontab步骤:

Step1:  contab –e
Step2:   write some tasks use vi
Step3:   crontab –l | grep XXX

    使用者也可以将所有的设定先存放在file 中,用 crontab file 的方式来设定时程表。

下面这个方法比较好:
Step1:  vi file
Step2:  crontab file (若没有这步,查看的文件内容为没修改前的内容)

Step3:  crontab –l  | grep XXX  (查看文件内容)

 

Redhat Package Manager

 

putty

xmanager/vnc

 

Start Xmanager Service

注意大小写

Step1:修改/etc/gdm/custom.conf
     [security]
         DisallowTCP=false
         [xdmcp]
         Enable=true
         Port=177
Step2:修改/usr/share/gdm/defaults.conf
         AllowRoot=true
         AllowRemoteRoot=true
Step3:关闭系统的防火墙
          [root@localhost root]# setup
         选择:“firewall configuration”
         选择:security level——“disabled”
Step4: 重启系统 reboot


 

SSH  Secure File Transfer Client

filezilla


Start FTP Service (上面已经有了,这里是从ppt里copy出来的

Step1:从安装盘找vsftpd-2.0.5-10.el5.i386.rpm安装

[root@localhost root]#rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm

Step2:开启服务
     [root@localhost root]cd /etc/rc.d/init.d
     [root@localhost root]service vsftpd start

500 OOPS: cannot change directory:/home/root
500 OOPS: child died
解决办法: # setsebool ftpd_disable_trans 1
# service vsftpd restart








推荐书籍

linux两本书:

循序渐进linux

鸟哥的私房菜



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值