Linux常用命令汇总
Posted 夏小悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令汇总相关的知识,希望对你有一定的参考价值。
文章目录
前言
本篇文章主要汇总了项目开发过程中常用的linux
命令,以便后续查询。
1. 终极命令
man
为用户查询指令的使用手册。
# 查询指令ls
man ls
为便于查询man
输出的指令手册,下面给出一些快捷键:
按键 | 功能 |
---|---|
Space | 下一页 |
Enter | 下一行 |
PgUp | 下一页 |
PgDn | 上一页 |
Home | 跳转到手册开头 |
End | 跳转到手册末尾 |
^ | 下一行 |
v | 上一行 |
/ | 从上到下搜索手册中某个关键词,比如/is 就是在手册中搜索关键词is |
? | 从下到上搜索手册中某个关键词,?is |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出手册 |
2. 基础命令
2.1 C系
cat
在终端设备上输出文件的内容
# 输出main.py文件中的内容
cat main.py
cd
切换目录
# 切换到Documents目录
cd Documents/
cp
复制文件
# 复制文件main.py到Documents目录中
cp main.py Documents/
# 复制文件main.py到Documents目录中,并重命名为xiayouran.py
cp main.py Documents/xiayouran.py
# 复制Documents目录中所有的文件到Downloads目录中
cp Documents/* Downloads/
# 复制pywork文件夹及其所有的文件到Documents目录中
cp -r pywork/ Documents/
-f # 若目标文件已存在, 则会直接覆盖原文件
-i # 若目标文件已存在, 则会询问是否覆盖
-r # 递归复制文件和目录
-v # 详细显示命令执行的操作
2.2 E系
echo
在终端设备上输出字符串或变量的值
# 输出字符串
echo "hello world!"
# 输出变量PATH的值
echo $PATH
2.3 F系
find
查找文件
# 在pywork目录下搜索所有以.py为后缀名的文件
find /pywork -name "*.py"
2.4 K系
kill
终止某个指定PID
的服务进程
# 终止PID为32519的进程
kill 32519
# 若上述指令无效, 可使用最高级别地指令强制杀死进程
kill -9 32519
2.5 M系
mkdir
创建文件夹
# 创建名为pywork的文件夹
mkdir pywork
# 创建多级目录
mkdir -p pywork/work1
more
在终端设备上输出文件的内容
# 输出main.py文件中的内容, 若内容过多, 会自动进行分屏展示
more main.py
# 为了方便查看文件内容, 一般根据文件内容量来选择合适的指令
# 如果内容较少, 可使用cat; 如果内容较多, 可使用more
mv
移动文件或重命名
# 移动文件到pywork文件夹
mv mian.py pywork/
# 重命名mian.py为test.py
mv mian.py test.py
-i # 若存在同名文件, 则向用户询问是否覆盖
-f # 覆盖已有文件时, 不进行任何提示
2.6 N系
nvidia-smi
查看GPU
的使用情况
# 查看服务器上的GPU信息
nvidia-smi
#
NVIDIA-SMI 418.67
Driver Version: 418.67 # 显卡驱动版本
CUDA Version: 10.1 # CUDA版本
GPU # 服务器上GPU编号(从0开始编号) 0
NAME # GPU类型 Tesla V100-SXM2-32GB
Persistence-M # 持久模式 On 打开 Off 关闭
FAN # 风扇的转速(0%-100%) N/A表示没有风扇
Temp # GPU的温度 54C(摄氏度)
Perf # GPU的性能状态, 从P0到P12 P0(性能最大)
Pwr:Usage/Cap # 能耗, 212W / 300W
Bus-Id # GPU总线相关显示 00000000:06:00.0
Disp.A # Display Active, 表示GPU的显示是否初始化 Off
Memory-Usage # 显存使用情况 4000MiB / 16384MiB
Volatile GPU-Util # GPU使用率
Uncorr. ECC # 是否开启错误检查和纠正技术, 0 disabled 1 enabled
Compute M. # 计算模式, 0 DEFAULT 1 EXCLUSIVE_PROCESS 2 PROHIBITED
2.7 P系
pwd
显示当前路径
# 显示当前路径
pwd
2.8 R系
reboot
重启系统
# 重启系统
reboot
rm
删除文件或目录
# 删除main.py文件
rm main.py
# 删除pywork文件夹下所有的文件及文件夹
rm -rf pywork/*
# 删除pywork文件夹及其所有的文件和文件夹
rm -rf pywork/
-i # 删除前会询问用户是否操作(默认)
-r # 递归删除
-f # 删除前不询问用户是否操作
2.9 T系
top
实时显示系统中各个进程的资源占用状况
# 查看系统各个进程的运行情况
top
大致说一下如何查看各个进程的信息:
# 系统时间, 系统已运行时间, 登陆人数, 系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)
top - 19:59:39 up 9:20, 1 user, load average: 0.07, 0.03, 0.01
# 进程总数, 运行中的进程数, 睡眠中的进程数, 停止的进程数, 僵死的进程数
Tasks: 308 total, 3 running, 305 sleeping, 0 stopped, 0 zombie
# 用户(user)占用CPU的百分比, 系统内核(system)占用CPU的百分比, 改变过优先级的进程占用CPU的百分比, 空闲CPU的百分比, IO等待占用CPU的百分比, 硬中断占用CPU的百分比, 软中断占用CPU的百分比
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
# 物理内存总量, 空闲内存量, 内存使用量, 内核缓存的内存量
# 可用内存 = free + buff/cache
MiB Mem : 1966.1 total, 102.7 free, 1254.0 used, 609.3 buff/cache
# 虚拟内存总量, 虚拟内存空闲量, 虚拟内存使用量, 已被提前加载的内存量
MiB Swap: 2048.0 total, 2047.7 free, 0.3 used. 538.9 avail Mem
# 按F键可查看具体含义
PID # Process Id 进程ID
USER # Effective Use 进程所有者
PR # Priority 进程优先级
NI # Nice Value, 负值表示高优先级, 正值表示低优先级
VIRT # Virtual Memory Usage 进程使用的虚拟内存总量, 单位kb. VIRT = SWAP + RES
RES # Resident Memory Usage 进程使用的、未被换出的物理内存大小(常驻内存), 单位kb. RES = CODE + DATA
SHR # Shared Memory 共享内存, 单位kb
S # 进程状态, D: 不可中断的睡眠状态 R: 运行 S: 睡眠 T: 跟踪/停止 Z: 僵尸进程
%CPU # 进程使用的CPU百分比
%MEM # 进程使用的物理内存百分比
TIME+ # 进程使用的CPU时间, 单位1/100s
COMMAND # 进程名称(进程运行的指令)
# 查看指定user(xiayouran)的进程信息
top -u xiayouran
2.10 W系
wget
从网络上下载文件
# 从GitHub上下载代码
wget https://github.com/xiayouran/Musicer.git
# 下载代码到指定目录
wget -P /home/xiayouran/pywork/ https://github.com/xiayouran/Musicer.git
-b # 后台下载模式
-P # 下载到指定目录
-t # 最大尝试次数
-c # 断点续传
-p # 下载页面内所有资源,包括图片、视频等
-r # 递归下载
3. 文件与文档
scp
linux
系统与linux
系统间的文件复制
# 将本地的main.py文件复制到xiayouran@192.168.3.100主机上的
scp main.py xiayouran@192.168.3.100:/home/xiayouran/pywork
# 将xiayouran@192.168.3.101主机上的pywork文件夹复制到本地
scp -r xiayouran@192.168.3.101:/home/xiayouran/pywork/ .
wc
统计并显示指定文件中的行数、字数、字节数
# 统计main.py文件中的行数、字数、字节数
wc main.py
# 统计main.py文件中的行数
wc -l main.py
# 统计main.py文件中的字数
wc -w mian.py
# 统计main.py文件中的字节数
wc -c mian.py
du
显示目录或文件的大小
# 显示pywork文件夹大小
du pywork/
# 以易读方式显示文件大小(所谓易读, 就是自动以KB/MB/GB的形式显示)
du -h pywork/
# 显示pywork文件夹及所有文件的大小
du -a pywork/
-k # 以KB为单位显示文件大小
-m # 以MB为单位显示文件大小
-g # 以GB为单位显示文件大小
-s # 显示目录总大小, 默认
4. 压缩与解压
zip
以.zip
格式压缩文件
# 把当前目录下的data文件夹打包成data.zip
zip -r data.zip data
-q # 不显示指令执行过程
-r # 递归处理,将指定目录下的所有文件和子目录一并处理
-z # 替压缩文件加上注释
-v # 显示执行命令时详细的信息
unzip
解压.zip
格式的压缩文件
# 在当前文件夹下解压data.zip
unzip data.zip
# 将data.zip解压到当前目录下的data文件夹中
unzip data.zip -d data
# 检查data.zip是否完整
unzip -t data.zip
-l # 显示压缩文件内所包含的文件
-v # 显示执行命令时详细的信息
-n # 解压缩时不要覆盖原有的文件
-t # 校验
tar
压缩/解压.tar
和.tar.gz
格式的文件
# 解压data.tar到当前目录下
tar -xvf data.tar
# 解压data.tar到当前目录下的data文件夹
tar -xvf data.tar -C data
# 解压data.tar.gz到当前目录下的data文件夹
tar -zxvf data.tar.gz -C data
# 将data文件夹中的所有.txt文件打包到data.tar
tar -cvf data.tar data/*.txt
-x # 从压缩包中提取文件
-z # 压缩/解压缩.tar.gz格式的文件
-v # 显示操作过程
-r # 添加文件到已经压缩的文件
-c # 建立新的备份文件
-t # 查看压缩包里面的文件
-C # 切换工作目录
--remove-files # 压缩之后删除源文件
5. 系统设置与管理
export
设置环境变量,用于将shell
变量输出为环境变量,或者将shell
函数输出为环境变量
# 列出当前所有的环境变量
export -p
# 或者直接不加参数
export
# 设置python的环境变量(在后面追加)
export PYTHONPATH=$PYTHONPATH:/home/xiayouran/python/
# 设置python的环境变量(在前面追加)
export PYTHONPATH=/home/xiayouran/python/:$PYTHONPATH
# 设置python的环境变量(覆盖掉以前的)
export PYTHONPATH=/home/xiayouran/python/
# 取消环境变量PYWORK
unset PYWORK
但上述的配置操作在关闭终端之后会自动失效,下面有两种方式来进行永久配置,可根据不同的工作环境进行选择使用:
# method 1: 用户级添加环境变量(只影响当前user)
# 打开.bashrc文件(在当前用户的根目录下, 直接cd就是了)
vim .bashrc
# 在最末尾添加
export PYTHONPATH=$PYTHONPATH:/home/xiayouran/python/
# 保存文件并退出, 再进行source使其生效
source .bashrc
# method 2: 系统级添加环境变量
# 打开bash.bashrc文件(不同的系统可能不大一样)
vim /etc/bash.bashrc
# 在最末尾添加
export PYTHONPATH=$PYTHONPATH:/home/xiayouran/python/
# 保存文件并退出, 再进行source使其生效
source /etc/bash.bashrc
环境变量的值以
:
进行分割
ln
为文件或目录创建链接
# -s 创建软连接(符号链接)
ln -s /home/xiayouran/pywork/data/imagenet/val /home/xiayouran/data
# 软连接就相当于是一个快捷方式, 此时的data就相当于是imagenet下的val
# 删除软连接
rm -rf /home/xiayouran/data
# 注意!!!
# 不是rm -rf /home/xiayouran/data/哦, 没有最后面的 / , 否则数据就没了哦(链接文件的同步性)
date
显示系统的时间与日期
# 查看当前系统的时间与日期
date
# 格式化显示系统的时间与日期
date "+%Y-%m-%d %H:%M:%S"
# 将系统时间设置为2021-09-03 17:30:00
date -s "2021-09-03 17:30:00"
参数 | 功能 |
---|---|
%Y | 年份 |
%m | 月份(1~12) |
%d | 本月的第几天 |
%H | 时钟(00~23) |
%I | 时钟(01~12) |
%M | 分钟(00~59) |
%S | 秒钟(00~59) |
%A | 完整的工作日名称 |
%a | 缩写的工作日名称 |
%B | 完整的月份名称 |
%b | 缩写的月份名称 |
%p | 显示AM和PM |
%q | 季度(1~4) |
%j | 今年的第几天 |
timedatectl
设置系统的时间
# 查看当前时区的时间状态
timedatectl status
# 列出所有时区
timedatectl list-timezones
# 设置时区
timedatectl set-timezone Asia/Shanghai
# 设置系统日期
timedatectl set-time 2021-09-03
# 设置系统时间
timedatectl set-time 17:30:00
ps
查看系统中的进程状态
# 查看系统中的进程状态
ps -aux
pstree
以树状图的形式展示进程之间的关系
# 以树状图的形式展示进程之间的关系
pstree
pidof
查询某个服务进程的pid
# 查询sshd进程的pid
pidof sshd
nice
用于调整进程的优先级
# 数字越低(-20~19), 优先级越高
nice -n -20 bash
ifconfig
查看网卡配置与网络状态等信息
# 查看网卡信息
ifconfig
uname
查看系统内核版本与系统架构等信息
# 查看系统所有相关信息
uname -a
-m # 显示计算机硬件架构
-n # 显示主机名称
-r # 显示内核发行版本号
-s # 显示内核名称
-v # 显示内核版本
-p # 显示主机处理器类型
-o # 显示操作系统名称
-i # 显示硬件平台
uptime
查看系统的负载信息
# 查看系统的负载信息
uptime
free
显示系统中内存的使用信息
# 查看看=系统的内存信息
free
who
查看当前主机的用户终端信息
# 查看当前主机的用户终端信息
who
which
在变量PATH
指定的路径中,搜索某个系统命令的位置
# 搜索python的位置·
which python
last
查看主机被访的记录
# 查看主机被访的记录
last
有关更多更详细的指令信息可以参阅 Linux命令大全(手册)。
结束语
以上是关于Linux常用命令汇总的主要内容,如果未能解决你的问题,请参考以下文章