Linux常用命令手册

Linux常用命令手册欢迎来到小五的随笔系列之Linux常用命令手册,本文为目录性质,整理常用Linux命令并做简短概述,未对相关命令做详细解析,望诸位看官周知。

Hello, 各位勇敢的小伙伴, 大家好, 我是你们的嘴强王者小五, 身体健康, 脑子没病.

本人有丰富的脱发技巧, 能让你一跃成为资深大咖.

一看就会一写就废是本人的主旨, 菜到抠脚是本人的特点, 卑微中透着一丝丝刚强, 傻人有傻福是对我最大的安慰.

欢迎来到小五随笔系列Linux常用命令手册.

前言

本文为目录性质,整理常用Linux命令并做简短概述,未对相关命令做详细解析,望诸位看官周知。

other32.gif

命令查询

  • man command — 命令手册

  • command –help — 命令手册

  • whatis command — 描述命令用途

  • apropos command — 查找命令

  • which command — 查看可执行程序位置

文件与目录管理

目录基础操作

👉 ls — 列出文件和目录

  • -l — 列出文件详细信息

    • 文件类型 -:普通文件d:directory 目录
    • 权限 详见下文文件权限部分
-rw-r–r– 1 root root 1089 5 11 08:58 hello.js
文件类型及权限
1 文件类型
2-4 当前用户权限
5-7 当前群组权限
8-10 其它群组权限
普通文件:链接数
目录:子文件数
当前用户 所在群组 文件大小
目录不会递归计算
单位byte
最近一次修改时间 文件名
  • -a — all 列出包含隐藏文件的所有文件

  • -h — human-readable 便于阅读的单位(K M …)

  • -t — sort by modification time 按文件最近修改时间排序

  • ll — 自定义命令 可输入alias查看 -> ll='ls -lh' alias为别名

👉 pwd — 查看当前所在目录

👉 cd — 切换目录

  • 家目录

  • / 根目录

  • - 上次所在目录(用于在近两次所在目录中来回切换)

👉 du — 查看文件大小

du -sh

  • -a — all

  • -h — human-readable

  • -s — summarize 只显示总大小

文件内容查看

👉 cat — 显示文件内容

  • -n — number all output lines 显示行号

  • cat file1 file2 — 会将两文件内容合并显示

👉 less — 分页显示文件内容

  • 空格 — 下一页 | b — 上一页

  • 回车 — 下一行 | y — 上一行

  • / — 搜索 | n — 下一个 | N — 上一个

  • d — 下半页 | u — 上半页

  • g — 到文件开头 | G — 到文件结尾

👉 head — 显示文件前n行

  • -n — lines 指定显示行数,默认10行

👉 tail — 显示文件后n行

  • -n — lines 指定显示行数,默认10行

  • -f — follow 用于实时跟踪,可追加 -s sleep-interval 其为更新频率,默认1s

创建、移动、删除

👉 mkdir — 创建目录

  • -p — parents 若父级目录不存在,则创建

👉 touch — 创建文件

👉 cp — 拷贝文件

  • -r recursive 递归

  • 可配合通配符*使用 eg:cp *.sh folder 将所有.sh结尾的文件复制到folder文件夹下

👉 mv — 移动文件

  • 可搭配通配符使用

  • mv file1 file2 — 对文件进行重命名,将file1重命名为file2

👉 rm — 删除文件

  • -r — recursive 递归删除

  • -f — force 强制删除

  • -i — prompt before every removal 逐个确认

查找文件

👉 find — 在何处查找何物

eg:find / -name rm.txt -type f | xargs rm -f

  • -name 指定文件名称,可与通配符搭配使用

  • -size 指定文件大小 +:大于 -:小于 eg: +1024k

  • -type 文件类型 d:目录 f:文件

  • -atime、ctime、mtime 指定不同类型的时间

写入文件

👉 > — 将输出结果写入指定文件,注意该操作会覆盖原文件

👉 >> — 将输出结果追加到指定文件末尾

