三、Linux常用命令
1. 命令基本格式
1.1 解析命令提示符
[root@localhost ~]#
解析:
- root:当前登录用户
- localhost:主机名
- ~:当前所在目录(家目录)
- #:超级用户的提示符
- $:普通用户的提示符
1.2 解析命令格式
命令 [选项] [参数]
注意:
- 个别命令的使用不遵循此格式
- 当有多个选项时,可以写在一起
- 简化选项-a等于完整选择-all
2. 目录处理命令
2.1 linux常见目录作用
目录名称 | 作用 |
---|---|
/ | 根目录 |
/bin | 命令保存目录 |
/sbin | 命令保存目录(只有root能用) |
/boot | 启动目录,系统启动的相关文件 |
/dev | 设备文件保存目录 |
/etc | 配置文件保存目录 |
/home | 普通用户的家目录 |
/root | 超级用户的家目录 |
/usr | 系统软件资源目录 |
/usr/bin | 保存命令的目录 |
/usr/sbin | 保存命令的目录(只有root能用) |
/temp | 临时目录 |
/lib | 系统库保存目录 |
/mnt | 系统挂载目录,用于挂在外接存储设备 |
/media | 挂载目录,用于挂在外接存储设备(在原来的linux系统中没有) |
/misc | 挂载目录,用于挂在外接存储设备(在原来的linux系统中没有) |
/proc | 内存过载点;这两个目录的内容直接写在内存,因此不能直接操作 |
/sys | 内存过载点;这两个目录的内容直接写在内存,因此不能直接操作 |
/var | 系统相关文档内容 |
2.2 查询目录中的内容
ls [选项] [文件或目录]
选项:
- -a:显示所有文件,包括隐藏文件
- -l:显示详细信息
- -d:查看目录属性
- -h:人性化显示文件大小
- -i:显示inode
2.2 建立目录
mkdir -p [目录名]
选项:
- -p:递归创建
2.3 切换所在目录
cd [目录]
# 进入家目录
cd ~
# 进入家目录
cd
# 返回上次的目录
cd -
# 进入上一级目录
cd ..
# 进入当前目录
cd .
2.4 显示当前所在目录
# 显示当前所在目录
pwd
2.5 删除空目录
# 删除空白目录,若包含文件则不能删除
rmdir [目录]
3. 文件处理命令
3.1 创建空文件
touch [文件名]
3.2 删除文件或目录
rm [文件或目录]
选项:
- -r:删除目录
- -f:强制
注意:rm -rf / 强制删除根目录下的所有(相当于自杀,绝对不可以使用)
3.3 复制文件或目录
cp [选项] [原文件或目录] [目标目录]
选项:
- -r:复制目录
- -p:连带文件属性复制
- -d:若原文件是链接文件,则复制链接属性
- -a:相当于都复制 同-pdr
3.4 剪切或改名
mv [原文件或目录] [目标目录]
用于改名或剪切
3.5 搜索文件
find [搜索范围] [搜索条件]
选项:
- -name:文件名称
- -iname:不区分大小写
可以使用通配符:
- * 匹配任意内容
- ? 匹配任意一个字符
- [] 匹配任意一个中括号内的字符
3.6 文件链接
文件链接分两种,一种被称为硬连接,另一种被称为软连接(符号连接)
硬连接
简单来说就是两个文件名指向同一个文件,删除其中任何一个都不会影响另外一个的访问,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
ln 被连接文件 连接文件
软连接
软连接文件有类似于Windows的快捷方式。连接文件实际上是一个文本文件,其中包含的有另一文件的位置信息。如果被连接文件被删除了,连接文件仍然存在,但指向的是一个无效的连接。
ln -s 被连接文件 连接文件
4. 文件查看和编辑
4.1 查看
# 从第一个字节开始正向查看
cat 文件名
# 从最后一行开始反向查看
tac 文件名
# 查看一个文件的前n行,n为指定行数
head -n 文件名
# 查看一个文件的后n行,n为指定行数
tail -n 文件名
# 查看一个长文件
more 文件名
# 与more类似,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件
# b 向后翻一页 d 向后翻半页 u 向前滚动半页 y 向前滚动一行 q 退出less命令
# 空格键 滚动一页 回车键 滚动一行 pagedown 向下翻动一页 pageup 向上翻动一页
less 文件名
4.2 编辑
vi 文件名
vim 文件名
vi/vim 共分为三种模式,分别是命令模式,输入模式和底线命令模式。
命令模式
启动vi/vim,便进入了命令模式。此状态下敲击键盘动作会被vim识别为命令,而非输入字符。
常用命令:
命令 | 说明 |
---|---|
Ctrl + f | 屏幕向下移动一页,相当于Page Down键 |
Ctrl + b | 屏幕向上移动一页,相当于Page Up键 |
0或Home键 | 移动到这一行的最前面字符处 |
$或End键 | 移动到这一行的最后面字符处 |
gg | 移动到这个档案的第一行 |
G | 移动到这个档案的最后一行 |
数字 + Enter键 | 向下移动指定行数 |
x(小写) | 向后删除一个字符,相当于del键 |
X(大写) | 向前删除一个字符,相当于backspace键 |
dd | 删除光标所在的那一行 |
yy | 复制光标所在的那一行 |
p(小写) | 将已复制的数据,粘贴在光标下一行 |
P(大写) | 将已复制的数据,粘贴在光标上一行 |
u | 复原前一个动作,撤销 |
. | 重复前一个动作 |
输入模式
进入输入模式的命令:
命令 | 说明 |
---|---|
i | 在目前光标所在处输入 |
I | 在光标所在行的第一个非空格符处开始输入 |
a | 在目前光标所在的下一个字符处开始输入 |
A | 在光标所在行的最后一个字符处开始输入 |
o | 在光标所在的下一行输入新的一行 |
O | 在光标所在的上一行输入新的一行 |
Esc | 退出输入模式,回到命令模式 |
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
命令 | 说明 |
---|---|
:w | 将编辑的数据写入硬盘档案中 |
:wq | 存档并离开 |
ZZ | 存档并离开 |
:q! | 不存档并离开 |
:set number | 显示行号 |
5. 压缩命令
5.1 常用的压缩格式
.zip,.gz,.bz2
.tar.gz,.tar.bz2 实际情况下更加常用
5.2 .zip格式
压缩
# 将源文件压缩为.zip格式的压缩文件
zip 压缩文件名 源文件
# 将源目录压缩为.zip格式的压缩文件
zip -r 压缩文件名 源目录
解压
# 解压缩
unzip 压缩文件名
# 解压缩到指定的目标目录
unzip 压缩文件名 -d 目标目录
5.3 .gz格式
压缩
# 压缩为.gz格式的压缩文件,源文件会消失
gzip 源文件
# 压缩为.gz格式,源文件保留
gzip -c 源文件 > 压缩文件
# 压缩目录中所有的子文件,但是不能压缩目录
gzip -r 目录
解压
gzip -d 压缩文件
gunzip 压缩文件
5.4 .bz2格式
压缩
# 压缩为.bz2格式,不保留源文件
bzip2 源文件
# 压缩之后保留源文件
bzip2 -k 源文件
注意:bzip2命令不能压缩目录
解压
bzip2 -d 压缩文件
bunzip2 压缩文件
# 压缩之后保留源文件
bzip2 -d 压缩文件 -k
# 压缩之后保留源文件
bunzip2 压缩文件 -k
5.5 .tar打包
打包
# 单文件/目录打包
tar -cvf 打包文件名 源文件/目录
# 多文件/目录打包
tar -cvf 打包文件名 源文件/目录1 源文件/目录2 ...
选项:
- -c 打包
- -v 显示过程
- -f 指定打包后的文件名
查看内容
tar -tf 打包文件名
- -t 列出包中内容
解打包
tar -xvf 打包文件名
# 解打包到指定目录
tar -xvf 打包文件名 -C 目标目录
选项:
- -x 解打包
- -C 改变至目录
5.6 .tar.gz压缩格式
.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
压缩:
tar -zcvf 压缩包名 源文件
解压:
tar -zxvf 压缩包名
5.7 .tar.bz2压缩格式
压缩:
tar -jcvf 压缩包名 源文件
解压:
tar -jxvf 压缩包名
6. 文件上传与下载
在linux里可使用lrzsz 程序代替ftp上传和下载。
6.1 上传
rz
6.2 下载
sz 文件所在目录/文件名
7. 安装管理工具
在Linux上软件包的安装和写在是通过安装管理工具来实现的。
7.1 rpm命令
rpm命令是RPM软件包的管理工具,rpm(redhat package manager)是Red Hat Linux发行版专门用来管理Linux各项套件的程序。
RPM包安装
rpm -ivh 安装包全名
选项:
- -i:安装
- -v:显示详细信息
- -h:显示进度
- –nodeps:不检测依赖性
RPM包升级
rpm -Uvh 安装包全名
选项:
- -U:升级
RPM包的卸载
rpm -evh 安装包全名
选项:
- -e:卸载
RPM包的查询
#查询是否安装:
rpm -q 包名
#查询所有已经安装的RPM包
rpm -qa
#查询软件包的详细信息:
rpm -qi 包名
#查询包中文件安装位置
rpm -ql 包名
#查询系统文件属于哪个RPM包
rpm -qf 系统文件名
#查询软件包的依赖性
rpm -qR 包名
选项:
- -q:查询
- -a:所有
- -i:查询软件信息
- -l:列表
- -f:查询系统文件属于哪个RPM包
- -R:查询软件包的依赖性
7.2 yum命令
yum(Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
查询所有包
# 在远程服务器上查询所有可用的软件包列表
yum list
搜索包
# 搜索远程服务器上所有和关键字相关的包
yum search 关键字
安装包
yum install 包名
# 安装过程中自动回答yes
yum -y install 包名
卸载包
yum remove 包名
更新包
# 更新所有已安装的包
yum update
# 更新指定的包
yum update 包名
重新安装包
yum reinstall 包名
显示包的信息
yum info 包名
显示yum历史
yum history
显示已启用的yum存储库的列表
yum repolist
清除缓存
yum clean all
8. 系统命令
命令 | 说明 |
---|---|
su 用户名 | 切换用户 |
clear | 清屏 |
date | 显示日期时间 |
cal | 显示日历 |
hostname | 显示主机名 |
ping | 测试网络 |
ifconfig | 显示网络信息 |
df -h | 显示磁盘的使用情况 |
top | 显示系统进程动态信息,类似于Windows的任务管理器 |
ps -aux | 显示系统进程瞬间的状态,并不动态连续 |
kill -9 PID | 根据进程PID终止进程 |
shutdown -r now | 立刻重启 |
shutdown -r 10 | 10分钟后重启 |
shutdown -h now | 立刻关机 |
shutdown -h 10 | 10分钟后关机 |
shutdown -c | 取消 |
man 命令名称 | 命令解析 |