索引表格

命令 功能简述
目录与文件基本操作
pwd 显示当前目录
ls 列出目录和文件名称
cp 复制文件或目录
mv 移动或更名现有的文件或目录
rm 删除文件或目录
mkdir 新建目录
rmdir 删除空目录
file 显示文件类型
stat 显示文件或文件系统的详细信息
du 显示文件或目录大小
touch 更改文件或目录的时间标记
ln 建立链接文件
查找文件或目录
which 在$PATH设定的目录范围查找指定文件
whereis 查找文件(只用于查找:二进制文件、源代码文件、man手册)
find 在指定目录下查找文件
文件内容操作
wc 计算文件的字节数、字数、行数
head 显示文件最前面部分内容
tail 显示文件最后面部分内容
cat 输出显示文件内容
tac 反向显示文件内容
more 浏览文件内容
less 浏览文件内容
fold 修改文件显示的宽度
cut 获取文件中每行的指定范围
diff 比较并显示文件差异部分
diffstat 由diff比较的结果显示比对统计信息
comm 比较文件内容(早期指令)
cmp 比较两个文件差异
grep 搜索文件中符合条件的字符串
egrep 搜索文件中符合条件的字符串,效果同 grep -E
fgrep 搜索文件中特定的字符串,效果同 grep -F
split 按大小分割文件
csplit 按行分割文件
join 将两文件相同的栏位合并
paste 合并文件内容并显示
uniq 显示并删除文件中重复的行
sort 将文件内容重新排序
col 标准文本过滤器
tr 替换或删除文件或字符流中的字符
od 以八进制、十六进制或其他编码格式输出文件内容
dd 转换和数据输出到文件
tee 文件内容T型输入输出
awk 文字数据处理的高级工具
sed 流编辑器
sum 计算并显示文件的校验和
cksum 计算并显示文件的CRC校验和
md5sum 采用MD5算法计算文件的校验和
iconv 字符集的转换
文件权限管理
lsattr 查看ext2文件系统上的文件属性
chattr 修改文件属性
chmod 改变文件的权限
chown 改变文件的拥有者
chgrp 改变文件的所属组
umask 显示和设置新建文件的屏蔽权限
文件系统与磁盘操作
df 显示文件系统的使用状况
findfs 用卷标或是UUID查找特定文件系统
fsck 检查或修复文件系统
fdisk 显示或修改硬盘分区
cfdisk 图形界面修改硬盘分区
mkfs 格式化
mkreiserfs 格式化为reiserfs文件系统
mke2fs 格式化为ext2/ext3/ext4文件系统
e2fsck 检验ext2/ext3/ext4文件系统
e2label 设置ext2/ext3/ext4文件系统卷标
tune2fs 调整ext2/ext3/ext4文件系统的参数
mkswap 新建SWAP分区
swapon 开启指定的交换分区
swapoff 关闭指定的交换分区
mount 挂载文件系统
umount 卸载文件系统
sync 将内存缓冲区中的数据写回硬盘
blockdev 在命令行中调用ioxtls函数,控制block设备
磁盘配额管理
quota 显示用户或群组的磁盘配额信息
edquota 编辑用户或群组的磁盘配额容量
quotastats 显示当前用户磁盘配额的限制
quotaoff 关闭用户磁盘配额限制
quotaon 打开用户磁盘配额限制
quotacheck 检查用户磁盘配额限制
repquota 显示某个文件系统的磁盘配额限制
备份打包与压缩
ar 将多个文件打包成一个文件
tar 打包和解包文件
zip 压缩文件(扩展名一般为.zip,windows兼容可用)
unzip 解压文件(扩展名一般为.zip)
zipinfo 显示zip压缩文件的信息
gzip 压缩文件(扩展名一般为.gz)
gunzip 解压文件(扩展名一般为.gz)
gzexe 将某个可执行文件进行压缩,运行时自动解压
zcat 查看被gzip压缩的文件中的内容
bzip2 以bzip2格式压缩文件(扩展名一般为.bzip2)
bunzip2 解压bzip2格式文件(扩展名一般为.bzip2)
compress 很古老的unix压缩文件指令(扩展名一般为.Z)
uncompress 很古老的unix解压文件指令(扩展名一般为.Z)
账号管理
logname 显示当前登录用户的账号
whoami 显示当前登录用户的账号和ID号
useradd 新建用户帐号
adduser 新建用户帐号(是useradd命令的符号链接)
userdel 删除用户帐号
usermod 修改用户帐号
passwd 修改用户密码
chsh 改变用户登录时所使用的shell
groups 显示当前登录用户所属群组
groupadd 新建群组
groupdel 删除组
groupmod 修改组账号
gpasswd 组管理命令
id 显示用户与组的id信息
su 切换用户身份
sudo 使用指定的用户权限执行程序
users 显示当前本机已登录用户列表
who 显示当前本机已登录的用户列表及相关信息
w 显示当前本机已登录的用户列表及其正在执行的操作
last 显示最近登录的用户信息
lastb 显示最近登录失败的用户信息
pwck 检查密码文件的正确性
wall 向所有用户广播信息
write 传送信息给其他用户
终端&shell操作
clear 清除屏幕
echo 显示文字
yes 重复输出相同的字符串
dircolors 设置使用ls时文件或目录的显示颜色
watch 将指令的输出结果以全屏显示
alias 定义命令及参数的别名
unalias 删除别名设置
hash 显示与清除 hash table
enable 临时关闭或启动shell内部命令
history 显示使用过的指令
fc 修改或执行已使用过的指令
vlock 锁定终端的使用权
sleep 暂停终端指定的秒数
suspend 暂停当前所使用的shell
exit 退出当前shell
mesg 控制当前终端的消息写入权限
bc 数字计算器
logsave 将指定程序或指令的输出存储到记录文件中
shell变量操作
set C shell下设置变量(相当于bash下的export)
declare 声明shell变量
export 声明环境变量
unset 删除变量设置
时间与日期
cal 显示日历
date 显示与修改日期时间
hwclock 显示与设定硬件时钟
uptime 显示系统已经运行的时间
计划任务
at 在指定时间执行命令
atq 查询待执行的任务
atrm 删除待执行的任务
batch 执行批处理任务
crontab 设置计划任务
logrotate 定期或定量将日志文件压缩备份、轮转、删除
进程管理
ps 显示进程信息
pstree 以树状表示进程信息
pidof 查找正在执行进程的pid
pgrep 按进程名称查找进程PID
top 实时显示当前的所有进程状态
pmap 显示进程的内存映射关系
jobs 显示正在后台执行的任务
fg 将后台任务放到前台
bg 将程序放到后台执行
nohup 终端退出后,仍继续运行某指令
kill 向进程发信号(常用于关闭进程)
killall 根据进程名称终止进程
pkill 向进程发信号(功能类似kill,但使用进程名称,而不是pid)
wait 等待进程的返回值
nice 以指定优先级运行指令
renice 调整正在运行进程的优先级
ipcs 显示IPC(进程间通信)状态
ipcrm 删除IPC(进程间通信)渠道
系统级指令
arch 显示CPU架构
uname 显示系统信息
dmesg 显示或修改内核ring buffeer信息
halt 关闭系统
reboot 重启系统
shutdown 定时关机或重启指令
ctrlaltdel 设置Ctrl+Alt+Del热键动作
init 进程初始化工具
runlevel 显示当前与之前的执行等级
vmstat 显示虚拟内存的状态
free 显示内存使用状态
sysctl 显示和设置内核参数
ulimit 限制用户对系统资源的使用
模块与驱动
lsmod 显示已经加载到内核中的模块的信息
modinfo 显示模块的信息
insmod 加载模块
rmmod 卸载模块
modprobe 智能加载模块到内核或卸载模块
depmod 分析可加载模块的关联性
网络(部分最常用)指令
ifconfig 设置或显示网络信息
ping 传送ICMP echo包,测试主机之间网络的连通性
netstat 查询网络的当前状态
ssh 远程加密客户端连接工具
slogin 远程加密客户端连接工具(完全同ssh)
telnet 远程联机工具(早期)
tcpdump 显示网络上TCP的联机状态
wget 从指定网址下载网页或文件
以后继续补充……  
帮助信息
help shell内置指令说明
info 显示帮助说明信息(有时比man更详细)
man 显示各种指令的帮助信息
whatis 查询一个命令执行什么功能

pwd

功能:显示当前所在目录

语法:pwd  [参数]

参数 说明
-L 当前目录为符号链接(link)目录时,显示符号连接目录(默认参数)
-P 无视符号链接,显示当前真实的物理目录

实例:

# pwd
/root/test01

返回索引

ls

功能:列出目录和文件名

语法:ls  [参数]  [文件名]

参数 说明
-a 显示所有的文件,包括以“.”开头的隐藏文件和“.”和“..”
-h 以较易阅读的方式显示文件大小,如以K和M为单位
-i 列出inodes的编号
-l 使用长列表列出
-m 以水平的排列显示文件名和目录名,每项间以“,”隔开
-r 以字母的反相顺序列出
-t 依照文件的最后修改时间顺序列出,最后修改的排在最前
-A 同-a参数,但不列出“.”、“..”
-F 在列出的文件名后加一个符号

(“*”表示可执行文件,“/”表示目录,“@”表示符号链接,
“|”表示命令管道,“=”表示sockets套接字)

-R 递归处理,列出目录与子目录下的所有文件

返回索引

cp

功能:复制文件或目录

语法:cp  [参数]  源文件或目录名  目的路径/(目的文件或目录名)

参数 说明
-a 保留链接、文件属性,并复制目录下所有内容,效果等同于-dpr参数一起使用
-b 覆盖已存在文件时,会先备份已存在的文件,在原文件名尾加~
-f 强制复制
-i 覆盖文件前先提示询问用户
-p 保留原有文件的属性
-r 若源文件是一个目录文件,则将复制此目录和其下所有的文件和子目录
-u 仅在源文件比目的文件时间新时复制

实例:

1. 将文件testfile1复制为testfile2

#cp testfile1 testfile2

2. 复制整个test目录到新目录abc下

#cp -r test abc/

返回索引

mv

功能:

语法1:mv  [参数]  源文件或目录名 目的文件或目录名

语法2:mv  [参数]  源文件名列表 目的路径

参数 说明
-b 若目的文件存在,在覆盖时会将旧有目的文件备份(文件名后加~)
-f 强制执行,覆盖已有文件时不给任何提示
-i 覆盖旧文件时会先提示询问用户
-u 若目的文件已存在,且目的文件比源文件更新,则不执行
-v 列出详细的过程

实例:

1. 将 testfile1文件更名为 testfile2

# mv testfile1 testfile2

2. 将 testfile1文件移动到 /tmp下

# mv testfile1 /tmp

返回索引

mkdir

功能:新建目录

语法:mkdir  [参数]  目录名

参数 说明
-m 模式用法与chmod相同,可参阅chmode参数用法
-p 若上层目录不存在,会依序建立;若该目录已存在,将会略过,且不出现错误信息

实例:

1. 建立 bb目录,若 aa目录不存在,则顺便建立 aa目录

# mkdir -p aa/bb

补充说明:若不加-p参数,当aa目录不存在时会报错

返回索引

rmdir

功能:删除空目录(注意:当目标目录非空目录时会报错)

语法:rm  [参数]  目录名

参数 说明
-p 当目标目录被删除后,它的上级目录成为空目录的话,则上级目录也一并删除

实例:

1. 删除目录 bb,若bb删除后,aa成为空目录的话,则aa也被一并删除

# rm -p aa/bb

返回索引

rm

功能:删除文件或目录

语法:rm  [参数]  文件名(或目录名)

参数 说明
-d 删除目录,但如果此目录下不为空,则不能删除
-f 强制删除文件或目录,且删除前没有询问提示
-i 在删除文件或目录前,会先提示询问用户
-r 删除目录,且将此目录下的所有文件及子目录都一并删除
-v 显示完整的执行过程

实例:

1. 强制删除test目录与目录下的所有文件与子目录

# rm -rf test/

2. 删除当前目录下所有以a开头的文件

# rm a*

返回索引

file

功能:显示文件类型

语法:file  [参数]  文件名称

参数 说明
-b 不显示文件名称
-c 显示详细的指令执行过程
-f 文件名 指定名称文件,让file指令依照此文件内容辨识
-L 若为链接文件,直接显示原始文件的类型
-v 显示版本信息
-z 尝试去读取压缩文件的内容

实例:

1. 显示文件a的类型

# file a
a: ASCII text

2. 显示文件类型,但不显示文件名称

# file -b /dev/hda1
block special

返回索引

stat

功能:显示文件或文件系统的详细信息

语法:stat  [参数]  文件名

参数 说明
-f 显示文件所在文件系统的详细信息
-L 若目的文件为符号链接文件,则显示其真实文件的信息
-t 以简单模式列出信息

实例:

1. 显示文件 testfile的详细信息

# stat testfile
File: 'testfile'
Size: 4096 Blocks:8 IO Block: 4096 directory
Device: 890h/2001d Inode: 51987 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-05-01 14:46:24.000000000 +0800 最后访问时间
Modify: 2016-05-01 14:46:19.000000000 +0800 最后修改时间
Change: 2016-05-01 15:01:02.000000000 +0800 最后属性或状态修改时间

返回索引

du

功能:显示文件或目录大小

语法:du  [参数]  文件名

参数 说明
-a 显示目录中个别文件的大小
-b 以byte(字节)为单位显示大小
-c 显示个别文件大小,以及大小总和
-D 显示符号链接的源文件的大小
-h 提高可读性,自动以K、M、G为单位显示大小
-H 与-h类似,但以1000为单位,而不是1024
-k 以1024字节为单位
-l 重复计算硬链接文件所占的空间
-L 符号链接 指定符号链接文件的大小
-m 以MB为单位显示
-s 只显示总和大小
-S 显示目录内容时,不包含子目录的大小
-x 若目录中有其他不同的文件系统,不显示其他文件系统
--exclude=文件名 忽略指定的文件或目录
--max-depth=目录层数 超过指定层数的目录后,予以忽略

