2008年11月29日星期六

进程管理

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)


Linux下使用Shell命令控制任务Jobs执行
下列命令可以用来操纵进程任务:
  ps 列出系统中正在运行的进程;
  kill 发送信号给一个或多个进程(经常用来杀死一个进程);
  jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的终止(即任务的状态被标记为Terminated),shell 从当前的shell环境已知的列表中删除任务的进程标识;
  bg 将进程搬到后台运行(Background);
  fg 将进程搬到前台运行(Foreground);

  将job转移到后台运行
  如果你经常在X图形下工作,你可能有这样的经历:通过终端命令运行一个GUI程序,GUI界面出来了,但是你的终端还停留在原地,你不能在shell中继续执行其他命令了,除非将GUI程序关掉。

  为了使程序执行后终端还能继续接受命令,你可以将进程移到后台运行,使用如下命令运行程序: #假设要运行xmms

  $xmms &

  这样打开xmms后,终端的提示又回来了。现在xmms在后台运行着呢;但万一你运行程序时忘记使用“&”了,又不想重新执行;你可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。

  概念:当前任务

  如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务。

  察看jobs
  使用jobs或ps命令可以察看正在执行的jobs。

  jobs命令执行的结果,+表示是一个当前的作业,减号表是是一个当前作业之后的一个作业,jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;

  进程的挂起

  后台进程的挂起:

  在solaris中通过stop命令执行,通过jobs命令查看job号(假设为num),然后执行stop %num;

  在redhat中,不存在stop命令,可通过执行命令kill -stop PID,将进程挂起;

  当要重新执行当前被挂起的任务时,通过bg %num 即可将挂起的job的状态由stopped改为running,仍在后台执行;当需要改为在前台执行时,执行命令fg %num即可;

  前台进程的挂起:

  ctrl+Z;

  进程的终止

  后台进程的终止:
  方法一:
  通过jobs命令查看job号(假设为num),然后执行kill %num

  方法二:
  通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid

  前台进程的终止:

  ctrl+c

  kill的其他作用
  kill除了可以终止进程,还能给进程发送其它信号,使用kill -l 可以察看kill支持的信号。

  SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号。

标签:

2008年8月18日星期一

Linux 常用的基本命令

