linux常用命令简单整合

linux目录结构:

系统信息

arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 显示日历表

系统的关机、重启以及登出 )

shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
reboot 重启(2)
logout 注销

文件和目录

cd /home 进入 ‘/ home’ 目录’
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 ‘file1’ 的文件’
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)

文件查找

find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’ 结尾的文件并定义其权限
find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径

管理输出
find /etc -name passwd > file ####重定向正确输出
find /etc -name passwd 2> file ####重定向错误输出
find /etc -name passwd &> file ####重定向所有输出
find /etc -name passwd >> file ###追加正确输出
find /etc -name passwd 2>> file ####追加错误输出
find /etc -name passwd &>> file ####追加输出
find /etc -name passwd > file 2>&1 ####重新定义错误输出为正确

常用文件流操作

diff

比较两个文件的不同
diff -u file file.new >file.path        ##生成补丁文件
yum install patch -y                ##安装打补丁工具
patch    -b file file.path          ##给老软件打补丁,清且对老软件进行备份

grep

过滤字符
        -i              ##或略大小写
        -n              ##显示结果所在行的行号
        -c              ##结果个数
        -v              ##反向过滤
        -r 关键字  目录      ##在目录中过滤还有关键字的文件
        -E "关键字1|关键字2|....."    ##过滤多个关键字

sort

排序
        -n              ##纯数字
        -r              ##倒序
        -u              ##去掉重复行
        -t              ##指定分隔符
        -k              ##指定排序的列

uniq

处理重复行
        -c              ##统计重复行的个数
        -u              ##显示唯一的行
        -d              ##显示重复行

tr

转换字符大小写
tr 'a-z' 'A-Z'  <file               ##把file中所有小写字符转换成大写

sed

控制流输出
sed 's/nologin/westos/g' passwd             ##替换输出中的nologin为westos
sed '1,5s/nologin/westos/g' passwd          ##替换输出中1-5行的nologin为wesots
sed '/games/,/nobody/s/nologin/westos/g' passwd     ##替换输出中的games字符到nobody字符之间的nologin为westos 
sed -e 's/nologin/westos/g' -e 's/sbin/lee/g' passwd    ##多条替换策略用-e连接 
sed 3d passwd                       ##不显示文件中的第三行 
sed 3,7d file                       ##不显示文件中的3-7行 
sed 3,7p file                       ##重复显示文件中的3-7行
sed -n 3,7p file                    ##只显示文件中的3-7行
[root@westos mnt]# cat rule                 ##规则文件内容
s/nologin/westos/g
s/sbin/lee/g

设备和挂载

设备

/dev/sda    ###系统中的第一块串口硬盘
/dev/hda    ###系统中第一快并口硬盘
/dev/hdb    ###系统中第二快并口硬盘
/dev/cdrom  ###系统光驱
/dev/mapper/xxx ###虚拟设备

挂载

mount   设备  挂载点 ###挂载
mount /dev/sda1 /mnt    ###把系统中的第一快硬盘的第一个分区挂载到/mnt下
umount  设备|挂载点  ###卸载设备

blkid           ###显示所有可用设备的id信息
df  -h(2的n次方) -H(10的n此方)            ####查看挂载信息
du  -h(显示单位)    -s(只统计目录本身) file|dir    ####统计文件大小

磁盘空间

df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=’ InstalledSize;10t {Package}n’ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

用户和群组

/etc/passwd #用户信息文件 用户名字:用户密码:用户uid:用户gid:用户说明:用户加目录:用户使用的shell
/etc/shadow #用户认证信息 用户名称:密码:密码使用天数:最短有效期:密码最长有效期:密码警告期:密码非活跃期:密码到期日:
/etc/group #用户组信息 用户组名称:用户组密码:用户组id:附加用户成员 /home/username #用户加目录
/etc/skel/.* #用户的基本信息配置

用户操作命令

id      查看用户信息
id  -u  ###用户uid
    -g  ###用户gid
    -a  ###用户所有信息
    -G  ###用户所在所有的id
    -un ###用户名字
    -gn ###用户初始组名称
    -Gn ###用户所在所有组名称