实例:

1. 显示当前目录下的所有目录及子目录的大小

# du

2. 以可读性高的方式显示根目录下的所有目录用量大小

# du -sh /*

返回索引

touch

功能:更改文件或目录的时间标记(若文件不存在,则新建一个空文件)

语法:touch  [参数]  文件名

参数 说明
-a 改变文件的访问时间(Access time)
-c 若目的文件不存在,则不建立新的文件
-m 改变文件的修改时间(Modify time)
-t 指定时间 更改文件的时间标记为指定时间,格式为MMDDhhmm

实例:

1. 新建一个名为 testfile1的空文件

# touch testfile1

2. 将 /etc/local.conf文件的最后修改时间、最后属性修改时间及最后访问时间更改为当前时间

# touch /etc/local.conf

返回索引

ln

功能:建立链接文件

语法:ln  [参数]  源文件 目的文件

参数 说明
-b 当目的文件存在时,则先为已存在的文件建个备份再覆盖
-d 允许超级用户建立目录的硬链接
-f 当目的文件已存在时,强制覆盖,无提示
-i 当目的文件已存在时,先提示询问用户是否覆盖
-n 若目的文件是一个指向目录的符号链接,则将它视为普通文件
-s 建立符号链接(软链接)
-v 显示详细的过程

实例:

1. 为 testfile1文件建立一个名为 testfile2的硬链接文件

# ln testfile1 testfile2

2. 为 testfile1文件建立一个名为 tf1的符号链接文件

# ln -s testfile1 tf1

返回索引

which

功能:在$PATH设定的目录范围查找指定文件

语法:which 文件名

参数 说明
-v 显示版本信息

实例:

1. 查找 python所在目录

# which python

返回索引

whereis

功能:查找文件(只用于查找:二进制文件、源代码文件、man手册)

语法:whereis  [参数]  文件名

参数 说明
-b 只查找二进制文件(即可执行文件)
-B 目录 只在指定目录下搜索二进制文件(即可执行文件)
-f 不显示文件名前的路径名称
-m 只查找man说明文件
-M 目录 只在指定目录下查找man说明文件
-s 只查找原始代码文件
-S 目录 只在指定目录下查找原始代码文件
-u 查找不包含指定类型的文件

实例:

1. 查找 python可执行文件位置

# whereis python

返回索引

find

功能:在指定路径下查找文件(若不指定路径即为在当前路径下查找)

语法:find  [路径]  [参数语法]

参数 说明
-amin 分钟 查找指定分钟内被访问过的文件
-atime 小时 查找指定小时内被访问过的文件
-anewer 文件 查找访问时间或修改时间比指定文件较新的文件
-mmin 分钟 查找指定分钟内被修改过的文件
-mtime 小时 查找指定小时内被修改过的文件
-mnewer 文件 查找修改时间比指定文件较新的文件
-cmin 分钟 查找指定分钟内被修改过属性的文件
-ctime 小时 查找指定小时内被修改过属性的文件
-cnewer 文件 查找修改属性时间比指定文件较新的文件
-empty 查找文件大小为0,或是目录下没有文件的目录
-false 将find指令的返回值皆设为False
-true 将find指令的返回值皆设为True
-uid 用户ID号 查找拥有者为指定的用户ID号的文件或目录
-user 用户名 查找拥有者为指定用户名的文件或目录
-nouser 查找不属于本地主机用户ID的文件或目录
-gid 组ID号 查找拥有者所属组为指定的组ID号的文件或目录
-group 组名称 查找拥有者所属组为指定组名称的文件或目录
-nogroup 查找不属于本地主机组ID的文件或目录
-inum inode号 查找符合指定的inode编号的文件或目录
-links 链接数 查找符合指定的硬连接数目的文件或目录
-regex 正则表达式 查找文件名匹配正则表达式的文件或目录
-path 模式表达式 查找文件路径(含文件名)匹配模式表达式(一般可为正则表达式)的文件或目录
-name 模式表达式 查找文件名匹配模式表达式(一般可为正则表达式)的文件或目录
-perm 权限数值 查找符合指定的权限数值的文件或目录
-size 文件大小 查找符合指定的文件大小的文件
-type 文件类型 查找符合指定文件类型的文件

b(block special), c(character special), d(directory), p(named pipe), f(regular file),
l(symbolic link), s(socket)

-used 天数 查找文件或目录被更改之后,在指定天数内被访问过的文件

实例:

1. 查找当前目录及子目录下所有以a结尾的文件和目录

# find ./ -name "*a"

2. 查找/usr/bin目录及子目录下所有以p开头的文件和目录

# find /usr/bin -name "p*"

返回索引

wc

功能:计算文件的字节数、字数、行数

语法:wc  [参数]  [文件名]

说明:不适用于含汉字文件

参数 说明
-c 只显示字节数
-m 只显示字符数
-l 只显示行数
-L 显示文件中最长行的字符数
-w 只显示字数

实例:

1. 显示 a.txt文件的字符数、行数

# wc -ml a.txt

返回索引

head

功能:显示文件最前面部分内容(默认显示10行)

语法:head  [参数]  [文件名]

参数 说明
-c 字节数 显示前指定字节数的内容
-n 行数 显示前指定行数的内容
-q 不显示文件名
-v 显示文件名

实例:

1. 显示 a.txt文件的前3行

# head -n 3 a.txt

2. 显示 a.txt文件的前10个字节

# head -c 10 a.txt

返回索引

tail

功能:显示文件最后面部分内容(默认显示10行)

语法:tail  [参数]  [文件名]

参数 说明
-c 字节数 显示前指定字节数的内容
-n 行数 显示前指定行数的内容
-q 不显示文件名
-v 显示文件名
-f 持续显示文件末尾数据(一般为追加数据),通常用于日志文件的监控
-s 秒数 与-f一起使用,指定每次读取间隔的秒数
--pid=进程号 与-f一起使用,当指定进程号的进程结束时,则停止tail命令

实例:

1. 持续监控 /var/log/mailog文件,只要有新内容,就会在屏幕输出

# tail -f /var/log/maillog

返回索引

cat

功能:输出显示文件内容

语法:cat  [参数]  [文件名]

参数 说明
-A 显示全部,效果等同-vET
-b 在所有非空白行上,显示编号
-e 等同于-vE
-E 在每行最后标上“$”符号
-n 在所有行前显示编号(包括空白行)
-s 出现连续两行以上的空白时,会仅显示一行空白
-t 等同于-vT
-T 将tab以“^I”来表示
-v 除了LFD与tab外,其他控制字符均用“^”表示

实例:

1. 显示 /etc/hosts文件的内容,并显示行号

# cat -n /etc/hosts

返回索引

tac

功能:反向显示文件内容

语法:tac  [参数]  [文件名]

参数 说明
-s 指定文字 找到文件中的指定文字作为间隔符,将文件分隔显示,但每个分隔内的内容是正向显示的
-b 将间隔符放在被间隔的文字前面
-r 将间隔符参数作为正则表达式

实例:

1. 反向显示 a.txt文件

# tac a.txt

返回索引

more

功能:显示文件内容

语法:more  [参数]  [文件名]

操作:空格键:向下翻页,Enter键:向下一行,b:向上翻页,h:显示帮助,q:退出

说明:more指令不能自由向上滚动行,故不如 less指令好用,参数详见 man文档

实例:

1. 显示 a.txt文件,每次显示20行

# more -20 a.txt

返回索引

less

功能:浏览文件内容

语法:less  [参数]  [文件名]

操作:PageDown:下翻一页,PageDown:上翻一页,↓:下翻一行,↑:上翻一行, d:下翻半页,u:上翻半页,h:显示帮助,

q:退出,/ 字符串:搜索特定关键词

参数 说明
-e 文件内容显示完毕后,自动退出
-f 强制显示非文本文件
-g 不加亮显示使用搜索指令的关键词
-i 搜索时忽略大小写
-N 每行行首显示行号
-Q 关闭警告
-s 将连续的空行表示成一个空行
-S 过长的行不换行显示
-x 数字 将tab字符取代为指定数字个空格

实例:

1. 浏览 a.txt文件

# less a.txt

返回索引

fold

功能:修改文件显示的宽度

语法:fold  [参数]  [文件名]

参数 说明
-w 数字 设置每行的宽度(默认宽度为80)
-b 以字节为单位计算宽度
-c 以字符为单位计算宽度
-s 若一行超过指定宽度,在超过宽度单词前的空白处换行

实例:

1. 以100列为宽度显示 testfile1文件

# fold -w 100 testfile1

返回索引

cut

功能:获取文件中每行的指定范围

语法:cut  [参数]  [文件名]

参数 说明
-b 数字范围 仅输出指定数字范围个字节,数字范围格式(如:1-10)
-c 数字范围 仅输出指定数字范围个字符,数字范围格式(如:1-10)
-d 字符 指定字符为分隔符
-f 输出范围 如果以分隔符分隔每行,仅输出每行中指定区段范围的内容
-s 若改行没有分隔符,则不显示该行

实例:

1. 显示 testfile1文件每行的第1~10个字符

# cut -c 1-10 testfile1

2. 以/etc/passwd为例(文件中以冒号作为每行中的不同字段间的分隔符),仅显示每行的用户名

# cut -f 1 -d : /etc/passwd

返回索引

diff

功能:比较并显示文件差异部分

语法:diff  [参数]  文件1  文件2

参数 说明
-a 将二进制文件也看作普通文本文件
-b 不比较空格符
-B 不比较空行
-c 显示相异处的前后文,并标识不同之处
-I 字符串 忽略指定字符串的差异
-i 不检查大小写的不同
-l 将结果使用pr指令分页
-n 将结果以RCS格式来表示
-p 若比较的文件为 C语言源文件,则显示差异所在函数
-q 仅显示是否有差异,不显示其他信息
-r 递归处理,比较子目录和其下所有文件
-s 即使没有差异,也显示信息
-S 文件 若是比较目录,则从指定文件开始比较
-t 输出结果时,将tab字符显出(默认会以空格显示tab)
-T 在每行前加上tab
-v 显示版本信息
-w 忽略所有的空格符
-W 宽度 若使用-y参数时,指定列宽
-x 文件或目录 不对比指定的文件或目录
-X 模式文件 不比对指定模式文件中所有列出的文件
-y 以并列方式显示比对结果

实例:

1. 比对 file1和 file2文件,并列显示比对结果

# diff -y file1 file2

2. 比对 testdir1和 testdir2这两个目录

# diff testdir1 testdir2

返回索引

diffstat

功能:由diff比较的结果显示比对统计信息

语法:diffstat  [参数]  比对结果文件

参数 说明
-c 将输出的文件的每行前加上“#”
-e 文件 将标准错误输出到指定文件
-h 显示帮助信息
-k 在报告中不显示文件合并信息
-o 文件 将标准屏幕输出内容输出到指定文件
-u 不在报告中将文件排序
-v 显示执行过程
-V 显示版本信息
-w 指定输出的列宽

实例:

1. 比较 file1和 file2文件的差异,并用diffstat输出统计结果

# diff file1 file2 | diffstat

返回索引

comm

功能:比较文件内容(早期指令)

语法:comm  [参数]  文件1 文件2

参数 说明
-1 不显示在文件1中出现过的行
-2 不显示在文件2中出现过的行
-3 不显示在同时在两个文件中出现过的行

实例:

1. 比较 testfile1 和 tesfile2 文件

# comm testfile1 testfile2

返回索引

cmp

功能:比较两个文件差异

语法:cmp  [参数]  文件1  文件2

说明:由于diff指令更为强大,所以这个 cmp指令并不常用

参数 说明
-b 列出相差的字节数
-i 数字 略过前面若干个字符
-l 列出所有不同处
-n 数字 限制比较的字节数
-s 安静模式,不显示任何信息
-v 显示版本信息

实例:

1. 比较 file1和 file2这两个文件

# cmp -l file1 file2

返回索引

grep

功能:搜索文件中符合条件的字符串

语法:grep  [参数]  模式表达式 文件或目录名

参数 说明
-a 不忽略二进制数据
-A 行数 除了显示找到的那行外,再显示后面指定的行数
-b 显示搜索到的那行的前一行,并显示搜索到的第一个字符离文件头的位置
-B 行数 除了显示找到的那行外,再显示之前的指定的行数
-c 计算搜索到的符合条件的行数
-C 除了显示找到的那行外,再显示之前和之后的指定的行数
-d 操作 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作

可选的操作:read(搜索文件), recurse(搜索目录)

-e 模板样式 将指定的模板样式作为搜索条件,此时不需要输入标准格式中的“正则表达式”内容
-E 可使用“扩展的正则表达式”来解析
-f 文件 搜索指定文件中给出的各个正则表达式
-F 将正则表达式视为普通的固定字符串来对待
-G 使用“基本正则表达式”规则来解析
-h 不显示文件名称
-H 显示文件名称
-i 忽略大小写
-l 显示找到的符合条件的文件的名称
-L 显示不符合条件的文件的名称
-n 在显示找到的行前,显示该行的行数
-q 不显示任何信息
-r 递归搜索整个目录中的文件(效果同 -d recurse)
-s 不显示错误信息
-v 取反,搜索不匹配该模式表达式的文件内容
-V 显示版本信息
-w 只显示含全单词匹配模式模式表达式的行
-x 只显示整行匹配的行
-y 同 -i参数

实例:

1. 搜索当前目录及子目录中,所有含字符串“abcd”的文件

# grep -r abcd ./

2. 搜索 testdir目录及其子目录下所有的 .c文件,找到其中含有字符串 abc的行,列出

