Linux常用命令

包管理工具

apt

  • 简介:apt 是一个高级的包管理系统(主要用于基于 Debian 的系统,如:Ubuntu、Kali)
  • 语法:apt [选项] [参数] 软包名
  • 参数:
    • -y:对安装过程的所有选择都选择 yes
  • 选项:
    • install:安装软件
    • remove:卸载软件
    • update:更新本地软件包列表
    • upgrade:升级已安装的软件
    • dist-upgrade:升级已安装的软件(在软件包依赖关系变化时使用)
    • search:搜索软件包
    • show:显示软件详细信息
    • list –installed:显示已安装的软件
    • autoremove:清除缓存

yum

  • 简介:yum 是一个高级的包管理系统(主要用于基于 Red Hat 的系统,如:Centos)
  • 语法:yum [选项] [参数] 软件包名
  • 参数:
    • -y:对安装过程的所有选择都选择 yes
  • 选项:
    • install:安装软件
    • update:更新软件
    • remove:卸载软件
    • search all:搜索软件
    • check-update:检查已安装的软件是否有新版本
    • list installed:显示已安装的软件
    • clean all:清理缓存

dnf

  • 简介:dnf 是 YUM 的后继者,引入了一些改进,如:事务性操作、性能提升等
  • 语法:dnf [选项] [参数] 软件包名
  • 参数:
    • -y:对安装过程的所有选择都选择 yes
  • 选项:
    • install:安装软件
    • update:更新本地软件包列表
    • upgrade:升级已安装的软件
    • check-update:检查已安装的软件是否有新版本
    • remove:卸载软件
    • search:搜索软件
    • info:显示软件详细信息
    • reinstall:重装软件
    • clean:清理缓存

系统命令

  • 关机和重启
    • poweroff:断电关机
    • halt:不断电关机,内存等设备保持运行
    • reboot:重启
    • shutdown [-参数] [选项]:定时关机
      • -P:断电关机
      • -h:不断电关机
      • -r:重启
      • now:立刻关机
      • +数字:设定关机延迟时间
  • 系统资源相关
    • 查看 cpu 信息:cat /proc/cpuinfo
    • 查看内存使用情况:free -h
    • 查看磁盘使用情况:df -h
    • 查看 CPU 使用情况:top [-参数]
      • -d:指定自动刷新间隔(单位:秒)
      • -o:根据指定的字段进行排序(如:%CPU)
  • 网络相关
    • 查看网卡信息:ip a
    • 添加 IP:ip address add [ip] dev [网卡]
    • 删除 IP:ip address del [ip] dev [网卡]
    • 查看路由表:ip r
    • 添加静态路由:ip route add [ip] via [ip] dev [网卡]
    • 删除静态路由:ip route del [ip]
    • 启动网卡:ip link set [网卡] up
    • 禁用网卡:ip link set [网卡] down
    • 查看 TCP 连接:ss -t
    • 查看 UDP 连接:ss -u
    • 查看监听端口:ss -l
    • 查看进程和连接:ss -p
    • 查看网络连接统计信息:ss -s
    • 查看监听网络端口已经对应的进程 ID:ss -lptn
    • 释放当前 IP:dhclient -r
    • 通过 DHCP 服务获取 IP:dhclient [网卡]
    • 文件下载:curl -C -O [下载地址]
  • 系统相关
    • 查看系统信息:hostnamectl status
    • 修改主机名:hostnamectl set-hostname [hostname]
  • shell
    • 后台执行命令:[命令] &
    • 清屏:clear、ctrl+l
    • 中断程序:ctrl+c
    • 将前台程序调至后台终止执行:ctrl+z
    • 将后台程序调至前台继续执行:fg
    • 终止进程执行:kill -9 [pid]
    • 复制内容:ctrl+insert
    • 粘贴内容:shift+insert
    • 查看命令的源位置:which [命令]