su - username   ###切换用户用户所使用的环境
echo $PATH ###查看当前用户的用户环境
echo $USER ###显示当前用户的信息
useradd         ###新建用户
        -u  ###指定用户的uid
        -g  ###指定用户初始组,这个组一定要存在
        -G  ###指定附加组,组同样要存在
        -c  ###用户说明
        -d  ###指定用户加目录
        -s  ###指定用户使用的shell,shell种类参看/etc/shells
userdel     -r  ####删除用户  //把用户目录删除。若不把用户目录删除,就会造成后续再创建用户的时候他的id与原目录信息的所属id不相符合,造成有些文件是对于所有用户都为其他组,其他用户,不利于文件的管理,空间的回收
groupadd    -g  ###新建组,-g表示指定组的id
groupdel        ###删除组
passwd          ####更改用户密码
passwd          ####更改用户密码
usermod     -u  ##改变用户uid
        -g  ##改变用户初始组
        -aG ##增加用户附加组
        -d  ##改变用户加目录信息
        -md ##改变用户加目录信息和加目录名称
        -s  ##改变用户的shell
        -c  ##改变用户的说明
        -L  ##冻结用户
        -U  ##解锁用户

用户和权限

用户权限下放sudo

权限下放动作的配置文件 /etc/sudoers 这个文件用visudo命令编辑

文件内容写法: 授权目标用户 主机名称=(授权用户得到的新用户身份) 授权用户执行命令(前面可以加NOPASSWD:
表示不需要输入密码)

示例: test用户能在localhost主机执行useradd(要test密码)
test localhost=(root) /usr/sbin/useradd
test用户能在localhost主机执行useradd(不要要test密码)
test localhost=(root) NOPASSWD: /usr/sbin/useradd

测试结果: su - test sudo useradd username

属性查看

文件属性查看
ls -l filename
-       rw-rw-r--   1       kiosk   kiosk       0   Oct  2 17:05        file
文件类型    文件权限   文件副本个数       文件所有人  文件所有组    大小  最后一次被修改的时间  名字

目录属性
ls -ld  directoy
d   rwxr-xr-x   3   kiosk   kiosk       33  Aug 27 09:47        directory
类型  权限     子目录个数 目录所有人  目录所有组   子文件属性大小 目录中内容变化时间       目录名字

文件用户组的更改

chown   用户名称    文件  ##更改文件所有人
chgrp   组名称 文件  ##更改文件所有组
chown -R 用户 目录  ##更改目录本身以及目录中的子文件的所有人
chgrp -R 组名 目录  ##更改目录本身以及目录中的子文件的所有组

修改文件属性

字符法:
chmod   ugo+-=rwx   ##改权限

数字法:
chmod (-R) 三位数字  文件或目录(加-R表示递归的也修改文件的子文件子目录)
u=rwx=7 |g=rwx=7|o=rwx=7
  421
u=rw-=6 g=r--=4 o=r--=4   644
r=4
w=2
x=1
-=0
7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---

文件的默认权限

umask   ##显示系统预留权限值(默认去掉的权限)   
  //777 - umask = 创建文件的默认文件权限
更改umask:临时修改:在终端页面进行命令行修改
      持久修改:修改文件

vim /etc/bashrc     71行是普通用户的更改,73是超级用户的更改
vim /etc/profile    60行是普通用户的更改,62是超级用户的更改

source /etc/bashrc  ##刷新bash配置
source /etc/profile     ##刷新系统配置

特殊权限

stickyid    ###强制位(强制目录里面的文件的权限)
o+t         ###只针对目录,当一个目录上有t权限时,这个文件里面的所有文件跟目录只能被创建的所有人删除,其他人只能删除属于自己的文件或目录(权力范围内拥有者可以所有操作,其他人受到限制)
t=1
chmod o+t directroy
chmod 1777 directory

sgid        ###粘制位(粘制组的属性)
g+s     ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
chmod g+s file|directory
chmod 2777 file|directory


suid        ###冒险位(冒位顶替文件所有人进行执行)
u+s     ###针对二进制可执行文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关
chmod u+s file
chmod 4777 file

打包和压缩文件

使用 du -sh 加文件名字查询文件的大小

打包

打包表示把一堆文件变成一个
tar ####打包工具
-f ####指定生成包的名字
-c ####创建包
-v ####显示创建过程
-t ####查看包中内容
-x ####解包
-r ####添加文件到包中
–delete filename ##删除包中指定文件
–get filename ##取出包中指定文件

压缩

gzip
gzip xxxx.tar =====> xxxx.tar.gz ##压缩
gunzip xxxx.tar.gz =====> xxxx.tar ##解压
tar zcvf xxxx.tar.gz 目标文件 ##打包压缩文件
tar zxvf xxxx.tar.gz ###xxxx.tar.gz===>xxxx

bz2(压缩比例最高)
bzip2 xxxx.tar =====> xxxx.tar.bz2 ##压缩
bunzip2 xxxx.tar.bz2 =====> xxxx.tar ##解压
tar jcvf xxxx.tar.bz2 目标文件 ##打包压缩文件
tar jxvf xxxx.tar.bz2 ###xxxx.tar.bz2===>xxxx

xz(//慢)
xz xxxx.tar =====> xxxx.tar.xz ##压缩
unxz xxxx.tar.xz =====> xxxx.tar ##解压
tar Jcvf xxxx.tar.xz 目标文件 ##打包压缩文件
tar Jxvf xxxx.tar.xz ###xxxx.tar.xz===>xxxx

前三种可以直接一步进行归档压缩
zip(//与win兼容,必须将文件夹归档才可以进行压缩)
zip -r xxx.tar.zip xxx.tar ###压缩
unzip xxx.tar.zip ###解压

RPM 包

rpm     ###底层软件管理工具
    -i  ###install
    -v  ###显示信息
    -h  ###指定包的解密方式为hash
    -q  ###查询
    -p  ###指定软件包本身
    -l  ###列出软件中文件的名字
    --scripts   ###查看软件安装和卸载过程中所执行的动作
    -f  ###查询某个文件属于那个安装包
    -a  ###所有
    -e  ###卸载
    --force ###强制
    --nodeps ###忽略依赖性

YUM 软件包升级器

yum     list    all     ###列出所有安装包
yum     list    installed   ###列出已经安装的
yum list    available   ###列出没有安装的
yum     remove  software    ###卸载软件
yum     install software    ###安装软件
yum search  关键字     ###搜索与关键字相关的软件
yum whatprovides    文件  ###搜索包含此文件的包
yum     reinstall software  ###从新安装软件
yum localinstall 第三方软件  ###安装第三方软件并解决依赖关系
yum     info    software    ###查询软件信息
yum     groups list     ###列出软件组
yum groups  install     ###安装组
yum groups  remove      ###卸载组
yum groups  info        ###查看组信息

查看文件内容

cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

文本处理

cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug /var/log/messages 在文件 ‘/var/log/messages’中查找关键词”Aug”
grep ^Aug /var/log/messages 在文件 ‘/var/log/messages’中查找以”Aug”开始的词汇
grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串”Aug”
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt文件中的 “string1” 替换成 “string2”
sed ‘/^/d’ example.txt 从example.txt文件中删除所有空白行   
sed ‘/ *#/d; /^
/d’ example.txt 从example.txt文件中删除所有注释和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下单元格内容
sed -e ‘1d’ result.txt 从文件example.txt 中排除第一行
sed -n ‘/stringa1/p’ 查看只包含词汇 “string1”的行
sed -e ‘s/ *//’ example.txt 删除每一行最后的空白字符   
sed -e ‘s/stringa1//g’ example.txt 从文档中只删除词汇 “string1” 并保留剩余全部   
sed -n ‘1,5p;5q’ example.txt 查看从第一行到第5行内容   
sed -n ‘5p;5q’ example.txt 查看第5行   
sed -e ‘s/00*/0/g’ example.txt 用单个零替换多个零   
cat -n file1 标示文件的行数   
cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行   
echo a b c | awk ‘{print
1}’ 查看一行第一栏
echo a b c | awk ‘{print 1, 3}’ 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste -d ‘+’ file1 file2 合并两个文件或两栏的内容,中间用”+”区分
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1 file1 file2 比较两个文件的内容只删除 ‘file1’ 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 ‘file2’ 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

文件系统分析

badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

初始化一个文件系统

mkfs /dev/hda1 在hda1分区创建一个文件系统
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统

SWAP文件系统

swapon -s       ##查看系统中的swap分区

建立swap分区
mkswap  /dev/vdb1   ###把/dev/vdb1格式化成swap格式
swapon -a /dev/vdb1 ##激活

vim /etc/fstab      ##开机自动激活
/dev/vdb1   swap    swap    defautls    0 0

删除/etc/fstab中的swap自动激活条目
swapoff /dev/vdb1   ##关闭激活的swap分区

备份

dump -0aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 ‘/home’ 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav –delete /home /tmp 同步两边的目录

vim

命令模式

设定

//永久设定要修改文件,若没有修改文件,在命令行修改则表示临时修改
vim /etc/vimrc
:set nu|nonu ####行号的显示
:set mouse=a ####设定鼠标可以操作光标位置
:help ####查看vim的用法,:q退出帮助
ctrl + v ####高亮选择模式,可以选者一片区域操作
u ####恢复到未操作之前
ctrl + r ####恢复到操作之后
批量添加字符
ctrl + v 选中要加字符所在的位,按I键,在加入想要加入的字符,按esc

分屏功能

//按下了前面两个放手后,按后面一个
ctrl+w s ####上下分屏
ctrl+w v ####左右分屏
ctrl+w c ####撤销光标所在屏幕
ctrl+w 上|下|左|右 #####移动光标到指定的屏幕中

替换字符

在命令模式中
:%s/原字符/替换后字符/g //加了g表示全局替换
:%s/原字符/替换后字符/ //没有全局符表示替换每行初次出现
:%s/^\ *//g 全局替换空格符
:%s/^I//g 全局替换开头的tab键

搜索关键字

/关键字
n向下匹配
N向上匹配

字符操作

dw 删除光标所在单词
dl 删除光所在字母
dd 删除一整行
d数字d或数字dd 删除数字指定的行数
d数字 上键 向上删除指定行数
yw 复制光标所在单词
yl 复制光所在字母
yy 复制一整行
p 粘贴
y数字y或数字yy 复制数字指定的行数
cw 剪切光标所在单词
cl 剪切光所在字母
cc 剪切一整行
c数字c或数字cc 剪切数字指定的行数
剪切完成后会进入插入模式,要粘贴先退出插入模式再按P键

移动光标

:行号
G ##移动光标到文件末行
g ##移动光标到文件开头

插入模式

i 光标坐在位置插入字符
I 光标所在行行首插入
a 光标所在字符的下一位插入
A 光标所在行行尾插入
o 光标所在行的下一行
O 光标所在行的上一行
s 删除光标所在字符插入
S 删除光标所在行插入

退出模式

在命令模式下输入
:q ###退出,在未对文件作任何修改的时候可以用
:q! ###强制退出(不保存)
:wq ###退出保存
:wq! ###强制退出保存

日志分析(redhat)

systemd-journald    ###日志分析进程

journalctl  ###日志分析命令 
journalctl -n 5     ##查看最近生成的5条日志
journalctl -p err   ##查看系统报错
journalctl --since 时间("2016-07-22 03:00:00") --until"2016-07-22 03:30:00"###查看某个时间段生成的日志
journalctl -o verbose   ###查看日志能够使用的条件参数详细信息
journalctl  _UID=       ##进程uid
        _PID=       ##进程id
        _GID=       ##进程gid
        _HOSTNAME=  ##进程所在主机
        _SYSTEMD_UNIT=  ##服务名称
        _COMM=      ##命令名称

高级安全管理selinux

selinux,内核级加强型防火墙

管理selinux级别

vim /etc/sysconfig/selinux
selinux=disabled        ##关闭状态
selinux=Enforcing       ##强制状态
selinux=Permissive      ##警告状态


getenforce          ##查看状态
当selinux开启时
setenforce 0|1          ##更改selinux运行级别

更改文件安全上下文

临时
chcon -t 安全上下文  文件
chcon -t public_content_t /publicftp -R

永久
semanage fcontext -l        ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/publicftp(/.*)?'
restorecon -FvvR /publicftp/

控制selinux对服务功能的开关

getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off
setsebool -P    ftpd_anon_write on

进程管理

查看进程

ps

进程查看工具    //默认只显示当前运行的进程
    -a  shell中运行的进程
    -x  不在shell重运行的进程
    -u  查看进程用户
    -l  显示进程的详细信息
    -f  完全信息full的缩写
    -e  显示系统中的所有进程

//ps  aux   |grep   进程关键字    查看所有正在内存中的的进程
  // -o 指定显示的信息
ps ax   -o %cpu,%mem,user,pid,comm  ##查看进程某项信息
ps aux --sort -或者+%cpu|%mem...  ##进程按指定方式排序

// ps ax -o pid --sort -%cpu | grep -v "PID" | head -5    显示进程中cpu占用前五名的并且不显示标头

//ps -axjf   以树状显示进程间的关系并且显示相关的信息

top 动态监控查看进程的信息

     -n   输出n次top处理的结果
     -b   每次以静态的方式输出top的处理结果
     -p   查看指定的pid进程
     -d   界面更新的时间长度,默认为5top:top程序默认是按cpu使用资源进行排序,但也可以指定按别的方式进行排序:M:按内存使用排序,P:按cpu使用进行排序,N:按pid进行排序,T:按时间进行排序,q:离开

进程的前后台调用

//前台:出现提示符可以操作的环境

命令 &        ##进程在shell后台运行(在后台运行的程序必须不能跟用户产生互动)
ctrl +z     ##把占用shell的进程打入后台停止
jobs        ##查看被打入后台的进程信息    //查看shell后台挂起的进程
jobs -l   ##显示详细信息         jobs -r  ##显示后台运行的进程      jobs -s  ##显示后台暂停的进程
fg job号 ##把指定进程调回前台
fg-   ##表示提取最近第二个进程到前台(带-号那个)
bg job号 ##运行后台停止进程
ctrl +c     ##关闭占用shell进程

命令控制进程

//在使用jobs编号进行信号发送的时候可以使用%num的方式)
1)信号
信号 1        ##reload进程 //不关闭文件的情况下重新加载
信号 2        ##ctrl +c 删除进程在内存中的信息 
信号 3        ##内存中的鼠标信息清除
信号 9        ##强行关闭进程 (//不进行子进程等的处理,重启出现问题)
信号 15       ##正常关闭进程
信号 18       ##开启停止的进程
信号 19       ##停止正在运行的进程
信号 20       ##ctrl +z

2)信号发起
kill    信号  pid
killall 信号  进程名称
pkill -u username   ##结束某个用户的所有进程

用户登陆监控

w       ##查看当前使用系统的用户
w   -f  ##查看当前使用系统的用户并显示使用地点

last        ##查看登陆过系统的用户
lastb       ##查看试图登陆但没有成功的用户

8.top命令
u username
k 信号


h 帮助
s
m 内存排序
c cpu排序

计划命令

系统延迟任务发起命令at

[root@aclhost mnt]# at 11:03
at> touch /mnt/file{1..10}      ##要执行的命令
at> <EOT><按ctrl+D>          ##任务发起
job 2 at Sat Nov  7 11:03:00 2015


[root@aclhost mnt]# at -l       ##查看任务列表
2   Sat Nov  7 11:03:00 2015 a root

[root@aclhost mnt]# atrm 2      ##删除编号为2的人物
[root@aclhost mnt]# at now+1min     ##任务延迟一分钟执行

at命令的使用控制
/etc/at.deny                ##默认存在系统中,在此列表中出现的用户被禁止
test                    ##禁止test执行at
/etc/at.allow               ##默认在系统中不存在,
                    ##但是当此文件存在时,
                    ###deny文件失效,
                    #并且所有普通用户能执行at的权力被禁止,只有在此文件中的用户可以执行at
student                 ##系统中的普通用户只有student可以使用at

计划定期任务crontab

发起方式1
crontab 
    -e      ##编辑定期任务
    -l      ##显示定期任务
    -r      ##删除定期任务


crontab格式
分钟 小时 天 月 周
分钟/数字       ##每隔几分钟,以此类推,小时,天,月,周都适用


发起方式2
vim /etc/cron.d/ps  ##ps文件名称任意
分钟 小时 天 月 周 用户  命令


crontab使用限制
/etc/cron.deny      ##默认存在系统中,在此列表中出现的用户被禁止
 test                                    ##禁止test执行crontab

/etc/cron.allow     ##默认在系统中不存在,
                    ##但是当此文件存在时,
                        ###deny文件失效,
                        #并且所有普通用户能执行crontab的权力被禁止,只有在此文件中的用户可以执行crontab
student                 ##系统中的普通用户只有student可以使用crontab


all

猜你喜欢

转载自blog.csdn.net/danneel/article/details/47615295