# find testdir -name "*.c" | xargs grep abc 

返回索引

egrep

功能:搜索文件中符合条件的字符串,效果同 grep -E

语法:egrep  [参数]  扩展正则表达式  文件或目录名

实例:

1. 搜索当前目录及子目录中,所有含字符串“abcd”的文件

# egrep -r abcd ./

返回索引

fgrep

功能:搜索文件中特定的字符串,效果同 grep -F

语法:fgrep  [参数]  字符串  文件或目录名

实例:

1. 搜索当前目录及子目录中,所有含字符串“abcd”的文件

# fgrep -r abcd ./

返回索引

split

功能:按大小分割文件

语法:split  [参数]  [文件名]

参数 说明
-b 数字 分割文件,每个文件大小为指定数字Byte
-c 数字 设定每个输出文件中每行的最大字节数
-d 分割后的每个文件名末尾添加数字序号(如:00,01,02, ...)
-a 数字 分割后的每个文件名末尾数字序号的长度(格式以2为底,如-a 3,即为:000, 001, ...)
-l 数字 指定每个文件的行数
--verbose 分割出现错误时,显示在屏幕上

实例:

1. 以10k字节为单位,分割 testfile1

# split -b 10k testfile1

返回索引

csplit

功能:按行分割文件

语法:csplit  [参数]  文件名  样式

说明:上面语法中,“样式”为一个整数,代表从第 n行开始分割成另一个文件。 若加上大括号(如:{m}),表示分割 m次,{*}表示自动计算分割次数

参数 说明
-b 输出格式 设置输出的文件名称格式(预设为xx00, xx01, ...)
-f 字符串 以指定字符串作为输出一系列文件的开头
-k 即使出现错误,也不删除已经分割的文件
-n 输出文件名的位数,若使用-b参数,则本参数无效
-s 安静模式,不显示任何信息
-z 删除内容为空的文件

实例:

1. 将 testfile1文件分割为2个文件,以第300行为分界,并指定输出文件名以abc为开头

# csplit -f abc testfiel1 300

2. 将 testfile1文件以100行为单位,分割8次

# csplit testfile 100 {8}

返回索引

join

功能:将两文件相同的栏位合并

语法:join  [参数]  文件1  文件2

参数 说明
-a 数字 数字为1或2,表示文件1或文件2,显示文件1或文件2中无法比较的栏位中的文字
-e 字符串 若文件1与文件2中找不到指定的栏位,则在输出中填入指定的字符串
-i 对比时忽略大小写差异
-1 栏位 合并到文件1指定的栏位
-2 栏位 合并到文件2指定的栏位
-j 栏位 等同于:-1 栏位 -2 栏位
-j1 等同于:-1 栏位
-j2 等同于:-2 栏位
-o 按照指定的格式来显示结果
-t 字符 指定栏位分隔符

实例:

1. 合并文件 fiel1和 file2的相同栏位

# join file1 file2

返回索引

paste

功能:合并文件内容并显示

语法:paste  [参数]  [文件列表]

参数 说明
-d 分隔符 指定分隔符,一般默认为tab
-s 串行处理每个文件,而不是并行处理

实例:

1. 将 file1与 file2文件内容合并

# paste file1 file2

返回索引

uniq

功能:显示并删除文件中重复的行

语法:uniq  [参数]  [输入文件]  [输出文件]

参数 说明
-c 在每一行的左边显示重复出现的次数
-d 仅显示重复出现的行
-f 栏位 不比较指定的栏位
-i 忽略大小写
-s 字符 不比较指定字符
-u 仅显示出现的每一行
-w 字符数 每行仅比较前指定数字个字符

实例:

1. 去除 testfile1文件中重复行

# uniq testfile1

返回索引

sort

功能:将文件内容重新排序

语法:sort  [参数]  [文件名]

说明:将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后, 依次按ASCII码值进行比较,最后将他们按升序输出

参数 说明
-b 忽略每行前面开始处的空白
-d 只对空格、数字和英文字符排序
-f 忽略大小写
-g 排序时,只比较一般的数字部分
-i 排序时,只考虑可以输出的字符串
-M 比较月份英文简称,如:"JAN" < "FEB" < ... < "DEC"
-n 根据字符串的数值进行比较
-r 将结果以反序显示
-t 分隔符 以指定字符作为栏位分隔符(默认分隔符为空白)
-k 栏位 以指定的栏位来排序,栏位数字1表示第1栏

实例:

1. 将 w指令的输出,通过 sort按第6个栏位进行排序

# w | sort -k 6

2. 对 testfile1文件排序并显示

# sort testfile1

返回索引

col

功能:标准文本过滤器

语法:col  [参数]

说明:在一些Linxu文件和Unix说明文件中,都有各种转义控制字符, 若不把它们去掉,转成纯文本文件中,有时会产生乱码。col指令即可过滤掉这些乱码字符。

参数 说明
-b 过滤所有的控制字符,包括各种转义字符
-f 过滤转义字符RLF,但保留HRLF
-l 行数 定义内存中缓冲区行数,默认为128行
-p 强迫不过滤未知的字符
-x 以多个空格来表示tab

实例:

1. 过滤 testfile1中的转义字符,并显示输出

# col < testfile1

返回索引

tr

功能:替换或删除文件或字符流中的字符

语法:tr  [参数]  字符串1  [字符串2]

参数 说明
-c 使用字符串1的补集作为字符串1
-d 删除字符串1所包含的字符(此参数不需要字符串2)
-s 当字符串1连续出现时,取为一个(此参数不需要字符串2)
-t 若字符串1与字符串2的长度不同,指定字符串1的长度给字符串2

实例:

1. 将输入字符串“HELLO WORLD”中的所有大写转为小写

# echo "HELLO WORLD" | tr 'A-Z' 'a-z'

2. 将 testfile1文件中的所有“hello”字符串剔除后显示

# cat testfile1 | tr -d hello 

返回索引

od

功能:以八进制、十六进制或其他编码格式输出文件内容

语法:od  [参数]  [文件名]

说明:这是在嵌入式开发中,经常使用的命令

参数 说明
-j 字符数 略过指定的字符数
-N 字符数 输出到指定的字符数为止
-t 编码进制 设置输出的编码进制,编码进制可用字符:

a:有名字符,c:ASCII,d:十进制,f:浮点数,o:八进制,u:十进制正数,x:十六进制

-v 表示数据时,不省略重复的数据
-w 数字 设置每行的最大字符数

实例:

1. 以16进制格式显示 testfile1文件内容

# od -t x testfile1

返回索引

dd

功能:转换和数据输出到文件

语法:dd  [参数]

说明:这也是开发者常用到的指令

参数 说明
-ibs=字节数 每次读取的字节数
-obs=字节数 每次输出的字节数
-bs=字节数 相当于同时设置-ibs和-obs
-cbs=字节数 每次转换的字节数
-conv=参数 转换使用的特定参数,常用参数如下(含义详见 man文档):

ascii, ebcdic, ibm, block, unblock lcase, ucase, swab, noerror, notrunc, sync

-count=次数 指定的读取的次数
-if=文件 指定输入文件
-of=文件 指定输出文件
-skip=区块数 开始读入时所跳过的区块数
-seek=区块数 开始输出时所跳过的区块数

实例:

1. 生成一个内容全为0的1024字节大小的文件 testfile1

# dd if=/dev/zero of=testfile1 bs=1k count=1

2. 制作启动盘镜像

# dd if=boot.img of=/dev/sd0 bs=1M count=1

返回索引

tee

功能:文件内容T型输入输出

语法:tee  [参数]  [文件名称]

参数 说明
-a 将输入追加在文件的后面
-I 忽略终端信号

实例:

1. 从终端输入文字,文字同时输出到屏幕与 testfile1文件中

# tee testfile1

2. 将 ls指令的结果同时显示在屏幕上与写入 testfile2文件

# ls | tee testfile2

返回索引

awk

功能:文字数据处理的高级工具

语法:awk  [参数]  [输出条件]  [文件名]

说明:awk是一个相当高级和强大的工具,基本可以当编程语言来用了。 运维人员可能会用的较多,开发者直接用编程语言就可以了。故这里从略,详情可参阅 man文档。

返回索引

sed

功能:流编辑器

语法:sed  [参数]  [语法]  [文件名]

说明:sed也是一个相当强大的工具,用法灵活,仅简介估计就可以写十几页。 运维人员可能会用的较多,开发者直接用编程语言就可以了。故这里从略,详情可参阅 man文档。

返回索引

sum

功能:计算并显示文件的校验和

语法:sum  [参数]  [文件名]

参数 说明
-r 使用BSD算法,使用1KB的区块
-s 使用System V算法,使用512B的区块

实例:

计算 testfile1的校验和

# 1. sum testfile1
01126 1 其中:01126是校验和,1是文件的区块数

返回索引

cksum

功能:计算并显示文件的CRC校验和

语法:cksum  文件名

说明:现在多半以md5sum来检查文件的正确性,cksum的使用机率较小

实例:

1. 计算并显示 testfile1文件CRC校验和与文件大小

# cksum testfile1
1384052557 91168 testfile1 1384052557为CRC校验和,91168为文件大小

返回索引

md5sum

功能:采用MD5算法计算文件的校验和

语法:md5sum  [参数]  [文件名]

参数 说明
-b 使用二进制模式读取文件
-c 检验文件内MD5的正确性
-t 使用文本模式读取文件
-w 当校验不正确时给出警告信息

实例:

1. 计算 testfile1文件的MD5校验和

# md5sum testfile1

2. 检验 testfile2里的文件MD5校验和是否正确

# md5sum -c testfile2

返回索引

iconv

功能:字符集的转换

语法:iconv  [参数]  [输入文件]

参数 说明
-l 列出已知的编码字符集合
-c 忽略输出的非法字符
-o 文件名 指定输出文件
-s 安静模式,不显示警告信息
-f 编码方式 输入文字的编码方式(编码方式列表可使用-l参数查看)
-t 编码方式 输出文字的编码方式(编码方式列表可使用-l参数查看)

实例:

1. 查看所有支持的编码方式字符集

# iconv -l

2. 将 testfile1文件由 ASCII格式转为 UTF-8格式

# iconv -f ASCII -t UTF-8 testfile1

返回索引

lsattr

功能:查看ext2文件系统上的文件属性

语法:lsattr  [参数]  [文件名]

参数 说明
-a 列出目录中的所有文件,包括隐藏文件
-d 只显示目录
-v 显示文件的版本与系统产生的数字码
-R 递归处理,列出所有子目录下的文件属性
-V 显示版本信息

实例:

1. 列出 test1文件的属性信息

# lsattr test1

返回索引

chattr

功能:修改文件属性

语法:chattr  [参数]  [模式]  [文件名]

参数 说明
-R 递归处理,将目录下所有子目录及文件一并处理
+属性 开启文件或目录的该项属性
-属性 关闭文件或目录的该项属性
=属性 指定文件或目录的该项属性
属性 说明
a 使文件只能以追加方式写入,而无法直接修改
A 不修改文件的各个时间标记
c 将文件以压缩方式存取
d 使用dump命令时,不会备份该文件
e 扩展模式
i 不得修改该文件,即便是该文件的拥有者也不行
s 粉碎性删除文件,无法被恢复
S 即时将文件写回硬盘,而不放在缓存区
u 不可删除(预防意外删除)

实例:

1. 使 testfile1文件只能用追加方式写入,而不可更改原始内容(一般用于日志文件)

# chattr +a testfile1

2. 使 testfile1文件无法被删除

# chattr =i testfile1

返回索引

chmod

功能:改变文件的权限

语法1:chmod  [参数]  [模式] [文件名]

语法2:chmod  [八进制数字]  [文件名]

参数 说明
-c  
-f 不显示错误信息
-R 递归处理,将目录下的所有文件及子目录一并处理
-v 显示指令执行过程
模式 说明
账号部分 u:文件的拥有者,g:文件的所属组,o:其他用户,a:所有用户
权限部分 r:读权限,w:写权限,x:执行权限,-:没有权限,s:一般用户执行该文件会以文件拥有者执行,

t:非本文件的拥有者不得删除

八进制数字 读(r) 写(w) 执行(x)
7 1 1 1
6 1 1 0
5 1 0 1
4 1 0 0
3 0 1 1
2 0 1 0
1 0 0 1
0 0 0 0

实例:

1. 修改 testfile1文件的权限

# chmod u=rwx, g=rx, o=x testfile1

2. 用八进制数字方式直接修改 testfile1文件的权限(效果同上)

# chmod 751 testfile1

3. 为 testfile2文件增加所有用户可执行的权限

# chmod a+x testfile2

返回索引

chown

功能:改变文件的拥有者

语法:chown  [参数]  [拥有者]  [文件名]

参数 说明
-c 类似-v参数效果,但仅显示变动的部分
-f 不显示错误信息
-h 只对符号连接文件作修改,而不修改原始文件
-R 递归处理,将目录下的所有文件及子目录一并处理
-v 显示指令执行过程

实例:

1. 将 testfiel1文件的拥有者改为 test1用户

# chown test1 testfile1

2. 将 testdir目录下的所有文件及子目录的拥有者改为 test1用户

# chown -R test1 testdir 

返回索引

chgrp

功能:改变文件的所属组

语法:chgrp  [参数]  [组名称]  [文件名]

参数 说明
-c 类似-v参数效果,但仅显示变动的部分
-f 不显示错误信息
-h 只对符号连接文件作修改,而不修改原始文件
-R 递归处理,将目录下的所有文件及子目录一并处理
-v 显示指令执行过程

实例:

1. 将 testfiel1文件的所属组改为 testgrp1组

# chgrp testgrp1 testfile1

返回索引

umask

功能:显示和设置新建文件的屏蔽权限

语法:umask  [参数]  [屏蔽权限]