👉 << — 将键盘的输入重定向为某个命令的输入

  • cat > index.html <<EOF 键入内容,输入EOF后结束,该内容写入index.html中

👉 stdin、stdout、stderr

code 描述 对应数字
stdin 标准输入 0
stdout 标准输出 1
stderr 标准错误 2
  • 结合上述则有:1>1>>2>2>>

  • >& 重定向操作,2>&1 输出和错误都存放到一个文件中

  • eg:cat op.sh > results.log 2>&1

数据操作

👉 grep — 筛选数据

  • grep 内容 文件

  • -r — recursive

  • -i — ignore-case

  • -n — line-number

  • -E — extended-regexp 使用正则

  • –color — 彩色显示

  • -A — after 搜索内容的后n行 eg:-A 10 便于查看某异常相关内容

  • -B — before 搜索内容的前n行

  • -C — context 搜索内容的前n行和后n行

👉 sort — 对数据进行排序

  • -k — 指定第几列

  • -t — field-separator 指定分割列的分隔符

  • -n — numeric-sort 按数值大小排序

  • -r — reverse 倒序排列

👉 uniq — 对连续内容进行去重

  • 与sort搭配效果更佳

  • -c — count 显示重复次数

  • -u — unique 过滤掉重复的行

👉 wc — 文本统计

  • -l — lines 行数

  • -w — words 单词数

  • -c — bytes 字节数

👉 seq — 生成连续的数字序列

  • eg:seq 10 20

👉 xargs — 读取输入源后进行处理

  • -p — 打印要执行的命令并询问是否执行

  • -d — 指定分隔符,默认用空格

  • -n — 每次将多少项作为命令行参数

组合命令

👉 | — 管道,前一个命令的结果做为后一个命令的输入

👉 ; — 顺序执行命令,无论前一个命令执行成功与否

👉 && — 前一个命令执行成功后执行下一个命令

👉 || — 前一个命令执行失败后执行下一个命令

权限

👉 sudo — 使用root权限执行命令

  • sudo su — 开启使用root权限执行命令,用exit退出

用户与群组

👉 su — 切换用户

  • su - — 切换到root用户并定位到家目录

👉 useradd — 添加用户

👉 passwd — 给用户设置密码

👉 chpasswd — 修改用户密码

👉 userdel — 删除用户

  • -r — reomve 删除家目录

  • -f — force 该用户若正在使用,强制退出

👉 groupadd — 添加群组

  • usermod -g 群组名 用户名 — 将用户移动到群组

👉 groupdel — 删除群组

👉 w — 查看当前活跃用户

  • cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more — 查看全部用户列表

文件权限

权限字段 含义 权限码
r read 读 4
w write 写 2
x execute 执行 1
名称 英文 含义
u user 当前用户
g group 当前用户所在群组
o other 其它群组
a all 以上全部

👉 chmod — 修改文件的访问权限

  • -R — recursive

  • chmod 640 op.sh — 6 = 4 + 2 + 0 user、4 = 4 + 0 + 0 group、0 = 0 + 0 + 0 other

  • chomd u+rx op.sh — 给当前用户增加rx权限

  • chomd a+x op.sh === chomd +x op.sh 这里a(all)可省略

👉 chown — 更改文件的所有者及群组

  • eg:chown root:root op.sh

系统状态

进程监视

👉 ps — 列出运行进程

  • -ef

  • -aux

列出完整进程,两者间风格不同,配合 grep 使用效果更佳,eg:ps -ef | grep node

👉 pstree — 以树形结构显示进程

👉 top — 进程动态列表

  • 默认每隔5s更新一次

  • -d — 更新时间

  • -c — 显示进程命令行参数

  • -p — 显示具体PID的资源使用情况

基础信息:top - 18:03:41 up 141 days, 3:17, 1 user, load average: 0.00, 0.04, 0.05

内容 含义
up 141 days 系统运行时间
1 user 当前在线人数
load average: 0.00, 0.04, 0.05 系统负载(1m、5m、15m)

