Linux常用命令使用
一、终端命令格式
Command [-options] [parameter]
- []代表可选
- command:命令名,相应功能的英文单词或单词的缩写;
- [-options]:选项,可用来对命令进行控制,也可以省略;
- [parameter]:传给命令的参数,可以是零个、一个或者多个。
二、linux下的常用快捷方式
- 上下键,快速调出历史执行过的命令
- tab键,自动补齐
三、查阅命令帮助信息
- help
Command --help
说明:显示 Command 命令的帮助信息。
- man
man Command
说明: 查阅命令的使用手册。 man 是 manual 的缩写,是 Linux
提供的一个手册,包含了绝大部分的命令、函数 的详细使用说明。
使用 man 时的操作键:
操作建 | 功能 |
---|---|
空格键 | 显示下一行 |
Enter 键 | 一次滚动一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
四、常用命令
(一)pwd命–查看当前所在目录
pwd
说明:查看当前所在目录
(二)ls命令–查看目录内容
ls [-lah] [文件/目录]
说明:
- ls 是英文单词 list 的简写,其功能为列出目录的内容。
- linux所有的文件和目录区分大小写
- 文件或者目录名以.开头,代表是一个隐藏文件或者目录
- ./当前目录
- …/上一级目录
ls [目录名]
- ls后面没有目录名,代表显示当前目录内容
- ls 后面有目录名,代表显示指定目录内容
#显示当前目录内容
ls
ls ./
#显示当前目录的子目录内容
ls abc
ls ./abc
#显示根目录内容
ls /
#显示根目录下的bin目录内容
ls /bin
#显示上级目录内容
ls ..
常用选项:
选项 | 说明 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
#显示所有文件
ls -a
#显示详细信息
ls -l
#显示详细信息,文件大小用人性化方式显示
ls -hl
#显示所有文件的详细信息
ls -al
ls -l返回结果说明
- 文件存取说明
rwx 含义:
-
ls -l 返回结果示例
-
ls 结合通配符的使用
通配符 | 含义 |
---|---|
* | 代表文件名中任意个数字符 |
? | 代表文件名中任意一个字符 |
[acd] | 匹配a、c、d 中的任意一个 |
[a-f] | 匹配从a 到f 范围内的的任意一个字符 |
#查看以a结尾的文件,或者目录的内容
ls *a
#查看以a开头的文件或者目录的内容
ls a*
#只要名字中有a就显示
ls *a*
#a开头,后面任意一个字符
ls a?
#开始有一个任意字符,后面a结尾
ls ?a
#查看名字只有两个字符的
ls ??
# a或者b或者c开头,后面任意
ls [a,b,c]*
#a到f任意的一个开头,后面任意
ls [a-f]*
#只要名字中有a到f中的任意一个字符即可
ls *[a-f]*
(三)chmod 命令–修改目录和文件权限
chmod [选项] 权限 文件目录
- 字母法法修改权限
chmod [u/g/o/a][+/-/=]rwx 文件/目录
说明:+:增加权限,-去除权限,=设定权限
chmod u=rw 文件/目录
chmod u+rwx,g+rwx,o+r-wx 文件/目录
[ u/g/o/a ] 含义:
u | user 表示文件所有者 |
---|---|
g | group 表示文件所属组 |
o | other 表示u 和g 以外的用户 |
a | all 表示以上三者皆是 |
#给文件所有者给予可读权
chmod u+r a.txt
#给文件所有者去掉可读权
chmod u-r a.txt
#所有用户添加所有权限
chmod a+rwx a.txt
#只保留r,wx去掉
chmod o=r a.txt
- 数字_法修改权限
chmod [选项] 777 文件目录
数字法_权限示意图:
常见权限数字组合:
- 777 ===> u+rwx,g+rwx,o+rwx
- 755 ===> u+rwx,g+rx-w,o+rx-w
- 644 ===>u+rw-x,g+r-wx,o+r-wx
#所有用户所有权限
chmod 777 a.txt
#所有用户只保留x权限
chmod 111 a,txt
(四)cd 命令–切换目录
命令 | 含义 |
---|---|
cd 目录名 | 进入指定目录 |
cd | 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。 |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . . | 切换到上级目录 |
cd / | 切换到根目录 |
相对路径: 表示相对当前目录所在的目录位置;
绝对路径: 最前面是 / ,表示从 根目录 开始的所在的目录位置;
#进入当前目录下的子目录abc
cd abc
#进入根目录下的abc目录
cd /abc
# 回到用户的主目录 cd#返回上级目录的上级目录
cd ../..
#回到切换之前的目录
cd -
(五)touch 命令–创建文件
touch 文件名
注意:
- 如果文件 不存在,可以创建一个空白文件;
- 如果文件 已经存在,可以修改文件的末次修改日期;
(六)mkdir 命令–创建目录
mkdir [-p] 目录
注意:
- 新建目录的名称 不能与当前目录中 已有的目录或文件 同名;
- -p 可以创建多层不存在的父子目录
#创建一个目录aaa
mkdir aaa
#创建一个有嵌套关系的多级目录a/b/c
mkdir -p a/b/c
(七)rm 命令–删除文件或目录
- 可通过 rm 删除文件或目录。
- 注意: 使用 rm 命令要小心,因为文件删除后不能恢复。
rm 文件
rm [-rf] 文件或目录
常用选项:
- -f 强制删除,忽略不存在的文件,无需提示
- -r 删除目录 时必须加此参数
#删除abc目录,即使abc目录不存在,也不报错
rm -rf abc 12
(八)cp 命令–复制文件
- cp 命令可以复制给出的文件或目录,相当于 DOS 下的 copy 命令
cp [选项] 源文件 目标文件
- 常用选项:
-r 复制文件夹 时必须加此参数
-i 在覆盖目标文件之前将给出提示要求用户确认
#把当前目录下的a.txt拷贝到abc目录下
cp a.txt abc/a.txt
#把abc目录下的a.txt拷贝到当前目录下
cp abc/a.txt a.txt
(九)mv 命令–移动文件
- 用户可以使用 mv 命令来移动文件或目录,mv 也可以给文件或目录重命。
mv [选项] 源文件 目标文件
- 常用选项
-i 在覆盖目标文件之前将给出提示要求用户确认
(十)cat 命令–查看文件内容
cat [选项] 文件
- 常用选项
选项 | 说明 |
---|---|
-n | 对输出的 所有 行编号 |
-b | 对输出的 非空 行编号 |
- cat 还能合并查看多个文件内容,用法:cat 文件 1 文件 2 文件 n
- 使用 cat 查看操作系统信息: cat /proc/version
- 使用 cat 查看当前操作系统发⾏信息: cat /etc/issue
#查看a.txt内容
cat a.txt
#/proc目录下面放了一些和系统信息相关文件
cd /proc
#查看linux版本
cat version
#查看cpu信息
cat cpuinfo
(十一)more 命令–分屏查看
- more 命令可以分屏的显示文件内容,一页一页看
more 文件名
- 按空格向下翻一页
- b回看一页
- q退出
#在/proc目录下显示meminfo
more meminfo
(十二)grep 命令–过滤查看
- grep 命令能根据规则搜索文本,并且把匹配的行显示出来
grep [选项] “规则” 文件名
grep "字符串" 文件名
注意:
匹配的规则最好用引号引起来
#在meminfo文件中查找是否有字符s的行
grep "s" meminfo
- 常用选项
选项 | 说明 |
---|---|
-n | 显示内容时显示行号 |
-v | 显示不符合匹配规则的行 |
-i | 忽略大小写 |
------------------------------
grep -n "s" meminfo
grep -ni "s" meminfo
- grep 配合模式查找
规则参数 | 说明 |
---|---|
^a | a 开头的行 |
z$ | z 结尾的行 |
^a.*z$ | a 开头,z 结尾的行 |
#找以a开头的行
grep "^a" meminfo
#找以a结尾的行
grep "a$" meminfo
#找以a开头以a结尾的行
grep "^a.*a$" meminfo
(十三)echo 命令–回显
- echo 会在终端中回显参数指定的内容
echo 内容
(十四)clear 命令–清屏
- 清除屏幕显示历史内容
clear
(十五)重定向符号–输出重定向
- 在 Linux 中允许把 命令执行结果(输出在终端上内容),重定向输出到一个文件中。
命令 > 文件名
- 把一个命令指定的结果不输出到屏幕,而是重定向到一个指定的文件里
- 如果文件不存在,就创建新文件,如果文件存在就覆盖文件
#把ls -l命令执行结果放到a.txt里
ls -l > a.txt
#把echo命令执行的结果放入a.txt
echo aaa > a.txt
命令 >> 文件名
- 把一个命令指定的结果不输出到屏幕,而是重定向到一个指定的文件里
- 如果文件不存在,就创建新文件,如果文件存在就文件后面追加新内容
(十六)管道符|–命令结果传递给下一个命令
- Linux 可以把一个命令的输出直接作为另一命令的输入,这个效果需要通过管道符号 | 实现
命令(输出) | 命令(输入)
命令1的输出结果为做为命令2的输入数据
#把ls -al的结果做为more的输入,结果就是可以间接的实现ls的分屏显示
ls -al | more
命令结合 grep 使用说明:
命令(输出) | grep [选项] "规则"
ls -al | grep "^d"
(十七)find 命令–查找文件
- 在指定的目录下,搜索符合条件的文件
find [路径] -name 文件名
- 注意:
如果省略路径,默认为当前目录;
find 命令可以与通配符结合使用;
#从当前目录开始查找所有子目录,是否存在a.txt文件
find ./ -name a.txt
#从根目录开始查找所有子目录,是否存在a.txt文件
find / -name a.txt
(十八)ln 命令–创建链接文件
- 创建软链接文件,软链接类似 windows 的快捷方式
ln -s 被链接的源文件 链接文件
#给a.txt创建一个软链接a
ln -s a.txt a
- 软链接文件使用 ls -l 查看时结果示例:
lrwxrwxrwx 1 python python 5 6 月 26 11:45 a -> a.txt |
---|
第一个字符l,表示这是一个软链接文件 |
软链接文件名a 后的->文件名,表示软链接文件指向的实际文件名 |
-
注意:
源文件要使用绝对路径,这样可以方便移动链接文件后,仍然能够正常使用。 -
创建硬链接文件,使用 ln 创建链接,没有-s 选项,会创建一个硬链接
ln 被链接的源文件 链接文件
#给a.txt创建一个硬链接文件b
ln a.txt b
- 软链接文件与硬链接文件区别:
硬链接文件会单独占用磁盘空间,软链接文件不会;
源文件删除后软链接文件内容将失效,硬链接不会;
(十九)gzip–压缩与解压
- gz 文件压缩与解压
gzip 文件名 | 压缩文件 |
---|---|
gzip -d 文件名 | 解压文件 |
# 把a.txt压缩为a.txt.gz,同时a.txt文件不存在了
gzip a.txt
# 把a.txt.gz解压,解压完之后生成a.txt,a.txt.gz就不存在了
gzip -d a.txt.gz
(二十)zip 和 unzip–压缩和解压
- zip 文件压缩与解压
zip 压缩文件.zip 原文件 | 压缩文件 |
---|---|
zip [-r] 压缩文件.zip 原目录 | 压缩目录 |
unzip 压缩文件.zip | 解压文件 |
把a.txt压缩为a.zip ,压缩完成之后a.txt还存在
zip a.zip a.txt
把a.zip解压,解压完成之后,a.zip还存在
unzip a.zip
(二十一)tar 命令–打包文件
- tar 命令的作用就是将多个文件或目录打包成一个文件
- 打包解包操作
tar -cvf 包名.tar 文件或目录 | 打包 |
---|---|
tar -tvf 包名.tar | 查看打包文件内容 |
tar -xvf 包名.tar | 解包 |
#把abc目录打包为一个文件abc.tar
tar -cvf abc.tar abc
#查看abc.tar文件的内容
tar -tvf abc.tar
#将abc.tar还原
tar -xvf abc.tar
- tar 常用选项:
选项 | 说明 |
---|---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
t | 查看包中的内容 |
(二十二)tar 与 gzip
- tar 命令用于文件打包,但并不会同时压缩文件,结合 z 参数实现打包同时压缩,或解包同时解压缩。
用法 | 说明 |
---|---|
tar -zcvf 压缩包名.tar.gz 文件目录 | 打包同时用gzip 压缩 |
tar -zxvf 压缩包名.tar.gz | 用gzip 解压后同时解包 |
tar -zxvf abc.tar.gz | 把abc.tar.gz用gzip解压之后用tar解包 |
(二十三)df 命令–磁盘剩余
- 显示磁盘文件系统使用情况
df [选项]
- df 常用选项
选项 | 说明 |
---|---|
-h | 以人性化的方式显示文件大小 |
(二十四)ps 命令–查看进程
- 显示当前进程
ps [选项]
- ps 常用选项:
选项 | 说明 |
---|---|
-a | 显示终端上的所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
- 注意:
选项前的-可选;
常用写法为:ps aux;
(二十五)top 命令–显示进程运行状态
- 动态显示进程的运行状态。
top
- 注意:
退出操作用的是 q - 重点关注字段
(二十六)kill 命令说明 – 杀死进程
- 杀死进程
kill [选项] PID
- kill 常用选项
#在图形界面下,启动了gedit程序,用kill杀掉
ps aux | grep 'gedit'
kill gedit的PID
(二十七)ping 命令–检查网络是否连通
- 检查与目标主机网络是否连通
ping IP/域名
- ping 返回数据说明
(二十八)ifconfig–显示网络设备信息
- 显示 linux 系统的网络设备信息
ifconfig
- ifconfig 返回数据说明
(二十九)su 命令–切换用户
- 切换用户
su [-] [用户名]
- 常用选项
- 注意:
如果不写用户名,默认切换的是root 用户;
从root 用户切换到普通用户不用输入密码。
(三十)exit 命令–退出当前用户
exit
(三十一)useradd 命令–新增用户
- 新增用户,一般 root 账户才有新增用户的权限
useradd [选项] [用户名]
- 常用选项
- 新增用户例子
useradd -d /home/abc abc -m | 新增用户abc,主目录为/home/abc |
---|
- 注意:
可以在新增用户同时指定用户默认的 shell,如:
useradd -d /home/abc abc -m -s /bin/bash
新增abc 用户同时指定shell 为bash
(三十二)passwd 命令–改密码
- 修改密码
passwd [用户名]
- 一般来说管理员才会进行用户密码的配置
- 普通用户直接使用 passwd 就可以修改自己的密码
(三十三)userdel 命令–删除用户
- 删除指定用户,一般 root 账户才有删除用户权限。
userdel [用户名]
常用选项
- 删除用户例子
(三十四)whoami 命令–查看当前登录用户名
- 查看当前登录用户名
whoami
(三十五)文本编辑器vi
一、vi 简介
- vi 是一个基于字符界面文本编辑程序;
- vi 没有菜单,只有命令,虽然很多,只需了解常用的即可;
- vi 有三种基本工作模式:
命令模式;
输入模式;
末行模式。
二、启动 vi
vi 文件名 | 如果文件名不存在,那么创建一个新文件;如果文件名存在,打开已有文件; |
---|
三、vi 基础操作流程
- 启动 vi 编辑器,默认进入 vi 命令模式;
- 从命令模式下(按 i 键或者 a 键)进入文本输入模式;
- 编辑文件内容;
- 编辑完成后(按 ESC 键)回到命令模式;
- 从命令模式(按:号键)进入末行模式;
- 保存(按 wq)退出,或者(按 q!)不保存退出。
四、命令模式
- 在 shell 环境(提示符为$)下输入启动 vi 命令,进入编辑器时,就处于该模式下;
- 任何时候,不管用户处于何种模式,只要按一下 ESC 键,即可使 vi 进入命令模式;
五、输入模式 - 在命令模式下输入插入命令 i、追加命令 a 可以进入输入模式;
- 在输入过程中,若想回到命令模式下,按键 ESC 即可;
六、末行模式
- 在命令模式下,用户按“:”键(shift ;)即可进入末行模式下;
- 末行模式时窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令;
- 末行命令执行完后,Vi 自动回到命令模式;
末行模式 | 命令 | 说明 |
---|---|---|
保存 | w [文件名] | 如启动vi 时未指定文件名,那么此处可以指定文件名 |
退出 | q | 如果文件未保存,会退出vi 失败,同时提示错误 |
保存退出 | wq | 保存文件,同时退出 vi |
不保存退出 | q! | 放弃修改,退出 vi |
五、远程连接操作
说明: 通过[远程连接工具]连接到服务器的操作即为远程连接条件: 1> 服务器的 IP 地址 2> 服务器的账号和密码 注意:
必须要确保有网络连接条件
常见的远程连接工具
1.FinalShell(推荐): 功能强大, 有颜值, 好操作(高级功能需要订阅)
2.XShell: 个人用免费/商用收费
3.Putty: 免费开源的
4.SecureCRT: 收费
5.MobaXterm: 免费
远程连接基本步骤
1.入职后需要向相关人员(运维/开发)获取服务器 IP 地址及账号密码等信息
2.配合远程连接工具(根据公司要求使用对应工具), 配置连接使用服务器即可
获取服务器 IP 地址
通过 ifconfig 命令获取 IP 地址信息
在本机上的命令行内使用 ping 命令行测试下连通性
使用连接工具(我用finalshell)新建 -> SSH 连接
设置连接信息,远程连接依赖的命令: SSH
点击连接
提示连接成功
案例1: ls/pwd/cd/touch/mkdir/cp/mv/rm
Part1: ls/pwd/cd/touch/mkdir
Part2: cd其他用法和mv
Part3: cp 复制文件和文件夹
Part4: mv/touch 创建多个文件/rm 删除文件和文件夹及所有文件
案例2: cat/more/grep/重定向/管道符/clear
Part 1: cat/重定向
显示所有⽂件和详细信息
将命令执行结果信息输出到文件中
查看文件内容(较少内容文件)
cat 合并查看多个文件内容
追加重定向
Part2: less/more 分屏显示文件内容
Part3: grep/|管道符/clear
案例3: head/tail/tail -f
Part 1: head/tail
需求 1: 准备工作
head 和 tail 的使用
Part2: tail -f 实时查看日志文件内容
准备工作: 模拟日志文件内容的实时变化
实时查看日志文件内容变化
从实时变化的文件中获取特定行数内容
通过 head 和 tail 同时使用获取特定行和行之间信息
需求: 获取某文件 11-15 行的信息
案例4: 重启关机/查看系统信息
查看系统信息
重启和关机: 如果账号没有对应权限, 可能无法执行重启和关机操作
案例5: ps/kill/top
Part1: 查看进程信息/文件上传操作
查看进程信息
上传文件到服务器
Part2: 运行程序/获取进程ID/结束程序
运行程序
运行结果和程序介绍: 最好在系统端运行程序, 远程连接工具内进行操作
获取进程 ID
结束程序
服务端显示以杀死!
使用命令确认程序已经退出
Part3: 命令行形式的任务管理器
端口号
说明: 想要连接至计算机, 需要使用 IP 地址, 再想获取在计算机上运行程序,需要通过端口号
注意:
同一台计算机不能有多个程序同时使用同一个端口号, 因此在运行程序 时, 如果提示"端口号被占用", 那就需要先找到占用端口号的程序并结束掉,
然后才能运行目标程序.
常见端口号:
- HTTP: 80
- HTTPS: 443
- SSH: 22
- MySQL :3306
案例6: netstat/lsof
art1: netstat 查询端口号信息
使用普通用户查看不了 PID 和程序名称
接使用命令 -> 查看系统内已开放的端口号
通过端口号获取对应程序及进程 ID
Part2: lsof 查询端口号信息
使用普通用户 -> 命令运行无结果
通过端口号获取对应程序及进程 ID : 注意命令选项的语法要求!
案例8: which/su/passwd/exit/who
查看程序位置
切换用户
查看用户信息
退出终端窗口 ,退出远程连接
退出用户
案例7: chmod 修改文件权限
修改文件权限: 数字法
修改文件权限: 字母法
案例9: find 查找文件
案例10: ln -s 链接文件
注意: 需要使用 -s 创建软链接(类似 Windows 系统下的快捷方式)
扩展: 硬链接
案例11: tar/gzip/zip/unzip
Part1: tar/gzip 打包压缩和解压解包
Part2: zip 压缩/unzip 解压
案例12: vi 命令行文本编辑器
命令模式
输入模式
末行模式
yum 软件包管理工具
说明:
- yum( Yellow dog Updater, Modified)是一个在 Linux 系统中常用的软件包管理器。
- yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
常用命令:
- yum list: 列出所有可安裝的软件清单
- yum search: 查找软件包
- yum install <package_name>: 安装指定的软件
- yum update <package_name>: 更新指定的软件yum update: 更新所有软件
- yum remove <package_name>: 删除软件包