77 进程管理
# Top动态
Ps-aux静态 进程树pstree 查看系统进程
# 程序名
& 后台运行程序
# fg 把后台运行的进程调回前台
# bg 把前台运行进程调到后台
# renice Renice +1 180 把180号进程的优先级加1
# kill Kill PID 终止某个PID进程
# at at 5pm + 3 days /bin/ls 指定三天后下午5:00执行/bin/ls
# crontab Crontab -e 用VI的形式来编辑自动周期性任务
# crontab Crontab -l 查看自动周期性任务
# crontab Crontab -r 删除自动周期性任务
# crond Service crond 马上启动自动周期性服务 Service crond <启动|停止|重启|状态>
实现磁盘配额 (注安装LINUX时建立/home分区)
目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
实现步骤:
1. 修改包含/home的行, #vi
/etc/fstab,改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
2、卸载/home目录 #umount
/home
3. 挂接/home目录 #mount
/home
4、增加用户zhao #useradd zhao
5、修改密码 #passwd zhao
6、生成关于/home目录的quota信息 # quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用户的信息 #repquota -au
8、设置配额 #edquota -u zhao
将soft 和hard 分别改为5和10
9、保存并退出 #wq!
10、修改时间 #edquota -t
11、 #wq!
12.开启/home上的磁盘配额功能
#quotaon /home
13.查询配额 #quota -u zhao
14.验证配额 #su - zhao
$touch myfile
1. dpkg: package manager for Debian
* 安装: dpkg -i package
* 卸载: dpkg -r package
* 卸载并删除配置文件: dpkg -P |--purge package
* 如果安装一个包时。说依赖某些库。 可以先 apt-get install
somelib...
* 查看软件包安装内容 :dpkg -L package
* 查看文件由哪个软件包提供: dpkg -S filename
* 另外 dpkg还有 dselect和aptitude 两个frontend.
2. apt
* 安装: apt-get install packs
* apt-get update : 更新源
* apt-get upgrade: 升级系统。
* apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包
* apt-get -f install : -f == --fix broken 修复依赖
* apt-get autoremove: 自动删除无用的软件
* apt-get remove packages :删除软件
* apt-get remove package --purge 删除包并清除配置文件
* 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk '{print
$2}' |tr ["/n"] [" "]|sudo xargs dpkg -P
* 安装软件时候包的临时存放目录 : /var/cache/apt/archives
* 清除该目录: apt-get clean
* 清除该目录的旧版本的软件缓存: apt-get autoclean
* 查询软件some的依赖包:
apt-cache depends some
* 查询软件some被哪些包依赖:
apt-get rdepends some
* 搜索软件: apt-cache search name|regexp
* 查看软件包的作用:apt-cache show package
* 查看一个软件的编译依赖库: apt-cache showsrc
packagename|grep Build-Depends
* 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)
* 安装软件包源码的同时, 安装其编译环境
:apt-get build-dep packagename (有deb-src源)
* 如何将本地光盘加入安装源列表: apt-cdrom add
3. 系统命令:
* 查看内核版本: uname -a
* 查看ubuntu 版本: cat
/etc/issue
* 查看网卡状态 : ethtool eth0
* 查看内存,cpu的信息: cat
/proc/meminfo ; cat /proc/cpuinfo
(/proc下面的有很多系统信息)
* 打印文件系统空间使用情况: df -h
* 查看硬盘分区情况: fdisk -l
* 产看文件大小: du -h filename;
* 查看目录大小: du -hs dirname ; du -h dirname是查看目录下所有文件的大小
* 查看内存的使用: free -m|-g|-k
* 查看进程: ps -e 或ps -aux
-->显示用户
* 杀掉进程: kill pid
* 强制杀掉: killall -9 processname
4. 网络相关:
* 配置 ADSL: sudo pppoeconf
* ADSL手工拨号: sudo pon dsl-provider
* 激活 ADSL : sudo /etc/ppp/pppoe_on_boot
* 断开 ADSL: sudo poff
* 根据IP查网卡地址: arping IP地址
* 产看本地网络信息(包括ip等):
ifconfig | ifconfig eth0
* 查看路由信息: netstat -r
* 关闭网卡: sudo ifconfig eth0 down
* 启用网卡: sudo ifconfig eth0 up
* 添加一个服务: sudo update-rc.d 服务名
defaults 99
* 删除一个服务: sudo update-rc.d 服务名
remove
* 临时重启一个服务: /etc/init.d/服务名
restart
* 临时关闭一个服务: /etc/init.d/服务名
stop
* 临时启动一个服务: /etc/init.d/服务名
start
* 控制台下显示中文: sudo apt-get install zhcon
* 查找某个文件: whereis filename 或
find 目录 -name 文件名
*通过ssh传输文件
scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地
5. 压缩:
*解压缩 a.tar.gz: tar zxvf a.tar.gz
*解压缩 a.tar.bz2: tar jxvf a.tar.bz2
*压缩aaa bbb目录为xxx.tar.gz:
tar zcvf xxx.tar.gz aaa bbb
*压缩aaa bbb目录为xxx.tar.bz2:
tar jcvf xxx.tar.bz2 aaa bbb
6. Nautilus:
特殊 URI 地址
* computer:/// - 全部挂载的设备和网络
* network:/// - 浏览可用的网络
* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录
* smb:/// - 可用的 windows/samba 网络资源
* x-nautilus-desktop:/// - 桌面项目和图标
* file:/// - 本地文件
* trash:/// - 本地回收站目录
* ftp:// - FTP 文件夹
* ssh:// - SSH 文件夹
* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装
* themes:/// - 系统主题文件夹
* 显示隐藏文件: Ctrl+h
* 显示地址栏: Ctrl+l
* 查看已安装字体: 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
7.补充部分:
* 查看本地所有的tpc,udp监听端口:
netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
* 通过man搜说相关命令: man -k
keyword . eg: man -k user
* 或者用 apropos
* 统计文件所占用的实际磁盘空间: du (du - estimate file space
usage)
* 统计文件中的字符,字节数: wc -c/-l/-w (wc - print the
number of newlines, words, and bytes in files)
* 查看文件的内容: od -x/-c/.... (od - dump files in
octal and other formats)
我认为od最有用的就是文件的字节流了: od -t x1
filename
查看文件的 Ascii 码形式: od -t c
filename (其中统计信息最左边的是: 字节数)
* 查找命令所在文件的位置: which od 输出:
/usr/bin/od
查看该文件由哪个包提供: dpkg -S /usr/bin/od 输出:
coreutils: /usr/bin/od
再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils
然后 info coreutils 哈哈,认真学吧, 满世界都是命令!
* 可以用man 命令产看某个命令的所有section
的解释: man -a tty
然后用q,和next 转换到下一个section的解释
* bash 的好用的快捷键:
ctrl+a:光标移到行首。
ctrl+b:光标左移一个字母
ctrl+c:杀死当前进程。
ctrl+d:退出当前
Shell。
ctrl+e:光标移到行尾。
ctrl+h:删除光标前一个字符,同
backspace 键相同。
ctrl+k:清除光标后至行尾的内容。
ctrl+l:清屏,相当于clear。
ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
ctrl+u: 清除光标前至行首间的所有内容。
ctrl+w: 移除光标前的一个单词
ctrl+t: 交换光标位置前的两个字符
ctrl+y: 粘贴或者恢复上次的删除
ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符
ctrl+f: 光标右移
ctrl+z : 把当前进程转到后台运行,使用’
fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
* 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。
* 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。
* 快速重启X服务: 同时按下: Alt +
Ctrl + Backspace 三个键。
* 打开"运行"窗口: 同时按下 Alt + F2 键。
* 戴屏: a、全屏:直接按下 PrtScr 键。
b、当前窗口:同时按下
Alt + PrtScr 键。
c、延时戴屏:在 终端 或
"运行"窗口中输入命令:
gnome-screenshot --delay 3 ,将延时 3 秒后戴屏。
* 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。
8. ulimit
ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max
open files)
和可同时运行的最大进程数(max user processes)无效
-a 列出所有当前资源极限
-c 设置core文件的最大值.单位:blocks
-d 设置一个进程的数据段的最大值.单位:kbytes
-f Shell 创建文件的文件大小的最大值,单位:blocks
-h 指定设置某个给定资源的硬极限。如果用户拥有
root 用户权限,可以增大硬极限。任何用户均可减少硬极限
-l 可以锁住的物理内存的最大值
-m 可以使用的常驻内存的最大值,单位:kbytes
-n 每个进程可以同时打开的最大文件数
-p 设置管道的最大值,单位为block,1block=512bytes
-s 指定堆栈的最大值:单位:kbytes
-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果
-H 和 -S 标志均未指定,极限适用于以上二者
-t 指定每个进程所使用的秒数,单位:seconds
-u 可以运行的最大并发进程数
-v Shell可使用的最大的虚拟内存,单位:kbytes
eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)