linux及docker常用命令
⽂件和⽬录操作
# 回上级⽬录
cd ..
# 回上⼀步所在⽬录
cd -
# 返回根⽬录
cd
# 显示当前路径
pwd
# 查看⽂件⽬录列表
ls
# 查看⽂件和⽬录的详情列表(增强⽂件⼤⼩易读性)
ls -lh
# 查看⽂件和⽬录的树形结构
tree
# 重命名/移动⽬录
mv old_dir new_dir
# 创建⽬录
mkdir dir1
# 删除文件 (-f:强制删除)
rm -f test1
# 删除文件夹+子文件 (-r:递归删除)
rm -rf test1
# 删除空文件夹,如果非空,命令不生效
rmdir test1
# 复制文件
cp file1 file2
# 从跟⽬录查找⽂件/⽬录
find / -name python3.7
# 在⽬录/dir中搜带有.bin后缀的⽂件
find /dir -name *.bin
# 当前⽬录下 (递归)搜带有.bin后缀的⽂件
find . -name *.bin
# 快速查找⽂件(相当于find -name)
locate <关键词>
# 寻找.mp4结尾的⽂件
locate *.mp4
# 显示某⼆进制⽂件/可执⾏⽂件的路径
whereis <关键词> whereis python3.7
# 查找系统⽬录下某的⼆进制⽂件
which <关键词> which python3.7
都是显示环境变量
export输出内容是:按变量名进行排序后的
$PATH 环境变量: Linux 系统比较常用的变量之一。格式:多个路径组成,由英文冒号(:)进行分割

假设将用户家目录下的 tools 添加 $PATH环境变量,怎么操作?
export PATH=$PATH:/home/ascmcs/tools
# 创建指向⽂件/⽬录的软链接
ln -s file1 link1
# 比如 ln -s /var/local/python3/bin/python3.9 /usr/bin/python3
rm -rf python3 #去到创建软链接的目录/usr/bin/下面,使用该命令删除软链,只删除软链接,但不删除实际数据。如果使用rm -rf python3/ 这样删除会把原来 python3 下的内容删除
添加软连接和添加到环境变量,好像实现的功能都一样,具体有什么区别?
软链接:类似windows中在桌面上建立的一个快捷方式,快捷方式直接指向源文件所在的位置。好处是只是一个链接,占用资源大小忽略不计。
⽂件查看和处理
# 查看⽂件内容
cat file1
# 查看⽂件后两⾏
tail -2 file1
# 查看⽂件前两⾏
head -2 file1
# 在⽂件hello.txt中查找关键词codesheep
grep codesheep hello.txt
# 在⽂件hello.txt中查找以sheep开头的内容
grep ^sheep hello.txt
# 查看从第⼀⾏到第5⾏内容
sed -n '1,5p;5q' hello.txt
查找命令 : grep(文本搜索工具)、find、locate、whereis、which、type 区别
系统信息和性能查看
# 查看linux版本信息
cat /proc/version
# 查看系统环境变量
env
# 查看内存⽤量和交换区⽤量
free -h
# Linux手动清除缓存的方法(少用)
sync&&echo 3 > /proc/sys/vm/drop_caches

total: 内存总数
used: 已经使用内存数
free: 完全空闲内存
shared: 多个进程共享的内存
buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)
cached: 用于文件内容的缓冲
available:真正剩余的可被程序应用的内存数
docker容器
# 安装查看版本
docker -v
# 查看当前系统中的所有镜像
docker images
# 查看系统中正在运行的容器
docker ps
# 查看所有容器(包括已停止的容器)
docker ps -a
# 删除单个容器
docker rm -f -v 容器名
# 启动容器
docker start
# 重启容器
docker restart
# 停止容器
docker stop
# 重命名容器(docker rename jenkins3 jenkins1)
docker rename old new
docker run:启动某个镜像,运行一个容器
# docker run -d -uroot -p 10086:8080 --name jenkins1 -v /home/xuefeng/jenkins_node:/var/jenkins_home jenkins/jenkins:2.306-centos
docker run --env DB_CONN=redis://:@ip:6379/0 -p 5000:5000 xuefeng365/spider_proxy_pool:v1
# 进入容器
docker exec -it jenkins1 bash
# 退出容器
exit # 或者键盘按 Ctrl + P + Q 也可退出
docker pull :从docker hub拉取某个镜像
docker build:根据Dockerfile创建一个镜像
打包解压
# 解压文件
tar Python-3.7.0.tgz
进程管理
# 查看所有进程
ps -ef
# 实时显示进程状态
top
# 过滤出你需要的进程
ps -ef | grep xuefeng365
# kill指定pid的进程
kill -s pid
# kill指定名称的进程
kill -s name
⽤户和⽤户组
# 创建⽤户
useradd codesheep
# 删除⽤户
userdel -r codesheep
# 修改⽤户的组
usermod -g group_name user_name
# 将⽤户添加到组
usermod -aG group_name user_name
# 创建⽤户组
groupadd group_name
# 删除⽤户组
groupdel group_name
# 重命名⽤户组
groupmod -n new_name old_name
# 查看test⽤户所在的组
groups test
# 查看活动⽤户
w
# 查看指定⽤户xuefeng365信息
id xuefeng365
# 查看⽤户登录⽇志
last
# 查看系统所有组
cut -d: -f1 /etc/group
# 查看系统所有⽤户
cut -d: -f1 /etc/passwd
# 修改⼝令
passwd
# 修改某⽤户的⼝令
passwd codesheep
⽂件查看和处理
RPM包管理命令
YUM包管理命令
DPKG包管理命令
APT软件⼯具