Linux常用命令(摘录+转载)
一、分区命名:
Linux的硬盘命名方案是基于文件的,一般命名方式如下:
/dev/hda2 /dev/sdb3
/dev: 所有设备文件存放目录
hd与sd: 代表分区所在的设备类型。hd代表IDE硬盘,sd代表SCSI硬盘
a: 表示分区在哪个设备上,比如/dev/hda代表第1块IDE硬盘
2: 代表分区,Linux下前4个分区(主分区或扩展分区)用数字1-4表示,逻辑分区从5开始
/dev/hda2表示第1块IDE硬盘的第2个主分区或扩展分区
/dev/sdc6表示第3块SCSI硬盘的第2个逻辑分区
二、Linux控制台
默认Linux下有6个字符控制台,独立作业,互不影响
Ctrl+Alt+F1~F6切换,Ctrl+Alt+F7从字符界面切换到X-window
三、系统与硬件
1. Linux硬件资源管理
1.1 列出所有PCI设备
lspci lspci -v // 更详细
1.2 查看CPU信息
more /proc/cpuinfo
processor: 逻辑处理器唯一标识符
physical id: 每个物理封装的唯一标识符,也就是一个物理CPU
siblings: 相同物理封装中的逻辑处理器数量
core id: 每个内核唯一标识符
cpu cores: 相同物理封装中的内核数量
在siblings和cpu cores值之间有对应关系,
如果siblings是cpu cores的两倍,则说明系统支持超线程,并且已打开
如果siblings与cpu cores值相同,则说明系统不支持超线程,或未打开超线程
查看物理CPU个数、查看每个物理CPU中内核的个数、查看系统所有逻辑CPU的个数(所有物理CPU内核个数+超线程个数)
// 查看物理CPU个数 cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l // 查看每个物理CPU中内核个数 cat /proc/cpuinfo | grep "cpu cores" //查看系统所有逻辑CPU个数 cat /proc/cpuinfo | grep processor | wc -l
1.3 查看系统内存信息
more /proc/meminfo
1.4 查看磁盘分区信息
fdisk -l
2. Linux外在设备的使用
设备文件在Linux系统下的/dev下,命名方式是主设备号+次设备号,主设备号说明设备类型,次设备号说明具体指哪个设备
软盘: /dev/fd(1,2..)
U盘: /dev/sd(a,b..)(1,2..) U盘在Linux下识别为SCSI设备
光驱: IDE光驱对应/dev/hd(a,b..),SCSI光驱对应/dev/sr(1,2..)
磁带: /dev/st(1,2..)
文件系统类型
| 文件系统格式 | 备注 |
| msdos | DOS文件系统类型 |
| vfat | 支持长文件名的DOS分区文件系统类型,也可以理解为Windows文件系统类型 |
| iso9660 | 光盘格式文件系统类型 |
| ext2/ext3/ext4 | Linux常见文件系统类型 |
| xfs | Linux下一种高性能日志文件系统,CentOS 7后作为默认文件系统 |
挂载设备:
mount -t 文件系统类型 设备名 挂载点
/mnt 目录专门作为临时挂载点目录
/media 目录是自动挂载目录
mount -t msdos /dev/fd0 /mnt/floppu // 挂载软盘 mount -t vfat /dev/sda1 /mnt/usb // 挂载U盘 mount -t iso9660 /dev/hda /mnt/cdrom // 挂载光盘 mount /dev/cdrom /mnt/cdrom // 挂载光盘
卸载设备:
umount 挂载目录 umount /mnt/usb // 卸载U盘 umount /mnt/cdrom // 卸载光盘
三、文件系统结构
1. 目录结构
Linux系统以文件的形式全部存放在根目录下,同时分类分层组织成了一个树形目录结构
/etc 目录: 存放系统管理相关配置文件以及子目录(重要的有初始化文件/etc/rc 用户信息/etc/passwd 守护进程/etc/crontab DNS配置文件/etc/resolv.conf)
/usr目录: 主要存放应用程序和文件
/var目录: 主要存放系统运行与软件运行的日志信息
/dev目录: 主要存放系统设备文件
/proc目录: 是一个虚拟目录,目录中所有信息都是内存的映射,可以获得进程相关信息并且也可以在系统运行的时候修改内核参数,/proc目录存在于内存而不是硬盘
/boot目录: 存放Linux启动文件
/bin与/sbin: 存放可执行的二进制文件,是binary的缩写。
/bin目录存放的是常用Linux命令,
/sbin目录中的s是指超级用户,只有超级用户才能执行这些,常见如磁盘检查修复fcsk,磁盘分区fdisk,创建文件系统mkfs,关机shutdown,初始化系统init
/home目录: 每个用户的工作目录
/lib目录: 共享程序库与映像文件
/root目录: 超级用户默认主目录
/run目录: 外在设备自动挂载点目录,/media与/run基本类似,/mnt是手动挂载点
/lost+found: 用于保存丢失的文件,比如不恰当关机与磁盘错误导致文件丢失,之后会放在这里,除了/根目录外,每个分区均有这个目录
/tmp目录: 临时文件目录
四、系统服务管理工具systemd
1. 启动、停止、重启、重新加载服务
systemctl start httpd.service // 启动 systemctl stop httpd.service // 停止 systemctl restart httpd.service // 重启(服务没运行则开启) systemctl reload httpd.service // 重新加载配置文件
systemctl enable http.service // 启用服务 systemctl disable http.service // 禁止服务
一、Shell
shell本身是一个以C语言编写的程序,是用户和操作系统内核之间通信的桥梁。shell既是一种命令解释程序,又是一种功能强大的解释型程序设计语言。shell解释用户输入的命令,提交到内核处理,最后返回结果给用户。
1. shell命令语法分析
command [option] -[arguments]
2. shell的通配符
bash中常用的通配符有 * ? []
*: 匹配任意一个或多个字符
?: 匹配任意单一字符
[]: 匹配任何包含在方括号内的单字符
ls /dev/sda[12345] /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5
3. shell的重定向
3.1 输入重定向
输入重定向用于改变命令的输入源,可以把一个文件的内容作为命令的输入
输入重定向操作符有 < 和 <<
// 利用wc统计输入文件的行数、单词数、字符数 wc</etc/shadow 41 41 1275
<< 是告诉shell当前命令的标准输入是来自命令行中一对分隔号之间的内容
把一对分隔号aa之间的内容作为wc命令的输入,分隔号可以是任意字符
ALW-VM# wc<< aa heredoc> 1.Test1 heredoc> 2.Test2 heredoc> 3.Test3 heredoc> aa 3 3 24
3.2 输出重定向
输出重定向是指把命令的输出结果保存在一个指定文件中(常用)
输出重定向操作符: > 和 >>
ALW-VM% ps -ef >ps.txt ALW-VM% ls a ps.txt testgfile1 ALW-VM% vim ps.txt
> 与 >>的区别:
如果 > 后面指定的文件不存在,则会自动创建;如果存在,则覆盖
>> 操作符不会覆盖原文件,会把新的信息追加到原文件
3.3 错误重定向
错误重定向操作符: 2> 和 2>>
4. shell的管道
管道可以把很多命令连接起来,可以把第一个命令的输出当作第二个命令的输入,以此类推
管道符: |
ALW-VM% ps -ef | grep httpd juntaran 38489 38426 0 20:19 pts/3 00:00:00 grep httpd ALW-VM% ps -ef | grep httpd | wc -l 1
5. shell的引用
bash中有很多特殊字符,本身就具有特殊含义。如果shell的参数中使用它们就会出现问题。
引用技术来忽略这些自负的特殊含义,通知shell把这些特殊字符当作普通字符处理
转义字符 \ 单引号 ' ' 双引号 ""
5.1 转义字符 \
把 \ 放到特殊字符前面,shell就忽略这些特殊字符的特殊含义
5.2 单引号 ' '
把字符串放到一对单引号之间,那么字符串中所有特殊字符的特殊含义均忽略
5.3 双引号
双引号与单引号基本相同,但是有些特殊字符用双引号括起来也会发挥作用
比如 $ \ 和 `
ALW-VM% echo The date is `date` The date is 2016年 11月 07日 星期一 20:25:46 CST ALW-VM% echo 'The date is `date`' The date is `date` ALW-VM% echo "The date is `date`" The date is 2016年 11月 07日 星期一 20:26:23 CST
二、系统管理与维护
1. ls命令
dir命令与ls命令相同,显示工作目录下的内容,列出所含文件与子目录
ls [选项] [路径或文件]
| 选项 | 说明 |
| -a | 显示所有文件与子目录,包括隐藏文件 |
| -d | 只显示目录列表 |
| -l | 同时列出权限、使用者、大小等 |
| -s | 文件名后输出文件的大小 |
| -k | k字节形式表示文件大小 |
| -u | 以访问时间排序 |
| -t | 以时间排序 |
| -o | 显示除组外详细信息 |
| -x | 按列输出,横向排序 |
| -r | 反向排序 |
| -q | 用?代替不可输出字符 |
| -m | 横向输出文件名,以 , 作为分隔符 |
| -S | 以文件大小排序 |
| -R | 列出所有子目录下文件 |
| -pF | 文件名后说明类型,*是可执行普通文件,/是目录,@是符号链接,|是FIFO,=是套接字 |
| -C | 按列输出,纵向排序 |
| -Q | 把输出文件名用双引号括起来 |
2. pwd命令
显示当前工作目录,绝对路径
3. cd命令
cd [目录名]
| 选项 | 说明 |
| cd 目录 | 切换到该目录,区分大小写 |
| cd 或 cd ~ | 返回当前用户默认工作目录 |
| cd ~用户名 | 返回指定用户工作目录 |
| cd .. | 返回到上级目录 |
| cd / | 返回到根目录 |
4. date命令
date [选项] 显示时间格式(+开头,后面接时间格式)
| 选项 | 说明 |
| -s / -set | 设置系统时间 |
| -d / -date | 显示描述日期 |
5. passwd命令
设置用户密码
passwd // 普通用户 passwd [用户名] // root用户
6. su命令
改变用户身份
su [选项] [用户名]
| 选项 | 说明 |
| - | 加载相应用户下环境变量 |
| -l | 是目前shell成为改变身份后用户默认shell |
| -c | 改变身份运行一个指令就结束 |
| -m | 改变用户身份,不改变环境变量 |
7. who命令
显示目前登录到系统的用户
who am i who am I who -m // 三条命令结果相同
8. w命令
显示登录到系统的用户信息
9. uname命令
显示操作系统相关信息
ALW-VM% uname Linux ALW-VM% uname -a Linux ALW-VM 4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016
x86_64 x86_64 x86_64 GNU/Linux ALW-VM% uname -m x86_64 ALW-VM% uname -n ALW-VM ALW-VM% uname -s Linux ALW-VM% uname -r 4.4.0-42-generic
10. uptime命令
输出系统人物队列信息
11. last命令
读取/var/log/wtmp文件,列出记录登入系统的用户名单
12. dmesg命令
显示开机信息
| 选项 | 命令 |
| -c | 显示开机信息后,清除ring buffer信息 |
| -s | 设置缓冲区大小,默认8192 |
| -n | 设置记录信息的层级 |
13. free命令
free [选项] [-s (间隔秒数)]
| 选项 | 说明 |
| -b | 以字节为单位显示内存使用情况 |
| -m | 以MB为单位显示内存使用情况 |
| -K | 以KB为单位显示内存使用情况 |
| -t | 显示内存总和列 |
| -s (间隔秒数) | 每隔_秒持续显示 |
| -o | 不现实系统缓冲区队列 |
14. ps命令
显示系统进程瞬间运行状态
ps [选项]
| 选项 | 说明 |
| a | 显示所有用户进程,包含每个程序完整路径 |
| -x | 显示所有系统程序 |
| -u | 显示使用者名称与起始时间 |
| -f | 详细显示程序的路径群 |
| -c | 只显示进程的名字不显示完整路径 |
| -e | 除内核进程以外所有进程信息写到标准输出 |
15. top命令
实时显示系统各个进程资源占用情况,可以根据CPU、内存、执行时间对进程排序
top [选项]
| 选项 | 说明 |
| -d | 指定每两次刷新间隔 |
| -i | 不显示闲置或僵死进程 |
| -c | 显示进程整个命令路径 |
| -s | 安全模式,交互式指令取消 |
| -b | 分屏显示输出信息,结合-n可以把屏幕信息输出到文档 |
| -n | 更新次数,完成后退出 |
三、文件管理与编辑
vi命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中
1. mkdir命令
创建目录
mkdir [选项] 目录名
| 选项 | 说明 |
| -m | 对新建目录设置存取权限 |
| -p | 递归创建不存在目录,一次创建多个 |
2. more cat less 命令
查看文件内容
cat可以把内容输出到标准输出,也可用于连接合并文件
cat 文件1 文件2 >文件3
| 选项 | 说明 |
| -A | 制表符显示为^I,同时行尾显示一个$ |
| -b | 非空号按顺序编号,从1开始 |
3. diff命令
逐行比较文件差异,如果比较的是目录,则比较相同文件名的文件,但不会比较子目录
diff [选项] 文件1 文件2
| 选项 | 说明 |
| -c | 显示全部内容,并标出不同 |
| -b | 忽略行尾空格,字符串中一个或多个空格视为相同 |
| -r | 当比较目录时会比较子目录文件 |
| -s | 当两个文件相同,显示文件相同信息 |
4. grep命令
文本过滤工具,根据指定字符串对文件每一行进行搜索,找到了,则输出
grep [选项] 需要查找的字符串文件名
| 选项 | 说明 |
| -A NUM | 除了列出符合条件的行外,同时列出每个符合条件行的后NUM行 |
| -B NUM | 与-A相反,列出之前NUM行 |
| -c | 只显示行数,不列出具体信息 |
| -f file | 事先将要搜索样式写入一个文件,每行一个样式,根据文件搜索 |
| -i | 忽略大小写 |
| -n | 显示行号 |
5. rm命令
删除文件/目录
rm [选项] 文件/目录
| 选项 | 说明 |
| -r | 递归删除,如果没有-r rm命令不能删除目录 |
| -f | 忽略不存在的问题 |
| -i | 交互式删除,删除前确认 |
6. touch命令
改变指定文件访问时间和修改时间,如果不存在则创建此文件,如果没有指定时间使用当前时间
touch [选项] 设定的时间文件
| 选项 | 说明 |
| -a | 改变文件访问时间为系统当前时间,无须设置时间选项 |
| -m | 改变文件修改时间为系统当前时间,无须设置时间选项 |
| -c | 如果文件不存在,不创建也不提示 |
| -d或-t | 使用指定日期或时间 |
| -r<参考文件或目录> | 把指定文件或目录的日期、时间设成与参考文件或目录相同 |
7. ln命令
在文件或目录之间创建链接
硬链接: 通过文件inode号进行链接,多个文件指向同一个inode号,
只有所有链接都删除后文件才会真的被删除
软链接: 符号链接,类似于快捷方式
ln [选项] 源文件 目标链接名
| 选项 | 说明 |
| -f | 在目标位置存在与链接名相同文件,这个文件将删除 |
| -s | 软链接 |
| -d | 允许系统管理员硬链接自己目录 |
| -b | 对将在链接时会覆盖或删除的文件进行备份 |
8. file命令
显示文件类型,长度为0的文件识别为空文件,符号连接文件默认显示引用的真实文件路径
file [选项] 文件名
| 选项 | 说明 |
| -b | 显示文件类型结果,不显示对应文件名称 |
| -L | 直接显示符号链接指向文件类型 |
| -z | 显示压缩文件信息 |
| -i | 如果文件不是常规信息,则不进一步对文件类型进行分类 |
9. cp命令
复制
cp [选项] 源文件或目录 目标文件或目录
| 选项 | 说明 |
| -a | 复制目录时保罗所有信息,包含文件链接、文件属性、递归复制目录 |
| -r | 给出源文件是个目录,则递归复制所有子目录与文件,目标文件必须为目录名 |
| -d | 复制时保留链接 |
| -p | 保留文件修改时间和存取权限 |
| -i | 如果已有相同目标文件,提示用户是否覆盖 |
10. find命令
指定路径查找指定文件
find 路径名[-options] [-print -exec -ok 命令 {} \;]
| -options | 说明 |
| -name '字符串' | 查找文件名匹配的文件 |
| -lname '字符串' | 查找文件名匹配的符号链接文件 |
| -gid n | 查找属于ID号为n的用户组的文件 |
| -uid n | 查找属于ID号为n的用户文件 |
| -empty | 查找大小为0的文件或目录 |
| -path '字符串' | 查找路径名匹配的文件 |
| -group '字符串' | 查找匹配用户组的文件 |
| -depth | 搜索目录深度 |
| -prune 目录 | 指出搜索时忽略的目录 |
| -size n | 查找文件长度为n的文件,带有c时表示文件长度以字节计 |
| -user '字符串' | 查找匹配用户的字符串 |
| -mtime +n/-n | 按时间搜索,+n是n天之前,-n是今天到n天之前的 |
| -type 文件类型 |
按文件类型搜索 b:块设备文件、 c:字符设备文件、 f:普通文件、 l:符号文件、 d:目录、 p:管道、 s:socket文件 |
-print: 将搜索结果输出到标准输出
-exec: 对符合条件文件执行所给Linux命令
-ok: 对符合条件文件执行所给Linux铭刻,会询问用户是否执行
11. split命令
分割文件
split [选项] [输入文件] [输出文件]
| 选项 | 说明 |
| -b size | 指定分割出来文件大小,size可加入单位,b代表512字节,k代表1KB,m代表1MB |
| -n | 指定分割每个文件长度,默认1000行 |
| -d | 生成文件序列以数字形式命名 |
| -a | 指定生成文件序列长度,默认长度为2 |
12. mv命令
对文件或目录执行改名或剪切操作
mv [选项] 源文件或目录 目标文件或目录
| 选项 | 说明 |
| -i | 对已存在文件或目录,会询问是否覆盖 |
| -f | 默认覆盖,无交互 |
四、压缩与解压
1. zip/unzip命令
生成后缀名为 .zip 的压缩包
zip [选项] 压缩文件名 需要压缩的文档列表 unzip [选项] 压缩文件吗
zip命令选项:
| 选项 | 说明 |
| -r | 递归压缩,包括目录、子目录、文件 |
| -d | 从压缩文件内删除指定文件 |
| -i "文件列表" | 只压缩文件列表内文件 |
| -x "文件列表" | 压缩时排除文件列表中指定的文件 |
| -u | 更新文件到压缩文件中 |
| -m | 压缩后删除原始文件 |
| -F | 尝试修复受损的压缩文件 |
| -T | 检查压缩文件内每个文件是否正确 |
| - 压缩级别 | 1-9数字 9最高 |
unzip命令选项:
| 选项 | 说明 |
| -x "文件列表" | 解压文件,但不包括文件列表中指定的文件 |
| -t | 测试是否损坏,不解压 |
| -v | 查看压缩文件详细信息,不解压 |
| -n | 解压时不覆盖已经存在文件 |
| -o | 解压时覆盖已存在文件,无用户交互 |
| -d 目录名 | 把解压文件解压到指定目录 |
2. gzip/gunzip命令
压缩文件预设扩展名为 .gz gunzip是gzip的硬链接,无论压缩还是解压都可以通过gzip实现
gzip只能压缩文件,不能压缩目录,即使指定目录也只能压缩目录内所有文件
gzip [选项] 压缩/解压文档名
| 选项 | 说明 |
| -d | 解压 |
| -r | 递归压缩目录下子目录所有文件 |
| -t | 检查压缩文档完整性 |
| -v | 对每个压缩和解压的文档,显示相应文件名和压缩比 |
| -l | 显示压缩文件的压缩信息 |
| -num | 指定压缩比例 -1/-fast为最低压缩比,-9/-best是最高压缩比,默认为6 |
3. bzip2/bunzip2命令
类似于gzip/gunzip,只能对文件进行压缩,默认后缀 .bz2
bunzip2是bzip2的符号链接,压缩解压都可以通过bzip2实现
bzip [选项] 压缩/解压的文件
| 选项 | 说明 |
| -d | 执行解压,此时选项后跟着解压缩文件 |
| -v | 压缩或解压时显示详细信息 |
| -k | 压缩或解压后默认删除原始文件,此选项保留原始文件 |
| -f | bzip2压缩或解压后若输出文件与现文件同名,预设不会覆盖现有文件,该选项直接覆盖 |
| -t | 测试压缩文件完整性 |
| - 压缩级别 | 1-9数字,数字越大,压缩率越高 |
4. tar命令
tar是归档工具,归档为一个文件,但是不会压缩
tar [主选项+辅助选项] 文件或目录
主选项:
| 主选项 | 说明 |
| -c | 新建文件 |
| -r | 要归档文件追加到档案文件末尾 |
| -t | 列出档案文件中已经归档的文件列表 |
| -x | 从打包的档案文件中还原文件 |
| -u | 更新档案文件,新建文件替换档案中的原始文件 |
辅助选项:
| 辅助选项 | 说明 |
| -z | 调用gzip 在文件打包的过程中压缩/解压文件 |
| -w | 还原文件时,文件修改时间设为当前时间 |
| -j | 调用bzip2 在文件打包过程中压缩/解压文件 |
| -Z | 调用compress命令过滤档案 |
| -f | 后面紧跟档案文件存储设备,-f 必须是tar最后一个选项 |
| -v | 创建归档文件过程中,显示各个归档文件名称 |
| -p | 文件归档规程中,文件属性不变 |
| -N "yyyy/mm/dd" | 指定日期后的文件才会被打包 |
| --exclude file | 打包过程中,忽略file文件 |
tar -zcvf [目录]/压缩包文件名.tar.gz 源文件 // 调用gzip压缩 tar -zxvf [压缩包文件名.tar.gz] -C [路径]/ // 解压到指定路径 tar -jcvf [目录]/压缩包文件名.tar.bz2 源文件 // 调用bzip2压缩 tar -jxvf [压缩包文件名.tar.bz2] -C [路径]/ // 解压到制定路径
5. dd命令
转换或复制文件,同时对设备进行 备份
dd if="input_file" of="output_file" bs="block_size" count="number"
| 选项 | 说明 |
| if | 输入文件,可以是设备,比如磁盘某分区或整个磁盘 |
| of | 输出文件,可以使输出设备,比如磁盘、磁带等 |
| bs | 指定一个block大小,默认512字节 |
| count | bs的数量 |
dd if=/dev/sda2 of=/opt/sda2.back // 备份/dev/sda2分区
6. cpio命令
以重定向方式打包、备份、还原、回复文件的工具,可以解压以 .cpio 或 .tar 结尾的文件
cpio [选项] > 文件名或设备名 cpio [选项] < 文件名或设备名
| 选项 | 说明 |
| -o | 文件复制、打包成文件或把文件输出到设备 |
| -i | 文件解压或把设备上的备份还原到系统 |
| -t | 查看cpio打包的文件内容与输出到设备上的文件内容 |
| -v | 显示打包过程中的文件名 |
| -d | 在cpio还原文件过程中,自动建立相应目录 |
| -c | 一种较新的存储方式 |
| -B | 默认块增大到5120字节,默认块为512字节,可以加快存取速度 |
五、磁盘管理与维护
1. df命令
检查Linux系统的磁盘空间占用情况
df [选项]
| 选项 | 说明 |
| -h | 以容易理解格式输出文件系统分区占用情况 |
| -k | 以KB为单位输出文件系统分区占用情况 |
| -m | 以MB为单位输出文件系统分区占用情况 |
| -a | 列出所有文件系统分区,包含0大小文件系统分区 |
| -i | 列出文件系统分区的inode信息 |
| -T | 显示磁盘分区的文件系统类型 |
2. du命令
显示文件或目录所占用磁盘空间情况
du [选项] 文件或目录
| 选项 | 说明 |
| -s | 显示文件或整个目录的大小,单位为KB |
| -b | 以字节尾单位显示文件大小或显示目录下所有文件大小 |
| -sh | 人性化格式显示文件或目录大小 |
| -sm | 以MB为单位显示文件或目录大小 |
3. fsck命令
检查文件系统并尝试修复错误
fsck [选项] [-t <文件系统类型>] [设备名]
| 选项 | 说明 |
| -a | 自动修复文件系统,无提示 |
| -r | 交互式修复模式 |
| -A | 依照 /etc/fstab 配置文件内容,检查文件内所列全部文件系统 |
| -T | 执行fsck命令时不显示标题信息 |
| -V | 显示执行过程 |
| -N | 不执行指令,仅列出实际执行进行的动作 |
4. sync命令
强制把内存中的数据写回硬盘,防止数据丢失
sync
5. eject命令
退出抽取式设备,如果已经挂载,则先卸载再退出
eject [选项] 设备名
| 选项 | 说明 |
| -c <光驱编号> | 若有多个光驱需要指定光驱号 |
| -d 或 --default | 显示默认设备,误操作 |
| -f 或 --floppy | 退出抽取式软盘 |
| -q 或 --tape | 退出磁带 |
| -r 或 --cdrom | 退出光盘 |
| -t 或 --trayclose | 关闭光盘托盘 |
| -n 或 --noop | 显示指定设备名对应的设备文件路径,默认显示光盘的设备文件路径 |
6. mount/unmout命令
挂载/卸载指定文件系统
mount [选项] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [挂载点]
// 标签是磁盘分区标识的别名,随便起 -o选项是指加载文件系统时的选项 文件系统类型是指设备的文件系统类型 umount [挂载点]
| 选项 | 说明 |
| -a | 加载文件 /etc/fstab 指定所有设备 |
| -n | 不将加载信息记录在 /etc/mtab 文件中 |
| -r | 只读方式打开设备 |
| -w | 可读写模式加载设备,输入mount默认设置 |
| -f 或-v | 不加载设备,仅查看mount挂载状态 |
六、网络设置与维护
1. ifconfig命令
配置网络或显示当前网络接口状态
ifconfig [选项] [interface] [inet|up|down|netmask|adr|broadcast] // interface:网络接口名 eth0,添加后仅显示指定网卡信息 // up:激活一个网络接口 // down:关闭一个网络接口 // netmask:为一个指定的网络接口指定子网掩码 // addr:网络接口指定的IP地址 // broadcast: 为指定的接口设置广播地址
| 选项 | 说明 |
| -a | 显示所有网络接口信息,包括活动与非活动 |
| -s | 仅显示每个活动接口摘要信息 |
| -v | 如果某个网络接口出现错误,返回错误信息 |
2. scp命令
secure copy,用于把目录或文件从一个Linux复制到另一个Linux,传输数据采用SSH协议
// 远程复制到本地 scp 远程用户名@ip地址:文件绝对路径 本地Linux系统路径 // 本地复制到远程 scp 本地Linux系统路径 远程用户名@ip地址:远程文件绝对路径名
3. netstat命令
显示本机网络连接、运行端口和路由表信息
netstat [选项]
| 选项 | 说明 |
| -a | 显示本机所有连接和监听接口 |
| -n | 以网络IP地址形式显示当前建立的有效连接和端口 |
| -r | 显示路由表信息 |
| -s | 显示按协议的统计信息 |
| -v | 显示当前有效连接 |
| -t | 显示所有TCP连接 |
| -u | 显示所有UDP连接 |
| -c 秒数 | 每隔几秒刷新一次 |
| -i | 显示自动配置接口状态 |
| -l | 仅显示连接状态为LISTEN的服务的网络状态 |
| -p | 显示连接对应的PID与程序名 |
4. traceroute命令
显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况,预设数据包大小为38字节
traceroute [选项] [远程主机名或IP地址] [数据包大小]
| 选项 | 说明 |
| -i 网络接口 | 使用指定的网络接口发送数据包 |
| -n | 直接使用IP地址而不是用主机名 |
| -v | 详细显示命令的执行过程 |
| -w 超时描述 | 设置等待远程主机回应的时间 |
| -x | 开启或关闭对数据包的正确检验 |
| -s 源IP | 设置本地主机发送数据包的IP地址 |
| -g 网关地址 | 设置来源的路由王冠,最多8个 |
5. telnet命令
通过telnet协议与远程主机通信或获得远程主机对应端口信息
telnet 主机名或IP地址 端口
6. wget命令
下载
wget [要下载软件网址]


浙公网安备 33010602011771号