用户和权限

  • su - [用户名]:登录到指定用户
  • sudo [命令]:使用 root 权限执行命令
  • w:显示登录到系统的用户列表,并展示他们正在执行的命令
  • who:显示登录到系统的用户的信息
  • whoami:显示当前用户的名称
  • groups [用户名]:显示用户所属组
  • id [用户名]:显示用户的信息,默认查看当前用户(uid、gid、所属组)
  • 添加用户:useradd [-参数] [用户名]
    • -g:指定用户的用户组
    • -u:指定用户 UID
    • -c:添加用户备注
    • -M:不创建用户主目录
    • -d:指定用户主目录
  • 修改用户:usermod [-参数] [用户名]
    • -g:指定用户的用户组
    • -G:指定用户追加组(追加组影响用户员组)
    • -c:添加用户备注
    • -L:锁定账户,禁止登录
    • -U:解锁账户,允许登录
  • 删除用户:userdel [-参数] [用户名](-r:删除用户的主目录)
  • 添加用户组:groupadd [-参数] [组名](-g:指定用户 GID)
  • 修改用户组:groupmod [-参数] [组名](-g:指定用户 GID)
  • 删除用户组:groupdel [组名]
  • 用户组操作:gpasswd [-参数] [组名]
    • -a:添加用户到组中
    • -d:从组中删除用户
    • -A:指定组管理员

文件目录

  • cd [目录]:跳转到指定目录
  • cd /:跳转到根目录
  • cd ~:跳转到用户的主目录
  • cd -:跳转到上一个目录
  • pwd:查看当前目录
  • mkdir [目录]:创建目录
  • rm [-参数] [目录/文件]:删除文件或目录 (-r 操作目录,-f 强制删除)
  • mv [原位置] [新位置]:移动文件或目录到的位置 (如果移动的位置相同则表示改名)
  • cp [目录/文件] [位置]:拷贝目录或文件到指定位置
  • stat [目录/文件]:查看目录或文件的属性信息
  • 查看目录内容:ls [-参数] [目录]
    • -l:以长格式显示,包括文件权限、所有者、组、文件大小、修改时间
    • -a:显示所有文件,包括隐藏文件
    • -h:以合适的单位显示文件大小
    • -t:按创建时间排序
    • -S:按文件大小排序
    • -r:反向排序
  • 查看文件内容
    • cat [文件]:显文件内容,只适合内容少的文件
    • less [文件]:按页显示文件内容
      • b 键:上一页
      • 空格:下一页
      • g:跳转到第一页
      • G:跳转到最后一页
      • q 键:退出
      • 输入/[内容]:搜索文件
      • n 键:跳转到下一个匹配搜索的内容
      • N 键:跳转到上一个匹配搜索的内容
    • head [-参数] [文件]:显示文件前 10 行(-数字:显示行数)
    • tail [-参数] [文件]:显示文件后 10 行(-数字:显示行数,-f:监控文件更新)
  • 文件权限
    • 设置文件权限:chmod [-参数] [权限] [文件/目录]
      • 参数:-R(表递归的修改目录的子目录和文件)
      • 权限:数字表示(4-读、2-写、1-执行)字母表示(r-读、w-写、x-执行)
        • u+rwx:表示给文件所有者加上文件读写执行的权限
        • g=rwx:表示给文件所属组设置文件读写执行的权限
        • o-rwx:表示给其他用户移除文件读写执行的权限
        • u=rw,g=x,o=:表示给文件所有者设置文件读写权限,给文件所属组设置文件执行权限,给其他用户设置文件权限为空
        • 777:每个数字依次表示为:文件所有者、文件所属组、其他用户,都设置读写执行权限(7=4 读+2 写+1 执行)
    • 修改文件所有者:chown [-参数] [所有者] [文件/目录]
    • 修改用户所属组:chown [-参数] [所属组] [文件/目录]
      • 参数:-R(表递归的修改目录的子目录和文件)

解压缩

  • 常用的压缩格式
    • tar:tar 打包文件,将多个文件归档为一个文件
    • gz:gz 压缩文件,压缩速度快、压缩比较低,压缩目录前需要使用 tar 先打包
    • bz2:bzip2 压缩文件,压缩速度较慢、压缩比较高、支持直接压缩目录
    • xz:xz 压缩文件,压缩速度最慢、压缩最高
    • zip:zip 压缩,广泛支持的格式,适用于 Window 和 Linux
    • rar:rar 压缩,Windows 支持但 Linux 默认不支持,需要单独下载rarunrar工具操作
  • 归档和解压缩
    • tar [-参数] [压缩文件名] [文件/目录]
      • -v:显示处理过程
      • -f:指定归档文件
      • -c:创建归档文件
      • -x:拆解归档文件
      • -z:使用 gz 进行解压缩
      • -j:使用 bz2 进行解压缩
      • -J:使用 xz 进行解压缩
    • 常用命令参数
      • tar 归档:tar -cvf [压缩文件名].tar [文件/目录]
      • tar 拆解:tar -xvf [压缩文件名].tar
      • gz 压缩:tar -czvf [压缩文件名].tar.gz [文件/目录]
      • gz 解压:tar -xzvf [压缩文件名].tar.gz
      • bz2 压缩:tar -cjvf [压缩文件名].tar.bz2 [文件/目录]
      • bz2 解压:tar -xjvf [压缩文件名].tar.bz2
      • xz 压缩:tar -cJvf [压缩文件名].tar.xz [文件/目录]
      • xz 解压:tar -xJvf [压缩文件名].tar.xz