说明:新建文件的原始权限是对屏蔽码的取反, 例如:当前屏蔽码为002,则新建文件的默认权限为:775。如果新建的是不可执行文件, 则系统会自动拿去x权限,变为:664

参数 说明
-S 以文字表示屏蔽权限

实例:

1. 显示当前的屏蔽码

# umask

2. 设置屏蔽码为:002

# umask u=rwx, g=rwx, o=rx

返回索引

df

功能:显示文件系统的使用状况

语法:df  [参数]

参数 说明
-a 显示全部的文件系统
-h 以可读性较高的方式显示(单位用K, M, G表示)
-H 与-h类似,但以1000为单位,而不是1024
-i 显示inode的信息
-l 只显示本地文件系统
-k 以KB为单位显示
-m 以MB为单位显示
-P 使用POSIX输出
-t 文件系统类型 仅显示指定的文件系统
-T 显示文件系统类型
-x 文件系统类型 不显示指定的文件系统
--block-size=指定大小 以指定区块的大小来显示
--no-sync 显示文件系统用量前,不执行 sync
--sync 显示文件系统用量前,执行 sync

实例:

1. 显示本机全部文件系统

# df -aTh

返回索引

findfs

功能:用卷标或是UUID查找特定文件系统

语法:findfs  LABEL=卷标名称

实例:

1. 查找名为 /boot的文件系统

# findfs LABEL=/boot

返回索引

fsck

功能:检查或修复文件系统

语法:fsck  [参数]  设备名称

参数 说明
-a 自动修复文件系统,不询问任何问题
-A 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统
-N 不执行指令,仅列出实际执行会进行的动作
-P 当搭配"-A"参数使用时,则会同时检查所有的文件系统
-r 显示每个文件系统的统计信息
-R 当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查
-s 依次执行检查作业,而非同时执行
-t 文件系统类型 指定要检查的文件系统类型
-T 执行fsck指令时,不显示标题信息
-V 显示指令执行过程
-y 假设所有答案都是yes,避免会话模式

实例:

1. 检查并修复文件系统

# fsck -y /dev/hda1

返回索引

fdisk

功能:显示或修改硬盘分区

语法:fdisk  [参数]

参数 说明
-b 扇区大小 指定磁盘扇区大小(可选值为:512,1024,2048,4096)
-l 设备 列出指定硬盘的分区情况
-s 显示分区大小
-u 当列出分区大小时,以“扇区”或“柱面”为单位显示

实例:

1. 列出硬盘 /dev/hda1上的分区配置

# fdisk -l /dev/hda1

返回索引

cfdisk

功能:图形界面修改硬盘分区

语法:cfdisk  [参数]  [设备名称]

说明:会自动以简单图形界面运行,无需输入参数

实例:

1. 进行硬盘分区

# cfdisk /dev/hda1
进入终端图形界面

返回索引

mkfs

功能:格式化

语法:mkfs  [参数]  [分区]

参数 说明
-c 在格式化前,先检查该分区的正确性
-t 文件系统 以指定的文件系统类型来格式化,若没有指定,则默认为ext2
-v 显示完整的执行过程

实例:

1. 将硬盘上 sda1分区格式化为ext2格式

# mkfs /dev/sda1

返回索引

mkreiserfs

功能:格式化为reiserfs文件系统

语法:mkreiserfs  [参数]

说明:可用mkfs实现同样功能,故从略,参数详见 man帮助文档

实例:

1. 格式化 /dev/sda1分区为 reiserfs文件系统

# mkreiserfs /dev/sda1

返回索引

mke2fs

功能:格式化为ext2/ext3/ext4文件系统

语法:mke2fs  [参数]

说明:可用mkfs实现同样功能,故从略,参数详见 man帮助文档

实例:

1. 格式化 /dev/sda1分区为 ext4文件系统

# mke2fs /dev/sda1

返回索引

e2fsck

功能:检验ext2/ext3/ext4文件系统

语法:e2fsck  [参数]

说明:可用fsck实现同样功能,故从略,参数详见 man帮助文档

实例:

1. 检验 /dev/sda1上的文件系统是否正常

# e2fsck /dev/sda1

返回索引

e2label

功能:设置ext2/ext3/ext4文件系统卷标

语法:e2label  设备名称  [新卷标]

实例:

1. 设置 /dev/hda1上的文件系统卷标命名为 abc

# e2label /dev/hda1 abc

返回索引

tune2fs

功能:调整ext2/ext3/ext4文件系统的参数

语法:  [参数]

参数 说明
-c 次数 挂载多少次后,执行磁盘检查
-e 行为 发现错误时的行为,可填:continue(继续),remount-ro(挂载成只读),panic(引发内核错误)
-f 即使发生错误,仍强制执行
-i 时间 检查的时间间隔,nd:n天,nm:n月,nw:n月
-j 建立ext3日志
-l 显示文件系统超级块中的相关信息
-L 卷标 修改卷标
-m 保留比率 指定对硬盘的留空比率,一般为5%

实例:

1. 显示 /dev/hda1上文件系统的相关信息

# tune2fs -l /dev/hda1 

2. 每隔2周检查一次

# tune2fs -i 2w /dev/hda1 

返回索引

mkswap

功能:新建SWAP分区(交换分区)

语法:mkswap  [参数]  分区 [大小]

参数 说明
-c 新建SWAP分区前,先做错误检查
-f 强制进行,即使有不合理参数
-p 大小 指定分页的大小,单位为Byte
-v0 建立旧型的SWAP区块
-v1 建立新型的SWAP区块

实例:

1. 在 /dev/hda2上新建一个SWAP分区

# mkswap /dev/hda2

返回索引

swapon

功能:开启指定的交换分区

语法:swapon  [参数]  [设备名称]

参数 说明
-a 启用所有在 /etc/fstab中的SWAP设备
-e 搭配-a使用时,若该设备不存在,则忽略该设备
-h 显示帮助信息
-s 显示该设备的SWAP信息
-V 显示版本信息

实例:

1. 启用 /dev/hda2上的SWAP分区

# swapon /dev/hda2

返回索引

swapoff

功能:关闭指定的交换分区

语法:swapoff  [参数]  [设备名称]

参数 说明
-a 关闭所有在 /etc/fstab中的SWAP设备
-h 显示帮助信息
-V 显示版本信息

实例:

1. 关闭 /dev/hda2上的SWAP分区

# swapoff /dev/hda2

返回索引

mount

功能:挂载文件系统

语法:mount  [参数]  [设备名称]  [目录]

参数 说明
-a 挂载所有 /etc/fstab中的文件系统
-f 模拟运行挂载,并不真正挂载
-h 显示帮助信息
-l 显示已挂载的文件系统列表
-L 卷名 挂载特定名称的文件系统
-n 不将挂载的信息写到 /etc/mtab中
-o 挂载参数 常用挂载参数:auto(自动,最常用),ro(挂载为只读文件系统),rw(可读写),noexec(不可执行二进制文件)
-r 将文件系统挂载为只读模式
-w 将文件系统挂载为可读写模式,这是默认模式
-t 文件系统类型 一般常用的文件系统类型:autofs, cramfs, efs, ext, ext2, ext3, ext4, hfs, hpfs, iso9660, jfs, msdos, nfs, ntfs, proc, ramfs, reiserfs, romfs, smbfs, tmpfs, uf, vfa, xfs 等
-v 显示完整过程
-V 显示版本信息

实例:

1. 挂载 serve1服务器上的 NFS文件系统到 /opt目录下

# mount -t ext3 server1://data /opt

2. 挂载局域网内的 Windows共享文件夹到当前的 testsmb目录下

# mount -t smbfs -o username=xx,password=xx,ip=192.168.1.10 //Win主机名/文件夹 ./testsmb 

3. 挂载u盘到 /mnt/udisk目录下

# mount -t vfat -o iocharset=gb2312 /dev/sda1 /mnt/udisk

返回索引

umount

功能:卸载文件系统

语法:umount  [参数]  [目录或设备名]

参数 说明
-a 卸载所有 /etc/fstab中的文件系统
-h 显示帮助信息
-n 卸载文件系统,且不记录在 /etc/mtab中
-r 若卸载失败,以只读方式挂载
-t 文件系统类型 常用文件系统类型见上面的 mount指令相应参数条目
-v 显示完整过程
-V 显示版本信息

实例:

1. 卸载已经挂载的光驱

# mount /cdrom

2. 卸载所有定义在 /etc/mtab中的文件系统

# umount -a

返回索引

sync

功能:将内存缓冲区中的数据写回硬盘

语法:sync

说明:这是文件系统要卸载时或系统要重启时,要考虑使用的指令

实例:

1. 将内存缓冲区中的数据写回硬盘

# sync

返回索引

blockdev

功能:在命令行中调用ioxtls函数,控制block设备

语法:blockdev  [参数]  [控制命令] 设备

说明:这个命令会直接去操控存储设备的硬件,一般建议谨慎使用。

参数 说明
-q 安静模式
-v 显示完整的执行过程
-V 显示版本信息
控制命令 说明
--flushbufs 刷新缓存区
--getra 列出读写头大小
--getro 判断是否只读,1:是,0:否
--getss 列出扇区大小(默认512)
--rereadpt 重读分区表
--setra N 设置读写头为N个512B扇区大小/td>
--setro 设为只读
--setrw 设为可读写

实例:

1. 查看 /dev/hda1的扇区大小

# blockdev -v --getss /dev/hda1

返回索引

quota

功能:显示用户或群组的磁盘配额信息

语法:quota  [参数]  [用户或组名]

参数 说明
-g 列出群组的磁盘空间限制
-l 只显示本地端的文件系统,不显示网络联机的文件系统
-q 简明列表,只列出超过限制的部分
-s 以K, M, G等单位表示用量限制大学
-u 列出用户磁盘用量(默认值)
-v 显示没有实际磁盘挂载的文件系统的配额

实例:

1. 显示自己的磁盘用量

# quota

返回索引

edquota

功能:编辑用户或群组的磁盘配额容量

语法:edquota  [参数]  [用户或组名]

参数 说明
-u 编辑用户的配额容量
-g 编辑群组的配额容量
-q 已经设好限制的模板账号

实例:

1. 修改 test1用户的配额容量

# edquota test1

返回索引

quotastats

功能:显示当前用户磁盘配额的限制

语法:quotastats

实例:

1. 显示当前用户磁盘配额的限制

# quotastats

返回索引

quotaoff

功能:关闭用户磁盘配额限制

语法:quotaoff  [参数]  [文件系统]

参数 说明
-a 关闭所有定义在/ect/fstab文件中文件系统的配额
-u 关闭用户的磁盘空间配额限制
-g 关闭群组的磁盘空间配额限制
-p 仅显示出配额信息状态
-v 显示指令执行过程信息

实例:

1. 将所有文件系统的配额限制关闭

# quotaoff -a

返回索引

quotaon

功能:开启用户磁盘配额限制

语法:quotaon  [参数]  [文件系统]

参数 说明
-a 开启所有定义在/ect/fstab文件中文件系统的配额
-u 开启用户的磁盘空间配额限制
-g 开启群组的磁盘空间配额限制
-p 仅显示出配额信息状态
-v 显示指令执行过程信息

实例:

1. 将所有文件系统的配额限制开启

# quotaon -a

返回索引

quotacheck

功能:检查用户磁盘配额限制

语法:quotacheck  [参数]  [文件系统]

参数 说明
-a 检查所有定义在/ect/fstab文件中文件系统的配额
-b 在写入新数据前,强迫备份
-d 打开调试模式
-f 强制检查,并将容量记录文件写入
-i 交互对话模式
-g 只有在/etc/mtab中的组配额限制才会被检查
-u 只有在/etc/mtab中的用户配额限制才会被检查
-v 显示详细的执行过程

实例:

1. 检查 /home目录下的磁盘配额

# quotacheck -uvg /home

返回索引

repquota

功能:显示某个文件系统的磁盘配额限制

语法:repquota  [参数]  [文件系统]

参数 说明
-a 列出所有定义在/ect/fstab文件中文件系统的配额
-g 显示所有组的磁盘用量
-n 不要将UID和GID反解为名称
-s 用K,M,G等方便阅读的单位来显示
-u 显示所有用户的磁盘用量
-v 显示所用文件系统的磁盘配额和用量(包括不在使用中的文件系统)

实例:

1. 显示所有文件系统磁盘配额与用量信息

# repquota -a

返回索引

ar

功能:将多个文件打包成一个文件

说明:由于ar不能一次性打包一整个目录,故不如 tar命令常用

语法:ar  [必选参数]   [可选参数]  打包文件  [成员文件列表]

必选参数 说明
-d 删除打包文件中的某成员文件
-m 变更打包文件中的文件顺序
-p 显示打包文件中的文件内容
-q 将文件存储再打包文件中,不检查是否有重复的文件
-r 将文件存储再打包文件中,若有重复文件则会被覆盖
-t 显示打包文件中的所有文件
-x 从打包文件中取出成员文件
可选参数 说明
-a 成员文件 将新打包入文件插入打包文件中已有的成员文件之后
-b 成员文件 将新打包入文件插入打包文件中已有的成员文件之前
-c 建立打包文件
-f 若文件名过长,则获取部分文件名,避免与其他系统不兼容
-i 与-b相同
-o 保留打包文件中文件的日期
-P 使用完整的路径来记录打包文件
-s 产生打包文件的符号表
-S 不产生符号表
-u 只将日期有变动的文件存储到打包文件之中
-v 显示执行的完整信息

实例:

1. 将文件 file1, file2打包入arfile中

# ar -rv arfile file1 file2

2. 列出打包文件 arfile中的所有成员文件

# ar -t arfile

返回索引

tar

功能:打包和解包文件

语法:tar  [参数]  [打包文件名]  [被打包文件]

