Hello, 各位勇敢的小伙伴, 大家好, 我是你们的嘴强王者小五, 身体健康, 脑子没病.
本人有丰富的脱发技巧, 能让你一跃成为资深大咖.
一看就会一写就废是本人的主旨, 菜到抠脚是本人的特点, 卑微中透着一丝丝刚强, 傻人有傻福是对我最大的安慰.
欢迎来到
小五
的随笔系列
之Linux常用命令手册
.
前言
本文为目录性质,整理常用Linux命令并做简短概述,未对相关命令做详细解析,望诸位看官周知。
命令查询
-
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常用命令手册分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/14090.html