shell 知识点

1 shell 定义: python

     当咱们完成系统登入(log in),咱们就取得一个互动模式的 shell ,也称为 login shell 或 primary shell。若从进程(process)角度来讲,咱们在 shell 所下达的命令,均是 shell 所产生的子进程。这现像,咱们暂可称之为 fork 。若是是执行脚本(shell script)的话,脚本中的命令则是由另一个非互动模式的子 shell (sub shell)来执行的。也就是 primary shell 产生 sub shell 的进程,sub shell 再产生 script 中全部命令的进程。 shell

 

2 " "(双引号) 与 ' '(单引号)ubuntu

     在 shell prompt 后面敲打键盘、直到按下 Enter 的时候,你输入的文字就是 command line 了,而后 shell 才会以行程的方式执行你所交给它的命令缓存

     command line 的每个 charactor ,分为以下两种:
     * literal:也就是普通纯文字,对 shell 来讲没特殊功能。
     * meta:对 shell 来讲,具备特定功能的特殊保留字符bash

     * IFS:由 <space>; 或 <tab>; 或 <enter>; 三者之一组成(咱们经常使用 space )。
   * CR:由 <enter>; 产生。
     IFS 是用来拆解 command line 的每个词(word)用的,由于 shell command line 是按词来处理的。
     而 CR 则是用来结束 command line 用的,这也是为什么咱们敲 <enter>; 命令就会跑的缘由。
     除了 IFS 与 CR ,经常使用的 meta 还有:
     = :  设定变量。
     $ :  做变量或运算替换(请不要与 shell prompt 搞混了)。
     >; :重导向 stdout。
     < :重导向 stdin。
     |:命令管线。
     & :重导向 file descriptor ,或将命令置于背境执行。
     ( ):将其内的命令置于 nested subshell 执行,或用于运算或命令替换。
     { }:将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围。
     ; :在前一个命令结束时,而忽略其返回值,继续执行下一个命令。
     && :在前一个命令结束时,若返回值为 true,继续执行下一个命令。
     || :在前一个命令结束时,若返回值为 false,继续执行下一个命令。
     !:执行 history 列表中的命令网络

      假如咱们须要在 command line 中将这些保留字符的功能关闭的话,就须要 quoting 处理了。
     在 bash 中,经常使用的 quoting 有以下三种方法:
     * hard quote:' ' (单引号),凡在 hard quote 中的全部 meta 均被关闭。
     * soft quote: " " (双引号),在 soft quoe 中大部份 meta 都会被关闭,但某些则保留(如 $ )。(注二)
     * escape : / (反斜线),只有紧接在 escape (跳脱字符)以后的单一 meta 才被关闭。

3 top指令tcp

    -d  后面接秒数 定时刷新程序画面 工具

    -b 以批次方式执行top 测试

    -n 与-b配合 意义是须要进行几回top输出spa

    P 以cpu的使用资源排序显示

    M 以memory的使用资源排序显示

    N以pid来排序 

    T 由该process使用的cpu时间累积排序

    k 给某个pid一个讯号

    r 给某个pid从新订制一个nice值

    PID:  每一个进程的id

    USER:该进程的所属的使用者

    PR:程序的优先执行顺序,越小越早被执行

    NI:nice值 越小越早被执行

    %CPU: cpu使用率

    %MEM: 内存使用率

    TIME+: cpu使用时间累加

  第一行:  当前系统时间 系统运行天数 当前登陆用户 1,5,15分钟负载状况(除以逻辑cpu数量) 高于5说明系统超负荷运转

  第二行: 进程数 stoped状态 zombie状态(僵尸进程)

  第三行: cpu状态

   us 用户空间占用cpu百分比

   sy 内核空间占用cpu百分比

   ni 改变过优先级的进程占用cpu百分比

   id 空闲cpu百分比

   wa io等待占用cpu百分比

   hi 硬中断占用cpu百分比

   si 软中断占用cpu百分比

 第四行 内存状态

   total 物理内存总量

   used  使用中的内存总量

   free 空闲内存总量

   buffers  缓存的内存量

 第五行 swap交换区

   total 交换区总量

   used 使用交换区总量

   free 空闲交换区总量

   cached 缓冲交换区总量

 ps -ef f 
用树形显示进程和线程,好比说我想找到proftp如今有多少个进程/线程

1。 使用top命令,具体用法是 top -H

        加上这个选项,top的每一行就不是显示一个进程,而是一个线程。

2。 使用ps命令,具体用法是 ps -xH

        这样能够查看全部存在的线程,也可使用grep做进一步的过滤。

3。 使用ps命令,具体用法是 ps -mq PID (ubuntu下貌似不能使用)

        这样能够看到指定的进程产生的线程数目。

 监控jave 线程数

   ps -x|grep jave|wc -l

   监控网络客户端链接数  

   netstat -n|grep tcp|grep 端口|wc -l

 获取进程中运行的线程数量

   ls /proc/进程ID/task | wc -l

4 rpm命令

   一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具备.RPM扩展名的文 

   安装操做  rpm -i      

   查询操做 rpm -q...

   卸载操做 rpm -e

   升级操做 rpm -U

5 yum

   主要功能是更方便的添加/删除/更新RPM包

   优势:它能自动解决包的依赖性问题,它能便于管理大量系统的更新问题

   安装 yum install package1

   更新 yum update package1

   查询和显示 yum info package1 yum list

   删除 yum remove; erase package1

  清楚缓存 yum clean

 6

./configure是用来检测你的安装平台的目标特征的。好比它会检测你是否是有CC或GCC,并非须要CC或GCC,它是个shell脚本。
make是用来编译的,它从Makefile中读取指令,而后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

一、configure,这一步通常用来生成 Makefile,为下一步的编译作准备,你能够经过在 configure 后加上参数来对安装进行控制,好比代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你能够经过指定 –sys-config= 参数进行设定。有一些软件还能够加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你能够经过容许 ./configure –help 察看详细的说明帮助。

二、make,这一步就是编译,大多数的源代码包都通过这一步进行编译(固然有些perl或python编写的软件须要调用perl或python来进行编译)。若是 在 make 过程当中出现 error ,你就要记下错误代码(注意不只仅是最后一行),而后你能够向开发者提交 bugreport(通常在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些须要本身仔细研究错误代码。

三、make insatll,这条命令来进行安装(固然有些软件须要先运行 make check 或 make test 来进行一些测试),这一步通常须要你有 root 权限(由于要向系统写入文件)。

相关文章
相关标签/搜索