参数 说明
-A 新增文件到已存在的打包文件
-b 区块数 设置每个记录的区块数,每个区块大小为512 Bytes
-c 建立新打包文件
-C 目录名 切换到指定目录
-d 对比打包文件内和实际文件系统上的文件的差异
-f 文件名 指定打包文件
-h 当被打包文件为符号链接时,直接打包所指向的真实文件
-i 忽略打包文件中的0 Byte区块(即EOF)
-j 处理bzip2格式压缩的文件
-k 还原文件时,不覆盖已有的文件
-K 文件名 从指定的文件开始还原
-l 新建打包文件时,必须与tar指令执行时所处的文件系统相同
-L 设置存储每台的容量,以1024 Byte为单位
-m 还原文件时,文件修改时间不变
-N 日期 只将比指定日期较新的文件保存到备份文件里
-O 把还原的文件输出到标准输出设备
-p 用原来的文件权限还原文件
-P 文件名使用绝对路径,不移除文件名称前的"/"号
-r 新增文件到已存在的打包文件的结尾部分
-s 还原文件的顺序和打包文件内的存放顺序相同
-t 列出打包文件中的内容
-u 仅将比原打包文件中已有文件较新的文件置换进去
-v 显示指令执行过程
-w 遇到问题时,先提示询问用户
-W 写入打包文件后,需确认文件是否无误
-x 从打包文件中还原文件
-X 模式文件 排除符合模式文件中的模式的文件
-Z 通过compress指令处理打包文件
-z 通过gzip指令处理打包文件
--atime-preserve 不变更文件的存取时间
--delete 从打包文件中删除指定的文件
--exclue=模式表达式 排除符合模式表达式的文件
--ignore-failed-read 忽略错误,不中断程序的执行
--remove-files 文件加入打包文件后,就将源文件删除

实例:

1. 将 testdir目录下的所有文件和子目录(以gzip方式压缩)打包成一个 td.gz文件

# tar -zcvf td.gz testdir/

2. 将 td.gz文件解包还原到当前目录下

# tar -zxvf td.gz

3. 将 td.bz2文件(以bzip2方式压缩)解包还原到当前目录下

# tar -jxvf td.bz2

返回索引

zip

功能:压缩文件(扩展名一般为.zip,windows兼容可用)

语法:zip  [参数]  [目的文件]  [源文件]

参数 说明
-a 将文件转成ASCII模式
-A 用于压缩成可执行自解压文件的调整,一般跟其他参数搭配使用
-b 目录 指定暂时存放文件的缓存目录
-c 为每个被压缩的文件加上注释,每压缩一个文件会提示用户输入注释
-d 指定删除压缩文件内的某个文件
-D 压缩文件内不建立目录名称
-f 与-u参数类似,且若指定文件不在压缩文件内会将其加入
-F 尝试修复已损坏的压缩文件
-g 将文件压缩后附加在已有的压缩文件之后,而不另行建立新的压缩文件
-h 显示帮助信息
-i 模式表达式 只压缩与模式表达式匹配的文件
-j 只保存文件名称及其内容,而不存放任何目录名称
-J 删除压缩文件前面不必要的数据
-k 使用MS-DOS兼容格式的文件名称
-l 压缩文件时,把LF字符置换成LF+CR字符
-ll 压缩文件时,把LF+cp字符置换成LF字符
-L 显示版权信息
-m 将文件压缩并加入压缩文件后,删除原始文件
-n 字尾字符串 不压缩具有特定字尾字符串的文件/td>
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
-q 不显示指令执行过程
-r 递归处理,将指定目录下的所有文件和子目录一起压缩打包
-S 包含系统文件和隐藏文件
-t 日期时间 把压缩文件的日期设成指定的日期
-T 检查备份文件内的每个文件是否正确无误
-u 更换较新的文件到压缩文件内
-v 显示指令执行过程或显示版本信息
-x 模式表达式 压缩时排除匹配模式表达式的文件
-X 不保存额外的文件属性
-y 直接保存符号链接文件,而非该连接所指向的真实文件
-z 为压缩文件加上一个整体注释,交互输入
-压缩率 压缩率为(1~9),数值越大压缩率越大,默认为6

实例:

1. 将 testdir目录压缩打包成 td.zip文件

# zip -r td.zip testdir/

2. 删除压缩文件 td.zip中的 testfile1文件

# zip -d td.zip testdir/testfile1

返回索引

unzip

功能:解压文件(扩展名一般为.zip)

语法:unzip  [参数]  [文件名]

参数 说明
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-f 更新已存在的文件,不存在的不会更新,已文件的时间标记为准
-l 显示压缩文件内所包含的文件
-n 解压缩时不要覆盖原有的文件
-o 不询问用户,unzip执行后直接覆盖原有文件
-q 执行时不显示任何信息
-t 检查压缩文件的正确性
-v 显示详细的执行过程
-z 仅显示压缩文件的注释文字

实例:

1. 解压 td.zip文件

# unzip -l td.zip

返回索引

zipinfo

功能:显示zip压缩文件的信息

语法:zipinfo  [参数]  [文件名]

参数 说明
-1 只列出文件名称,会取消所有参数的功能
-2 与"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用
-h 只列出压缩文件的文件名称
-l 与"-m"参数类似,会列出每个原始文件的大小,而非压缩率
-m 与"-s"参数类似,会列出每个文件的压缩率
-s 用类似执行"ls -l"指令的效果列出压缩文件内容
-M 若信息内容超过一个画面,则采用类似more指令的方式列出信息
-t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率
-T 将压缩文件内每个文件的修改日期依照顺序列出。
-v 详细显示压缩文件内每一个文件的信息
-z 如果压缩文件内含有注释,就将注释显示出来。

实例:

1. 显示 td.zip压缩文件内的信息

# zipinfo td.zip

返回索引

gzip

功能:压缩文件(扩展名一般为.gz)

语法:gzip  [参数]  [文件名]

说明:一般可使用tar的-cz参数来代替gzip指令,故说明从略

返回索引

gunzip

功能:解压文件(扩展名一般为.gz)

语法:gunzip  [参数]  [文件名]

说明:一般可使用tar的-xz参数来代替gunzip指令,故说明从略

返回索引

gzexe

功能:将某个可执行文件进行压缩,运行时自动解压

语法:  [参数]  [文件名]

说明:一般用于磁盘空间极小情况,不常用

参数 说明
-d 解开压缩文件

实例:

1. 将 ls命令压缩

# gzexe ls

返回索引

zcat

功能:查看被gzip压缩的文件中的内容

语法:zcat  [参数]  [文件名]

参数 说明
-q 不显示任何警告信息
-h 显示帮助信息
-L 显示版权信息
-V 显示版本信息

实例:

1. 显示 a.gz压缩文件中每个文件中的内容信息

# zcat a.gz

返回索引

bzip2

功能:以bzip2格式压缩文件(扩展名一般为.bzip2)

语法:bzip2  [参数]  [文件名]

说明:一般可使用tar的-cj参数来代替bzip2指令,故说明从略

返回索引

bunzip2

功能:解压bzip2格式文件(扩展名一般为.bzip2)

语法:bunzip2  [参数]  [文件名]

说明:一般可使用tar的-xj参数来代替bunzip2指令,故说明从略

返回索引

compress

功能:很古老的unix压缩文件指令(扩展名一般为.Z)

语法:compress  [参数]  [文件名]

说明:一般可使用tar的-cZ参数来代替compress指令,故说明从略

返回索引

uncompress

功能:很古老的unix解压文件指令(扩展名一般为.Z)

语法:bunzip2  [参数]  [文件名]

说明:一般可使用tar的-xZ参数来代替uncompress指令,故说明从略

返回索引

logname

功能:显示当前登录用户的账号

语法:logname

实例:

1. 显示当前用户账号

# logname

返回索引

whoami

功能:显示当前登录用户的账号

语法:whoami

实例:

1. 显示当前用户账号和ID号

# whoami

返回索引

useradd

功能:新建用户帐号

语法:useradd  [参数]  [用户帐号]

参数 说明
-c 备注 加上备注文字,备注文字会保存在passwd的备注栏位中
-d 目录名 指定用户登录时的初始目录(用户需对此目录有权限)
-D 修改建立帐号的默认值

-b:根目录,-e:有效期限,-f:缓冲天数,-g:主群组,-G:次群组,-s:shell

-e 有效期限 指定帐号的有效期限,格式为:YYYY-MM-DD
-f 缓冲天数 指定一个天数,密码过期后这个天数后即关闭该帐号
-g 群组 指定用户所属的群组
-G 群组 指定用户所属的附加群组
-m 自动建立用户的登录目录,并将/etc/skel中的文件复制到用户根目录下
-M 不要自动建立用户的登录目录
-p 密码 输入该帐号的密码
-r 建立系统帐号
-s shell 指定用户登录后所使用的shell
-u uid 指定用户ID号

实例:

1. 建立一个test1用户

# useradd test1

返回索引

userdel

功能:删除用户帐号

语法:userdel  [参数]  [用户帐号]

参数 说明
-r 删除该用户登录目录以及目录中所有文件

实例:

1. 删除用户test1

# userdel test1

返回索引

usermod

功能:修改用户帐号

语法:usermod  [参数]  [用户帐号]

参数 说明
-c 备注 加上备注文字,备注文字会保存在passwd的备注栏位中
-d 目录名 指定用户登录时的初始目录(用户需对此目录有权限)
-e 有效期限 指定帐号的有效期限,格式为:YYYY-MM-DD
-f 缓冲天数 指定一个天数,密码过期后这个天数后即关闭该帐号
-g 群组 指定用户所属的群组
-G 群组 指定用户所属的附加群组
-l 帐号名称 修改用户帐号名称
-L 锁定用户密码,使密码无效
-p 密码 输入该帐号的密码
-s shell 指定用户登录后所使用的shell
-u uid 指定用户ID号
-U 解除密码锁定

实例:

1. 将test1用户的登录目录改为/home/app1

# usermod -d /home/app1 test1

2. 改变 test1用户的 uid为1001

# usermod -u 1001 test1

返回索引

passwd

功能:修改用户密码

语法:passwd  [参数]  [用户帐号]

参数 说明
-d 删除密码
-f 强制执行
-i 天数 密码过期指定天数后停用该帐号
-k 设置只有在密码过期失效后,才能更新
-l 停用该帐号
-n 天数 密码在指定天内不得修改
-S 显示用户帐号的密码相关信息(非密码原文)
-u 重新启用该帐号
-w 天数 密码即将过期前n天通知该帐号
-x 设置密码的有效期

实例:

1. 修改自己密码(不加任何参数表示修改自己密码)

# passwd

2. 修改 test1用户的密码(系统会提示输入新密码与确认新密码)

# passwd test1

3. 停用 test1帐号

# passwd -l test1

返回索引

chsh

功能:改变用户登录时所使用的shell

语法:chsh  [参数]  [用户名]

参数 说明
-l 列出可使用的shell
-s shell名 更改指定用户的默认shell

实例:

1. 列出本机可使用shell

# chsh -l

2. 更改 test1用户的默认shell为/bin/sh

# chsh -s /bin/sh test1

返回索引

groups

功能:显示当前登录用户所属群组

语法:groups

实例:

1. 显示当前登录用户所属群组

# groups

返回索引

groupadd

功能:新建群组

语法:groupadd  [参数]  [群组名]

参数 说明
-f 强制建立已存在的组
-g gid 设置新的组ID号
-o 允许重复使用和已有组相同的组ID号
-r 建立系统工作组

实例:

1. 建立新组 testgrp1

# groupadd testgrp1

返回索引

groupdel

功能:删除组

语法:groupdel  [群组名]

 

实例:

1. 删除组 testgrp1

# groupdel testgrp1

返回索引

groupmod

功能:修改组账号

语法:groupmod  [参数]  [群组名]

参数 说明
-g gid 设置组ID号
-o 允许重复使用重复的组ID号
-n 新组名 改变组名

实例:

1. 将 testgrp1组改名为 testgrp2

# groupmod -n testgrp2 testgrp1

返回索引

gpasswd

功能:组管理命令

语法:gpasswd  [参数]  [用户名]  [组名]

参数 说明
-a 添加用户到组
-d 从组删除用户
-r 删除组密码
-A 设置组管理员
-M 设置组成员列表
-R 限制用户加入某组

实例:

1. 增加一个用户 test2到 testgrp1组

# gpasswd -a test2 testgrp1

2. 将 test1用户设为 testrp1组的管理员

# gpasswd -A test1 testgrp1

返回索引

id

功能:显示用户与组的id信息

语法:id  [参数]  [用户名]

参数 说明
-g 显示用户所属群组的ID号
-G 显示用户所属附加群组的ID号
-n 当配合使用-u或-g或-G参数时,显示名称,而不是ID号
-r 当配合使用-u或-g或-G参数时,显示ID号(默认选项)
-u 显示用户ID号

实例:

1. 显示用户 test1的ID号

# id test1

2. 显示用户 test1所属群组的名称

# id -ng test1

返回索引

su

功能:切换用户身份

语法:su  [-]  [用户账号]

实例:

1. 当前用户为 test1,要切换到 root用户

# su

2. 当前用户为 root,要切换到 test1用户

# su - test1

返回索引

sudo

功能:使用指定的用户权限执行程序

语法:sudo  [参数]  命令

参数 说明
-b 在后台执行sudo所指定的指令
-h 显示帮助信息
-H 将HOME环境变量设为新身份的HOME环境变量
-l 列出目前用户可执行与无法执行的指令
-p 改变询问密码的提示符号
-s shell 执行指定的shell
-u 用户名 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份
-v 延长密码有效期限5分钟
-V 显示版本信息

实例:

1. 当前用户为 test1,需要临时切换到 root用户查看 /root目录下文件

$ sudo ls /root 

返回索引

users

功能:显示当前本机已登录用户列表

语法:users

实例:

1. 显示当前本机已登录用户列表

# users

返回索引

who

功能:显示当前本机已登录的用户列表及相关信息

语法:who  [参数]

参数 说明
-a 显示所有信息
-b 显示系统最近一次启动时间
-d 显示已失效的程序
-H 在显示已登录用户列表时,加上表格每列的抬头
-l 显示系统的 login进程
-m 只列出自己登录的相关信息
-q 只显示登录系统的帐号名称和总人数
-r 显示当前的执行等级
-t 显示最后一次修改时钟的时间
-u 显示用户已闲置的时间

实例:

1. 显示本机已登录用户的信息(包括终端号、IP地址等)

# who

返回索引

w

功能:显示当前本机已登录的用户列表及其正在执行的操作

语法:w  [参数]

参数 说明
-h 不显示列表每列的抬头
-s 使用短输出格式
-V 显示版本信息

实例:

1. 显示当前本机已登录的用户列表及其正在执行的操作

# w

返回索引

last

功能:显示最近登录的用户信息

语法:last  [参数]

参数 说明
-a 将用户的登录时的主机名或IP地址,显示在最右一栏
-d 显示用户主机名称,I而不是P地址
-f 文件名 指定记录文件
-i 显示用户IP地址,而不是主机名称
-n 数字 指定显示的行数(一般用于仅显示最近登录用户)
-R 不显示用户的主机名称或IP地址
-x <显示系统关机,重新开机,以及执行等级的改变等信息/td>

实例:

1. 显示最近10条用户登录信息

# last -n 10

返回索引

lastb

功能:显示最近登录的用户信息

语法:lastb  [参数]

参数 说明
-a 将用户的登录时的主机名或IP地址,显示在最右一栏
-d 显示用户主机名称,I而不是P地址
-f 文件名 指定记录文件
-i 显示用户IP地址,而不是主机名称
-n 数字 指定显示的行数(一般用于仅显示最近登录失败的用户)
-R 不显示用户的主机名称或IP地址
-x <显示系统关机,重新开机,以及执行等级的改变等信息/td>

实例:

1. 显示最近10条登录失的用户信息

# lastb -n 10

返回索引

pwck

功能:检查密码文件的正确性

语法:pwck  [参数]

参数 说明
-s 使用用户UID排序文件/etc/passwd和/etc/shadow
-r 以只读方式运行指令

实例:

1. 检查 /etc/passwd文件的内容是否正确

# pwck /etc/passwd

返回索引

wall

功能:向所有用户广播信息

语法:wall  [信息]

实例:

1. 将字符串“abc”广播给所有用户

# wall abc

返回索引

write

功能:传送信息给其他用户

语法:write  [用户名]  [终端号]

实例:

1. 传送信息“abcdef”给 test1用户

# write test1
abcdef
输入完毕后按Ctrl-D送出信息

返回索引

clear

功能:清除屏幕

语法:clear

实例:

1. 清除屏幕

# clear

返回索引

echo

功能:显示文字

语法:echo  [参数]  [字符串]

参数 说明
-e 若字符串中出现以下字符,则以特殊方式处理

\a:发出beep声,\b:删除前一个字符,\c:一行最后不加换行符,\n:换行,\t:tab

-E 不判断特殊字符,一律以普通文字处理
-n 不要在一行最后自动换行

实例:

1. 显示 “test”文字

# echo "test"

2. 显示环境变量 $PATH中的内容

# echo $PATH

返回索引

yes

功能:重复输出相同的字符串

语法:yes

实例:

1. 在屏幕上重复显示 abcde字符串,直到按下Ctrl-C中断为止

# yes abcde

返回索引

dircolors

功能:设置使用ls时文件或目录的显示颜色

语法:dircolors  [参数]  [文件]

参数 说明
-b 显示 Bourne shell(即sh)中的 $LS_COLORS的环境变量
-c 显示 C shell中的 $LS_COLORS的环境变量
-p 显示默认值

实例:

1. 显示 dircolors的默认值

# dircolors -p

返回索引

watch

功能:将指令的输出结果以全屏显示

语法:watch  [参数]  [指令]

参数 说明
-d 高亮显示与之前显示差异的部分
-h 显示帮助信息
-n 秒数 每个固定秒数就执行一次指令
-t 不显示全屏第一行的标题
-v 显示版本信息

实例:

1. 每个2秒执行一次w指令

# watch -n 2 w

返回索引

alias

功能:定义命令及参数的别名

语法:alias  [参数]  [别名] [=指令]

参数 说明
-p或不加 列出当所有的别名设置
别名 列出指定的别名
别名=指令 设置该指令的别名

实例:

1. 列出现有的所有别名设置

# alias

2. 将 ps -ef的别名设为pf

# alias pf="ps -ef"

返回索引

unalias

功能:删除别名设置

语法:unalias  [参数]  [别名]

参数 说明
-a 删除所有已定义的别名

实例:

1. 删除别名 ll

# unalias ll

返回索引

hash

功能:显示与清除 hash table(哈希表)

语法:hash  [参数]  [指令名称]

参数 说明
-d 名称 清除某条名称的 hash记录
-l 显示存储在 hash table中的指令
-p 完整路径 将完整路径的命令加入 hash table
-r 清除存储在 hash table中的指令
-t 指令名称 列出指令的完整路径

实例:

1. 显示存储在 hash table中的指令

# hash -l

返回索引

enable

功能:临时关闭或启用shell内部命令

语法:enable  [参数]  [指令]

参数 说明
-a 显示shell内所有启用的指令
-n 指令 关闭shell内置的特定指令

实例:

1. 显示shell内所有启用的指令

# enable -a

2. 关闭 shell内置的 cd指令

# enable -n cd

3. 重新启用 cd指令

# enable cd

返回索引

history

功能:显示使用过的指令

语法:history  [指令个数]  [参数]

说明:历史记录一般记录在 $/.bash_history文件中

参数 说明
-c 清除之前的history记录
-d 编号 删除history记录中指定编号的那一项
-r 历史文件 将指定“历史文件”中的命令读入当前命令缓冲区
-w 历史文件 将当前命令缓冲区中内容写入指定“历史文件”

实例:

1. 显示最近使用的5条指令

# history 5

返回索引

fc

功能:修改或执行已使用过的指令

语法:fc  [参数]

参数 说明
-e 指定使用的文字编辑器,一般默认为vim
-l 显示所有历史指令
-n 不显示编号
-r 反序显示,由最后到最前

实例:

1. 显示执行过的指令

# fc -l

返回索引

vlock

功能:锁定终端的使用权

语法:vlock  [参数]

参数 说明
-a 锁定所有的终端窗口
-c 锁定当前的终端窗口
-h 显示帮助信息
-v 显示版本信息

实例:

1. 锁定当前终端窗口(需要再次输密码才能进入)

# vlock 

返回索引

sleep

功能:暂停终端指定的秒数

语法:sleep  [秒数]

实例:

1. 暂停终端5秒

# sleep 5

返回索引

suspend

功能:暂停当前所使用的shell

语法:suspend  [参数]

参数 说明
-f 强制停止当前所使用的shell

实例:

1. 强制停止当前shell

# suspend -f

返回索引

exit

功能:退出当前shell

语法:exit

实例:

1. 退出当前shell

# exit

返回索引

mesg

功能:控制当前终端的消息写入权限

语法:mesg  [参数]

参数 说明
y 允许其他用户对当前终端发送消息
n 不允许其他用户对当前终端发送消息

实例:

1. 显示当前终端的消息写入权限

# mesg
is y

2. 关闭其他用户对当前终端发送消息的权限

# mesg n

返回索引

bc

功能:数字计算器

语法:bc  [参数]

参数 说明
-h 列出帮助信息
-i 使用交互会话模式
-l 指定标准的数学函数库
-v 显示版本信息

实例:

1. 使用 bc做数学运算

# bc
1+1
2

返回索引

logsave

功能:将指定程序或指令的输出存储到记录文件中

语法:logsave  [参数]  记录文件  程序名

参数 说明
-a 将新的数据追加加在记录文件之后,而不会覆盖原有内容
-v 显示完整的执行过程信息

实例:

1. 将 ps -ef指令的输出记录到 ps.txt文件

# logsave ps.txt ps -ef

返回索引

set

功能:C shell下设置变量(相当于bash下的export)

语法:set  [变量名称]  [值]

实例:

1. 设置变量 VAR1为 abcd

# set VAR1 "abcd"

返回索引

declare

功能:声明shell变量

语法:declare  [参数]  [变量名] [=值]

参数 说明
-i 先算出计算式,再将结果传给变量
-p 声明的变量为 shell变量
-r 声明的变量为只读
-x 声明的变量为环境变量,可供shell以外的程序使用

实例:

1. 显示当前 shell变量

# declare

2. 计算变量值,使变量 a的值为3

# declare -i a=1+2

3. 设置声明变量 VAR2为环境变量

# declare -x VAR2=abc

返回索引

export

功能:声明环境变量

语法:export  [参数]  [变量名] = [值]

参数 说明
-f 设置变量名为函数的名称
-n 删除指定的变量
-p或不加 列出shell上的环境变量

实例:

1. 设置变量 VAR1为 abcd

# export VAR1=abcd

2. 列出当前的环境变量

# export

返回索引

unset

功能:删除变量设置

语法:unset  [参数]  [变量]

参数 说明
-f 仅删除函数
-v 仅删除变量

实例:

1. 删除变量 VAR1

# unset VAR1

返回索引

cal

功能:显示日历

语法1:cal  [参数]

语法2:cal  [月份]  [年份]

参数 说明
-l 显示单月输出(默认值)
-3 显示近三个月(上月、本月、下月)的日历
-y 年份 显示一年的日历,若不输入年份,则默认为本年
-s 使用星期日作为一周的第一天
-m 使用星期一作为一周的第一天
-j 使用凯撒历(即显示当前为本年的第几天)

实例:

1. 显示近3个月的日历

# cal -3

2. 显示1900年1月的日历

# cal 1 1900

返回索引

date

功能:显示与修改日期时间

语法:date  [参数]  [+格式]

参数 说明
-d 字符串 显示字符串中所表示的时间 (非系统时间)
-s 字符串 将系统时间设为字符串中表示的时间
-u 显示格林威治标准时间
格式 说明
时间方面
%H 小时(01~23)
%k 小时(0~23)
%I 小时(01~12)
%l 小时(1~12)
%M 分钟(00~59)
%S 秒(00~59)
%p 显示本地 AM 或 PM
%s 从1970年1月1日00:00:00 UTC到目前为止的秒数
%T 相当于 %H:%M:%S(例如:10:01:02)
%r 相当于 %H:%M:%S %p(例如:10:01:02 AM)
%X 以本地时间格式显示,效果同%T
%Z 显示时区
日期方面
%Y 完整年份(0000~9999)
%y 年份后两位数字(00~99)
%m 月份(01~12)
%b 月份简写(Jan, ..., Dec)
%h 同 %b
%B 月份完整(January, ..., December)
%d 日(01~31)
%w 一周中的第几天(0~6),0表示周日
%a 星期几(Sun, ..., Sat)
%A 星期几(Sunday, ..., Saturday)
%j 一年中的第几天(001~366)
%U 一年中的第几周(00~53),以Sunday为一周的第一天的情形
%x 直接显示日期,效果同:%d/%m/%Y
%c 直接显示完整格式日期与时间
其他符号
%t 显示tab(一般为空4格)
%n 显示换行
%% 显示百分号

实例:

1. 显示当前日期时间

# date +%x%t%r

2. 以“年-月-日”格式显示日期

# date +%Y-%m-%d

返回索引

hwclock

功能:显示与设定硬件时钟

语法:hwclock  [参数]

说明:只有超级用户权限才能使用 hwclock命令

参数 说明
-a 根据先前的记录来估算硬件时钟的偏差,并校正目前的硬件时钟
-D 显示详细信息
-r 显示硬件时间与日期
-s 调整系统时间,使其与硬件时间一致
-u 显示格林威治时间
-v 显示版本信息
-w 调整硬件时间,使其与系统时间一致
--debug 显示hwclock执行时详细的信息
--set --date="日期与时间" 设置硬件时钟,格式为“月/日/年 时:分:秒”
--test 测试程序,而不会实际更改硬件时钟

实例:

1. 显示当前硬件时间

# hwclock -r

2. 设置硬件时钟为1970年1月1日 0点0分

# hwclock --set --date="1/1/1970 00:00:00"

返回索引

uptime

功能:显示系统已经运行的时间

语法:uptime

说明:依次显示: 系统当前时间,主机已运行时间,用户连接数,系统平均负载

实例:

1. 显示系统已经运行的时间

# uptime

返回索引

at

功能:在指定时间执行命令

语法:at  [参数]  [时间]

说明:执行at后,以交互方式逐条输入指令,最后按Ctrl-D结束输入 时间格式为:HH:MM。每执行一次at,系统会自动分配给这次输入的指令集一个任务编号。

参数 说明
-c 任务编号 显示已设置的at任务的内容
-d 任务编号 删除指定任务编号的指令任务
-f 文件 指定包含待执行指令的我那屋文件
-l 显示待执行任务的列表
-m 任务执行完成后向用户发送E-mail
-q 队列 指定使用的队列(以英文字母为排序优先级)
-V 显示版本信息

实例:

1. 在8:00运行 touch testfile1指令

# at 8:00
at> touch testfile1
at> <EOT> 按下Ctrl-D结束输入

2. 显示已设置的at任务的内容(假设任务编号为2)

# at -c 2

返回索引

atq

功能:查询待执行的任务

语法:atq

实例:

1. 查询待执行的任务

# atq

返回索引

atrm

功能:删除待执行的任务

语法:atrm [任务编号]

实例:

1. 删除任务编号3的at任务

# atrm 3

返回索引

batch

功能:执行批处理任务

语法:batch  [参数]

