Linux基础命令
1.1 基础知识
1.1.1 linux常用目录说明
- bin:二进制目录
- etc:配置目录
- home:其他用户的桌面(普通管理员)
- root:root用户进入的桌面(超级管理员)
- usr:用户的安装程序目录
详细目录说明请参考:菜鸟教程
1.1.3 热键说明
- tab键可以自动联想补全后面的单词
- ctrl+c 结束当前执行的命令
1.2 基础命令
1.2.1 查看ip
#查看ip地址:
ifconfig
1.2.2 清屏
#清除屏幕
clear
1.3 目录相关命令
1.3.1 ls命令
#查看目录
ls 路径
#ls [可选参数]
# -l 以详细形式查询当前目录下所有文件和目录,不包括隐藏文件和目录 (简写ll)
# -a 以精简形式查询当前目录下所有文件和目录,包括隐藏文件和目录(all)
ls [-a] [-l] 路径
1.3.2 cd命令
#切换目录
cd 路径
#进入当前用户目录 (如果你是root用户表示/root目录,如果你是其他用户/home)
cd ~
#进入根目录
cd /
#返回上级目录
cd..
1.3.3 mkdir命令
#创建目录
mkdir 路径#(可以是相对路径,也可以是绝了路径)
#mkdir [可选参数] 路径
#-p 批量执行
#-v 表示执行过程
mkdir -pv 目录结构 #批量创建目录
#在当前目录下创建aaa目录,相对路径
mkdir aaa
#在当前目录下创建bbb目录,相对路径
mkdir ./bbb
#在根目录下创建ccc目录,绝对路径
mkdir /ccc
#在根目录下创建ddd目录和eee子目录
mkdir /ddd/eee
1.3.4 find命令
#查找目录(或文件) *表示任意内容(通配符)
find 目录 -name '条件'
#查询根目录下(包括子目录),名为b的目录和文件
find / -name 'b'
#查询根目录下(包括子目录),名以b开头的目录和文件
find / -name 'b*'
#查询根目录下(包括子目录),名包含b的目录和文件
find / -name '*b*'
1.3.5 pwd命令
#查看当前所在目录位置
pwd
1.3.6 mv命令
#剪切和更名 移动原目录位置到新目录位置,如果在新目录指定了文件名,则还会更名
mv 原目录位置 新目录的位置
# 将根目录下的aaaa目录,移动到bbb目录下
mv /aaaa /bbb/
1.3.7 cp命令
#拷贝
cp -r 目录 目录的新位置
#将/目录下的aaa目录复制到/bbb目录下
cp -r /aaa /bbb
1.3.8 rm命令
#删除目录,以及目录下文件命令
rm [参数] 目录
#可选参数
#-r : recursion 递归 (只要删文件夹,都要递归)
#-f : force 强制 (不会提问)
#强制删除ccc子目录(不会询问)
rm -rf ccc
#删除根目录下所有文件(千万不要写这个!!!)
rm -rf /
1.4 文件操作
1.4.1 touch命令
#创建文件 实际很少使用
touch 文件名.扩展名
#在soft目录中创建a.java文件
touch ./soft/a.java
#在soft目录中创建b.txt文件
cd soft
touch b.txt
1.4.2 mv命令
#它既可以移动文件,也可以移动目录
1.4.3 cat命令
#查看文件(内容较少,当内容较多时,查看最后一页内容)
cat /目录/文件名
#查看文件(内容较多)从头开始看。回车:换行 空格:向下翻页 b:向上翻页 q:quit退出
more /目录/文件名
#查看文件(内容更多时)从开始看。回车:换行 空格:向下翻页 b:向上翻页 q:quit退出 支持pageUp和pageDown
less /目录/文件名
#查看文件前10行内容 用-n可以指定查看前几行
head [-n] /目录名/文件名
#查看文件后10行内容 用-n可以指定查看后几行
tail [-n] /目录名/文件名
1.4.4 cp命令
#cp命令支持拷贝目录和文件
1.4.5 vi命令
#文本编辑
#vi:普通文本
#vim:特殊编译器 ( 如果系统没有此命令,则需要自行安装 yum -y install vim )
vim 文件名称
#vi和vim都有三种模式分别是:
#一般模式 只能看不能写 在一般模式下 i 进入插入模式
#插入模式 能写 , 退出插入模式 按 esc键 退回到一般模式下
#行底模式 是用来退出保存或者退出不保存文件 在一般模式下 按 : (shift + ; )
一般模式 | 插入模式 | 底行模式 |
---|---|---|
yy复制当前行 | i 在当前位置前插入 | 按esc退出到命令行模式 |
p粘贴 u撤销 | a 在当前位置后插入 | 按 :(冒号)进入底行模式 #底行模式下 |
dd删除当前行 | o 在当前行之后插入一行 | 按 wq保存退出 |
gg 跳转文件第一行 shift +g 跳转文件最后一行 | # 可以在这个模式下编辑文件 | 按 q退出vi(文件无修改的情况下) 按 q!不保存强制退出 |
1.5 压缩与解压缩
1.5.1 tar命令
#压缩
tar -zcvf 压缩文件的名称 被压缩的文件或者文件夹 被压缩的文件或者文件夹 ...
#解压缩
tar -zxvf 压缩文件的名称 -C 解压缩目录
# c: 表示压缩 x: 表示解压缩
# z: 表示gzip压缩 v:表示执行过程 f : 表示档名 f后面必须接 压缩文件的名称
# -zcvf和-zxvf中四个字母的顺序不允许更换
#解压缩细节:如果文件扩展名为tar时 可以使用tar -zxvf和tar -xvf(因为不是gzip压缩的)
#如果扩展名是tar.gz,则只能使用tar -zxvf进行解压缩。
1.6 权限操作
1.6.1 chmod命令
#修改权限
chmod [参数] 文件名
#权限取值: r w x 其中 r表示read w表示write x表示execute -表示没权限
#加减权限 其中u表示user g表示group o表示other
chmod u+ [-rwx] 文件名
chmod u- [-rwx] 文件名
chmod g+ [-rwx] 文件名
chmod g- [-rwx] 文件名
chmod o+ [-rwx] 文件名
chmod o- [-rwx] 文件名
#覆盖权限 =表示重新赋值
chmod u=[-rwx] 文件名
#数字授权 0对应- 4对应r 2对应w 1对应x
chmod [0124] 文件名
1.7 系统命令
1.7.1 ps命令
#查看进程
ps
#显示客户端打开的程序进程
ps -au
#当前用户打开的程序进程 (重要)
ps -ef
1.7.2 netstat命令
#查看端口运行状态命令
netstat [参数]
#-a 显示所有连接和侦听端口。
#-o 显示拥有的与每个连接关联的进程 ID。
1.7.3 kill命令
# 杀死指定进程
kill 进程号
#强制杀死指定进程
kill -9 进程号
1.7.4 grep命令
#文本搜索命令
grep [参数] 搜索字符串 文件名
# -i 搜索时不区分大小写,大小写不敏感(ignore)
# -n 显示匹配行及行号,大小写敏感(number)
# -v 显示不匹配行及行号,大小写敏感(reverse)
#在123.txt文件中搜索as字符串,大小写敏感,显示行
grep as 123.txt
# 在123.txt文件中搜索as字符串,大小写敏感,显示行及行号
grep -n as 123.txt
#在123.txt文件中搜索Q q字符串,大小写不敏感,显示行及行号
grep -ni "Q q" 123.txt
1.7.5 管道
#管道
xx | xx 一个命令的输出作为另一个命令的输入
#分页查询帮助信息
ls --help | more
#在ps -ef的结果中,搜索字符串system
ps -ef | grep system
1.7.6 reboot命令
#重启
reboot
1.7.8 关机命令
#关机
poweroff
#定时关机
shutdown -t 时间(以秒为单位)
1.7.9 rmp和yum
1)rmp
#本地安装( 前提是有安装包的情况下 )
#安装
rpm -ivh 文件名称
#更新
rpm -Uvh 文件名称
#卸载不校验依赖
rpm -e --nodeps 文件名称
#查看系统下所有的安装后的程序
rpm -qa
2)yum
#联网安装 (前提是有网即可 自动下载安装包)
yum install 联网安装
yum remove 联网卸载
1.8 linux网络
#网卡: 网络连接 ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33 网卡位置
#不建议手动修改ip地址
#ifconfig conterOS 6命令
#ip addr conterOS 7命令
#重启服务
#centeros 6命令
service 服务的名称 start 开启
service 服务的名称 stop 关闭
service 服务的名称 status 状态
service 服务的名称 restart 重启
#centeros 7命令
systemctl system controller
systemctl start 服务名称
systemctl stop 服务名称
systemctl status 服务名称
systemctl restart 服务名称
#在centeros 7 中可以使用6的命令
1.9 防火墙
在linux环境下 端口号不对外开放的 , 只开放一个端口 22
# 开启防火墙
systemctl start firewalld
# 重启防火墙
systemctl restart firewalld
# 关闭防火墙 以后的讲课需要 直接关闭防火墙
systemctl stop firewalld
# 设置开机启动
systemctl enable firewalld enable 可用
# 停止并关闭开机启动
systemctl disable firewalld disable 不可用
# 查看防火墙状态
systemctl status firewalld 或者 firewall-cmd --state
# 查看防火墙开机时是否启动
systemctl list-unit-files | grep firewalld
#开放端口(能改能复制)
# 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 更新防火墙规则
firewall-cmd --reload
# 查看
firewall-cmd --zone=public --query-port=80/tcp
firewall-cmd --zone=public --list-ports
# 删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 常用端口
#8080 tomcat
#80 http协议
#443 https协议
#22 ssh远程连接
#3306 mysql
#6379 redis
firewall-cmd --zone=public --add-port=8080/tcp --permanent
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步