进程数:Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie

内容 含义
94 total 进程总数
1 running 正在运行的进程
93 sleeping 休眠进程
0 stopped 停止进程
0 zombie 僵尸进程

CPU占用比:%Cpu(s): 1.0 us, 0.7 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

内容 含义
1.0 us 用户空间占用CPU百分比
0.7 sy 内核空间占用CPU百分比
0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.3 id 空闲CPU占比
0.0 wa 等待输入输出的CPU时间百分比
0.0 hi CPU服务于硬中断所耗费的时间总额
0.0 si CPU服务于软中断所耗费的时间总额
0.0 st 软中断 Steal Time

物理内存信息:KiB Mem : 1798696 total, 83856 free, 249500 used, 1465340 buff/cache

交换空间信息:KiB Swap: 0 total, 0 free, 0 used. 1362176 avail Mem

内容 含义
total 总量
free 空闲
used 已使用
buff/cache 磁盘元数据和缓存大小
avail Mem 可用于进程下一次分配的物理内存大小

进程信息:

内容 含义
PID 进程id
USER 进程所有者的用户名
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令名/命令行

👉 kill — 结束进程

  • -9 — 强制结束进程

  • killall — 结束全部进程

👉 & — 后台运行进程 — command &

  • 后台进程与终端相关联,一旦终端关闭或用户登出,进程就自动结束

👉 nohup — 不与终端关联

  • nohup command & — 挂起进程

👉 Ctrl + Z — 转为后台运行并停止

👉 bg % 标号 — 使进程转入后台

👉 fg % 标号 — 使进程转入前台

👉 jobs — 显示后台进程状态

其它

👉 uname — 输出当前内核信息

  • -a — all 输出全部信息

👉 free — 查看内存信息,包括物理内存和虚拟内存Swap

👉 df — 查看磁盘使用量

  • -h — human-readable

👉 ifconfig / ip addr — 查看IP信息

👉 ping — 探测网络是否连通

👉 netstat -ant — 查看当前所有 tcp 链接

👉 date — 输出时间

  • date “+%H:%M:%S”

  • date num — 可用于更改系统时间

👉 cal — 显示日历

👉 reboot — 重启系统

文件压缩

👉 tar — 将文件归档(打包)

  • -c — create 创建压缩包

  • -v — verbose 显示运行过程

  • -f — file 指定文件名

  • -cvf –创建一个tar归档 eg:tar -cvf test.tar test/

  • -t — list 查看归档内容 eg:tar -tf test.tar

  • -r — append 追加内容到归档

  • -x — extract 解开归档

  • -z — gzip 归档并用 gzip 压缩 -zcvf-zxvf

👉 gzip — 将文件压缩为 gzip 格式

  • 后缀:.gz

  • gunzip — 解压文件

  • zcat / zmore / zless — 显示压缩后文件内容

👉 zip — 将文件压缩为 zip 格式

  • unzip — 解压文件

  • -r — recursive eg:zip -r test.zip test

  • -l — list 不解压,只查看 eg:unzip -l test.zip

延时及定时任务

👉 crontab — 定时执行程序

  • -l — 显示 crontab 文件

  • -e — 修改 crontab 文件

  • -r — 删除 crontab 文件

  • 格式:m h dom mon dow command

    • dom — day of month,表示一个月的哪一天

    • mon — month,月份(1-12)

    • dow — day of week,表示星期几(0-6)

    • command — 表示需要定时执行的命令

  • 例子

    • 0 * * * * /test.sh 每小时0分时刻都执行test.sh

    • 0 */2 * * * /test.sh 每2个小时的整点都执行test.sh

👉 at — 延迟执行程序

  • at 10:00 tomorrow — 明天10点执行

  • at now +10 minutes — 10分钟后执行

  • <EOF> 或 CTRL + D — 保存并退出

  • atq — 列出任务队列

  • atrm 编号 — 删除该命令

