Linux常用命令大全

Linux常用命令大全

  • 一、文件&目录管理
    • [1. 文件和目录操作命令](#1. 文件和目录操作命令)
    • [2. 查看文件及内容处理命令](#2. 查看文件及内容处理命令)
    • [3. 文件压缩及解压缩命令](#3. 文件压缩及解压缩命令)
    • [4. 搜索文件命令](#4. 搜索文件命令)
    • [5. 其他](#5. 其他)
  • [二、Linux 软件包管理](#二、Linux 软件包管理)
  • 三、用户管理
    • [1. 用户管理](#1. 用户管理)
    • [2. 查看系统用户登陆信息的命令](#2. 查看系统用户登陆信息的命令)
  • 四、进程管理
  • 五、网络通信
    • [1. 基础网络操作命令](#1. 基础网络操作命令)
    • [2. 深入网络操作命令](#2. 深入网络操作命令)
  • 六、磁盘管理
  • 七、系统监控及管理
    • [1. 系统信息查看](#1. 系统信息查看)
    • [2. 系统管理与性能监视命令](#2. 系统管理与性能监视命令)
    • [3. 关机 / 重启 / 注销](#3. 关机 / 重启 / 注销)
  • 八、其他

命令大多遵循如下格式

shell 复制代码
command [options] [arguments]
  • command表示命令的名称
  • options表示选项,定义命令的执行特性
    • 短选项,使用符号-,可以组合使用
    • 长选项,使用符号--,只能单独使用
  • arguments表示命令作用的对象

help命令

shell 复制代码
help
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

一、文件&目录管理

1. 文件和目录操作命令

命令 功能说明
ls 全拼 list,功能是列出目录的内容及其内容属性信息。 llls -alF的别名
tree 功能是以树形结构显示目录下的内容。
cd 全拼 change directory,功能是从当前工作目录切换到指定的工作目录。
cp 全拼 copy,其功能为复制文件或目录。
mkdir 全拼 make directories,其功能是创建目录。
touch 创建新的空文件,改变已有文件的时间戳属性。
mv 全拼 move,其功能是移动或重命名文件。
pwd 全拼 print working directory,其功能是显示当前工作目录的绝对路径。
rename 用于重命名文件。
rm 全拼 remove,其功能是删除一个或多个文件或目录。
rmdir 全拼 remove empty directories,功能是删除空目录。
basename 显示文件名或目录名。
dirname 显示文件或目录路径。
chattr 改变文件的扩展属性。
lsattr 查看文件扩展属性。
file 显示文件的类型。
md5sum 计算和校验文件的 MD5 值。
du 计算磁盘空间使用情况。

2. 查看文件及内容处理命令

命令 功能说明
cat 全拼 concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。
tac tac 是 cat 的反向拼写,因此命令的功能为反向显示文件内容。
more 分页显示文件内容。
less 分页显示文件内容,more 命令的相反用法。
head 显示文件内容的头部。
tail 显示文件内容的尾部。
cut 将文件的每一行按指定分隔符分割并输出。
split 分割文件为不同的小片段。
paste 按行合并文件内容。
sort 对文件的文本内容排序。
uniq 去除重复行。
wc 统计文件的行数、单词数或字节数。
iconv 转换文件的编码格式。
dos2unix 将 DOS 格式文件转换成 UNIX 格式。
diff 全拼 difference,比较文件的差异,常用于文本文件。
vimdiff 命令行可视化文件比较工具,常用于文本文件。
rev 反向输出文件内容。
grep/egrep Linux三剑客之一。用于过滤字符串
join 按两个文件的相同字段合并。
tr 替换或删除字符。
vi/vim 命令行文本编辑器。
sed Linux三剑客之一。全称Stream EDitor,非交互式的编辑器。它能执行与编辑器 vi 和 ex 相同的编辑任务。sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。
awk Linux三剑客之一。awk是一个报表生成器,主要用于格式化输出

3. 文件压缩及解压缩命令

命令 功能说明
tar 打包压缩。
zip 压缩工具。 安装yum install -y unzip zip
unzip 解压文件。
gzip gzip 压缩工具。

4. 搜索文件命令

命令 功能说明
find 从磁盘遍历查找文件或目录。
which 查找二进制命令,按环境变量 PATH 路径查找。
whereis 查找二进制命令,按环境变量 PATH 路径查找。
locate 从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新库。

5. 其他

命令 功能说明
权限管理
chmod 文件或目录权限修改
umask 显示或设置权限掩码。
chown 改变文件或目录的属主和属组。
chgrp 更改文件用户组。
**文件上传下载 **
wget 从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 "World Wide Web" 与 "get" 的结合。
sz / rz 利用ZModem协议从Linux服务器传送文件到本地(从本地传送到Linux服务器),一次可以传送一个或多个文件 yum install lrzsz -y
curl 利用URL语法在命令行下工作的文件传输工具

二、Linux 软件包管理

命令 功能说明
rpm 管理 rpm 包的命令。
yum 自动化简单化地管理 rpm 包的命令。
dpkg 管理deb 包的命令。
apt / apt-get 自动化简单化地管理 deb 包的命令。

ubuntu: /etc/apt/sources.list

centOS: /etc/yum.repos.d/CentOS-Base.repo

三、用户管理

1. 用户管理

命令 功能说明
useradd 添加用户。
adduser 添加用户。
usermod 修改系统已经存在的用户属性。
userdel 删除用户。
groupadd 添加用户组。
passwd 修改用户密码。
chage 修改用户密码有效期限。
id 查看用户的 uid,gid 及归属的用户组。
su 切换用户身份。
visudo 编辑 / etc/sudoers 文件的专属命令。
sudo 以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。

2. 查看系统用户登陆信息的命令

命令 功能说明
whoami 显示当前有效的用户名称,相当于执行 id -un 命令。
who 显示目前登录系统的用户信息。
w 显示已经登陆系统的用户列表,并显示用户正在执行的指令。
last 显示登入系统的用户。
lastlog 显示系统中所有用户最近一次登录信息。
users 显示当前登录系统的所有用户的用户列表。
finger 查找并显示用户信息。

四、进程管理

命令 功能说明
bg 将一个在后台暂停的命令,变成继续执行 (在后台执行)。
fg 将后台中的命令调至前台继续运行。
jobs 查看当前有多少在后台运行的命令。
kill 终止进程。
killall 通过进程名终止进程。
pkill 通过进程名终止进程。
crontab 定时任务命令。
ps 显示进程的快照。
pstree 树形显示进程。
nice/renice 调整程序运行的优先级。
nohup 忽略挂起信号运行指定的命令。 黄金搭配 nohup xxxx &
pgrep 查找匹配条件的进程。
runlevel 查看系统当前运行级别。
init 切换运行级别。
service 启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

五、网络通信

1. 基础网络操作命令

命令 功能说明
telnet 使用 TELNET 协议远程登录。
ssh 使用 SSH 加密协议远程登录。
scp 全拼 secure copy,用于不同主机之间复制文件。
ping 测试主机之间网络的连通性。
route 显示和设置 linux 系统的路由表。
ifconfig 查看、配置、启用或禁用网络接口的命令。
ifup 启动网卡。
ifdown 关闭网卡。
ip 可以配置几乎所有的网络参数,功能比传统的网络配置命令更加强大,它可以显示操作网络路由、网络设备、设置路由等

2. 深入网络操作命令

命令 功能说明
nmap 网络扫描命令。
lsof 全名 list open files,也就是列举系统中已经被打开的文件。
mail 发送和接收邮件。
mutt 邮件管理命令。
nslookup 交互式查询互联网 DNS 服务器的命令。
dig 查找 DNS 解析过程。
host 查询 DNS 的命令。
traceroute 追踪数据传输路由状况。
tcpdump 命令行的抓包工具。
iptables 防火墙设置
firewalld 防火墙设置
netstat 查看网络状态。

六、磁盘管理

命令 功能说明
mount 挂载文件系统。
umount 卸载文件系统。
fsck 检查并修复 Linux 文件系统。
dd 转换或复制文件。
dumpe2fs 导出 ext2/ext3/ext4 文件系统信息。
dump ext2/3/4 文件系统备份工具。
fdisk 磁盘分区命令,适用于 2TB 以下磁盘分区。
parted 磁盘分区命令,没有磁盘大小限制,常用于 2TB 以下磁盘分区。
mkfs 格式化创建 Linux 文件系统。
partprobe 更新内核的硬盘分区表信息。
e2fsck 检查 ext2/ext3/ext4 类型文件系统。
mkswap 创建 Linux 交换分区。
swapon 启用交换分区。
swapoff 关闭交换分区。
sync 将内存缓冲区内的数据写入磁盘。
resize2fs 调整 ext2/ext3/ext4 文件系统大小。

七、系统监控及管理

1. 系统信息查看

命令 功能说明
uname 显示操作系统相关信息的命令。
hostname 显示或者设置当前系统的主机名。
dmesg 显示开机信息,用于诊断系统故障。
uptime 显示系统运行时间及负载。
stat 显示文件或文件系统的状态。
du 计算磁盘空间使用情况。
df 报告文件系统磁盘空间的使用情况。
free 查看系统内存。
date 显示与设置系统时间。
cal 查看日历等时间信息。
env 查看环境变量
lsmod 列出加载的内核模块
lsusb 列出所有USB设备
lspci 列出所有PCI设备

2. 系统管理与性能监视命令

命令 功能说明
top 实时显示系统资源使用情况。
chkconfig 管理 Linux 系统开机启动项。
vmstat 虚拟内存统计。
mpstat 显示各个可用 CPU 的状态统计。
iostat 统计系统 IO。
netstat 查看网络状态。
ss 查看网络状态。
sar 全面地获取系统的 CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU 中断和网络等性能数据。
ipcs 用于报告 Linux 中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。
ipcrm 用来删除一个或更多的消息队列、信号量集或者共享内存标识。
strace 用于诊断、调试 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。
ltrace 命令会跟踪进程的库函数调用, 它会显现出哪个库函数被调用。
ulimit 对shell及其启动的进程可用资源的控制
systemctl systemctl 是 systemd 的主命令,用于管理系统以及服务。
hostnamectl 查看和修改当前主机的信息
localectl 查看和修改本地化设置
timedatectl 查看和修改当前时区设置
loginctl 查看和修改当前登录的用户

3. 关机 / 重启 / 注销

命令 功能说明
shutdown 关机。
halt 关机。
poweroff 关闭电源。
logout 退出当前登录的 Shell。
exit 退出当前登录的 Shell。
Ctrl+d 退出当前登录的 Shell 的快捷键。

八、其他

命令 功能说明
**其他内置命名 **
echo 打印变量,或直接输出指定的字符串
printf 将结果格式化输出到标准输出。
watch 周期性的执行给定的命令,并将命令的输出以全屏方式显示。
alias 设置系统别名。
unalias 取消系统别名。
date 查看或设置系统时间。
clear 清除屏幕,简称清屏。
history 查看命令执行的历史纪录。
eject 弹出光驱。
time 计算命令执行时间。
nc 功能强大的网络工具。
xargs 将标准输入转换成命令行参数。
exec 调用并执行指令的命令。
export 设置或者显示环境变量。
unset 删除变量或函数。
type 用于判断另外一个命令是否是内置命令。
bc 命令行科学计算器
集中化运维监控工具
Ansible 自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能
SaltStack 允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境
Zabbix 基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

使用技巧

  • 命令补齐

    命令补齐允许用户输入文件名起始的若干个字母后,按<Tab>键补齐文件名。

  • 命令历史

    命令历史允许用户浏览先前输入的命令并重新调用它们,用history命令可以显示命令列表,按方向键可查找以前执行过的命令。

  • 命令别名 aliasunalias

    shell 复制代码
    alias mybin="cd /usr/bin"
    alias  #显示系统中现有的别名
    unalias mybin  #删除系统中的别名
  • 输入/输出重定向

    同标准I/O一样,Shell对于每一个进程预先定义3个文件描述字(0、1、2)。分别对应于:

    • 0 (STDIN)标准输入;

    • 1 (STDOUT)标准输出;

    • 2 (STDERR)标准错误输出。

  • 重定向:

    • >>> 输出重定向

      shell 复制代码
      ls -l /tmp > /tmp.msg
      cp -R /usr /backup/usr.bak 2> /bak.error
      date >> /tmp.msg
    • < 输入重定向

      shell 复制代码
      wall < /etc/motd
  • 管道

    将一个命令的输出传送给下一个命令, 作为另一个命令的输入

    使用方法:命令1|命令2|命令3......|命令n

    使用举例:

    shell 复制代码
    ls --Rl /etc |more
    cat /etc/passwd | wc
    cat /etc/passwd | grep login
    ps --aux |tail +10 |more
  • 命令连接符

    • ;,用;间隔的各命令按顺序依次执行

    • &&,前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才被执行。

    • ||,前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,它后面的命令才被执行

  • 命令替换符

    将一个命令的输出作为另一个命令的参数。

    格式为:

    命令1 `命令2`
    #或者 
    命令1 $(命令2)
    

    范例:

     ls -l `which touch`
     echo `ls -l`
    
  • Shell调试技巧

    • sh -x script

      这将执行该脚本并显示所有变量的值。

    • sh -n script

      不执行脚本只是检查语法的模式,将返回所有语法错误

相关推荐
筱源源几秒前
Elasticsearch-linux环境部署
linux·elasticsearch
萨格拉斯救世主3 分钟前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试14 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq6 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮7 小时前
Linux 使用中的问题
linux·运维
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习