linux命令
系统信息
uptime 联机信息-时间
1 | uptime |
w 联机信息-已登录用户
1 | w |
who 联机信息
1 | who |
参数 | 作用 |
---|---|
-r | 运行级别 |
whoami 显示当前用户名
1 | whoami |
last 最近用户登录信息
1 | last |
参数 | 作用 |
---|---|
-数字 | 使用数字作为选项,控制显示条目 |
uname 系统信息
1 | uname |
参数 | 作用 |
---|---|
-s | 内核名称(默认选项) |
-a | 全部 |
-p | CPU 信息 |
-n | 主机名 |
-r | 内核发行信息(版本号) |
-v | 内核版本信息 |
date 时间
1 | date |
参数 | 作用 | |
---|---|---|
-u | 显示格林尼洛时间(UTC) | |
MMDDhhmm[[CC]YY][.ss] | 设定时间,需要管理员权限。 | date 12292359 |
MM | 月份 | |
DD | 天数 | |
hh | 小时 | |
mm | 分钟 | |
CC | 年份前两位 | |
YY | 年份后两位 | |
ss | 秒钟 | |
秒钟、年份为可选 | date 122923592006.59 | |
+[%X] | 设定显示格式,默认输出格式: | date +%Y年%m月%d日%A%H:%M:%S%Z |
格式控制 | %n | 换行 |
格式控制 | %t | 制表符 |
小时 | %H | 00~23 |
%I | 01~12 | |
%k | 0~23 | |
%l | 1~12 | |
%p | AM | |
分、秒 | %M | 分钟(00~59) |
%S | 秒(00..61) | |
%T | hh:mm:ss | |
%r | hh:mm:ss AM|PM | |
%s | 从 1970年1月1日00:00:00 UTC 到目前为止的秒数 | |
%X | %H:%M:%S | |
%Z | 时区 | |
星期 | %a | Sun~Sat |
%A | Sunday~Saturday | |
%w | 一周中的第几天 (0~6) | |
年份 | %Y | 0000~9999 |
%y | 00~99 | |
月份 | %m | 01~12 |
%b | ||
%h | Jan~Dec | |
%B | January~December | |
日期 | %c | 完整日期时间 |
%d | 01~31 | |
%j | 001~366 | |
%x | 本地格式日期 | |
%D | mm/dd/yy | |
一年中的第几周 | %U | 以 Sunday 为一周的第一天 |
%W | 以 Monday 为一周的第一天 |
cal 显示日历
1 | cal |
文件管理
ls [路径] 显示当前目录文件列表
1 | ls |
参数 | 作用 |
---|---|
–color | 不同属性以不同颜色显示(默认选项) |
-a | 全部显示 |
-i | 显示 inode值 |
-l | 详细信息 |
-F | 显示文件类型后缀 目录/ 链接@ 可执行文件* 端口文件= 管道文件` |
-A | 显示隐藏文件 |
-R | 递归显示子目录文件列表 |
-S | 按文件大小排序 |
-t | 按修改时间排序 |
-u | 按访问时间排序 |
-d | 只显示目录,不递归显示目录下的文件 |
cd [目录路径] | [特殊路径] 切换目录
参数 | 作用 |
---|---|
~ | $HOME 目录(默认值) |
- | 上一次目录 |
.. | 上一级目录 |
. | 当前目录 |
pwd 显示当前路径
1 | pwd |
file 文件名 显示文件类型
1 | file Desktop |
参数 | 作用 |
---|---|
-i | 显示 mime类型 |
du [路径] 计算文件或目录空间占用
1 | du Desktop |
参数 | 作用 |
---|---|
-h | 人性化显示。自动以 G、M、K 为单位显示占用空间大小 |
–max-depth=数字 | 显示目录深度 |
-l | 重复计算硬链接文件大小 |
-L | 计算符号链接文件大小 |
-a | 显示当前目录子目录中的文件 |
-c | 显示文件数 |
less 文件名 浏览文件
touch 目标文件 触碰
触碰,在不修改文件的前提下,更改其时间属性。通常用来创建一个空文件
mkdir 文件夹 创建文件夹
参数 | 作用 |
---|---|
-p 多级目录 | 按路径创建多级目录 |
-m 数字权限值 | 设定权限 |
cp 源文件 目标目录|文件
将源文件复制为目录文件,或者将源文件复制到目标目录。多个源文件使用空格分隔
cp 源目录 目标目录
将源目录复制到目标目录中,如果复制多个源目录,需要使用 -R 选项
参数 | 作用 |
---|---|
-a | 相当于 -dpr 选项 |
-d | 保留链接 |
-f | 强制复制,覆盖目标文件 |
-i | 覆盖时询问用户 |
-p | 保留修改时间和访问权限 |
-r -R | 递归复制(目录=>目录) |
-l | 创建链接 |
-v | 显示过程 |
rm 目标目录|文件 删除
参数 | 作用 |
---|---|
-r -R | 递归删除(用于删除目录) |
-f | 强制删除(无需确认,直接删除。慎用!) |
-i | 交互式删除(询问用户) |
rmdir 目标目录
删除目录时,建议您使用“rm -r”命令
mv 源文件 目标目录|文件
相当于 cp 后删除源文件,也可以作为“重命名”使用。
参数 | 作用 |
---|---|
-f | 强制,覆盖目标文件 |
-i | 覆盖时询问用户 |
-v | 显示过程 |
ln 源文件 链接
参数 | 作用 |
---|---|
-s | 符号链接 |
-f | 强制链接,覆盖目标文件 |
-i | 覆盖时询问用户 |
文件操作
split 源文件 [目标文件名前缀]
将源文件按一定规则分割成若干个目标文件。默认文件名前缀为 x
参数 | 作用 |
---|---|
-行数 | 按行数分割文件 |
-l 行数 | 同上 |
-b 字节 | 按大小分割文件。可以使用 b、k、m 作单位,不指定单位的情况下,默认单位为 b |
-C 字节 | 按大小分割文件,并尽量保持每行的完整 |
cat 文件名
输出文件内容。用空格分隔多个文件名
可以将多个文件内容连接到一起输出。使用重定向合并为一个文件 cat xaa xab xac > file.split
参数 | 作用 |
---|---|
-n | 在输出中添加行号 |
-b | 在输出中添加行号,空行不编号 |
-s | 将两行或以上的空行,合并为一个空行 |
sort [-o 输出文件] [-t 分隔字符] [+起始字段 -结束字段] [文件]
对文本内容排序
参数 | 作用 |
---|---|
-m | 合并文件 |
-c | 检查文件是否已按规则排序 |
-b | 忽略行首空格字符 |
-u | 忽略内容重复行 |
-f | 忽略大小写 |
-l | 忽略非打印字符 |
-M | 作为月份比较 |
-d | 按字典顺序排序,按照字母、数字、空格、制表符排序 |
-r | 逆序输出 |
more 查看文件内容
查看文件内容,建议使用 less
diff 文件1 文件2 比较文件
参数 | 作用 |
---|---|
-u [数字] | 统一格式,数字为显示上下文行数 |
–unified[=数字] | 统一格式,数字为显示上下文行数 |
-c [数字] | 上下文格式,数字为显示上下文行数 |
–context[=数字] | 上下文格式,数字为显示上下文行数 |
-e | ed 命令格式 |
–ed | ed 命令格式 |
-f | RCS 命令格式 |
patch
使用 diff -uN[r] 旧文件 新文件 > 补丁文件 命令创建补丁文件。
在待补丁文件的目录下使用 patch -p[数字] <补丁文件 命令打补丁
-p [数字] 表示忽略补丁文件中记录的目录,数字为忽略的层数。
patch -R 已打补丁文件 补丁文件 将已打补丁文件恢复到原来的状态
cksum [文件名]
计算文件的 CRC值。不指定文件名则从标准输入设备读入数据
md5sum [文件名]
计算文件的 md5值。不指定文件名则从标准输入设备读入数据
参数 | 作用 |
---|---|
-t | 以文本模式读取 |
-b | 以二进制模式读取 |
-c md5纪录 | 校验 md5纪录 中的文件(使用 md5sum 配合重定向生成纪录文件) |
压缩解压
tar [-]c|x|u|r|t[z|j][v] -f 归档文件 [待打包文件]
将多个文件打包为一个归档文件,可以在打包的同时进行压缩。支持的格式为 tar(归档)、gz(压缩)、bz2(压缩率更高,比较耗时)
参数 | 作用 | |
---|---|---|
操作选项 | -c | 创建 |
-x | 解包 | |
-u | 更新 | |
-r | 添加 | |
-t | 查看 | |
-d | 比较压缩包内文件和文件 | |
-A | 将 tar 文件添加到归档文件中 | |
格式选项 | -z | 使用 gz 压缩格式 |
-j | 使用 bz2 压缩格式 | |
其它 | -v | 显示过程 |
-f 文件名 | 归档文件的文件名,使用 - 代表标准输入/输出 |
|
-C 解压路径 | 将压缩包中的文件解压到指定目录 | |
–exclude=文件 | 排除文件 | |
-P | 使用绝对路径压缩时,保留根目录“/” | |
-W | 校验 | |
-p | 还原文件权限 | |
-w | 询问用户 | |
–totals | 统计 | |
-T 文件列表 | 处理文件列表中的文件 | |
-X 文件列表 | 排除文件列表中的文件 |
7z|7za 子命令 [选项] 压缩包 [文件]
参数 | 作用 | |
---|---|---|
子命令 | a | 添加 |
d | 删除 | |
e | 解压 | |
x | 带路径解压 | |
l | 列表查看 | |
t | 测试 | |
u | 更新 | |
选项 | -m 压缩方式 | |
-m0=压缩算法 | 默认使用 lzma | |
-mx=数字 | 1~9 压缩级别 | |
-mfb=64 | number of fast bytes for LZMA = 64 | |
-md=字典大小 | 设置字典大小,例如 -md=32m | |
-ms=on|off | 是否固实压缩 | |
-o输出目录 | 设置输出目录 | |
-p密码 | 使用密码 | |
-r数字 | 递归,使用数字定义递归子目录的深度 | |
-sfx[模块名称] | 使用自解压模块 | |
-si | 从标准输入设备读入数据 | |
-so | 将数据写入标准输出设备 | |
-y | 所有询问均回答 Yes | |
-w路径 | 设置工作目录 |
搜索
whereis 程序名称
查找软件的安装路径
参数 | 作用 |
---|---|
-b | 只查找二进制文件 |
-m | 只查找帮助文件 |
-s | 只查找源代码 |
-u | 排除指定类型文件 |
-f | 只显示文件名 |
-B 目录 | 在指定目录下查找二进制文件 |
-M 目录 | 在指定目录下查找帮助文件 |
-S 目录 | 在指定目录下查找源代码 |
locate 文件名称
在文件索引数据库中搜索文件
updatedb
更新文件索引数据库
参数 | 作用 |
---|---|
-d 数据库路径 | 搜索指定数据库 |
find [路径] 表达式
查找文件
参数 | 作用 |
---|---|
-name 表达式 | 根据文件名查找文件 |
-iname 表达式 | 根据文件名查找文件,忽略大小写 |
-path 表达式 | 根据路径查找文件 |
-ipath 表达式 | 根据路径查找文件,忽略大小写 |
-amin 分钟 | 过去N分钟内访问过的文件 |
-atime 天数 | 过去N天内访问过的文件 |
-cmin 分钟 | 过去N分钟内修改过的文件 |
-ctime 天数 | 过去N天内修改过的文件 |
-anewer 参照文件 | 比参照文件更晚被读取过的文件 |
-cnewer 参照文件 | 比参照文件更晚被修改过的文件 |
-size 大小 | 根据文件大小查找文件,单位 b c w k M G |
-type 文件类型 | 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件 |
-user 用户名 | 按归属用户查找文件 |
-uid 用户编号 | 按用户编号查找文件 |
-group 群组名 | 按归属群组查找文件 |
-gid 群组编号 | 按群组编号查找文件 |
-empty | 查找空文件 |
grep 字符串|正则表达式 文件名|标准输入
在文件中搜索内容
权限管理
chmod 权限表达式 文件|目录
更改文件的权限。权限的表达式可以使用 3位8进制数字 表示,或者使用 augo +-= rxw-s 来表示
a 所有用户 u 归属用户 g 归属群组 o 其它用户
= 具有权限 + 增加权限 - 去除权限
r 可读权限 w 可写权限 x 可执行权限
参数 | 作用 |
---|---|
-R | 递归 |
-v | 显示过程 |
-c | 类似“-v”,仅显示更改部分 |
–reference=参照文件或目录 | 以指定文件为参照更改权限 |
示例:
1 | chmod -R a+x path |
chown 归属用户[:归属群组] 文件|目录
更改文件的归属用户。可以使用用户名或者用户编号
参数 | 作用 |
---|---|
-R | 递归 |
-v | 显示过程 |
-c | 类似“-v”,仅显示更改部分 |
–reference=参照文件或目录 | 以指定文件为参照更改权限 |
示例:
1 | chown user:admin path |
chgrp 归属群组 文件|目录
更改文件的归属群组。可以使用群组名或者群组编号,选项同上
SUID、SGID、Sticky bit
例如:用户自行设定密码。出于安全方面的考虑, /etc/shadow
只能由 root用户 直接修改。
1 | -rw------- root root /etc/shadow |
这个时候,可以为程序 /usr/bin/passwd 设置 SUID,当普通用户执行“passwd”命令时,便能够以该程序归属用户 root 的身份修改 /etc/shadow 文件。而“passwd”程序自身带有身份验证机制,不能通过验证时拒绝执行,从而保证了安全。
1 | ls -l /usr/bin/passwd |
我们发现,归属用户的可执行权限位使用 s ,表示 SUID。同样,归属群组的可执行权限位使用 s ,表示 SGID。任何用户或群组都拥有 “其它用户” 的权限,所以不需要以 其它用户 身份执行文件,其它用户的可执行权限位便不会出现 s 。该权限位可能出现的属性为 t ,也就是粘着位 Sticky bit。
1 | ls -ld /tmp |
粘着位表示任何用户都可能具有写权限,但只有该归属用户或 root用户 才能够删除
SUID、SGID、Sticky bit 也可以像权限一样,使用一个八进制数表示,如下:
4 | SUID |
---|---|
2 | SGID |
1 | Sticky bit |
lsattr [路径]
查看文件的特殊属性
参数 | 作用 |
---|---|
-a | 全部显示 |
-d | 只显示目录 |
-R | 递归 |
特殊属性包括:
a | 仅供附加用途 |
---|---|
b | 不更新最后存取时间 |
c | 压缩后存放 |
d | 排除在转储操作之外 |
i | 不得任意更动文件或目录 |
s | 保密性删除文件或目录 |
S | 即时更新文件或目录 |
u | 预防意外删除 |
chattr +|-|=属性 路径
更改文件特殊属性
参数 | 作用 |
---|---|
-R | 递归 |
-V | 显示过程 |
用户管理
root 用户为根用户,也就是系统管理员,拥有全部权限
一个用户只能拥有一个 群组编号 ,但是还可以归属于其它附加群组
用户管理的重要配置文件:
/etc/passwd | 用户名 密码位 用户编号 归属群组编号 姓名 $HOME目录 登录Shell |
---|---|
/etc/shadow | 用户名 已加密密码 密码改动信息 密码策略 |
/etc/group | 群组名 密码位 群组编号 组内用户 |
/etc/gshadow | 群组密码相关文件 |
/etc/sudoers | 用户名 权限定义 权限 |
- 请使用“visudo”命令修改
/etc/sudoers
,而不要直接编辑 - 可以使用 pwconv 命令创建影子密码,将
/etc/passwd
文件中的密码转换到/etc/shadow
文件
su [用户名]
切换到其它用户,默认切换到 root用户。提示密码为目标用户密码
参数 | 作用 |
---|---|
-f | 快速切换,忽略配置文件 |
- | -l | 重新登录 |
-m |-p | 不更改环境变量 |
-c 命令 | 切换后执行命令,并退出切换 |
sudo 命令
以其它用户的身份执行命令,默认以 root 的身份执行。提示密码为当前用户密码
参数 | 作用 |
---|---|
-s | 切换为 root shell |
-i | 切换为 root shell,并初始化 |
-u 用户名|用户编号 | 执行命令的身份 |
-l | 显示自己的权限 |
passwd [用户名]
设定用户密码
参数 | 作用 |
---|---|
-d | 清除密码 |
-l | 锁定账户 |
-e | 使密码过期,在下次登录时更改密码 |
-S | 显示密码认证信息 |
-x 天数 | 密码过期,最大使用时间 |
-n 天数 | 冻结密码,最小使用时间 |
-s | 更改 登录Shell |
-f | 更改用户信息 |
示例:
1 | passwd |
gpasswd 群组名
更改群组
参数 | 作用 |
---|---|
-d 用户名 | 将用户从群组中删除 |
-a 用户名 | 将用户加入群组 |
-r | 删除密码 |
-A 用户名 | 将用户设置为群组管理员(群组管理员或 root 才可以使用 gpasswd 命令) |
-M 用户1,用户2…… | 设置群组成员 |
chsh -s Shell [用户名]
更改登录 Shell
usermod 用户名
修改用户账号
参数 | 作用 |
---|---|
-d 目录 | 设定 $HOME 目录 |
-m | 设定 $HOME 目录时自动建立该目录 |
-s Shell | 修改用户 登录Shell |
-l 新登录名 | 修改为新登录名 |
-u 用户编号 | 修改用户编号 |
g 群组名 | 修改用户归属群组 |
-G 群组名 | 修改用户归属辅组 |
-L | 锁定帐户 |
-U | 解除锁定 |
-e 过期时间 | 设定用户账号过期时间 |
-f 缓冲天数 | 设定密码过期后多长时间关闭账号 |
-c 字符串 | 修改用户备注 |
useradd 用户名
新建用户
- 新建用户规则保存于
/etc/login.defs
文件中 - 新建用户默认文件保存于
/etc/skel/
目录中。新建用户时,系统自动拷贝此目录下的文件至新建用户的$HOME
目录
参数 | 作用 |
---|---|
-d 目录 | 设定 $HOME 目录 |
-m | 自动建立 $HOME 目录 |
-M | 不自动建立 $HOME 目录 |
-s Shell | 设定用户 登录Shell |
-u 用户编号 | 设定用户编号 |
-g 群组名 | 设定用户归属群组 |
-G 群组名 | 设定用户归属附加群组 |
-n | 不建立以用户名为名称的群组 |
-e 过期时间 | 设定用户账号过期时间 |
-f 缓冲天数 | 设定密码过期后多长时间关闭账号 |
-c 字符串 | 设定用户备注 |
-D [表达式] | 更改预设值 (预设值保存于 /etc/default/useradd 文件中) |
userdel 用户名
删除用户
参数 | 作用 |
---|---|
-r | 删除用户相关文件和目录 |
id [用户名]
显示用户 用户编号 群组编号 归属附加群组
进程管理
进程一般分为批处理进程、交互进程和守护进程三类。
守护进程总是活跃,在系统启动时通过脚本自动启动,或由 root 启动,通常在后台运行。
一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。
init 进程为根进程,所有进程都是它的子进程
ps
显示进程信息,选项可省略 “**-
**”
参数 | 作用 |
---|---|
aux | 以 BSD风格 显示进程 常用 |
-efH | 以 SystemV风格 显示进程 |
-e | -A | 显示所有进程 |
a | 显示终端上所有用户的进程 |
x | 显示无终端进程 |
u | 显示详细信息 |
f | 树状显示 |
w | 完整显示信息 |
l | 显示长列表 |
输出字段
参数 | 作用 | |
---|---|---|
USER | 进程所有者 | |
PID | 进程编号 | |
PPID | 父进程编号 | |
%CPU | CPU 占用率 | |
%MEM | 内存占用率 | |
NI | 进程优先级。数值越大,占用 CPU 时间越少 | |
VSZ | 进程虚拟大小 | |
RSS | 页面文件占用 | |
TTY | 终端编号 | |
STAT | 进程状态 | |
D | 不可中断 | |
R | 正在运行,或在队列中的进程 | |
S | 处于休眠状态 | |
T | 停止或被追踪 | |
Z | 僵尸进程 | |
X | 死掉的进程 | |
< | 高优先级 | |
N | 低优先级 | |
L | 有些页被锁进内存 | |
s | 包含子进程 | |
+ | 位于后台的进程组 | |
l | 多线程,克隆线程 |
pstree [ 进程编号 | 用户 ]
树状显示进程信息。可选择显示某用户的进程或从某进程编号开始的进程
参数 | 作用 |
---|---|
-a | 显示完整命令及选项 |
-c | 完全显示重复进程 |
-p | 显示进程编号,隐含-c |
-n | 按进程编号排列进程 |
-u | 显示进程所有者 |
-h | |
-H 进程编号 | 高亮显示进程编号指定的进程及其祖先 |
pgrep 进程名
显示进程编号
参数 | 作用 |
---|---|
-l | 显示进程名和进程编号 |
-o | 进程起始编号 |
-n | 进程终止编号 |
kill [信号代码] 进程编号
根据进程编号向进程发送信号,常用来结束进程,默认信号为 -9
参数 | 作用 |
---|---|
-l [信号代码] | 显示、翻译信号代码 |
-9 | -KILL | 发送 kill 信号,退出 |
-6 | -ABRT | 发送 abort 信号,退出 |
-15 | -TERM | 发送 Termination 信号 |
-1 | -HUP | 挂起 |
-2 | -INT | 从键盘中断,相当于 Ctrl+c |
-3 | -QUIT | 从键盘退出,相当于 Ctrl+d |
-4 | -ILL | 非法指令 |
-11 | -SEGV | 内存错误 |
-13 | -PIPE | 破坏管道 |
-14 | -ALRM | |
-STOP | 停止进程,但不结束 |
-CONT | 继续运行已停止的进程 |
-9 | -1 | 结束当前用户的所有进程 |
pkill [信号代码] 进程名称
结束进程族。如果结束单个进程,请用 kill
xkill
在图形界面中点杀进程。执行此命令后,鼠标指针变为骷髅图案(一定看过《加勒比海盗》吧)。在窗口中点击左键杀死进程,右键取消
top
动态、交互式进程管理器
功能 | 参数 | 具体作用 |
---|---|---|
启动选项 | -b | |
-c | 显示进程启动状态,包括选项、参数、操作对象等;而不只是进程名 | |
-d 秒 | 刷新频率。 -d 5,表示5秒刷新一次 | |
-n 次 | 刷新次数,然后退出。 -n 5,表示刷新5次后退出 | |
-i | 禁止显示空闲进程或僵尸进程 | |
-p 进程编号 | 仅监视指定进程的编号 | |
-s | 安全模式运行,禁用一些交互指令 | |
-S | 累积模式,输出每个进程的总的 CPU 时间,包括已死的子进程 | |
交互命令 | space | 立即刷新 |
k | 交互式杀死进程,提示输入进程编号 (默认发送信号15) | |
r | 设定 renice,提示输入进程编号和 renice值 | |
s | 改变两次刷新时间间隔,以秒为单位 | |
n | 设定显示进程数, 0 为不作限制 | |
i | 隐藏空闲进程和僵尸进程 | |
S | 切换到累积时间模式 | |
l | 开关,在顶部显示 uptime 信息 | |
t | 开关,在顶部显示 进程和 CPU 状态 | |
m | 开关,在顶部显示 free 信息 | |
c | 显示方式切换: 进程名/进程启动状态 | |
A | 按进程启动顺序进行排序。由新到旧 | |
M | 按内存占用排序。由大到小 | |
N | 以进程编号排序。由大到小 | |
P | 按 CPU 占用排序。由大到小 | |
T | 按时间/累积时间排序 | |
f|F | 设定显示字段。设定完成后空格退出 | |
o|O | 设定显示字段的排序。大写向前移动,小写向后移动,空格退出 | |
h|? | 显示有关安全模式和累积模式的帮助信息 | |
W | 把当前的配置写到 ~/.toprc 中 |
renice 优先级 进程
重新设定进程优先级(通常无此必要)
类别 | 参数 | 作用 |
---|---|---|
优先级表达式 | +|-|= nice值 | |
nice 取值范围 | -20~19 | |
进程表达式 | -p 进程编号 | 通过进程编号进行设定 |
-g 进程群组编号 | 通过进程群组编号 | |
-u 用户编号 |
nohup 命令 [选项]
将任务提交到后台,输出附加到 ~/nohup.out
文件。即便用户退出登录,提交的命令仍继续执行。
命令 &
背景执行此命令,如果用户退出登录,则命令停止执行
命令1 ; 命令2 ; ……
命令队列,从左向右,依次执行以 ;
分隔的命令
命令1 && 命令2 && ……
命令队列,从左向右,依次执行以 &&
分隔的命令。前一个命令执行成功,后一个命令才能执行
Ctrl+z
挂起当前任务
jobs
显示背景任务
参数 | 作用 |
---|---|
-l | 显示完整信息 |
bg [任务编号]
将挂起的任务背景执行
fg [任务编号]
将背景任务调到前台执行
磁盘和内存管理
Linux 中,设备用/dev/
目录下的文件表示。例如
1 | /dev/hda1 第一块硬盘的第一主分区 |
mount 设备文件 [挂载路径]
挂载文件系统
-t | 指定文件系统的类型 | 通常不必指定,mount 自动检测 |
常见类型 | reiserfs | ReiserFS 3.6版 |
xfs | SGI 技术 | |
jfs | IBM 技术 | |
ext3 | Linux 传统文件系统 | |
vfat | fat fat32 | |
ext2 | Linux 传统文件系统,不带日志 | |
ntfs | WINNT | |
iso9660 | 光盘 | |
smbfs | Windows 文件共享 | |
-o [选项1] [选项2] ….. | ||
选项 | loop | 环设备。光盘、ISO 映像文件等,通常用于挂载映像文件(而不是设备文件) |
bind | 绑定。将一个目录(而不是设备文件)挂载到另一个目录 | |
ro | rw | 只读 readonly;可读写 read-write | |
sync | async | 同步模式|异步模式。决定修改是否立即写入文件系统 | |
atime | noattime | 读取时是否修改访问时间。对于写入敏感设备,例如闪存、软盘,建议使用 noatime | |
auto | noauto | 自动挂载模式 | |
exec | noexec | 是否允许执行 | |
defaults | 使用预设的选项 rw, suid, dev, exec, auto, nouser, async | |
iocharset=UTF-8 | 指定字符集,可简写为 utf8 | |
codepage=936 | 指定代码页,可简写为 cp936 西文系统代码页为 437 | |
umask=权限掩码 | 设定权限掩码 | |
uid=用户编号 | 设定归属用户 | |
gid=群组编号 | 设定归属群组 | |
remount | 以不同选项重新挂载 | |
-L 卷标 | 挂载带有特殊卷标的分区 |
权限掩码=777-目标权限(三位) | 7777-目标权限(四位)
假如权限掩码为 022 ,则目标权限为 755 rwxr-xr-x
可以使用 umask 命令设置权限掩码
挂载 NTFS 分区时请使用 utf8 选项;挂载 FAT 分区时请使用 iocharset=utf8,codepage=936 选项,以避免乱码
mount -a
挂载 /etc/fstab
文件中定义的所有设备。示例:
1 | sudo mount -t iso9660 -o loop /dev/cdrom0 /media/cdrom |
umount 设备文件 | 挂载路径
卸载已挂载文件系统
df
查看已挂载文件系统的磁盘空间占用
命令 | 作用 |
---|---|
-a | 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc 文件系统 |
-T | 显示文件系统类型 |
-k | 以 k 字节为单位显示 |
-i | 显示 i节点 信息,而不是磁盘块 |
-t 文件系统类型 | 显示指定类型的文件系统的磁盘空间使用情况 |
-x 文件系统类型 | 列出排除指定类型文件系统的磁盘空间使用情况(与 t 选项相反) |
-l | 只显示本地文件系统 |
free
查看内存、缓冲区、交换空间的占用
命令 | 作用 |
---|---|
-b | 以字节为单位显示数值 |
-k | 以千字节为单位显示数值 |
-m | 以兆字节为单位显示数值 |
-g | 以吉字节为单位显示数值 |
-l | 显示内存占用峰值 |
-o | 不显示缓冲区占用 |
-t | 统计结果 |
-s 秒 | 刷新频率 |
sync
同步文件系统。将缓冲区中的数据写入文件系统
fdisk 磁盘设备文件
分区表修改工具(磁盘设备文件应为整块磁盘,而不是磁盘中的分区。例如 /dev/sda
,而不是 /dev/sda1
)
fdisk -l 查看所有磁盘分区信息
命令 | 作用 |
---|---|
m | 使用帮助 |
l | 查看已知文件系统类型 |
p | 显示分区信息 |
n | 新建分区 (p:主分区 l:扩展分区 参见 “分区概念”一节 ) |
d | 删除分区 |
t | 改变分区类型 |
w | 将改动写入分区表 |
q | 放弃改动并退出 |
cfdisk
更加友善的分区表修改工具
mkfs.文件系统类型 分区设备文件
将分区格式化为文件系统。示例:
1 | sudo mkfs.reiserfs /dev/hda1 |
hdparm 磁盘设备文件
设置硬盘参数
命令 | 作用 |
---|---|
-d 0|1 | DMA 模式开关 |
-a 0|1 | 预读模式开关 |
-t | 性能测试 |
-T | 缓存性能测试 |
-c 0|1|3 | 32位传输模式开关 |
-g | 显示柱面,扇区等信息 |
-i|-I | 显示磁盘信息 |
硬件管理
lspci
查看 PCI 总线连接的设备(实际上也可以查看 ISA、AGP、USB 等总线信息)
参数 | 作用 |
---|---|
-v | 显示详细信息 |
-vv | |
-vvv | |
-k | 同时显示使用的驱动和加载的模块 |
-n | 显示设备 ID号 |
-b | 显示 PCI、ISA 扩展槽地址和中断 |
-t | 显示总线树结构 |
-F 文件 | 从指定文件读信息 |
-m | 以便于机器处理的格式输出所有硬件信息 |
-mm |
lsusb
查看 USB 接口连接的设备
lsmod
查看已加载模块。/lib/modules/
uname -r 目录下为所有可用模块
modprobe 模块名称
启用模块
参数 | 作用 |
---|---|
-a | 加载所有匹配模块 |
-c | 显示当前使用的配置 |
-d | 显示调试信息 |
-k | 将指定模块设置为”自动清除”模式 |
-l | 显示所有匹配模块 |
-n | 模拟执行 |
-q | 不显示错误信息 |
-r | 删除使用命令加载的模块;对非命令加载的模块设置”自动清除”模式 |
-s | 将结果记录到系统记录中 |
-t | 指定模块类型 |
-v | 显示详细信息 |
-C | 指定配置文件.默认使用/etc/modules.conf 文件为配置文件 |
其它
echo 字符串
回显。较复杂的字符串,可以使用 "
括起来。
类型 | 参数 | 作用 |
---|---|---|
选项 | -n | 输出内容不换行 |
-E | 不解析脱字符 | |
-e | 解析脱字符 | |
控制字符 | \ | 反斜线 |
\a | 警告 | |
\b | 退格 | |
\n | 换行 | |
\r | 回车 | |
\t | 水平制表符 |
clear
清空屏幕
alias 输入内容=实际内容
别名,为命令指定一个别名,以简化输入。例如:
1 | alias ls='ls -AF --color=auto' |
可以将您的定义保存在 ~/.bashrc
文件中
export 变量名
将变量导出为环境变量,常写变量赋值一同使用,例如:
1 | export PATH="$PATH:xxx" |
shutdown
关闭计算机,向根进程 init 发送信号,更改 runlevel 为 0 (halt)
参数 | 作用 |
---|---|
-h | 关闭电源 |
-r | 重启 |
-n | 强行关机,不向 init进程 发送信号 |
-k | 模拟关机,向登录者发送关机警告 |
-t 秒 | N秒后关机 |
time 时间 | 定时关机 |
-c [说明信息] | 取消关机 |
-f | 重启时忽略检测文件系统 |
-F | 重启时强制检测文件系统 |
halt
关闭计算机。 调用 shutdown -h ,结束系统进程,同步文件系统,停止内核。
参数 | 作用 |
---|---|
-n | 不同步文件系统 |
-w | 模拟关机,写 /var/log/wtmp 纪录 |
-f | 不调用 shutdown ,强行关机 |
-p | 默认选项,关机时调用 poweroff |
-i | 关机前断开网络 |
reboot
重新启动计算机。选项与 halt 相似
init 数字
更改运行级别
参数 | 作用 |
---|---|
0 | 关机 |
1 | 单用户模式 |
6 | 重启 |
chroot 路径
更改根目录,重新定义会话的运行环境。(通常用在多系统环境下使用)