linux指南

基本命令

1) 查看ip 地址
# centos6
ifconfig 
# centos 7
ip addr 
2) 查看文件信息
# 列出当前文件夹下所有文件名称
ls
# 列出当前文件夹下所有文件的名称(包含隐藏文件)
ls -a
# 列出当前文件夹下文件名的详细信息
ls -l
# 列出当前文件夹下文件名称和详细信息( ls -l 的简写) 注意此命令属于扩展命令, 有些linux版本不支持
ll
3) 切换目录
# change directory
cd
# 切换至当前用户的根目录
cd ~  
# 切换至根目录
cd /  
# 切换至上一级 (注意空格)
cd ..
# 切换到对应文件夹下
cd /文件夹名称
# 切换到文件夹dir2下
cd /dir1/dir2
# 切换到上一次打开的文件夹
cd -  
4) 查看当前所在的目录
pwd
5) 创建目录
# 当前目录下创建 app 目录
mkdir app
# 级联创建目录
mkdir -p a/b/c 
# 从当前目录删除app目录,注意:不能删除非空目录
rmdir app  
6) 删除
# 删除a.txt文件  (需要确认,输入yes 或y)
rm a.txt 
# 不询问,直接删除 a.txt
rm -f a.txt  
# 不询问递归删除a 及其子目录下的东西
rm -rf  a
# 删除当前文件夹及其自目录
rm -rf  *   
# 格式化磁盘 (一些大型的公司为了避免程序员错误输入该命令,会将该命令重置,防止错误删除)
rm -rf  /*       
7) 查看文件内容
# 查看文件,会将文件内容在屏幕上全部罗列
cat
# 会将文件内容在屏幕上全部罗列(显示行号)
cat -n a.txt
# 查看文件   分页查看(回车一行,空格一页,q退出查看),只能向下翻,不能向上翻
more:
# 从a.txt 的第100行开始查看
more +100 a.txt 
# 查看文件  分页查看(回车一行,空格一页),能向上也能向下 (上下箭头翻看)
less
# 查看后10行数据
tail -10 /etc/passwd
# 动态实时监控日志   ctrl+c 结束查看
tail -f catalina.log
8) 复制/剪切(移动)
# 将a.txt复制,并重命名为b.txt文件
cp a.txt b.txt
# 将a.txt文件复制到上一层目录中
cp a.txt ../
# 将a.txt文件移动到上一层目录中
mv a.txt ../
# 将a.txt文件重命名为b.txt
mv a.txt b.txt  	
9) 打包压缩
# 打包: 
tar –cvf xxx.tar ./*
# 打包并且压缩:
tar –zcvf xxx.tar.gz ./*	
10) 解压
tar –xvf xxx.tar
#  -C 选项的作用是:指定需要解压到的目录。
tar -zxvf xxx.tar.gz -C /usr/aaa
11) 查找目录
# 格式:find 目录 命令 内容

# 从根目录查找文件名称是以ins开头的文件
find /  -name "ins*"
# 从/root 目录查找文件名称是以ins开头的文件
find /root -name "ins*"
# 从根目录查找文件名称是以ins开头的文件,然后列出其文件名
find / -name "ins*" –ls
# 查找用户itcast的文件,然后列出其文件名
find / –user itcast –ls
# 查找用户itcast的目录,然后列出其文件名
find / –user itcast –type d –ls
# 查找权限是777的文件,然后列出其文件名
find /-perm -777 –type d –ls
12) 查找内容
# 在文件中查找lang
grep lang anaconda-ks.cfg
# 高亮显示
grep lang anaconda-ks.cfg –color
# 高亮显示 ,并向前一行和向后一行
grep lang anaconda-ks.cfg –color -A1 -B1
# 在文件中查找lang 并显示行号
grep -rn  lang anaconda-ks.cfg  
13 其他常用命令
# 查看之前操作的历史命令
history
# 查看当前用户
whoami
# 显示当前所在目录
pwd
# 创建一个空文件
touch a.txt
# 清屏
clear/
# 查看命令安装位置
whereis ls
14) vim 编辑器
vi 
vim
# 进入后默认是命令行模式,
# 按I,a可以进入可编辑模式,
# 按esc转换为命令行模式。
# 命令行模式下按  shift+:  进行底行模式,
# 底行模式下可以输入wq保存并退出,
# q 退出  
# q!表示强制退出
# /内容 表示在当前文件中查找内容mysql
/ mysql
15) 修改权限
chmod 755 a.txt
# 给文件增加可执行权限
chmod u+x start.sh
# 分别给所属者,属组,其他用户修改文件读写权限
chmod u=rwx,g=rx,o=rx a.txt
# 修改文件所有权
chown isoft/isoft springboot.jar
16) 输出到文件
# 将输出定向到a.txt中,并覆盖内容
cat /etc/passwd > a.txt
# 输出并且在原内容上追加
cat /etc/passwd >> a.txt  
17) 管道
# 将一个命令的输出,作为另一个命令的输入
grep -rn a in.txt | more +115
ps -ef | grep 'java'
18) 修改权限
# 4  2  1	
chmod 755 a.txt 
chmod u=rwx,g=rx,o=rx a.txt
19 系统命令/网络服务/防火墙设置/时区管理
# 查看所有进程
ps –ef
# 查找某一进程
ps –ef | grep ssh
# 杀掉2868编号的进程
kill 2868
# 强制杀死进程
kill -9 2868  


# 查看网络服务的状态
service network status
# 停止网络服务
service network stop
# 启动网络服务
service network start
# 重启网络服务
service network restart 
# 查看系统中所有后台服务
service --status–all
# 查看系统中网络进程的端口监听情况
netstat –nltp 


# 防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。 
# 查看防火墙状态
service iptables status
# 开启防火墙
service iptables start
# 关闭防火墙
service iptables stop
service firewalld stop
systemctl stop firewalld
# 安装经典防火墙插件
yum install iptables-services
# 设置开机启动
systemctl enable iptables
# 禁止防火墙自启
chkconfig  iptables off
# 管理防火墙状态
systemctl [stop|start|restart] iptables
# 保存防火墙规则
service iptables save


#查看时区
ls -F /usr/share/zoneinfo/
# 修改时区
ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
20) yum安装
# 查看是否安装了某项应用
rpm -qa | grep docker
21) CentOS版本查看
#  查看CentOS的版本
rpm -q centos-release
# 查看任意Linux发行版的版本
lsb_release -a
# 查看内核版本
uname -a
# Linux localhost.localdomain 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
# 主机名是Linux localhost.localdomain,内核版本是3.10.0 x86_64

应用

1) Linux固定IP设置步骤
# 适用于centos7
# 1.设置连接方式:
#   网络适配器: N/A方式
#   选择VMnet8
#   设置网关
# 2.设置本地的ip地址
cd /etc/sysconfig/network-scripts/
# 注意不同主机的配置文件不同,需要自行确认ip配置文件
vi ifcfg-eno-xxx
# 将IPV6…..协议都注释掉
BOOTPROTO=static        # 开机协议,有dhcp及static;
ONBOOT=yes              # 设置为开机启动;
DNS1=114.114.114.114    # 这个是国内的DNS地址,是固定的;
IPADDR=192.168.2.2      # 你想要设置的固定IP,理论上192.168.2.2-255之间都可以,请自行验证;
NETMASK=255.255.255.0   # 子网掩码,不需要修改;
GATEWAY=192.168.2.1     # 网关,这里是你在“2.配置虚拟机的NAT模式具体地址参数”中的(2)选择VMnet8--取消勾选使用本地DHCP--设置子网IP--网关IP设置。
# 3.重启:
service network restart
2) 用户及权限管理
# 修改用户名
usermod -l 新用户名 -d /home/新用户名 -m 老用户名 
# 修改密码
passwd 用户名
# 查看当前用户名
whoami
# 查看登录用户
who
# 添加用户账户,目录会在/home下生成
sudo adduser 用户目录
# root用户切换
su root
su
# 切换到root用户,同时目录切换到/root
su -
# 切换到普通用户
su 普通用户
# 切换到普通用户,同时目录切换到普通用户所在目录
su -普通用户
# 查看所有用户
cat /etc/passwd
3) 组管理
# 修改组的名字
groupmod -n 新组名 原组名
# 删除组
# 删除的组的前提是:没有用户把它做为主组
groupdel 组名
4) 域名解析异常
# 切换到配置目录
vi /etc/resolv.conf
# 添加一个属性
nameserver 8.8.8.8
5) 修改yum源
# 1.备份本地yum问及那
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak 
# 2.获取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
# 3.更新cache
yum makecache 
# 4.安装
yum -y update
6) 进程管理
# 后台方式启动脚本
nohup java -jar eladmin-system-2.6.jar --spring.profiles.active=prod > nohup.out 2>&1 &


# 终止脚本
PID=$(ps -ef | grep eladmin-system-2.6.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill -9 $PID
kill -9 $PID
fi


# 查看日志脚本
tail -f nohup.out

docker

1) docker安装
# 0.温馨提醒,docker内核版本必须是3.10+以上的版本,查看方式
uname -r
# 1.卸载老版本的 docker 及其相关依赖
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
# 2.更新yum
yum update
# 3.安装yum-utils,它提供了yum-config-manager,可用来管理yum源
sudo yum install -y yum-utils
# 4.添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 5.更新索引-centos-7
sudo yum makecache fast
# 6.安装 docker-ce
yum install docker-ce
# 7.查看docker版本
docker -v
# 8.启动docker
sudo systemctl start docker
# 9.验证是否安装成功
sudo docker info
# 10.安装docker-compose
yum install -y epel-release
# 11.安装docker-compose
yum install -y docker-compose 
# 12.开机启动docker
systemctl enable docker
# 13.查看日志
docker logs -f containerID
2) Docker进程相关命令
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查看docker服务状态
systemctl status docker
# 设置开机启动docker服务
systemctl enable docker
3) Docker镜像相关命令
# 查看本地所有镜像
docker images
# 查看所用的镜像
docker images -q
# 搜索镜像
docker search imageName
# 拉取镜像
docker pull imageName
# 删除镜像
docker rmi imageId
docker rmi imageName
docker rmi imageName:version
# 删除所有本地镜像
docker rmi `docker images -q`
4) Docker容器相关命令
# 查看正在运行的容器
docker ps

# 查看所有的容器
docker ps -a

# 创建并启动容器
docker run options
# 参数
# -i 保持容器运行
# -t 分配一个伪终端,exit以后退出容器,交互式进程
# --name=?? 为容器命名
# -d 守护进程,不会立即进入容器,exit也不会退出容器
docker run -it --name=mysql mysql:5.6 /bin/bash
docker run -id --name=Mysql mysql:5.6

# 进入容器
docker exec -it 44fc0f0582d9 /bin/bash
docker attach 44fc0f0582d9  

# 停止Mysql容器
docker stop Mysql

# 启动容器
docker start Mysql

# 删除容器,不可为运行中容器
docker rm Mysql

# 查看容器信息
docker inspect Mysql

# 创建redis容器
docker run -p 6379:6379 --name c_redis -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data -d redis:5.0 redis-server /etc/redis/redis.conf --appendonly yes
5) 数据卷
# 数据卷作用
# 1.容器数据持久化
# 2.客户端和容器进行数据交换
# 3.容器间数据交换
# 配置数据卷
docker run .. -v host_dir:container_dir
docker run -it --name=CentOS7 -v /root/data:/root/data_container centos:7 /bin/bash
# 一个容器可以挂载多个目录,目录必须是绝对路径
# 一个目录也可以被多个容器同时挂载


# 数据卷容器
# 1.创建第三个容器作为数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash
# 2.创建并启动c1、c2容器,使用--volume-from 参数设置容器卷,继承c3容器卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash


docker run -it --name=c_zk -p 2181:2181 zookeeper:latest /bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值