uname  -a     查看内核版本       
ls  -al     显示所有文件的属性
pwd          显示当前路径        
cd  -     返回上一次目录      cd  ~     返回主目录
date  s       设置时间、日期          
cal       显示日历      cal  2006
bc           计算器具               
man   &  info      帮助手册
locale      显示当前字体      locale  -a     所有可用字体      /etc/sysconfig/i18n设置文件
LANG=en     使用英文字体            
sync        将数据同步写入硬盘        
shutdonw  -h  now  &  half  &  poweroff   关机
reboot      重启                   
startx   &   init  5    进入图形介面
/work   &  ?work     向上、下查找文档内容
chgrp       改变档案群组   chgrp  testing  install.log    
chown      改变所属人    chown  root:root  install.log
chmod       改变属性      chmod  777  install.log      read=4   write=2   execute=1
cp    复制    cp  filename
rm    删除文件   rm  -rf  filename    强制删除文件
rmdir    删除文件夹
mv   移动     mv  123.txt  222.txt   重命名
mkdir      创建文件夹
touch      创建文件   更新当前时间
cat        由第一行开始显示      cat  ¦more   分页
nl         在内容前加行号
more   &   less    一面一面翻动
head  -n  filename    显示第N行内容
tail  -n  filename   显示后N行内容
od         显示非纯文档
df  -h  显示分区空间
du   显示目录或文件的大小
fdisk    分区设置     fdisk  -l  /dev/hda   显示硬盘分区状态
mkfs     建立各种文件系统   mkfs  -t  ext3   /dev/ram15   
fsck     检查和修复LINUX档案
ln       硬链接    ln  -s   软件链接
whereis    查找命令
locate     查找
find       查找    find  /  -name  "***.***"
which      查看工具
whoami     显示当前用户
gcc  -v     查看GCC版本
chattr  +i  filename   禁止删除    chattr  -i  filename   取消禁止
lsattr     显示隐藏档属性
updatedb   更新资料库
mke2fs     格式化    mkfs  -t  ext3 
dd  if=/etc/passwd  of=/tmp/passwd.bak     备份
mount      列出系统所有的分区
mount  -t  iso9660  /dev/cdrom  /mnt/cdrom    挂载光盘
mount  -t  vfat  /dev/fd0  /mnt/floppy        挂载软盘
mount  -t  vfat  -o  iocharset=utf8,umask=000  /dev/hda2  /mnt/hda2    挂载fat32分区
mount  -t  ntfs  -o  nls=utf8,umask=000  /dev/hda3  /mnt/hda3          挂载ntfs分区
Linux-NTFS  Project:  http://linux-ntfs.sourceforge.net/
umount  /mnt/hda3   缷载
ifconfig    显示或设置网络设备
service  network  restart    重启网卡  
ifdown  eth0   关闭网卡
ifup  eth0     开启网卡
clear     清屏
history     历史记录        !55   执行第55个指令
stty    设置终端     stty  -a
fdisk  /mbr    删除GRUB
at      僅進行一次的工作排程
crontab    循環執行的例行性命令     [e]编辑,[l]显示,[r]删除任务
&        后台运行程序     tar  -zxvf  123.tar.gz  &  --------- >后台运行
jobs     观看后台暂停的程序    jobs  -l
fg       将后台程序调到前台    fg  n  ------ >n是数字,可以指定进行那个程序
bg       让工作在后台运行
kill     结束进程     kill  -9  PID      [9]强制结束,[15]正常结束,[l]列出可用的kill信号
ps  aux   查看后台程序   
top      查看后台程序    top  -d  2     每两秒更新一次         top  -d  2  -p10604    观看某个PID
        top  -b  -n  2  >  /tmp/top.txt  ----- >將  top  的資訊進行  2  次,然後將結果輸出到  /tmp/top.txt    
pstree    以树状图显示程序     [A]以  ASCII  來連接,  列出PID,  [p]列出帐号
killall    要刪除某個服務     killall  -9  httpd
free       显示内存状态      free  -m   -------- >以M为单位显示
uptime     显示目前系统开机时间
netstat    显示网络状态     netstat  -tulnp------ >找出目前系統上已在監聽的網路連線及其  PID
dmesg      显示开机信息     demsg  ¦  more
nice       设置优先权       nice  -n  -5  vi  &  ----- >用  root  給一個  nice  植為  -5  ,用於執行  vi 
renice     调整已存在优先权
runlevel   显示目前的runlevel
depmod     分析可载入模块的相依性
lsmod      显示已载入系统的模块
modinfo    显示kernel模块的信息
insmod     载入模块
modprobe    自动处理可载入模块
rmmod      删除模块
chkconfig    检查,设置系统的各种服务      chkconfig  --list  ----- >列出各项服务状态
ntsysv      设置系统的各种服务
cpio       备份文件

标签:

Linux 压缩-解压 命令集

.tar
解包: tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.tgz
解压:tar zxvf FileName.tgz
压缩:未知
.tar.tgz
解压:tar zxvf FileName.tar.tgz
压缩:tar zcvf FileName.tar.tgz FileName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar a FileName.rar
压缩:r ar e FileName.rar


rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName

lha请到:http://www.infor.kanazawa-it.ac.jp/.../lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh
.lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http://sourceforge.net/projects/sex下载!
解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp sEx /usr/bin/

标签:

Linux文件系统结构

linux目录架构
/    根目录
/bin     常用的命令  binary  file  的目錄
/boot    存放系统启动时必须读取的档案,包括核心  (kernel)  在内
     /boot/grub/menu.lst    GRUB设置
     /boot/vmlinuz    内核
     /boot/initrd      核心解壓縮所需  RAM  Disk