文件查找

  • find [路径] [-参数](路径用于指定从什么地方开始查找)
    • -name:指定文件的名称,支持通配符*?,表示匹配多个和一个字符
    • -type:指定文件的类型(f:文件;d:目录;l:链接)
    • -size:指定文件的大小(+1G 表示大于 1GB;-10k 表示小于 10KB)
    • -user:指定文件的所有者
    • -group:指定文件的所属组
    • -mtime:指定文件的修改的日期(+3 表示 3 天前;-2 表示 2 天内)

日期管理

  • 时间和时区管理:
    • 查看时间和时区信息:timedatectl
    • 查看可用的所有时区:timedatectl list-timezones
    • 设置时区:timedatectl set-timezone [时区]
    • 设置时间:timedatectl set-time [时间]
  • 查看当前时间:date
  • 格式化语法:date +”格式化表达式”
    • %F:完整年月日(等价于 %Y-%m-%d
    • %T:时分秒(等价于%H:%M:%S
    • %R:时分(等价于%H:%M
    • %Y:年份
    • %y:年份(后两位)
    • %m:月份
    • %d:日期
    • %H:小时(24 小时制)
    • %l:小时(12 小时制)
    • %M:分钟
    • %S:秒种
    • %A:星期
    • %p:上午/下午
    • %s:时间戳

进程管理

  • ps -aux:查看系统所有进程
    • USER:进程的启动者
    • PID:进程 ID
    • %CPU:使用 CPU 的占比
    • %MEM:使用内存的占比
    • VSZ:虚拟内存的使用量(单位 KB)
    • RSS:物理内存的使用量(单位 KB)
    • TTY:所在终端
    • STAT:状态
    • START:启动时间
    • TIME:使用 CPU 的积累时长
    • COMMAND:启动进程的命令和参数
  • ps -ef:查看父子进程之间的关系
    • UID:进程的启动者
    • PID:进程 ID
    • PPID:父进程的 PID
    • C:使用 CPU 的占比
    • STIME:启动时间
    • TTY:所在终端
    • TIME:使用 CPU 的积累时长
    • CMD:启动进程的命令和参数

服务管理

  • systemctl [操作] [服务]
    • status:查看服务状态
    • start:启动服务
    • stop:停止服务
    • restart:重启服务
    • enable:设置服务开机自启
    • disable:关闭服务开机自启
    • list-unit-files:查看已安装的服务列表及其状态

定时任务

  • crontab 配置文件:/etc/crontab
  • crontab -l:显示计划任务列表
  • crontab -e:编辑 crontab 文件
1
2
3
4
5
6
7
8
每行代表一项计划任务,分为6段,前5段为时间设定,第6段为要执行的命令,关系如下:
分 时 日 月 周 命令
时间参数取值范围:分 0-59、时 0-23、日 1-31、月 1-12、周 0-7(0/7都表示周日)
通配符:
*:表示取值范围中所有数字
/:表示每隔一段时间,如: */1 * * * * 表示每分钟执行
-:表示一个区间范围,如: * * 1-3 * * 表示每月1-3号执行
,:表示不连续的值,如: * * 1,3,5 * * 表示每月1,3,5号执行

防火墙管理

  • firewall-cmd [选项]
    • 查看已有规则:–list-all
    • 重新加载规则:–reload
    • 查询是否开启端口:–query-port=[端口]/[协议]
    • 端口配置:–zone=public –[add/remove]-port=[端口]/[协议] –permanent
      • –add-port:添加开放端口
      • –remove-port:删除开放端口
      • –permanent:永久开启,不设置此项重启失效
      • –zone:作用域
    • 查看开放的服务:–get-services
    • 配置服务:–zone=public –[add/remove]-service=[服务] –permanent
      • –add-service:添加服务
      • –permanent:永久开启,不设置此项重启失效
      • –zone:作用域
  • iptables

Linux常用命令
http://tblog.zh-ti.top/2023/02/13/linux-command/
作者
TIAN
发布于
2023年2月13日
许可协议