man (查看命令的帮助信息)
格式:man [命令名]
man命令中常用按键及用途
按键 | 用途 |
---|---|
空格键 | 向下翻一页 |
page down | 向下翻一页 |
page up | 向上翻一页 |
home | 返回首页 |
end | 返回尾页 |
/ | 从上至下搜索某个关键词,如”/linux” |
? | 从下至上搜索某个关键词,如”?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
man命令的帮助信息的目录结构以及意义
结构名称 | 代表意义 |
---|---|
NAME | 命令的名称 |
SYNOPSIS | 参数的大致使用办法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项(带介绍) |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
PS (用于查看系统中的进程状态)
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其它用户的进程) |
-u | 用户以及其它详细信息 |
-x | 显示没有控制终端的进程 |
linux中5种常见的状态
R(运行):进程正在运行队列中等待
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离状态
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其终端
Z(僵死):进程已经终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放
T(体质):进程收到停止信号后停止运行
进程状态
参数 | 注释 |
---|---|
USER | 进程的所有者 |
PID | 进程ID号 |
%CPU | CPU占用率 |
%MEN | 内存占用率 |
VSZ | 虚拟内存使用量(单位KB) |
RSS | 占用的固定内存量(单位KB) |
TTY | 所在终端 |
STAT | 进程状态 |
START | 被启动的时间 |
TIME | 实际使用CPU的时间 |
COMMAND | 命令名称与参数 |
top (动态的监视进程活动与系统负载等信息)
top命令前五航为系统整体的统计信息
第一行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值、数值越小意味着负载越低)
第二行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
第三行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等(均为CPU数据并以百分比格式显示)
第四行:物理内存总量,内存使用量,内存空闲两、作为内核缓存的内存量
第五行:虚拟内存总量,虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量
pidof (用于查询某个指定服务进程的PID值)
格式:pidof [参数] [服务名称]
kill (用于终止某个指定PID的服务进程)
格式:kill [参数] [进程PID]
killall (用于终止某个指定名称的服务所对应的全部进程)
格式:killall [参数] [进程名称]
类似于windows下的结束进程树
wget (使用命令下载网络文件)
格式:wget 【参数】 下载地址
-b | 后台下载模式 |
---|---|
-O | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断电续传 |
-p | 下载页面内所有资源,包括图片,视频等 |
-r | 递归下载 |
free (查看当前系统中内存的使用量情况)
格式:free 【-m/-g】
who (查看当前登入主机用户的情况)
格式:who [参数]
last (查看系统的登入情况)
格式:last [参数]
history (显示历史执行过的命令)
格式:history [-c]
默认会保存1000条执行过的文件,若要修改可以直接编辑/etc/profile文件的HISTSIZE值
pwd (用于显示当前的工作目录)
格式:pwd [选项]
-p 显示真实路径(即非快捷链接的地址)
cd (用于切换工作路径)
格式:cd [目录名称]
参数 | 作用 |
---|---|
- | 切换到上一次的目录,如”cd -“ |
~ | 切换到”家目录”,如”cd ~” |
~username | 切换到其他用户的home目录,如”cd ~teak” |
.. | 切换到上级目录,如”cd ..” |
ls (用于查看当前目录下有哪些文件)
参数 | 作用 |
---|---|
-a | 查看全部文件(包括隐藏文件) |
=d | 仅查看目录本身 |
-h | 易读的文件容量(如k,m,g ) |
-l | 显示文件的详细信息 |
cat (用于查看纯文本文件(较短的))
格式:cat [选项] [文件]
参数 | 作用 |
---|---|
-n | 显示行号 |
-b | 显示行号(不包括空行) |
-A | 显示”不可见”的符号,如tab,空格键等等 |
more (用于查看纯文本文件(较长的))
格式:more [选项] 文件
参数 | 格式 |
---|---|
-数字 | 预先显示的行数(默认为一页) |
-d | 显示提示语句与报错信息 |
head (用于查看纯文本文档的前N行)
格式:head [选项] [文件]
参数 | 作用 |
---|---|
-n 10 | 显示10行 |
-n -10 | 正常输出(如cat命令),但不显示最后的10行 |
tail (用于查看纯文本文档的后N行)
格式:tail [选项] [文件]
参数 | 作用 |
---|---|
-n 10 | 显示后面的10行 |
-f | 持续刷新显示的内容 |
od (查看特殊格式的文件)
格式:od [选项] [文件]
参数 | 作用 |
---|---|
-t a | 默认字符 |
-t c | ASCII字符 |
-t o | 八进制 |
-t d | 十进制 |
-t x | 十六进制 |
-t f | 浮点数 |
tr (转换文本文件中得字符)
格式:tr [原始字符] [目标字符]
例:cat tr.txt [a-z] [A-Z]
wc (用于统计指定文本的行数、字数、字节数)
格式:wc [参数] 文本
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
例:统计当前系统中的用户个数
wc -l /etc/passwd
cut (用于通过列来提取文本字符)
格式:cut [参数] 文本
参数 | 作用 |
---|---|
-d 分隔符 | 指定分隔符,默认为tab |
-f | 指定显示的列数 |
-c | 单位改为字符 |
例:
获取当前系统中所有用户的命长:
参数作用:-d以”:”来作为分隔符,-f参数代表只看第一列的内容
cut -d: -f1 /etc/passwd
获取root用户的默认SHELL解释器:
grep ^root /etc/passwd | cut -d: -f7
diff (用于比较多个文本文件的差异)
格式:diff [参数] 文件
参数 | 作用 |
---|---|
-b | 忽略空格引起的差异 |
-B | 或略空行引起的差异 |
-brief或-q | 仅报告是否存在差异 |
-c | 使用上下文输出格式 |
touch (用于创建空白文件与修改文件时间)
格式:touch [选项] [文件]
参数 | 作用 |
---|---|
-a | 近修改’访问时间’(atime) |
-m | 近修改’更改时间’(mtime) |
-d | 同事修改atime和mtime |
-t | 要修改成的时间[YYMMDDhhmm] |
mkdir (创建空白的文件夹)
格式:mkdir [选项] 目录
参数 | 作用 |
---|---|
-m=MODE | 默认的文件目录 |
-p | 连续创建多层目录(若文件夹已存在泽忽略) |
-v | 显示创建的过程 |
cp (用于复制文件或目录)
格式:cp [选项] 源文件 目标文件
复制命令的三种情况:
目标文件是一个目录,会将源文件复制到该目录中。
目标文件是一个文件,会将源文件覆盖该文件。
目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为’链接文件’,则保留该’链接文件’的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p,d,r为上述的参数) |
mv (mv命令用于移动文件或改名)
格式:mv [选项] 文件名 [目标路径|目标文件名]
rm (用于删除文件或目录)
格式:rm [选项] 文件
参数 | 作用 |
---|---|
-f | 忽略警告信息 |
-i | 删除前先询问 |
-f | 删除文件夹 |
dd (用于指定大小的拷贝的文件或指定转换文件)
格式:dd [参数]
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个”块”的大小 |
count | 设置要拷贝“块”的个数 |
conv=ucase | 将字母从小写转换为大写 |
conv=lcase | 把字母从大写转换为小写 |
将光驱设备拷贝成镜像文件:
dd if=dev/cdrom of=RHEL-SERVER-7.0-X86-LinuxProbe.Com.iso
生成一个560m的空白文件:
dd if=/dev/zero of=560_file count=1 bs=560M
将硬盘的MBR信息拷贝出来:
dd if=/dev/sda of=sda_image count-1 bs=512K
useradd (用于创建新的用户)
useradd [选项] 用户名
参数 | 作用 |
---|---|
-d | 指定用户的家目录(默认为/home/username) |
-D | 展示默认值 |
-e | 账号有效截至日期,格式:YYYY-MM-DD |
-g | 指定一个初始用户组(必须已存在) |
-G | 指定一个或多个拓展用户组 |
-N | 指定默认的shell |
-s | 指定默认的Shell |
-u | 指定用户的UID |
创建名为linuxprobe的用户,并定义家目录路径,UID以及登录解释器(不允许登录):
useradd -d /gome/linux -u 8888 -s /sbin/nologin linuxprobe
passwd (用于修改用户的密码)
格式:passwd [选项] [用户名]
参数 | 作用 |
---|---|
-l | 锁定用户进制其登陆 |
-u | 解除锁定,允许用户登陆 |
–stdin | 允许从标准输入修改用户密码,如(echo “NewPassWord” \ |
-d | 使账号无密码 |
-e | 强制用户下次登陆时修改密码 |
-S | 显示用户的密码状态 |
userdel (用于删除用户所有表格)
格式:userdel [选项] 用户名
参数 | 作用 |
---|---|
-f | 强制删除用户,家目录与相关条件 |
-r | 同时删除用户,家目录与其相关条件 |
usermod (用于修改用户的属性)
格式:usermod [选项] 用户名
参数 | 作用 |
---|---|
-c | 填写账号的备注信息 |
-d -m | -d与-m连用,可重新指定用户的家目录并自动旧的数据转移过去 |
-e | 账户到期时间,格式“YYYY-MM-DD”“ |
-g | 变更所属用户组 |
-G | 变更拓展用户组 |
-L | 锁定用户禁止其登录系统 |
-U | 解锁用户,允许其登录系统 |
-s | 变更默认终端 |
-u | 修改用户的UID |
groupadd (用于创建群组)
格式:groupadd [选项] 群组名
tar (用于对文件打包压缩或解压)
格式为:tar [选项] [文件]
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
grep (用于对文本进行搜索)
格式:[选项] [文件]
搜索某个关键词:grep (关键词) (文本文件)
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当做文本文件(text)来搜索 |
-c | 仅显示找到的次数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有“关键词”的行 |
find (用于查找文件)
格式:find [查找路径] (寻找条件) (操作)
参数 | 作用 |
---|---|
-name | 匹配名称 |
-perm | 匹配权限,(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n+n | 匹配修改权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newerf1 !f2 | 匹配比文件f1新却比f2旧的文件 |
-type v/d/c/p/l/f | 匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件) |
-size | 匹配文件的大小(+50k查找超过50k的文件,而-50k则代表查找小鱼50k的文件) |
-prune | 忽略某个目录 |
-exec {} ; | 后面可接对搜索到结果进一步处理的命令(下面会有演示) |
例子:
1、搜索在/etc/自己拍卖行所有以host开头的文件
find /etc/ -name “host*” -print
2、
搜索整个系统中所有包含SUID的文件(因SUID的数字表示法是4,而减号表示只要包含)
find / -perm -4000 -print
3、
找出用户linuxprobe的文件并复制到/root/findresults目录
(重点是 “-exec {} :” 其中的{}代表find命令搜索出的文件,记住结尾必须是:)
find / -user linuxprobe -execcp -arf {} /root/findresults/ :
alias (用于设置命令的别名)
格式: alias 别名=命令
例如担心复制文件时误将文件覆盖,那么执行alias cp=”cp -i”
unalias (取消命令的别名)
格式:unalias 别名
env (查看环境变量)
格式:env(直接输入env回车)
export (将局部变量提升为全局变量)
格式:export 变量名
read(将用户的输入参数赋值给制定变量)
格式:” read -p [提示语句] 变量名”
chattr(用于设置文件的隐藏权限)
格式:chattr [参数] 文件
chattr +a linuxprobe
参数 | 作用 |
---|---|
i | 将无法对文件进行修改,若对目录设置后则仅能够修改子文件而不能新建或删除 |
a | 仅允许补充(追加)内容无法覆盖/删除(append only) |
S | 文件内容变更后同步到硬盘(sync) |
s | 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域) |
A | 不再修改这个文件的最后访问时间(atime) |
b | 不再修改文件或目录的存取时间 |
D | 检查压缩文件中的错误 |
d | 当使用dump命令备份时忽略本文件/目录 |
c | 默认将文件或进行压缩 |
u | 当删除此文件后依然保留其在硬盘中的数据,方便日后恢复 |
t | 让文件系统支持尾部合并(tail-merging) |
X | 可以直接访问压缩文件的内容 |
lsattr(用于显示文件的隐藏权限)
格式:lsattr [参数] 文件
参数 | 作用 |
---|---|
a | 显示所有文件和目录 |
l | 显示隐藏属性的全称(默认简写成一个字母) |
R | 地柜处理,将制定目录下的所有文件及子目录一并处理 |
d | 若目标文件为目录,请加此参数 |
su(用于变更使用者的身份,切换登陆者)
格式:su [-] 用户名
root用户切换其他用户无需输入密码
普通用户切换用户需要输入密码
如果要将环境变量改变为新用户的,请加参数’-‘
sudo(用于给普通用户提供额外权利来完成原本超级用户才能完成的任务)
格式:sudo [参数] 命令名称
总结来说sudo的特色功能有:
1、限制用户执行指定的命令
2、记录用户执行的每一条命令
3、配置文件(/etc/sudoers)根据集中的管理用户、权限与主机等参数
4、验证过密码后5分钟(默认值)内无须再让用户验证密码,更加额度方便
sudo命令的常用参数包括有:
参数 | 作用 |
---|---|
-h | 列出帮助信息 |
-l | 列出当前用户可执行的命令 |
-u 用户名或UID值 | 以指定的用户身份执行命令 |
-k | 清空安全时间,下次执行sudo时需要再次密码验证 |
-b | 在后台执行指定的命令 |
-p | 更改询问密码的提示语 |
setfacl(用于增加或者修改ACL规则)
格式:setfacl [参数] 文件
参数 | 作用 |
---|---|
-R | 递归(对目录使用) |
-m | 设置文件的acl规则 |
-b | 删除acl规则 |
getfacl(用于显示文件的ACL规则)
格式:getfacl 文件
mount(用于挂载文件系统)
格式:mount 文件系统 挂载目录
参数 | 作用 |
---|---|
-a | 挂载所有在/etc/fstab中定义的文件系统 |
-t | 指定文件系统的类型 |
umount(撤销已挂载的设备文件)
格式:umount [挂载点/设备文件]
fdisk(用于管理磁盘分区)
格式:fdsik [磁盘名称]
参数 | 作用 |
---|---|
m | 查看全部可用的参数 |
n | 添加新的分区 |
d | 删除某个分区信息 |
l | 列出所有可用的分区的类型 |
p | 查看分区表信息 |
w | 保存并退出 |
q | 不保存直接退出 |
mkfs(用于格式化分区)
格式:mkfs.[分区格式] [硬盘分区名]
例:mkfs.xfs /dev/sdb1
df(查看挂载点信息与磁盘使用量)
格式:df [选项] [文件]
查看挂载信息与硬盘使用量:df -h
参数 | 作用 |
---|---|
-a | 显示所有的文件系统(包括虚拟的) |
-total | 展出出总体使用量 |
-h | 更易读的容量格式如1K,234M,2G··· |
-i | 展示出inode的信息(默认是磁盘使用信息) |
-T | 显示出文件系统的类型 |
du(查看磁盘的使用量)
格式:du [选项] [文件]
查看更目录中个文件夹所占空间:dh sh /
查看档案目录下个文件夹所占看就看“du -sh *
参数 | 作用 |
---|---|
-a | 评估每个文件而非目录整体占用量 |
-c | 评估每个文件并计算出总占用量总和 |
-h | 更易读的容量格式如1K,234M,2G··· |
-s | 仅显示占用量总和 |
mdadm(管理系统软件RAID硬盘阵列)
格式:mdadm [模式] <RAID设备名称> [选项] [成员设备名称]
mdadm管理RAID阵列的动作:
名称 | 作用 |
---|---|
Assemble | 将设备加入到以前定义的阵列 |
Build | 创建一个没有超级块的阵列 |
Create | 创建一个新的阵列,每个设备具有超级块 |
Manage | 管理阵列(如添加和删除) |
Misc | 允许单独对阵列的某个设备进行操作(如停止阵列) |
Follow or Monitor | 监控状态 |
Grow | 改变阵列的容量或设备数目 |
mdadm管理RAID阵列的参数:
参数 | 作用 |
---|---|
-a | 检测设备名称 |
-n | 指定设备数量 |
-l | 指定raid级别 |
-C | 创建 |
-v | 显示过程 |
-f | 模拟设备损坏 |
-r | 移除设备 |
-a | 添加设备 |
-Q | 查看摘要信息 |
-D | 查看详细信息 |
-S | 停止阵列 |
ln(用于创建链接文件)
格式:ln [选项] 目标
创建硬链接:”ln 文件名 连接名”
创建软链接:”ln -s 文件名 连接名”
参数 | 作用 |
---|---|
-s | 创建”符号链接”(默认是硬链接) |
-f | 强制创建文件或目录的链接 |
-i | 覆盖前先询问 |
-v | 显示创建链接的过程 |
iptables(用于管理防火墙的规则策略)
格式:iptables[-t 表名] 选项 [链名] [条件] [-j 控制类型]
参数 | 作用 |
---|---|
-P | 设置默认策略:iptables -P INPUT (DROP\ |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新规则 |
-I num | 在规则链的头部加入新规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址IP/MASK,加叹号”!”表示除这个IP外 |
-d | 匹配目标地址 |
-i 网卡名称 | 匹配从这块网卡流入的数据 |
-o 网卡名称 | 匹配从这块网卡流出的数据 |
-p | 匹配协议,如tcp,udp,lcmp |
-dport num | 匹配目标端口号 |
-sport num | 匹配来源端口号 |