/dev     系统周边设备     
/etc     系统相关设定文件
     /etc/DIR_COLORS    设定颜色
     /etc/HOSTNAME    设定用户的节点名
     /etc/NETWORKING    只有YES标明网络存在
     /etc/host.conf  文件说明用户的系统如何查询节点名
     /etc/hosts  设定用户自已的IP与名字的对应表
     /etc/hosts.allow  设置允许使用inetd的机器使用 
     /etc/hosts.deny  设置不允许使用inetd的机器使用
     /etc/hosts.equiv  设置远端机不用密码
     /etc/inetd.conf  设定系统网络守护进程inetd的配置
     /etc/gateways  设定路由器
     /etc/protocols  设定系统支持的协议
     /etc/named.boot  设定本机为名字服务器的配置文件
     /etc/sysconfig/network-scripts/ifcfg-eth0    设置IP
     /etc/resolv.conf     设置DNS  
     /etc/X11   X  Window的配置文件,xorg.conf  或  XF86Config  這兩個  X  Server  的設定檔
     /etc/fstab     记录开机要mount的文件系统
     /etc/inittab  设定系统启动时init进程将把系统设置成什么样的runlevel
     /etc/issue  记录用户登录前显示的信息
     /etc/group  设定用户的组名与相关信息
     /etc/passwd  帐号信息
     /etc/shadow  密码信息
     /etc/sudoers  可以sudo命令的配置文件
     /etc/securetty  设定哪些终端可以让root登录
     /etc/login.defs  所有用户登录时的缺省配置
     /etc/exports  设定NFS系统用的
     /etc/init.d/    所有服務的預設啟動  script  都是放在這裡的,例如要啟動或者關閉
     /etc/xinetd.d/   這就是所謂的  super  daemon  管理的各項服務的設定檔目錄
     /etc/modprobe.conf    内核模块额外参数设定
     /etc/syslog.conf    日志设置文件
/home    使用者家目录
/lib     系统会使用到的函数库
     /lib/modules    kernel  的相关模块
     /var/lib/rpm    rpm套件安装处 
/lost+found     系統不正常產生錯誤時,會將一些遺失的片段放置於此目錄下
/mnt      外设的挂载点
/media    与/mnt类似
/opt      主机额外安装的软件
/proc     虚拟目录,是内存的映射
      /proc/version    内核版本
       /proc/sys/kernel    系统内核功能
/root     系统管理员的家目录
/sbin     系统管理员才能执行的指令
/srv      一些服務啟動之後,這些服務所需要取用的資料目錄
/tmp      一般使用者或者是正在執行的程序暫時放置檔案的地方
/usr      最大的目录,存许应用程序和文件
    /usr/X11R6:    X-Window目录 
    /usr/src:     Linux源代码
    /usr/include:系统头文件
    /usr/openwin  存放SUN的OpenWin 
    /usr/man  在线使用手册
    /usr/bin            使用者可執行的  binary  file  的目錄
    /usr/local/bin      使用者可執行的  binary  file  的目錄
    /usr/lib            系统会使用到的函数库
    /usr/local/lib      系统会使用到的函数库
    /usr/sbin           系统管理员才能执行的指令
    /usr/local/sbin     系统管理员才能执行的指令
/var    日志文件
    /var/log/secure     記錄登入系統存取資料的檔案,例如  pop3,  ssh,  telnet,  ftp  等都會記錄在此檔案中
    /var/log/wtmp       記錄登入者的訊息資料,  last
    /var/log/messages   幾乎系統發生的錯誤訊息
    /var/log/boot.log   記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
    /var/log/maillog    紀錄郵件存取或往來(  sendmail  與  pop3  )的使用者記錄
    /var/log/cron       記錄  crontab  這個例行性服務的內容
    /var/log/httpd,  /var/log/news,  /var/log/mysqld.log,  /var/log/samba,  /var/log/procmail.log:
    分別是幾個不同的網路服務的記錄檔

标签: