赞
踩
新建挂载文件夹 mkdir /mnt/cdrom
挂载 mount /dev/sr0 /mnt/cdrom
rpm -ivh 包全名 -i install 安装 -v verbose 显示详细信息 -h hash 显示进度 --nodeps 不检测依赖性
模块依赖查询www.rpmfind.net
rpm -Uvh 包全名 -U upgrade 升级
rpm -q 包名 -q query 查询 -a all 全部 -i information 查询软件信息 -p package 查询未安装包信息 -l list 列表 -f file 查询系统文件属于哪个软件包 -R require 查询软件包的依赖性
rpm -V 已安装的包名 -V verify 校验指定文件
rpm2cpio 包全名 | \cpio -idv .文件绝对路径
rpm -e 包名 -e erase 卸载 --nodeps 不检测依赖性
# make clean 如果报错可清空
本机使用建议RPM包安装,网络使用建议源码包安装
>>> date -d "2019-10-04 16066 days"
>>> echo $(($(date --date="2019/10/04" +%s)/86400 + 1))
/home/用户名/
/root/
/var/spool/mail/用户名/
# 新建用户默认创建文件所在目录/etc/skel/
# -u 指定UID# -d 指定家目录# -c 指定用户说明# -g 指定初始组# -G 指定附加组# -s 指定登录shell,默认/bin/bashuseradd user1
/etc/default/useradd/etc/login.defs
# -Spasswd user1
passwd -S 用户名
# 锁定用户passwd -l 用户名# 解锁用户passwd -u 用户名
echo "123" | passwd -stdin 用户名
# -c -G -L -Uusermod -c "说明信息" 用户名
# -l 列出用户详细密码状态# -d 日期 => 修改密码最后一次更改日期# -m 天数 => 两次密码修改间隔# -M 天数 => 密码有效期# -W 天数 => 密码过期前警告天数# -I 天数 => 密码过期后宽限天数# -E 日期 => 账号失效时间
-r 删除家目录userdel -r 用户名
vi /etc/passwd && vi /etc/shadow && vi /etc/group && vi /etc/gshadow && rm -rf /var/spool/mail/用户名 && rm -rf /home/用户名/
id 用户名
- 连带用户环境变量一起切换(默认必选,否则因环境变量未切换报错)-c 仅执行一次root权限能执行的命令,不切换用户身份su - root -c "useradd user2"
# -g GID => 指定组idgroupadd 用户组名
# -g GID => 修改组id# -n 新组名 => 修改组名groupmod [选项] 用户组名
# 组中不允许有初始用户存在groupdel 用户组名
# -a 用户名 => 把用户加入组# -d 用户名 => 把用户从组中删除gpasswd [选项] 组名
#先查看分区使用情况 df -hdumpe2fs -h /dev/sda5
# 重新挂载根分区,加入acl权限mount -o remount,acl /
vi /etc/fstab# 重新挂载或重启系统,使修改生效mount -o remount /
getfacl [选项] 文件名getfacl /project/
# -m 设定ACL权限# -x 删除指定的ACL权限# -b 删除所有的ACL权限# -d 设定默认ACL权限# -k 删除默认ACL权限# -R 递归设定ACl权限setfacl [选项] 文件名# 例子# mkdir /project && useradd bimm && useradd cangls && groupadd tgroup && gpasswd -a bimm tgroup && gpasswd -a cangls tgroup && chown root:tgroup /project && chmod 770 /project/ && useradd st && passwd st# setfacl -m u:st:rx /project/
groupadd tgproup2setfacl -m g:rgroup2:rwx /project/getfacl /project/
# 修改最大有效权限setfacl -m m:rx /project/
setfacl -m u:st:rx -R /project/
setfacl -m d:u:st:rx -R /project/
# 例 catchmod 4755 文件名chmod u+s 文件名# 恢复chmod 755 文件名chmod u-s 文件名
# 例 /usr/bin/locate# 可执行文件chmod 2755 文件名chmod g+s 文件名# 恢复chmod 755 文件名chmod g-s 文件名
chmod 1755 目录名chmod o+t 目录名# 恢复chmod 777 目录名chmod o-t 目录名
# i 文件 => 只可查看不允许修改删除文件目录 => 只可修改目录下文件,不允许创建删除# a 文件 => 只能增加数据,不能删除修改原文件内容目录 => 只能建立修改文件,不能删除文件chattr [+-=] [选项] 文件名
# -a 显示所有文件目录# -d 目录,仅列出本身属性,非子文件lsattr [选项] 文件名
visudo/etc/sudoers文件sudo 命令绝对路径
主分区 最多只能分四个扩展分区 只能有一个,算主分区一个,不能存储数据和格式化,必须再划分成逻辑分区才能使用逻辑分区 逻辑分区是在扩展分区中划分的IDE硬盘,Linux最多支持59个逻辑分区SCSI硬盘Linux最多支持11个逻辑分区
分区 | 分区设备文件名 |
---|---|
主分区1 | /dev/sda1 |
扩展分区 | /dev/sda2 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
ext2: 是ext文件系统的升级版本,一个分区大小不能超过16TB,一个文件大小不能超过2TB ext3: 是ext2文件系统的升级版本,带日志功能 ext4: 是ext3文件系统的升级版本,分区1EB,单文件16TB(默认)
# -a 显示所有文件系统信息# -h 高可读性查看容量# -T 显示文件系统类型# -m 以MB为单位显示容量# -k 以KB为单位显示容量df [选项] [挂载点]
# -a 显示每个子文件的磁盘占用量# -h 高可读性查看容量# -s 统计总占用量,不列出子目录和子文件的占用量du [选项] [文件或目录名]
备注:网站每个月重启,游戏,下载每周重启
# -a 不用显示用户提示,自动修复文件系统# -y 同-a,自动修复。部分文件只支持-yfsck [选项] 分区设备文件名
dumpe2fs 分区设备文件名
# 查询文件系统中已经挂载的设备,-l会显示卷标名称mount [-l]# 依据配置文件/etc/fstab的内容,自动挂载mount -a
# -t 文件系统 ext3,ext4,iso9660# -L 挂载指定卷标的分区,而不是安装设备文件名挂载# -o 指定挂载的额外选项mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
参数 | 说明 |
---|---|
atime/noatime | 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新 |
async/sync | 异步/同步,默认异步 |
defaults | 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项 |
exec/noexec | 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许 |
remount | 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限 |
rw/ro | 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw |
suid/nosuid | 具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有 |
user/nouser | 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区 |
usrquota | 写入代表文件系统支持用户磁盘配额,默认不支持 |
grpquota | 写入代表文件系统支持组磁盘配额,默认不支持 |
# 创建挂载点(空目录)mkdir /mnt/cdrom# 挂载光盘mount -t iso9660 /dev/cdrom/ /mnt/cdrom/或mount /dev/sr0 /mnt/cdrom/
umount 设备文件名或挂载点umount /mnt/cdrom
# 查看U盘设备文件名(查看分区)fdisk -lmount -t vfat /dev/sdb1 /mnt/usb/备注:Linux不支持NTFS文件系统
下载NTFS-3G 安装mount -t ntfs-3g /dev/sdb1 /mnt/usb/
fdisk -l
fdisk /dev/sdb
partprobe
mkfs -t ext4 /dev/sdb1
mkdir /disk1mount /dev/sdb1/ /disk1/
vi /etc/fstab
# -e 使用转义符号echo [选项] [输出内容]echo 'hello world!'
vi hello.sh
#!/bin/bashecho "hello world"# 修改可执行权限chmod 755 ./hello.sh# 执行./hello.sh或者直接使用bash ./hello.sh
dos2unix
# -c 清空历史命令# -w 把缓存中的历史命令写入历史命令保存文件(默认1000条,可以在环境变量配置文件/etc/profile中修改)history [选项] [历史命令保存文件]
上下箭头!n n为第n条历史命令!! 执行上条命令!字符串 执行最后一条以该字符串开头的命令
tab键补全
# 设置别名alias 别名='原命令'# 查看命令别名alias
1. 绝对路径或相对路径2. 别名3. 执行bash的内部命令4. $PATH环境变量定义的目录查找顺序找到的第一个命令
vi /root/.bashrc
unalias 别名
bash快捷键 | 作用 |
---|---|
ctrl+A | 把光标移到开头 |
ctrl+E | 把光标移到结尾 |
ctrl+C | 强制终止当前命令 |
ctrl+L | 清屏 |
ctrl+U | 删除或剪切光标之前的内容 |
ctrl+K | 删除或剪切光标之后的内容 |
ctrl+Y | 粘贴剪切内容 |
ctrl+R | 在历史命令中搜索 |
ctrl+D | 退出当前终端 |
ctrl+Z | 暂停,并放入后台 |
ctrl+S | 暂停屏幕输出 |
ctrl+Q | 恢复屏幕输出 |
设备 | 设备文件名 | 文件描述 | 类型 |
---|---|---|---|
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
# 正确输出输出到指定文件命令 > 文件 覆盖命令 >> 文件 追加# 错误输出输出到指定文件错误命令 2> 文件 覆盖,错误命令 2>> 文件 追加# 错误或正确命令 &> 文件 覆盖命令 &>> 文件 追加# 错误正确分开命令 >> 正确文件1 2>> 错误文件2备注:垃圾箱 /dev/null
# -c 统计字节数# -w 统计单词书(英文空格)# -l 统计行数wc [选项] [文件名]
多命令 | 格式 | 作用 |
---|---|---|
; | 命令1 ; 命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1 && 命令2 | 逻辑与,当命令1正确执行完,执行命令2 |
|| | 命令1 || 命令2 | 逻辑或,当命令1执行不正确,执行命令2 |
# 命令1的正确输出作为命令2的操作对象命令1 | 命令2netstat -a | grep --color=auto 80# -i 忽略大小写# -n 输出行号# -v 反向查找# --color=auto 搜索出的关键字用颜色显示grep [选项] 搜索内容 文件名
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或任意多个字符,也就是可以匹配任何内容 |
[] | 匹配中括号中任意一个字符 |
[-] | 匹配中括号中-左右范围内容 |
[^] | 逻辑非,匹配不是中括号内的一个字符 |
符号 | 作用 |
---|---|
'' | 单引号,内容只为字符串 |
"" | 双引号,内容可以有变量 |
`` | 反引号,内容为系统命令 |
$() | 同上 |
# | #开头为注释 |
$ | 调用变量的值 |
\ | 转义符 |
变量是计算机内存的单元,其中存放的值可以改变。
1. 变量名有字母数字和下划线组成,不能以数字开头2. 在bash中,变量默认类型是字符串类型,其他类型得指定3. 变量是用等号连接,等号两侧不能有空格4. 变量的值如果有空格,需要用引号扩起来5. 变量的值中可以加转义符6. 如果需要增加变量的值,那么可以进行变量值得叠加。7. 可以将命令的结果作为变量值赋予变量,需要使用反引号或$()包含命令8. 环境变量名建议大写,便于区分
1. 用户自定义变量2. 环境变量,这种变量中主要保存的是和系统操作环境相关的数据3. 位置参数变量,这种变量主要是用来向脚本中传递参数或数据的,变量名不能自定义,变量作用是固定的4. 预定义变量,是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的
# 变量定义name='hello world'变量名=值# 变量叠加aa=123aa="$aa"456aa=${aa}789# 变量调用echo $name# 变量查看set# 变量删除unset name
用户自定义变量只在当前的shell中生效,而环境变量会在当前和这个shell的所有子shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell中生效
# 申明变量export 变量名=变量值# 查询环境变量env# 删除环境变量unset 变量名备注:进程树 pstree
PATH: 系统查找命令的路径# PATH 变量叠加PATH: "$PATH":/roo/shPS1: 定义系统提示符的变量
变量 | 作用 |
---|---|
\d | 显示日期,格式为星期 月 日 |
\h | 显示简写主机名 |
\t | 显示24小时制,HH:MM:SS |
\T | 显示12小时制,HH:MM:SS |
\A | 显示24小时制,HH:MM |
\u | 显示当前用户名 |
\w | 显示当前所在目录的完整名称 |
\W | 显示当前所在目录的最后一个目录 |
# | 执行的第几个命令 |
$ | 提示符,root为#,普通用户为$ |
位置参数变量 | 作用 |
---|---|
$n | $0表示命令本身,$1-$9表示第一到第九个参数,10以上用${10} |
$* | 所有参数为一个整体 |
$@ | 所有参数分别对待 |
$# | 所有参数个数 |
预定义变量 | 作用 |
---|---|
$? | 最后一次命令执行返回状态,为0正确,非0不正确 |
$$ | 当前进程的进程号(PID) |
$! | 后台运行的最后一个进程的进程号(PID) |
# -p "提示信息" => 等待输入时的提示信息# -t 秒数 => 指定等待时间# -n 字符数 => 指定接收字符数# -s 隐藏输入的数据,如密码read [选项] [变量名]
# - 给变量设定类型属性# + 取消变量的类型属性# -i 将变量声明为整数型(integer)# -x 将变量声明为环境变量# -p 显示指定变量的被声明的类型declare [+/-] [选项] 变量名# expr或let数值运算工具# expr +号两侧必须有空格dd=$(expr $aa + $bb)# $((运算式)) 或 $[运算式]
优先级 | 运算符 | 说明 |
---|---|---|
13 | - , + | 单目负,单目正 |
12 | ! , ~ | 逻辑非,按位取反或补码 |
11 | * , / , % | 乘,除,取模 |
10 | + , - | 加,减 |
9 | << , >> | 按位左移,按位右移 |
8 | < = , > = , < , > | 比较运算 |
7 | == , != | 等于,不等于 |
6 | & | 按位与 |
5 | ^ | 按位异或 |
4 | | | 按位或 |
3 | && | 逻辑与 |
2 | || | 逻辑或 |
1 | = , += , -= , *= , /= , %= , &= , ^= , |= , <<= , >>= | 赋值,运算赋值 |
变量置换方式 | 变量y没有设置 | 变量y为空值 | 变量y设置值 |
---|---|---|---|
x=${y-新值} | x=新值 | x为空 | x=$y |
x=${y:-新值} | x=新值 | x=新值 | x=$y |
x=${y+新值} | x为空 | x=新值 | x=新值 |
x=${y:+新值} | x为空 | x为空 | x=新值 |
x=${y=新值} | x=新值,y=新值 | x为空 | x=$y,y值不变 |
x=${y:=新值} | x=新值,y=新值 | x=新值,y=新值 | x=$y,y值不变 |
x=${y?新值} | 新值输出到标准错误输出 | x为空 | x=$y |
x=${y:?新值} | 新值输出到标准错误输出 | 新值输出到标准错误输出 | x=$y |
source 配置文件或 . 配置文件
#USER变量,LOGNAME变量,MALL变量,PATH变量,HOSTNAME变量,HISTSIZE变量,调用/etc/profile.d/*.sh/etc/profile/etc/profile.d/*.sh# 调用~/.bashrc,在PATH后面加入 ":$HOME/bin"~/.bash_profile# 别名文件,调用/etc/bashrc~/.bashrc# nologin shell 定义PATH,umask,PS1变量/etc/bashrc# 注销时生效的环境变量配置文件~/.bash_logout# 历史命令配置文件~/.bash_history
# 本地登录/etc/issue# 远程登录# 配置/etc/ssh/ssh_config #Banner /etc/issue.net,重启ssh/etc/issue.net# 登录后都生效/etc/motd
(/etc/issue适用)
转义符 | 作用 |
---|---|
\d | 显示当前系统日期 |
\s | 显示操作系统名称 |
\l | 显示登录的终端号 |
\m | 显示硬件体系结构 |
\n | 显示主机名 |
\o | 显示域名 |
\r | 显示内核版本 |
\t | 显示当前系统时间 |
\u | 当前登录用户的序列号 |
# -f 列号 提取第几列# -d 分隔符 按照指定分隔符分割列# 分隔符多空格不适用cut [选项] 文件名
# 格式化输出命令# 输出类型1. %ns 输出字符串,n为个数2. %ni 输出整数,n为个数3. %m.nf 输出浮点数,m为整数个数,n为小数个数# 输出格式1. \a 输出警告音2. \b 输出退格键3. \f 清除屏幕4. \n 换行5. \r 回车6. \t 水平输出退格键7. \v 垂直输出退格键printf "输出类型输出格式" 输出内容
# 条件 关系表达式 BEGIN END# 动作 格式化输出,流程控制语句awk '条件1{动作1} 条件2{动作2} ...' 文件名
# -n 只把sed处理过的命令输出屏幕# -e 允许对输入数据应用多条sed命令编辑# -i 用sed修改结果直接修改读取数据的文件,不输出屏幕## 动作# a \ 追加一行或多行,\表示数据未完结# c \ 行替换,用后面的字符串替换原始数据# i \ 插入,行前插入一行或多行# d 删除# p 打印# s 字符串替换sed [选项] '[动作]' 文件名
# -b:忽略每行前面开始出的空格字符# -c:检查文件是否已经按照顺序排序;# -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;# -f:排序时,将小写字母视为大写字母;# -i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;# -m:将几个排序号的文件进行合并;# -M:将前面3个字母依照月份的缩写进行排序;# -n:依照数值的大小排序;# -o:将排序后的结果存入制定的文件;# -r:以相反的顺序来排序;# -t:指定排序时所用的栏位分隔字符;sort [选项] 文件
# -c或--bytes或——chars:只显示Bytes数;# -l或——lines:只显示列数;# -w或——words:只显示字数。wc [选项] 文件
测试选项 | 作用(判断该文件是否存在) |
---|---|
-b 文件 | 是否为块设备文件 |
-c 文件 | 是否为字符设备文件 |
-d 文件 | 是否为目录文件 |
-e 文件 | 是否存在 |
-f 文件 | 是否为普通文件 |
-L 文件 | 是否为符号链接文件 |
-p 文件 | 是否为管道文件 |
-s 文件 | 是否为非空 |
-S 文件 | 是否为套接字文件 |
测试选项 | 作用(判断该文件是否存在) |
---|---|
-r 文件 | 是否拥有读权限 |
-w 文件 | 是否拥有写权限 |
-x 文件 | 是否拥有执行权限 |
-u 文件 | 是否拥有SUID权限 |
-g 文件 | 是否拥有SGID权限 |
-k 文件 | 是否拥有SBit权限 |
测试选项 | 作用 |
---|---|
文件1 -nt 文件2 | 判断文件1的修改时间是否比文件2的新 |
文件1 -ot 文件2 | 判断文件1的修改时间是否比文件2的旧 |
文件1 -ef 文件2 | 判断文件1和文件2的INode号一致,即同一文件,用于判断硬链接 |
测试选项 | 作用 |
---|---|
整数1 -eq 整数2 | 判断整数1是否和整数2相等 |
整数1 -ne 整数2 | 判断整数1是否和整数2不相等 |
整数1 -gt 整数2 | 判断整数1是否大于整数2 |
整数1 -lt 整数2 | 判断整数1是否小于整数2 |
整数1 -ge 整数2 | 判断整数1是否大于等于整数2相等 |
整数1 -le 整数2 | 判断整数1是否小于等于整数2相等 |
测试选项 | 作用 |
---|---|
-z 字符串 | 判断字符串是否空 |
-n 字符串 | 判断字符串是否非空 |
字符串1 == 字符串2 | 判断字符串1和字符串2是否相等 |
字符串1 != 字符串2 | 判断字符串1和字符串2是否不相等 |
测试选项 | 作用 |
---|---|
判断1 -a 判断2 | 逻辑与,判断1和判断2都成立,为真 |
判断1 -o 判断2 | 逻辑或,判断1和判断2有一个成立,为真 |
! 判断 | 逻辑非,原始判断取反 |
test -e 文件名 / [ -e 文件名 ]# 判断上条命令正确执行与否echo $?
if [ 条件判断式 ];then 程序fi或者if [ 条件判断式 ]then 程序fi
if [ 条件判断式 ]then 条件成立执行else 条件不成立执行fi
if [ 条件判断式1 ] then 条件1成立执行elif [ 条件判断式2 ] 条件2不成立执行else 其他条件不成立执行fi
case $变量名 in"值1") 变量的值等于值1执行 ;;"值2") 变量的值等于值2执行 ;; *) 其他条件执行 ;;esac
for 变量 in 值1 值2 值3 ...do 程序done# 语法二for ((初始值;循环控制条件;变量变化))do 程序done
while [ 条件判断式 ]do 程序doneuntil [ 条件判断式 ]do 程序done
# 查看RPM包服务自启动状态chkconfig --list
文件目录 | 作用 |
---|---|
/etc/init.d/ | 启动脚本位置 |
/etc/sysconfig/ | 初始化环境配置文件位置 |
/etc/ | 配置文件位置 |
/etc/xinetd.conf/ | xinetd配置文件 |
/etc/xinet.d/ | 基于xinetd服务的启动脚本 |
/var/lib/ | 服务产生的数据放在这里 |
/var/log/ | 日志 |
/etc/init.d/独立服务名 start|stop|status|restart
service 独立服务名 start|stop|status|restart
chkconfig [--level 运行级别][独立服务名][on|off]
修改/etc/rc.d/rc.local文件
使用ntsysv命令管理自启动
yum -y install xinetdyum -y install telnet-servernetstat -tlun # 查看端口
# 查看源码包服务自启动状态安装绝对路径 start# 查看服务安装位置,一般为/usr/local/
任务 | 旧指令 | 新指令 |
---|---|---|
使某服务自动启动 | chkconfig --level 3 httpd on | systemctl enable httpd.service |
使某服务不自动启动 | chkconfig --level 3 httpd off | systemctl disable httpd.service |
检查服务状态 | service httpd status | systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active) |
显示所有已启动的服务 | chkconfig --list | systemctl list-units --type=service |
启动某服务 | service httpd start | systemctl start httpd.service |
停止某服务 | service httpd stop | systemctl stop httpd.service |
重启某服务 | service httpd restart | systemctl restart httpd.service |
进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的的地址空间,并占有一定的资源。
进程先停止,停不了再杀。
# 查看系统中所有进程,使用BSD操作系统格式ps aux# 查看系统所有进程,使用Linux标准命令格式ps -le
标题 | 说明 |
---|---|
USER | 该进程的产生者 |
PID | 进程的ID号 |
%CPU | 进程占用CPU的资源比 |
%MEM | 进程占用物理内存的百分比 |
VSZ | 进程占用虚拟内存的大小 |
RSS | 进程占用实际物理内存大小 |
TTY | 进程运行的的终端,TTY[1-7]本地控制台终端,TTY[1-6]本地字符界面终端,TTY7本地图形界面终端。pts/0-256虚拟终端 |
STAT | 进程状态,R:运行,S:睡眠,T:停止,s:包含子进程,+:位于后台 |
START | 进程启动时间 |
TIME | 进程占用CPU的运算时间 |
COMMAND | 产生进程的命令名 |
# -d 秒数 => 指定top更新秒数,默认3s# ?或h => 显示交互模式的帮助# P => 以CPU使用率排序,默认# M => 以内存使用率排序# N => 以PID排序# q => 退出toptop [选项]
内容 | 说明 |
---|---|
hh:mm:ss | 系统当前时间 |
up X day, hh:mm | 系统的运行时间,本机已经运行时间 |
X users | 当前等用户数 |
load average | 系统在之前1分钟,5分钟,15分钟的平均负载。1 >,负载小,1 |
内容 | 说明 |
---|---|
Tasks: X total | 系统中总进程数 |
X running | 正在运行的进程数 |
X sleeping | 睡眠的进程 |
X stopped | 正在停止的进程 |
X zombie | 僵尸进程,不为0,检查僵尸进程 |
内容 | 说明 |
---|---|
Cpu(s): %us | 用户模式占用CPU百分比 |
%sy | 系统模式占用CPU百分比 |
%ni | 改变过优先级的用户进程占用CPU百分比 |
%id | 空闲CPU的CPU百分比 |
%wa | 等待I/O进程的占用CPU百分比 |
%hi | 硬中断请求服务占用的CPU百分比 |
%si | 软中断请求服务占用的CPU百分比 |
%st | st(steal time) 虚拟时间百分比。虚拟CPU等待实际CPU的时间百分比 |
内容 | 说明 |
---|---|
Mem: Xk total | 物理内存的总量,单位KB |
Xk used | 已经使用的物理内存数量 |
Xk free | 空闲的物理内存数量 |
Xk buffers | 作为缓冲的内存数量 |
内容 | 说明 |
---|---|
Swap: Xk total | 交换分区(虚拟内存)的总大小 |
0k used | 已经使用的交换分区的大小 |
Xk free | 空闲的交换分区的大小 |
Xk cached | 作为缓存的交换分区大小 |
# -p 显示进程的PID# -u 显示进程的所属用户pstree [选项]
# 查看可用的进程信号kill -lkill -1 pid 重启进程kill -9 pid 强制终止进程kill -15 pid 正常结束进程,默认# -i 交互式,询问是否杀死某个进程# -I 忽略进程名的大小写killall [选项][信号] 进程名# -t 终端号 按照终端号踢出用户pkill [选项][信号] 进程名# 查询本机已登录用户w
# 后台运行命令 /etc &# 后台暂停,挂起top -> ctrl+z
# -l 显示工作的PID# +,最近放入后台的工作;-,倒数第二放入后台的工作jobs [-l]
# %工作号 %可省略fg %工作号
# %工作号 %可省略bg %工作号
vmstat [刷新延时 刷新次数]
dmesg
# -b 以字节单位显示# -k 以KB为单位显示,默认# -m 以MB为单位显示# -g 以GB为单位显示free [选项]
cat /proc/cpuinfo
# 显示系统启动时间和平均负载uptime
# -a 查看系统所有相关信息# -r 查看内核版本# -s 查看内核名称uname [选项]
file /bin/ls
lsb_release -a
# -c 字符串 => 列出字符串开头的进程打开的文件# -u 用户名 => 列出某个用户进程打开的文件# -p pid => 列出某个PID进程打开的文件lsof [选项]
# 重启crond服务service crond restart# 设置crond服务自启chkconfig crond on
# -e 编辑crontab 定时任务# -l 查询crontab任务# -r 删除当前用户所有的crontab任务crontab [选项]# minute hour day Month week* * * * * 执行的任务
特殊符号 | 含义 |
---|---|
* | 任何时间 |
, | 不连续的时间 |
- | 连续时间 |
*/n | 每隔n执行一次 |
# 确定服务是否启动ps aux | grep rsyslogd# 查看服务是否自启chkconfig --list | grep rsyslogd# 查看登录错误日志lastb
等级名称 | 说明 |
---|---|
debug | 一般的调试信息说明 |
info | 基本信息的通知 |
notice | 普通信息 |
warning | 警告信息 |
err | 错误信息,影响服务或系统运行 |
crit | 临界状况信息 |
alert | 警告状态信息,必须立即采取行动 |
emerg | 疼痛等级信息,系统已经无法使用 |
参数 | 说明 |
---|---|
daily | 日志轮替的周期为每天 |
weekly | 日志轮替的周期为每周 |
monthly | 日志轮替的周期为每月 |
rotate 数字 | 保留日志文件的个数 |
compress | 压缩旧日志 |
create mode owner group | 建立新日志 |
mail address | 将日志发邮件到指定地址 |
missingok | 该日志不存在,忽略警告信息 |
notifempty | 空日志不轮替 |
minsize 大小 | 日志轮替最小值 |
size 大小 | 只有大于指定大小才轮替 |
dateext | 使用日期做日志轮替后缀 |
# -v 显示日志轮替过程# -f 强制进行日志轮替logrotate [选项] 配置文件名
运行级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户模式,用于系统修复 |
2 | 不含NFS服务,命令行模式 |
3 | 标准字符界面 |
4 | 系统保留 |
5 | 图形界面 |
6 | 重启 |
# 查看运行级别runlevel# 改变运行级别init 运行级别
# 系统开机后直接进入运行级别vim /etc/inittabid:3:initdefault:
硬盘 | 分区 | Linux中设备文件名 | Grub中设备文件名 |
---|---|---|---|
第一块SCSI硬盘 | 第一个主分区 | /dev/sda1 | hd(0,0) |
* | 第二个主分区 | /dev/sda2 | hd(0,1) |
* | 扩展分区 | /dev/sda3 | hd(0,2) |
* | 第一个逻辑分区 | /dev/sda5 | hd(0,4) |
第二块SCSI硬盘 | 第一个主分区 | /dev/sdb1 | hd(1,0) |
* | 第二个主分区 | /dev/sdb2 | hd(1,1) |
* | 扩展分区 | /dev/sdb3 | hd(1,2) |
* | 第一个逻辑分区 | /dev/sdb5 | hd(1,4) |
dump [选项] 备份后文件名 要备份文件名# -level 0-9十个备份级别# -f 文件名 指定备份完的文件名# -u 备份成功时间记录文件/etc/dumpdates# -v 显示备份过程输出信息# -j 调用bzlib库压缩备份文件成.bz2文件# -W 显示允许被dump的分区备份等级及备份时间# 恢复restore [模式选项] [选项]# -C 比较备份与实际的变化# -i 进入交互模式# -t 查看模式# -r 还原模式# -f 指定备份文件名restore -r -f 已备份文件名
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。