说明:功能与运行方式都类似于at,但没有时间指定。

参数 说明
-f 文件 从文件中执行
-m 任务执行完成后向用户发送E-mail
-q 队列 指定使用的队列
-V 显示版本信息

实例:

1. 执行批处理任务:touch testfile1, touch testfile2指令

# batch
at> touch testfile1
at> touch testfile2
at> <EOT> 按下Ctrl-D结束输入

返回索引

crontab

功能:设置计划任务

语法:crontab  [参数]

任务格式:分  时  日  月  年  星期  指令

“*”表示所有可能的值,“,”表示值的枚举,“-”表示值的整数范围,“/”表示频率(可以和其他符号组合使用)

参数 说明
-e 编辑该用户的计划设置
-l 列出该用户的计划设置
-r 删除该用户的计划设置
-u 用户名 指定用户,不指定则默认当前用户

实例:

1. 指定每天 8:00 运行 touch testfile1

# crontab -e
进入编辑模式(一般会自动调用系统默认编辑器,如vim)
0 8 * * * touch testfile1
保存退出

2. 查看当前的计划设置

# crontab -l

返回索引

logrotate

功能:定期或定量将日志文件压缩备份、轮转、删除

语法:logrotate  [参数]  [文件]

参数 说明
-d 打开调试模式
-f 强制将日志文件循环备份处理
-v 显示完整过程

实例:

1. 执行logrotate并使用/etc/logrotate.conf中的设置

# logrotate /etc/logrotate.conf

返回索引

ps

功能:显示进程信息

语法:ps  [参数]

筛选参数 说明
-a 显示所有终端下当前运行的进程(无终端的不显示)
-A 显示所有进程,同-e参数
-C 进程名称 显示指定进程名称的所有进程
-d 显示所有的进程,除了session中的leader进程(一般可理解为一个tty即为其下所有进程的leader)
-e 显示所有的进程,同-A参数
-p pid 显示指定pid的进程
-t tty列表 显示指定tty下的进程
-T 显示当前终端下的所有进程
-U 用户列表 显示指定用户的进程,用户列表使用uid或用户名表示都可以
格式参数 说明
-c 显示CLS和PRI栏
-f 显示全部完整信息
-F 显示特别完整的信息
-l 显示长列表
-j 显示简短信息

实例:

1. 显示所有进程详细信息

# ps -ef

2. 显示当前由 python运行的所有进程

# ps -ef | grep python

返回索引

pstree

功能:以树状表示进程信息

语法:pstree  [参数]

参数 说明
-a 显示命令行参数
-c 停用子树的唯一性处理
-h 特别标明现在正在执行的程序
-l 显示长列表
-n 显示短列表
-p 只显示PID和名称
-u 只显示用户uid
-V 显示版本信息

实例:

1. 显示当前进程树

# pstree -a

返回索引

pidof

功能:查找正在执行进程的pid

语法:pidof  [参数]  [进程名称]

参数 说明
-o pid 不显示指定pid的进程
-s 仅显示1个进程号
-x 显示由脚本开启的进程

实例:

1. 显示当前正在运行的python程序

# pidof python

返回索引

pgrep

功能:按进程名称查找进程PID

语法:pgrep  [参数]  [模式表达式]

参数 说明
-f 使用进程完整的进程名称去匹配模式表达式
-g 进程组 显示符合所属进程组的进程
-l 列出程序名称与PID
-n 列出符合条件的进程中最新的进程
-o 列出符合条件的进程中最旧的进程
-P ppid 列出父进程为指定pid的进程
-t 终端号 列出终端号为指定终端号的进程
-u uid 列出所属用户为指定uid的进程
-v 列出不符合条件进程
-x 列出与模式表达式完全匹配的进程

实例:

1. 列出正在运行的 python进程

# pgrep python

返回索引

top

功能:实时显示当前的所有进程状态

语法:  [参数]

参数 说明
-b 以批处理方式执行(每秒刷新执行一次),可以将输出信息重定向到文件中。
-c 列出每个进程的完整指令
-d 秒数 设置屏幕刷新的间隔时间
-l 忽略已失效的进程
-n 设置刷新显示的次数,次数到后自动退出top
-u 用户名 只显示指定用户的进程
-p pid 只显示指定pid的进程
-s 使用保密模式
-v 显示版本信息

实例:

1. 实时显示用户 test1的所有进程

# top -u test1

2. 将进程信息重定向到 test.log日志文件进行记录(每秒都会追加本次刷新信息到test.log文件)

# top -b > test.log

返回索引

pmap

功能:显示进程的内存映射关系

语法:pmap  [参数]  [PID]

参数 说明
-x 显示扩展格式
-d 显示设备格式
-q 不显示头尾行
-V 显示版本信息

实例:

1. 显示进程号为 12345的进程的所有内存映射信息

# pmap 12345

返回索引

jobs

功能:显示正在后台执行的任务

语法:jobs  [参数]

参数 说明
-l 列出一般信息与该任务的pid
-n 仅列出状态变化过的任务
-p 仅显示后台任务的进程号
-r 仅显示运行状态(running)的任务
-s 仅显示停止状态(stopped)的任务

实例:

1. 显示当前正在后台运行的任务

# jobs -l

返回索引

fg

功能:将后台任务放到前台

语法:fg  [任务编号]

实例:

1. 将后台任务cat放到前台执行

# jobs
[1] Stopped vi
[2] Stopped cat
# fg 2

返回索引

bg

功能:将程序放到后台执行

语法:bg  [任务编号]

说明:一般可在指令结尾使用“&”符号,将指令直接放到后台运行。例如:cat &

实例:

1. 先运行cat,然后按Ctrl-z暂时停止程序,再执行 bg 1将其放到后台

# cat
按下Ctrl-z暂时停止程序
# bg 1

返回索引

nohup

功能:终端退出后,仍继续运行某指令

语法:nohup  [参数]  [指令]

语法:一般当某个终端退出登录后,会向其下的所有进程发出关闭指令。 使用nohup可以使某个指令在终端退出后,仍继续在后台执行。

实例:

1. 在执行某个 python程序,且当终端退出后,仍继续运行

# nohup python runserver &

返回索引

kill

功能:向进程发信号(常用于关闭进程)

语法1:kill  [参数]

语法2:kill  [-信号]  [pid]

说明:一般常用的信号为:1(SIGHUP,终端挂起),9(SIGKILL,强行终止)

参数 说明
-l 列出所有的信号名称及其代码

实例:

1. 列出所有信号名称及编号

# kill -l

2. 强行终止 pid为12345的进程

# kill -9 12345

返回索引

killall

功能:根据进程名称终止进程

语法:killall  [参数]  [进程名称]

参数 说明
-e 需要与名称完全一致
-g 终止进程组
-i 交互对话模式,在终止进程前会先询问提示
-l 显示所有已知信号列表
-q 如果终止进程时出现错误或其他警告信息,不予显示
-r 使用正则表达式匹配要杀死的进程名称
-s 用指定的进程号代替默认信号“SIGTERM”
-u 终止指定用户的进程

实例:

1. 终止所有名为 cat的进程

# killall cat

返回索引

pkill

功能:向进程发信号(功能类似kill,但使用进程名称,而不是pid)

语法:pkill  [-信号]  [参数]  [进程名称]

参数 说明
-f 使用进程完整的进程名称去匹配模式表达式
-g 进程组 向指定进程组的进程发信号
-n 仅向符合条件的进程中最新的进程发信号
-o 仅向符合条件的进程中最旧的进程发信号
-P ppid 向父进程为指定ppid的进程发信号
-t 终端号 向终端号为指定终端号的进程发信号
-u uid 向所属用户为指定uid的进程发信号
-v 向不符合条件进程发信号
-x 向与模式表达式完全匹配的进程发信号

实例:

1. 终止所有名为 cat的进程

# pkill -9 cat

返回索引

wait

功能:等待进程的返回值

语法:wait  [进程pid或名称]

说明:若进程不存在,则返回127

实例:

1. 等待 pid为12345的进程的返回值

# wait 12345

返回索引

nice

功能:以指定优先级运行指令

语法:nice  [参数]  [指令]

参数 说明
-n 整数 设置该进程的优先级为指定整数,范围(-20~19),数值越小,优先级越高,预设为10

实例:

1. 调整当前 bash的优先级为10(预设优先级)

# nice

2. 以最高优先级运行 tar指令

# nice -n -19 tar zcf testdir/

返回索引

renice

功能:调整正在运行进程的优先级

语法:renice  [参数]

参数 说明
-g 组名 改变此进程组所有进程的优先级
-n 整数 设置该进程的优先级为指定整数,范围(-20~19),数值越小,优先级越高,预设为10
-p pid 指定进程的pid
-u uid 改变属于此用户的进程的优先级

实例:

1. 改变 pid为12345的进程的优先级为2

# renice -n 2 12345

返回索引

ipcs

功能:显示IPC(进程间通信)状态

语法:ipcs  [参数]

参数 说明
-a 显示全部信息
-q 显示活动的消息队列信息
-m 显示活动的共享内存信息
-s 显示活动的信号量信息。

实例:

1. 显示本机的全部IPC信息

# ipcs -a

返回索引

ipcrm

功能:删除IPC(进程间通信)渠道

语法:ipcrm  [参数]

参数 说明
-m id 删除指定id的共享内存
-M key 删除指定key的共享内存
-q id 删除指定id的消息队列
-Q key 删除指定key的消息队列
-s id 删除指定id的信号量
-S key 删除指定key的信号量

实例:

1. 删除 id号为 18000的共享内存

# ipcrm -m 18000

返回索引

arch

功能:显示CPU架构

语法:arch

实例:

1. 显示CPU架构

# arch

返回索引

uname

功能:显示系统信息

语法:uname  [参数]

参数 说明
-a 显示所有信息
-i 显示硬件平台
-m 显示CPU架构
-n 显示主机名称
-o 显示操作系统
-p 显示处理器类型
-r 显示操作系统内核版本
-s 显示操作系统名称
-v 显示系统时间

实例:

1. 显示所有信息

# uname -a

返回索引

dmesg

功能:显示或修改内核ring buffeer信息

语法:dmesg  [参数]

说明:Linux启动后,会将开机信息存储在 ring buffer中, 可用 dmesg来查看,开机信息保存在 /var/log/dmesg文件中

参数 说明
-c 显示信息后,清除 ring buffer中内容
-n 级别 设置信息记录的级别,详情可用 dmesg --help查询
-s 缓冲大小 缓冲区大小预设为16392字节

实例:

1. 显示开机信息

# dmesg | less

2. 清除 ring buffer的内容

# dmesg -C

返回索引

halt

功能:关闭系统

语法:halt  [参数]

说明:halt 会先检测系统的 runlevel,若不为0和6,则关闭系统

参数 说明
-d 不在wtmp中记录
-f 强制关闭,不理会 init系统的 runlevel
-i 在重启前,先关闭所有网络接口
-p 在执行halt之后,执行poweroff切断电源
-w 只在wtmp中记录,但不实际关闭系统

实例:

1. 关闭系统并关闭电源

# halt -p

返回索引

reboot

功能:重启系统

语法:reboot  [参数]

参数 说明
-d 不在wtmp中记录
-f 强制重启,不理会 init系统的 runlevel
-i 在重启前,先关闭所有网络接口
-n 在重启前,先将每个进程在内存中的缓存数据存回硬盘
-w 只在wtmp中记录,但不实际重启系统

实例:

1. 重启系统

# reboot

返回索引

shutdown

功能:定时关机或重启指令

语法:shutdown  [参数]  时间  [警告信息]

参数 说明
-a 若不是系统管理员,则需要被定义在 /etc/shutdown.allow才能关机
-c 取消正在执行的关机操作
-f 重启时不执行 fsck(磁盘检查)
-F 重启时强制执行 fsck(磁盘检查)
-h 关机后仅关闭电源
-k 仅在各个终端显示关机警告信息,并不真正关机
-r 重新启动
-t 秒数 显示警告信息后,延迟多少秒再关机
时间 指定多少时间后关机,单位为分钟
警告信息 在关机时在终端上显示的警告信息文字

实例:

1. 立即关机

# shutdown 0 -h

2. 3分钟后关机,并在每个用户终端上显示“Save your files. The System will shutdown after 3 minutes.”

# shutdown 3 "Save your files. The System will shutdown after 3 minutes."

返回索引

ctrlaltdel

功能:设置Ctrl+Alt+Del热键动作

语法:ctrlaltdel  [参数]

参数 说明
hard 立刻重启,而不执行 sync将数据存回硬盘
soft 会将数据存回,停止服务,卸载文件系统后重启

实例:

1. 设置本机在按下Ctrl+Alt+Del时,不执行 sync而立即重启

# ctrlaltdel hard

返回索引

init

功能:起始过程控制

语法:init  [参数]  [数字]

说明:init进程是所有Linux进程的父进程, 它的进程号(PID)是1

参数 说明
-b 不执行相关脚本而直接进入单用户模式
-s 切换到单用户模式
数字 0:关机,1:单用户模式,2:多用户模式,3:完全多用户模式,6:重新启动

实例:

1. 关机

# init 0

2. 重启

# init 6

返回索引

runlevel

功能:显示当前与之前的执行等级

语法:runlevel

实例:

1. 显示当前与之前的执行等级

# runlevel

返回索引

vmstat

功能:显示虚拟内存的状态

语法:vmstat  [参数]

参数 说明
-a 显示使用与非使用中的虚拟内存状态
-d 显示磁盘信息
-f 显示开机后 fork的用量
-s 显示较完整的数据与统计
-S 单位 设置显示单位,K:1024,M:1024*1024,k:1000,m:1000000
-V 显示版本信息

实例:

1. 显示虚拟内存的状态

# vmstat

2. 显示磁盘信息

# vmstat -d

返回索引

free

