线程与进程上下文切换的区别

线程上下文切换和进程上下文切换一个最主要的区别是线程的切换虚拟内存空间依然是相同的,但是进程切换是不同的。这两种上下文切换的处理都是通过操作系统内核来完成的。内核的这种切换过程伴随的最显著的性能损耗是将寄存器中的内容切换出。

继续阅读

tar压缩解压

一、基础命令

-c:建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

继续阅读

YUM详解之命令(二)

一、命令格式

# yum [options] < grouplist, localinstall, groupinfo, localupdate, resolvedep,
 erase, deplist, groupremove, makecache, upgrade, provides, shell, install, 
whatprovides, groupinstall, update, repolist, groupupdate, info, search, 
check-update, list, remove, clean, grouperase >

继续阅读

YUM详解之配置(一)

对于一个初次接触Linux的入门者来说,安装软件是比较困扰的事情,如何才能够快速安装、升级软件对于系统的使用者来说,至关重要,下面将逐个详细介绍强大的YUM功能。

一、什么是YUM?

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及Centos中的Shell前端
软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖
性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、
删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

继续阅读

计算机的组成

一、计算机是什么?

俗称电脑。接受用户输入的命令与数据,经过中央处理器的数学与逻辑单元运算处理后,输出或存储有用的信息
,即可称为计算机。因此,只要具有输入设备(包括键盘、触摸屏幕)、输出设备(屏幕、显示器、打印机),
让你可以输入数据,使该机器产生信息的, 那就是一部计算机。

根据这个定义,计算机的范畴包括一般商店用的简易型加减乘除计算机、手机、卫星定位系统 (GPS)、
提款机 (ATM)、个人计算机 (PC)、笔记本电脑(netbook) 等等。

继续阅读

shell中` ` $( ) ${ } $(( )) [ ]的区别

一、反引号` `和$( )

在所有的unix系统中,反引号` ` 和 $( )等同,用于取结果或输出,

举例说明:

# 输出 /var/www/html/sns/index.php的文件类型
# echo `file /var/www/html/sns/index.php` 
# echo $(file /var/www/html/sns/index.php)
# 将过去24小时(-mtime –2则表示过去48小时)内修改过的文件tar在一起
# tar -zcf lastmod.tar.gz `find ./ -mtime -1 -type f -print`

继续阅读

shell 中的流程控制语句

一、条件判断

格式:

if [ 条件判断式一 ]; then
     	当条件判断式一成立时,可以进行的命令工作内容;
elif [ 条件判断式二 ]; then
     	当条件判断式二成立时,可以进行的命令工作内容;
else
     	当条件判断式一与二均不成立时,可以进行的命令工作内容;
fi

继续阅读

shell 中比较运算符的使用方法

一、关于 test 的使用

1.关于某个文档的『文档类型』判断,如 test -e filename 表示存在否
-e 该『文档』是否存在?(常用)
-f 该『文档』是否存在且为文件(file)?(常用)
-d 该『文档』是否存在且为目录(directory)?(常用)
-b 该『文档』是否存在且为一个 block device 装置?
-c 该『文档』是否存在且为一个 character device 装置?
-S 该『文档』是否存在且为一个 Socket 文件?
-p 该『文档』是否存在且为一个 FIFO (pipe) 文件?
-L 该『文档』是否存在且为一个连结文档?

继续阅读

shell 中的运算符

一、变量判断 & 内容替换

在php中,使用isset来判断变量是否存在,那在shell中是如何做的呢?

变量配置方式 str 没有申明 str 为空字符串 str 已申明非空字符串
var=${str-expr} var=expr var= var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var= var=expr var=expr
var=${str:+expr} var= var= var=expr
var=${str=expr} str=expr
var=expr
str 不变
var=
str 不变
var=$str
var=${str:=expr} str=expr
var=expr
str=expr
var=expr
str 不变
var=$str
var=${str?expr} expr 输出至 stderr var= var=$str
var=${str:?expr} expr 输出至 stderr expr 输出至 stderr var=$str

没见过这么难看的运算符…

继续阅读

shell实用命令(二)

5、read

#read [-pt] variable
选项参数:
-p :后面可以接提示字符!
-t :后面可以接等待的『秒数!』

示例:
# read -p "Please keyin your name: " -t 30 named
# echo $named //检查输出

继续阅读

shell实用命令(一)

1、type

# type [-tpa] name
选项参数:
    :不加任何选项参数时,type 会显示出 name 是外部命令,还是 bash 内部命令(系统命令)
-t  :当加入 -t 参数时,type 会將 name 以下面这些字眼表示它的含义:
      file    :表示为外部命令;
      alias   :表示该命令为命令別名所设置的名称;
      builtin :表示该命令为 bash 內建的命令功能(系统命令);
-p  :如果后面接的 name 为外部命令时,才会显示完整的文档名称(路径);
-a  :将所有含 name 的命令都列出來,包含 alias
 继续阅读 

虚拟主机 Virtual Host 的设置

一、应用场景

 +--------------+----------------+---------------------+
 | 域名          | 主机ip         | 对应的主目录          |
 +--------------+----------------+---------------------+
 | www.100.com  |192.168.80.135  | /var/www/html       |
 | bbs.100.com  |192.168.80.135  | /var/www/html/bbs   |
 | sns.100.com  |192.168.80.135  | /var/www/html/sns   |
 | ftp.100.com  |192.168.80.135  | /var/www/ftp        |
 +--------------+----------------+---------------------+

继续阅读

如何创建目录保护

一、应用场景

1111在浏览器中,输入http://www.100.com/whoami_/,弹出对话框要求验证用户名、密码。
http://www.100.com 本地设置了Host,并非真正的www.100.com,-_-!
/whoami_/ 数据库管理PHPMyAdmin目录,所以目录的安全级别要求很高。
继续阅读