👉 sleep — 休眠一段时间

  • sleep 10 — 暂停10s(为秒时单位可省略)

  • eg:touch file.txt; sleep 10; rm file.txt;

远程链接

👉 ssh 用户名@服务器网址(或公网IP) — 远程连接服务器

  • -p — 指定端口,默认22

  • ssh-copy-id root@服务器网址 — 将客户端的公钥追加到服务器 authorized_keys 中

  • -i — 指定身份文件,可将私钥写入 ~/.ssh 中,在 -i 后加文件名登录

👉 scp 远程传输文件

👉 批量操作

需要将代理服务器的公钥放置在其他服务器的 ~/.ssh/authorized_keys

批量传输文件

export ips=~/ips.txt

for line in $(cat $ips)
do
  scp ~/xxx xxx@$line:/xxx
done

批量操作其他服务器

pdsh ip1,ip2,ip3 "具体操作"
pdsh ips.txt "具体操作"

pdsh默认采用rsh登录,需修改为ssh登录

export PDSH_RCMD_TYPE=ssh
source /etc/profile

从代理服务器快速登录其他服务器的别名设置

echo 'export PATH="~/bin:$PATH"' | tee -a ~/.bashrc 
source ~/.bashrc

vim ~/bin/connect

ip="" 
case $1 in
    "deeruby")
        ip="xxx"
        ;;;
esac

ssh root@${ip}

使用:connect deeruby

配置文件

👉 /dev/null — 黑洞文件

👉 ~/.(...)rc

  • 以rc结尾的文件为配置文件

  • eg:~/.bashrc — bash配置文件、~/.zshrc — zsh配置文件

👉 export — 追加环境变量

👉 alias — 为命令定义别名,方便记忆及执行

👉 source — 使文件立即生效

vim基础操作

编辑模式

👉 进入编辑模式

  • i — 光标前

  • I — 行首

  • a — 光标后

  • A — 行尾

  • o — 向下产生空行

  • O — 向上产生空行

👉 粘贴乱序

  • set paste -> 粘贴 -> set nopaste

命令模式

👉 set nu 设置行号

  • set nonu — 取消设置

👉 替换

第一部分 第二部分 第三部分
num1, num2 — 表示替换从多少行到多少行
% — 全部
s/替换前/替换后 /g 全局替换
n 查询次数

👉 分割/切换窗口

  • sp 垂直分割

  • vs 水平分割

  • ctrl + w + (hjkl) 切换窗口

普通模式

👉 搜索

  • /搜索内容 — N 上一个 n 下一个

👉 移动

  • hjkl

  • 0 / $ — 移动到行首或行尾

  • gg — 移动到文件开头

  • G — 移动到文件结尾

  • w / e 移动到(下一个)单词开头/结尾

  • b 移动到(上一个)单词开头

👉 删除

  • dd 删除整行 可配合数字删除多行 4dd 删除4行

  • x 删除字符 dw 删除单词 d0 删除到开头 d$ 删除到行尾

  • ct 从哪删除到哪 eg:ct” 从当前删除到” (只能接单个字符)

👉 u — 撤销

👉 选中

  • shift + v 选择单行,配合上下键可选择多行,配合 G 可全选

👉 修改

  • r 修改当前字符 如 ra 将当前字符修改为 a,R 会不断替换后面字符

👉 gi — 快速回到上次编辑位置并打开编辑模式

👉 宏

  • q+寄存器名称 开始录制,在次输入 q 结束录制,@+寄存器名称 回放操作,shift + v -> :normal @a 多行操作

常用快捷键

👉 ctrl + c — 结束进程

👉 ctrl + l — 清屏

👉 ctrl + a — 移动到行首

👉 ctrl + e — 移动到行尾

👉 ctrl + u — 删除当前行

👉 ctrl + w — 删除单词

参考链接

Linux 命令大全

6w字搞定Linux基本操作,建议收藏

linux TOP命令各参数详解

other29.gif

今天的文章Linux常用命令手册分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/14090.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注