在Linux环境中,命令行操作是一项不可或缺的技能,尤其是在进行Python项目开发时。从文件管理到环境配置,再到系统监控和网络管理,掌握这些命令将极大提高我们的工作效率。本文将为您介绍150条常用的Linux命令,涵盖编辑文本、运行脚本、设置镜像源、管理包和文件权限、监视系统状态等各个方面,帮助您在开发过程中更加得心应手。
一、文件和目录操作命令
文件和目录操作是Linux的基础,这些命令可以帮助我们高效地管理文件系统。无论是创建新目录、删除文件,还是查找特定文件,掌握这些基本命令都是必不可少的。
ls # 列出当前目录文件和子目录
ls -a # 列出当前目录文件和子目录,包括隐藏文件
cd 目录名 # 进入指定目录
pwd # 显示当前工作目录的完整路径
mkdir 新目录 # 创建新目录
rm 文件名 # 删除指定文件
rm -r 路径名 # 删除指定文件夹
cp 源文件 目标文件 # 复制文件
mv 源文件 目标文件 # 移动文件或重命名文件
cat 文件名 # 查看文件内容
find 目录名 -name 文件名 # 查找指定目录中的文件
du -sh 目录名 # 查看目录的大小
df -h # 查看文件系统的磁盘空间使用情况
file 文件名 # 查看文件类型
二、文本编辑命令
文本编辑命令用于打开和编辑文件,适合进行代码和配置文件的修改。熟练使用这些编辑器可以提高开发效率,尤其是在处理复杂的代码时。
vim 文件名 # 打开需要编辑的文件
按 "i" 键 # 从光标所在字符前插入内容
按 "ESC" 键 -> 输入 ":" -> 输入 "wq" # 保存并退出编辑
按 "ESC" 键 -> 输入 ":" -> 输入 "q!" # 撤销本次修改并退出编辑
vim +10 文件名 # 打开文件并跳到第10行
vim -R /etc/passwd # 以只读模式打开文件
vim操作界面有三种模式:命令模式、插入模式和底行模式
1.命令模式(刚进入文件就是命令模式,通过方向键控制光标位置)
使用命令 “dd” 删除当前整行
使用命令 “/字段” 进行查找
按 “a” 在光标所在字符后开始插入
按 “o” 在光标所在行的下面插入新行
按 “i” 进入插入模式,在光标所在字符前开始插入
按 “:” 进入底行模式
2.插入模式(此时可以对文件内容进行编辑,左下角会显示 “-- INSERT --” )
3.底行模式(按 “ESC” 返回命令模式 )
退出编辑::q
强制退出::q!
保存并退出::wq
删除文本所有内容::%d
三、运行脚本和配置
运行脚本和配置命令使得脚本执行和环境管理变得更加便捷。这些命令帮助我们轻松地运行自定义脚本,配置环境变量,以及管理定时任务。
bash 脚本.sh # 运行bash脚本
chmod +x 脚本.sh # 赋予脚本可执行权限
./脚本.sh # 直接执行当前目录下的脚本
source 脚本 # 在当前shell中运行脚本
crontab -e # 编辑定时任务
echo $PATH # 查看环境变量PATH的内容
export PATH=$PATH:新路径 # 将新路径添加到PATH中
四、设置镜像源
设置镜像源命令用于管理和更新软件源,这对确保软件包的最新版本至关重要。通过合理配置源,可以显著提高包管理的效率。
lsb_release -a # 查询系统版本号Description和开发代号Codename,再从镜像源中选取自己的系统版本一致的镜像源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back #备份原先的镜像源
vim /etc/apt/sources.list # 编辑该文件,把原先的deb文件都注释或者删掉,再把国内镜像源复制进去
清华镜像源为:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
以Ubuntu 20.04.6为例,进入网页后,选择传统格式,并切换ubuntu版本为Ubuntu 20.04.6 LTS(focal)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
更新镜像源
sudo apt update # 更新APT包列表
sudo apt upgrade # 升级已安装的包
五、网络和端口管理
网络管理命令用于监控和配置网络连接。这些命令可以帮助用户快速排查网络问题,确保系统的网络连接正常。
ifconfig # 查看网络接口配置
ip addr # 查看IP地址
ping 主机名 # 测试网络连通性
netstat -tuln # 查看监听端口
lsof -i:端口号 # 查看哪个pid进程占用了指定端口
fuser -k 端口号/tcp # 停止占用指定TCP端口的进程
kill -9 $(lsof -t -i:端口号) # 强制终止占用指定端口的pid进程
六、防火墙管理
防火墙管理命令用于控制网络流量,确保系统的安全性。通过正确配置防火墙,可以有效防止未授权的访问。
sudo ufw status # 查看防火墙状态
sudo ufw allow 端口号 # 允许指定端口的流量
sudo ufw deny 端口号 # 拒绝指定端口的流量
sudo ufw enable # 启用防火墙
sudo ufw disable # 禁用防火墙
七、文件权限管理
文件权限管理命令用于控制文件的访问权限,确保系统安全。掌握文件权限的设置和管理是维护系统安全的关键。
ls -l # 查看文件和目录的权限
chmod 755 文件名 # 设置文件权限为755
chmod -R 755 目录名 # 指定目录及其所有子文件和子目录将被设置为755权限
chown 用户名:用户组 文件名 # 更改文件的拥有者和群组
chgrp 用户组 文件名 # 更改文件的群组
八、包管理命令
包管理命令用于安装和卸载软件包,确保系统的软件环境稳定。无论是开发工具还是库文件,合理管理软件包是提升开发效率的基础。
sudo apt install 软件包名 # 安装软件包(Ubuntu/Debian)
sudo apt remove 软件包名 # 卸载软件包
sudo apt search 软件包名 # 搜索软件包
sudo yum install 软件包名 # 安装软件包(CentOS/RHEL)
sudo yum remove 软件包名 # 卸载软件包
sudo yum search 软件包名 # 搜索软件包
九、Python 项目管理
Python项目管理命令用于创建和管理Python环境及其依赖。通过合理管理环境,可以避免包之间的冲突,提高开发效率。
conda create --name 环境名 # 创建新的conda环境
conda activate 环境名 # 激活指定的conda环境
conda deactivate # 停用当前环境
conda install 软件包名 # 在当前环境中安装包
conda remove 软件包名 # 在当前环境中卸载包
conda list # 列出当前环境中安装的所有包
conda env list # 列出所有conda环境
conda update 软件包名 # 更新指定的包
conda env export > environment.yml # 导出环境配置
conda env create -f environment.yml # 根据文件创建环境
十、系统监控命令
系统监控命令用于实时查看系统状态和性能。这些命令帮助开发者跟踪系统资源的使用情况,及时发现并解决问题。
top # 实时监控系统进程
htop # 更友好的进程监控工具(需安装)
ps aux # 查看当前运行的所有进程
free -h # 查看内存使用情况
uptime # 查看系统运行时间和负载
nvidia-smi # 查看电脑是否有GPU
十一、压缩与解压命令
压缩与解压命令用于管理文件的存储,节省空间和便于传输。掌握这些命令可以更高效地处理大文件和目录。
tar -cvf 压缩包.tar 目录名 # 打包目录
tar -xvf 压缩包.tar # 解包tar文件
zip 压缩包.zip 文件名 # 压缩文件为zip格式
unzip 压缩包.zip # 解压zip文件
gzip 文件名 # 压缩文件为gzip格式
gunzip 文件名.gz # 解压gzip文件
十二、Docker命令
Docker命令用于管理容器和镜像,方便开发者快速构建和部署应用程序。
docker run 容器名 # 运行指定的Docker容器
docker stop 容器名 # 停止指定的Docker容器
exit # 退出容器并关闭服务
按键“Ctrl+P+Q” # 退出容器但保持服务运行
docker ps # 列出正在运行的容器
docker images # 列出所有镜像
docker rmi 容器名 # 删除镜像
docker exec -it 容器名 /bin/bash # 进入正在运行的容器
docker build -t 容器名 . # 根据Dockerfile构建镜像
docker-compose up # 启动服务
docker-compose down # 停止服务
十三、监控和日志命令
监控和日志命令用于实时查看系统和服务的日志,便于问题排查和性能监控。
tail -f 日志文件名 # 实时查看日志文件
journalctl -u 服务名 # 查看指定服务的日志
十四、其他常用命令
在这一节中,我们将回顾一些额外的常用命令,它们通常在日常操作中会被频繁使用。熟悉这些命令将帮助您更灵活地使用Linux系统,处理各种小任务。
echo 文本 # 输出文本
date # 显示当前日期和时间
cal # 显示当前月份的日历
bc # 命令行计算器
passwd # 更改用户密码
sudo # 以超级用户身份执行命令
ctrl+l #清屏,往上翻可以查看历史操作
结语
以上150条Linux常用命令涵盖了从基本的文件操作到Python项目开发中的具体应用,熟练掌握这些命令可以极大提高开发效率,助力您的项目顺利进行。希望本文能为您的学习提供帮助,如果您有其他问题或建议,欢迎在评论区留言交流!