功能:显示内存使用状态

语法:free  [参数]

参数 说明
-b 以Byte为单位显示内存的使用情况
-k 以KB为单位显示内存的使用情况
-m 以MB为单位显示内存的使用情况
-o 不显示缓冲区的状态
-s 秒数 持续观察内存的使用状态,以延迟秒数为周期持续观察
-t 显示内存(物理内存与虚拟内存)的总和
-V 显示版本信息

实例:

1. 查看当前内存使用状况

# free

返回索引

sysctl

功能:显示和设置内核参数

语法:sysctl  [参数]

参数 说明
-a 显示当前所有可用的内核参数变量和值
-A 以表格形式显示上面-a的内容
-e 忽略未知关键字的错误
-n 不显示变量名关键字,仅显示值
-N 不显示值,仅显示变量名关键字
-p 文件 从配置文件加载内核参数设置,默认为 /etc/sysctl.conf
-w 变量=值 指定变量等于给定的值

实例:

1. 显示正在使用的内核参数

# sysctl -a

返回索引

ulimit

功能:限制用户对系统资源的使用

语法:ulimit  [参数]

参数 说明
-a 显示当前的系统资源使用限制
-c core上限 设定core文件的最大值,单位为区块
-d 区块大小 程序数据节区的最大值,单位为KB
-f 文件大小 shell所能建立的最大文件,单位为区块
-H 设置硬性限制
-m 内存大小 指定可使用内存的上限,单位为KB
-n 文件数目 指定同一时间最多可打开的文件数
-p 缓冲区大小 指定管道缓冲区的大小,单位512字节
-s 堆栈大小 指定堆栈的上限,单位为KB
-S 设置软性限制
-t CPU时间 指定CPU使用时间的上限,单位为秒
-u 程序数目 用户最多可执行的程序数目
-v 虚拟内存 指定可使用的虚拟内存上限,单位为KB

实例:

1. 显示当前的系统使用资源限制

# ulimit -a

2. 设置每个用户最多能执行的程序数目为500个

# ulimit -u 500

返回索引

lsmod

功能:显示已经加载到内核中的模块的信息

语法:lsmod

实例:

1. 显示已经加载到内核中的模块的信息

# lsmod

返回索引

modinfo

功能:显示模块的信息

语法:modinfo  [参数]  [模块名称]

参数 说明
-a 显示作者
-d 显示描述
-l 显示版权
-0 使用ASCII值为0的字符来分割不同栏
-p 显示此模块的可用参数
-V 显示版本信息

实例:

1. 显示蓝牙模块的信息

# modinfo bluetooth

返回索引

insmod

功能:加载模块

语法:insmod  [模块文件名称]

说明:insmod常用于加载某驱动程序

实例:

1. 加载蓝牙模块驱动

# insmod bluetooth

返回索引

rmmod

功能:卸载模块

语法:rmmod  [模块名称]

参数 说明
-f 强制执行卸载(不建议使用)
-s 将错误信息传送到 syslog,而不输出到屏幕上
-v 显示完整的执行过程
-w 等待到模块停止使用时再进行卸载

实例:

1. 卸载蓝牙模块

# rmmod -w bluetooth

返回索引

modprobe

功能:智能加载模块到内核或卸载模块

语法:modprobe  [参数]  [模块名称]

说明:modprobe可根据depmod所产生的以来关系,智能决定要加载哪些模块

参数 说明
-a 加载所有根输入名称有关的模块
-c 显示当前的设置
-f 强制执行
-C 设置文件 指定设置文件位置,默认为 /etc/modprobe.conf
-i 忽略设置文件中模块加载或卸载的信息
-o 尝试改变加载到内核的模块的名称
-q 安静模式,发生错误时不显示任何信息
-r 删除指定名称的模块
-s 通过syslog存储错苏信息
-v 显示详细的执行过程
--show-depends 显示模块的依赖性

实例:

1. 智能加载 bluetooth模块

# modprobe bluetooth

2. 智能卸载 bluetooth模块

# modprobe -r bluetooth

3. 显示 ext3模块的依赖性

# modprobe --show-depends ext3

返回索引

depmod

功能:分析可加载模块的关联性

语法:depmod  [参数]

参数 说明
-a 分析所有可用的模块
-b 指定模块所在的位置,默认在 /lib/modules/<版本>
-F 文件 指定系统映像文件
-n 将结果输出到屏幕,而不是写到 modules.dep文件
-v 显示完整的执行过程

实例:

1. 检测并显示所有模块的关联性

# depmod -an

返回索引

ifconfig

功能:设置或显示网络信息

语法:ifconfig  [接口名称]  [参数]  [IP地址]

参数 说明
up 开启某个网络接口
down 关闭某个网络接口
netmask 掩码 设置子网掩码
broadcast 地址 设置广播地址
mtu 字节数 设置mtu(最大传输字节)的字节数

实例:

1. 查看本机所有的网络接口及IP地址信息

# ifconfig

2. 设置本机的ip地址为192.168.1.10

# ifconfig 192.168.1.10

3. 关闭网卡1

# ifconfig eth0 down

返回索引

ping

功能:传送ICMP echo包,测试主机之间网络的连通性

语法:ping  [参数]  地址

参数 说明
-b 对广播地址发送ICMP echo包
-c 次数 只传送指定次数的包,传完停止
-f 大量传送包
-i 秒数 每隔多少秒传送一次包
-I 接口 指定发包的网络接口(如:eth0)
-n 只通过数字地址传送,而不会做主机名反查
-r 直接传送包,而不通过网关
-s 包大小 指定传送的包大小,默认为56B
-v 显示详细的执行过程
-V 显示版本信息

实例:

1. 向192.168.1.11地址的主机送出5个包

# ping -c 5 192.168.1.11

返回索引

netstat

功能:查询网络的当前状态

语法:netstat  [参数]

参数 说明
-a 显示所有信息
-c 将网络状态持续列出
-e 显示其他相关信息
-i 接口 指定网络接口
-l 显示正在 listen状态的 socket
-M 显示隐藏的联机
-n 直接显示IP地址,禁用反向域名解析
-p 显示与soceket相关的程序名称及PID
-r 显示内核路由表
-t 仅显示TCP通讯协议的联机状态
-u 仅显示UDP通讯协议的联机状态
-v 显示完整的执行过程

实例:

1. 查看当前正在 listen的端口及对应进程

# netstat -nlp

2. 显示内核路由表

# netstat -r

返回索引

ssh

功能:远程加密客户端连接工具

语法:ssh  [参数]  主机名或IP地址

参数 说明
-1 强制使用ssh协议版本1
-2 强制使用ssh协议版本2
-4 强制使用ssh协议版本4
-6 强制使用ssh协议版本6
-b 地址 当本机有多个IP地址时,使用指定的地址与远程主机连接
-F 文件 指定ssh的设置文件,默认为本账号根目录下的 .ssh/config文件
-i 文件 指定身份文件
-l 账号 指定远程连接的登录账号
-N 不执行远程指令,仅作包定位
-p 端口 指定远程主机的端口号
-q 安静模式,不显示任何信息
-v 显示完整的执行过程
-V 显示版本信息

实例:

1. 通过ssh远程连接到192.168.1.11主机

# ssh 192.168.1.11

返回索引

slogin

功能:远程加密客户端连接工具(完全同ssh)

语法:slogin  [参数]  主机名或IP地址

返回索引

telnet

功能:远程联机工具(早期)

语法:  [参数]  [主机地址]  [端口号]

说明:telnet因为采用明文传送报文,安全性不好,现在多半以ssh来取代telnet。 但是在嵌入式开发中还是比较常用的,一般在PC端用telnet通过串口登录嵌入式linux开发板。

参数 说明
-8 使用8位字符
-d 启动调试模式
-l 账号 指定登录账号
-n 文件 指定记录的文件位置

实例:

1. 连接到 192.168.1.9主机的25号端口

# telnet 192.168.1.9 25

返回索引

tcpdump

功能:显示网络上TCP的联机状态

语法:tcpdump  [参数]

说明:tcpdump是一款sniffer工具,它可以显示所有经过网络接口的数据包的头信息

参数 说明
-A 使用ASCII列出每个信息包
-c 包数 收到指定包数后退出
-d 将包编码以易读方式显示后退出
-i 接口 指定要监听的网络接口(如:eth0)
-n 不将IP地址转换成主机名或域名
-q 快速输出,仅列出少数的传输协议信息
-r 文件 从文件中读取包信息
-t 不显示时间信息
-v 显示完整的执行过程
-x 将输出信息以十六进制显示
-X 以十六进制且ASCII格式显示

实例:

1. 监听本机 eth0收到的所有包

# tcpdump -i eth0

返回索引

wget

功能:从指定URL网址下载网页或文件

语法:wget  [参数]  URL

参数 说明
-a 文件 将所有的执行过程记录到指定文件内
-b 使用后台操作下载文件
-c 继续上次未完成的下载
-d 调试模式
-e 指令 激活 wget后就执行该指令
-F 将读入的文件视为HTML格式
-h 显示帮助信息
-i 从指定的文件读取 URL
-nc 不覆盖旧有的文件
-nv 下载时只显示更新和出错信息,不显示指令的详细执行过程
-O 文件 指定输出文件
-q 安静模式,不显示任何信息
-t 次数 设置最大尝试次数,若为0则为无限制
-v 显示完整的执行过程
-V 显示版本信息

实例:

1. 使用 wget下载文件

# wget http://xxxxxxxxxxx/testfie1.gz

返回索引

help

功能:shell内置指令说明

语法:help [shell内置指令]

实例:

1. 显示 exit指令内容

# help exit

返回索引

info

功能:显示帮助说明信息(有时比man更详细)

语法:info  [参数]  [指令]

参数 说明
-d 目录 指定info附加搜索的目录
-f 指定Info文件
-n 指定info浏览时的第1个节点
-o 文件名 将info显示内容输出到指定文件

实例:

1. 显示 ls指令的 info信息

# info ls

返回索引

man

功能:显示各种指令的帮助信息

语法:man  [参数]  [指令名称]

参数 说明
-a 一般默认只显示一个章节的帮助信息,此参数会列出该指令所有章节的帮助信息
-C 指定设置文件,默认为~/.manpath
-d 显示调试信息
-f 显示给定指令的简短描述信息
-K 显示所有跟指令名称有关的帮助文件
-M 目录 指定man搜索的目录
-P 指定显示时使用的分页程序,默认为 /usr/bin/less -is
-w 仅显示帮助文件的位置

实例:

1. 显示 ps指令的帮助文档

# man ps

返回索引

whatis

功能:查询一个命令执行什么功能,效果类似 man -f

语法:whatis [指令名称]

实例:

1. 查询 cp指令的功能

# whatis cp

返回索引

Linux常用命令速查的更多相关文章

  1. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  2. Linux常用命令速查-汇总篇

    Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim

  3. Linux常用命令速查-用户管理

    ◆ 用户组 ◆ 查看当前用户所属的用户组 1 groups 查看所有用户组 123456789 [root@node2 ~]# cat /etc/group root:x:0:bin:x:1:daem ...

  4. Linux 常用命令速查

    0x001 .在指定文件夹下递归查询包含一个字符串的文件(列出的文件内容片段) grep -r   “要查找的串”    文件路径   如  : grep -r  "helloworld&q ...

  5. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  6. Git 常用命令速查表(图文+表格)

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  7. git 常用命令速查

    git 常用命令速查 命令速查表 一.克隆项目 把远程仓库上的项目克隆到本地.一般来说项目是有1个或2个分支,主要是做开发和线上的区别.既然所属分支不一样,那命令也会有一点区别.这里假设是有2个分支, ...

  8. Git 常用命令速查表(图文+表格)【转】

    转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git comm ...

  9. Docker常用命令速查手册(华贵铂金版)

    原创声明:作者:Arnold.zhao  博客园地址:https://www.cnblogs.com/zh94 Docker常用命令速查手册 搜索仓库镜像 docker search nginx 获取 ...

随机推荐

  1. 【Codeforces 91B】Queue

    [链接] 我是链接,点我呀:) [题意] [题解] 对于每个i,用二分的方法求出来y所在的位置j. 可以这样求. 假设现在二分到了位置mid. 那么随便用个rmq求出来mid..n这一段的最小值tem ...

  2. HDU - 1723 - Distribute Message

    先上题目: Distribute Message Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  3. 楼控-西门子-insight使用-软件重新授权

    在insight的使用中,可能会碰到insight的软件授权失败,此时需要重新将原授权删除,再重新将软件授权. 先看一下软件授权失效会出现什么: 再看看如何删除原来的密钥,再注册新的密钥.

  4. [bzoj3932][CQOI2015]任务查询系统_主席树

    任务查询系统 bzoj-3932 CQOI-2015 题目大意:最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的任务用三元组(Si,Ei,Pi)描述 ...

  5. mysql 易错误理解

    MySQL作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己踩坑. ...

  6. http400错误基本都是http请求参数与服务器接收参数不匹配

    http400错误基本都是http请求参数与服务器接收参数不匹配造成的, 如:1)post请求,你发了个get请求 2)content-type指定不匹配致使参数无法读出来

  7. 【Android界面实现】SlidingMenu最新版本号使用具体解释

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在非常久之前的一篇文章中,简单的介绍了一下开源项目SlidingMenu控件的使用,这一篇文章,将比較具体的 ...

  8. C语言学习笔记:15_c语言中的进制操作.c

    /* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...

  9. Android SQLite服务--创建、增删改查

    <pre name="code" class="java">import android.content.Context; import andro ...

  10. 监控sql运行时剩余时间

    --监控sql执行时剩余时间 你知道正在执行的sql大概须要多长时间么? 你知道正在执行的sql大概完毕了百分之几么? 你知道正在执行的sql大概还要多长时间完毕么? V$SESSION_LONGOP ...