【linux】常用shell指令 [不断补充中...]

2023-11-13

前言

shell是一种脚本语言, 需要有编译器执行
即:应用程序->shell->操作系统->硬件

bash是linux下默认的shell
sh是unix下默认的shell

多命令执行:
xx && xx: 前面执行成功才会执行后面的命令
xx || xx: 前面执行失败才会执行后面的命令
xx ; xx : 前后无关联,按顺序执行

与操作:
xx | xx: 对前面执行结果继续后面命令操作

重定向输入/输出:< , >
stdin:  标准输入,代码:0
stdout: 标准输出,代码:1
stderr:标准错误输出,代码:2
> file:  覆盖输出正确信息
>> file: 追加输出正确信息
2> file: 覆盖输出错误信息
> file 2>&1: 合并覆盖输出错误和正确信息到一个文件

环境变量:(source xxx使当前设置在命令中生效,但在sh脚本中需要重启才能用)
/etc/profile            作用于所有用户,第一次登录时执行,后读取/etc/profile.d目录下所有配置
/etc/profile.d/*.sh    
~/.bash_profile         作用于当前用户,登录时执行一次,并读取~/.bashrc
~/.bashrc               作用于当前用户,登录时以及每次打开新shell时读取
/etc/bashrc             作用于所有用户,不用重启,打开新shell时读取

当前用户目录:~ 
cd ~ && pwd

命令套娃:$()、xargs、``,将上一个命令结果作为下一个命令的参数
xxx $(xxx $(COMMAND))
COMMAND | xargs xxx | xargs xxx
xxx `xxx `COMMAND``

api文档

系统操作类指令

cp
作用 拷贝
格式 cp [option]... SOURCE... DIRECTORY
示例 cp -a /xx/xx /xxx/xx
option -r|-R 递归拷贝
-a 相当于-dpr,保留所有(属性权限链接)且递归拷贝
-d 保留链接
-p 保留属性权限
-f 覆盖
-i 覆盖前询问
-l 只生成链接文件
mkdir
作用 新建文件夹
格式 mkdir [option]... DIRECTORY...
示例 rm -rf /xx/xx
option -p 递归创建
-m 设置目录访问权限mode,如777
rm
作用 删除
格式 rm [option]... FILE...
示例 rm -rf /xx/xx
option -f 强制删除
-r 递归删除
-i|-l 删除前确认|删除超过3个文件以下或递归删除需要确认
-d 删除空目录
-v 列出详细信息
head
作用 标准输出文本头部内容
格式 head [option]... FILE...
示例 head -n 1
option -n N 输出前N行,默认是前10
-c N 输出前N字节
sed
作用 流编辑器,stream edit,用于处理文本文件
格式 sed [option]... 'COMMAND' [input file]...

多个COMMAND用;分隔,如1p;2p;3p
示例 sed "s:^:`pwd`/:"
option -n 不打印默认输出的内容,
打印ls和sed的内容: ls | sed -n 1p
只打印sed输出的内容: ls |sed 1p
-e script 添加脚本到程序运行列表,可以多个
-e s/x/y/ -e s/y/x/
-e 's/x/y/;s/y/x/'
-f script-file 添加脚本文件到程序运行列表
--follow-symlinks 直接修改文件时跟随软链接
-i[SUFFIX]|--in-place[=SUFFIX] 直接修改文件(指定扩展名就备份文件)
备份passwd为passwd.bak后删除passwd第一行:sed -i.bak 1d passwd
-l N 每行长度为N,超出换行
-r 在脚本中使用扩展正则表达式
-s 将输入文件视为各个独立的文件而不是一个长的连续输入
-u 从输入文件读取最少的数据,更频繁的刷新输出
script COMMAND
追加
[N]a\
在第N行新增下一行内容,不写N默认为每一行
ls | sed 3a\hello 在第3行新增下一行打印hello
ls | sed a\hello 在每一行都新增下一行打印hello
替换
[N]c\
替换第N行内容,不写N默认为每一行
ls | sed 3c\hello 替换3行为hello
ls | sed c\hello 替换每一行为hello
删除
[N]d
删除第N行,不写N默认为每一行
ls | sed 3d 删除第3行
ls | sed d 删除每一行
插入
[N]i\
在第N行往上插入一行内容,不写N默认为每一行
ls | sed 3i\hello 在第3行前插入一行hello
ls | sed i\hello 每一行前插入一行hello
打印
[N]p
N,Np
/pattern/p
'\%%p'
选择性打印内容
ls -n | sed 1p 打印第一行
ls -n | sed 1,2p 打印第1~2行
ls -n | sed /^h.*o$/p 打印包含h开头o结尾内容的行
ls -n | sed '\%hello%p' 打印包含hello的行
查找替换拼接
[N]|[N,N]s/regexp/replacement/[flags]
[N]|[N,N]s:regexp:replacement:
查找第N行|从第N~N行匹配regexp的部分替换为replacement
ls | sed 3s/hello/world/ 查找第3行hello部分替换为world
ls | sed 1,3s/hello/world/ 查找第1~3行hello部分替换为world
ls | sed -n 1,3s:^:`pwd`/: 查找第1~3行拼接当前目录到文件名前面
即列出当前目录下1-3行文件的绝对路径
ls | sed -n 1,3s:hello:world: 查找第1~3行hello部分替换为world
ls | sed -n 1,3s:^h.*o$:world: 查找第1~3行匹配h开头o结尾部分替换为world
标记
:
为b,t,T分支做位置标记,记为label
如 :a 即是label a代表当前:指向的位置
换行
N
追加一行到pattern能操作的范围
如 N;s/x/y/ 就是把1,2行当一行,3,4当一行
循环跳转
t
跳到label位置继续执行s命令,直到最后一行
多行循环执行
:a;N;s/x/y/;ta
开始位置标记为a
N;s/x/y/:每2行作为一行执行s命令置换x为y
t跳转到a位置执行N;s/x/y/
循环直到最后一行
ls | sed -n :a;N;s/\n//;ta 多行合并为1行
ls
作用 展示目录文件信息
格式 ls [option]... [FILE]...
示例 ls -l /xx/xx
option -l 长格式显示
列表说明: drwxr-xr-x 36 root root 4096 Oct 14 17:15 repository
第一个字符是文件类型:-普通文件,d目录,p管理文件,l链接文件,b块设备文件,c字符设备文件,s嵌套字文件
rwxr-xr-x: 用户权限用户组权限其他用户权限
36:对文件是链接数,对目录是子目录数
root root:所属用户 所属用户组
-1 每行只输出文件名
ls | sed "s:^:`pwd`/:" 每行只输出文件名的绝对路径
-a 展示所有,包括.开头文件
-A 展示所有,包括.开头文件,忽略.和..
-d 展示目录且不展开,默认是当前目录.
-r 倒序
-i 显示目录索引序号
-R 递归展开目录
-F 目录以/结尾
-h 显示文件大小
-b 不可输出的字符用反斜杠+编号显示
-c 输出文件节点修改时间,并以此排序
-s 输出文件大小
-t 时间排序
-u 访问时间排序
-S 文件大小排序
-B 不输出~结尾文件
-s 输出文件大小
ln
作用 链接指令
软链接:路径快捷方式
硬链接:备份
格式 ln [option]... TARGET... DIRECTORY
示例 ln -s /xx/xx /xxx/xx
option -s 创建软链接
-r 与-s结合,创建相对路径软链接
-b 删除覆盖目标文件之前的备份
-d|-F 建立目录的硬链接
-f 强制建立,不管文件或目录是否存在
-i 强制建立前询问
-n 链接目录视为一般文件
-S|--suffix=SUFFIX 修改字尾备份字符串,预设是~
-v 显示每个链接文件名
-V METHOD 指定备份的方式
-P|--physical 硬链接重定向到软链接(默认指令)
chmod
作用 权限赋予
格式 chmod [option]... [MODE,...] FILE...
示例 chmod -R a+rwx,u+rwx,g+rwx,o+rwx /xxx/xxx
option -R 给目录下所有文件(递归)授予权限
-c 权限有改动才显示更改动作
-f 不显示错误信息
-v 显示执行信息
权限mode
[ugoa...][[+-=][rwxX]...][,...]
777 所有权限,即 rwxrwxrwx
前3个是用户权限,中间3个是用户组权限,后3个是其他用户权限
u 为文件所属用户设置权限
g 为文件所属用户组设置权限
o 为文件所属用户其他以外的人设置权限
a 包含上面三者
+ 增加权限
- 取消权限
= 唯一设定权限
r 可读,二进制:100
w 可写,二进制:010
x 可执行,二进制:001
--- 二进制:000,十进制:0
--x 二进制:001,十进制:1
-w- 二进制:010,十进制:2
-wx 二进制:011,十进制:3
r-- 二进制:100,十进制:4
r-x 二进制:101,十进制:5
rw- 二进制:110,十进制:6
rwx 二进制:111,十进制:7
groupadd
作用 新增用户组
格式 groupadd [option]
示例 groupadd -g 8888 gadmin
option -g 指定组id
-p 使用加密过的密码
-r 建立系统工作组,id必须小于500
-exec
作用 执行命令
格式 exec [-cl] [-a name] [command [argument ...]] [redirection ...]
示例 find / -name "t*" -exec ls -l {} \;
option -c 在空环境中执行指定的命令
-l 在传递给command的第零个arg的开头放置一个破折号
-a Shell将name作为第零个参数传递给command
useradd
作用 新增用户
格式 useradd [option]
示例 useradd admin -g gadmin -G root
option -g 指定用户所属组
-G 附加群组
-d 指定用户登入的起始目录
-u 指定用户id
-r 建立系统账号
-s 指定用户登入后使用的shell
-p 设置密码
chown
作用 设置文件用户和用户组
格式 chown [option]... [OWNER][:[GROUP]] FILE...
示例 chown -R admin:gadmin /xxx/xx
option -R 递归修改
-c 显示更改部分信息
-f 忽略错误信息
-h 修复符号链接
-v 显示详细处理信息
-H 命令行参数是指向目录的符号链接,则遍历它
-L 遍历遇到的每个指向目录的符号链接
-P 不遍历任何符号链接(默认)
export
作用 设置环境变量
格式 export [option] [name[=value] ...]
示例 export M2_HOME=/xx/xx
option -f 指向函数
-n 删除变量
-p 显示所有变量

文件文本相关指令

stat
作用 查看文件状态
格式 stat [option] /xx/xx
示例 stat /xx/xx
option -L 跟踪软连接文件原始文件状态信息
-f 查看文件的文件系统状态信息
-t 简洁打印文件状态信息
-c 指定格式打印文件状态信息
-c %i: inode
%u: 用户ID
%U: 用户
%g: 用户组ID
%G: 用户组
%m: 磁盘挂载点
%x|y|z: 文件访问|修改|更改时间
%A|a: 文件权限
其余查看stat --help自行翻译
cat
作用 查看文件内容
格式 cat [option] /xx/xx
示例 cat /xx/xx
option -A 展示所有
-b 对非空输出行编号
-n 对所有输出行编号
-s 连续空行转换为一个空行
-e 等价与 -vE
-v 除了LFD和TAB之外不可打印的字符用^和M-标记方式显示
-E 每行结束地方显示$
-t|-T TAB显示为^|
tail
作用 查看文件末尾内容
格式 tail [option] /xx/xx
示例 tail -f /xx/xx
option -f 循环读取
-q 不显示处理信息
-v 显示详细处理信息
-c 显示的字节数
-n 显示行数
-q 从不输出文件的头部
-s -f下每次休眠间隔s秒
--pid=PID -f下在pid进程死掉后结束
vi | vim
作用 编辑文件
格式 vi /xx/xx
示例 vi /xx/xx
内部操作 移动光标 0: 文章开头
G: 文章末尾
$: 行尾
^: 行首
w: 下个字开头
e: 下个字结尾
b: 上个字开头
#|: 该行第#个位置
删除 [#]dd: 从光标开始删除[#]行
[#]x|X: 删除光标后面|前面的[#]个字符
复制 [#]yy: 从光标往下数复制[#]行
[#]yw: 复制光标到字尾[#]个字
p: 粘贴
替换 r: 替换光标所在处字符
R: 替换光标所到之处字符,按esc结束
撤回 u: 撤回到上一个操作
更改 c[#]w: 更改[#]个字
跳转 ctrl+g: 列出光标所在行号
#G: 移动光标到第#行行首
翻页 ctrl+f: 向后翻页
ctrl+b: 向前翻页
last line mode
按esc键后输入
格式:[xxx]
set nu 展示行号
set ff[?|=unix|=dos] [查看|修改]文件格式[为unix|dos]
# 跳到#行
/关键字 查找关键字,n往后,N往前
?关键字 查找关键字,n往前,N往后
查找替换
[%.$数字]s/source/target/g
range:
%: 全部行
.: 当前行
$: 最后一行
数字: 具体行
.,$: 当前行到最后一行
source:源字符串
target:目标字符串
/g:匹配就全替换
斜杠需要转义: \/
w 保存
q[!] [放弃修改]退出
wq 保存后退出
sort
作用 排序显示文本(默认升序)
格式 sort [option] [目录或文件]
示例 sort -u /xxx/xxx
option -u 去重
-r 降序
-o 输出结果到文件
-n 数值排序
-h 以人类可读的数值排序
-t : 按:分列
-k N 按第几列排序
-f 忽略大小写
-c 检查文件排序,输出第一个乱序行的信息,最后返回1
-C 与-c一样,只是不输出内容只返回1
-M 月份排序
-b 忽略空白部分,从第一个可见字符排序
awk
作用 抽取文件或字符串中的信息
格式 awk [option] '[condition]COMMAND' FILE
示例 awk -F 'print $1,$3' /etc/passwd
打印以空格分隔的第1、3个字段
option -F '<分隔符>'|fs='<分隔符>' 指定分隔符,如:,默认是空格或tab
-f FILE 指定文件中读取awk脚本指令
-v var=val 执行处理之前设置变量var初始值val
echo
作用 输出内容到标准输出
格式 echo [option] [ARG...]
示例 echo hello
option -n 不加换行符
-e 启用对后续反斜杠转义
-E 明确禁止反斜杠转义
转义字符 \a 响铃
\b 退格
\c 取消后续输出
\e 向右删除一个字符
\E 向右删除一个字符
\f 换页
\n 换行
\r 回车
\t 水平制表
\v 垂直制表
\\ 反斜杠
\0nnn 八进制数 nnn 所代表的 ASCII 码字符
\xHH 十六进制 HH 对应的8位字符。HH 可以是一到两位
\uHHHH 十六进制 HHHH 对应的 Unicode 字符。HHHH 一到四位
\UHHHHHHHH 十六进制 HHHHHHHH 对应的 Unicode 字符。HHHHHHHH 一到八位

查找匹配指令

find
作用 目录中搜索文件
格式 find [path...] [expression]
expression=[operators|options|tests|actions]
示例 find / -xdev -size 100M -exec ls -l {} \;
operators (!|-not)expr; expr1 (-a|-and) expr2; expr1 (-o|-or) expr2; expr1,expr2
options -xdev 不会进入到挂载点目录执行但仍然会列出,如/dev,/sys
就是把其他文件系统目录当成整体搜索,而不会搜索到目录里面
-maxdepth 最多搜索几层
-depth 查看目录之前先搜索目录的内容
-follow 遇到符号链接文件,跟踪链接指向文件搜索
tests -amin/-atime N 查找最后N分钟/天访问的文件
-cmin/-ctime N 查找最后N分钟/天被需修改文件状态的文件
-mmin/-mtime N 查找最后N分钟/天被修改文件数据的文件
-name pattern 按文件名查找
-path pattern 指定目录查找
-perm xx 按文件权限查找
-user name 按文件归属用户查找
-group name 按文件归属组查找
-nouser|-nogroup 按没有归属[用户|组]查找
-newer file 按比file修改时间新查找
-type [bcdpflsD] 查找某类型文件
b:块设备文件
c:字符设备文件
d:目录
p:管道文件
f:普通文件
l:符号链接文件
s:socket套接字
-size N[bcwkMG] 按文件大小为N个单位查找
b:512位元组的区块
c:字元数
k:kilo bytes
w:2个位元组
actions -prune 在指定目录之外查找
-print|-print0 查找到的文件标准打印(末尾加换行符)|末尾加null字符
-exec command {} ; 对所有查找结果(这里{}指的是当前一个查找结果)执行shell指令
;是列表操作符,需要转义(\;)
-ok command {} ; 更安全的exec操作,每次执行命令前都会提示用户是否执行
grep
作用 文本搜索工具
格式 grep [option] [pattern] /xx/xx
示例 grep -i -n "^x" xx.txt
option -i 不区分大小写
-n 显示匹配行号
-v 排除匹配结果
-c 只统计匹配行数
-E 使用egrep命令
-w 只匹配过滤的单词
-o 只显示匹配的内容,不显示整行
--color=auto 过滤结果添加颜色
whereis
作用 定位某个命令使用的二进制文件、源文件、手册文件
格式 whereis [option]
示例 whereis docker
option -b 找二进制文件
-m 找手册文件
-s 找源文件
-f 不显示文件的目录名
-u 找不包含指定类型的文件
-B 指定目录下找二进制文件
-M 指定目录下找手册文件
-S 指定目录下找源文件
which
作用 查找某个命令的位置
格式 which command [args]
示例 which docker
option -n 文件名长度大于num
-p 绝对路径长度大于num
-w 指定输出栏位宽度

进程网络相关指令

nohup
作用 不挂起运行命令(加&则是挂起)
格式 nohup [COMMAND] [ARG] [&]
示例 nohuo java -jar xx.jar &
ps
作用 展示当前进程信息
格式 ps [option]
示例 ps -ef|grep 9090
打印格式 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
STAT D:无法中断的休眠状态(通常IO的进程)
R:正在执行中
S:静止
T:暂停
Z:不存在但暂时无法消除
W:没有足够的记忆体分页可分配
<:高优先序的行程
N:低优先序的行程
option -e|-A 所有进程
-f 全格式显示
-a 除了会话主持进程外的所有进程显示tty
-d 显示除了会话主持进程之外所有进程
-u 有效的用户id或名字
-x 显示没有控制终端的进程
netstat
作用 显示网络连接、路由表和网络接口信息
格式 netstat [option]
示例 netstat -anp|grep docker
打印格式 Proto
Recv-Q
Send-Q
Local Address
Foreign Address
State
PID/Program name
协议
网络接收队列
网络发送队列
内网IP地址
外网IP地址
状态
进程ID和应用程序名
State LISTEN:侦听远程tcp端口连接请求
SYN_SENT:tcp第一次握手等待服务器确认的状态
SYN_RECV:tcp第二次握手服务端等待客户端确认的状态
ESTABLISHED:tcp三次握手成功状态
FIN-WAIT-1:主动关闭端关闭应用端程序,tcp发出FIN请求主动关闭连接后进入的状态
FIN-WAIT-2:主动关闭端接到ACK后进入的状态
CLOSE-WAIT:被动关闭端接到FIN后,发出ACK回应FIN请求后进入的状态
CLOSING:等待远程TCP对连接中断请求的确认
LAST-ACK:被动关闭端一段时间后接收到文件结束符的应用程序调用CLOSE,也发送FIN等待对方的ACK后进入的状态
TIME-WAIT:主动关闭端接收到FIN后,TCP发送ACK包后进入的状态
CLOSED:被动关闭端接收到ACK后进入的状态
option -a 所有连接
-n 显示ip地址而不是域名
-p 显示PID和应用程序名
-r 显示路由表
-i 显示网络接口表
-g 显示多重广播功能群组组员名单
-s 显示网络工作信息统计表
-M 显示伪装的网络连线
-v 显示指令执行过程
-W 显示ip地址且不截断
-N 显示网络硬件外围设备的符号连接名称
-e 显示网络其他相关信息
-o 显示计时器
-c 持续列出网络状态(每隔一秒)
-l 显示所有监控中服务器的socket(一般关注端口)
-F 显示FIB
-C 显示路由器配置的快取信息而不是FIB
-t 显示tcp协议的连线状况
-u 显示udp协议的连线状况
-x 显示unix类型的连线状况,相当于-A unix
--ip 显示inet类型的连线状况,相当于-A inet
-A |--networktype 列出网络类型连线中的相关地址
ip
作用 显示ip信息
格式 ip [options] OBJECT {COMMAND | help}
示例 ip address help
各对象文档照这个命令查看
OBJECT address 设备上的协议(IP/IPv6)地址
maddress 多播地址
link 网络设备
route 路由表
rule 路由规则
option -d 详细信息
-s 输出更详细信息
-r 显示域名而不是ip
-h 人类可读
-j json
-p 格式化显示
-f {inet|inet6|mpls|bridge|link} 强制指定使用协议族
对应命令简写 -4|-6|-M|-B|-0
-l 指定在放弃之前“ ip地址刷新”逻辑将尝试的最大循环数
默认值10,0指的是循环删除到结束
-o 每条记录显示一行
-n[etns] NETNS 将ip切换到指定的网络命名空间NETNS
ip -n NETNS = ip netns exec NETNS ip
-a 对所有对象执行指定指令
-t|-ts [较短格式]显示当前时间
-rc [size] 接收缓冲区大小
-iec 以IEC单位打印人类可读率(例如1Ki = 1024)

工具类指令

tar
作用 解压缩
格式 tar [function] [option] /xxx/xx
示例 压缩:tar -zcvf /xx/xx.tar.gz /xxx
解压缩: tar -zxvpf /xx/xx.tar.gz /xxx
function (-c|--create)|--delete|(-u|--update)|(-t|--list) 增删改查tar文件
删除功能不能用于已保存在磁带上的文件
-x|--extract|--get 解开tar文件
-r|--append 附加新文件到tar文件
-A|--catenate|--concatenate 追加tar文件作为一个整体到另一个tar文件
-d|--diff|--compare 将文件系统里的文件和tar文件里的文件比较
option -v|--verbose 列出每一步处理的文件信息
v: 仅文件名
vv: 权限、文件名等·详细信息
-k|--keep-old-files 不覆盖已有文件
-f|--file 指定要处理的文件名
-P|--absolute-names 绝对路径
-j|--bzip2 使用bizp2解压缩
-J|--xz|--lzma 调用XZ Utils解压缩
-z|--gzip|--gunzip|--unzip 调用gzip解压缩
-Z|--compress|--uncompress 调用compress解压缩
zip|unzip
作用 zip解压缩
格式 zip [option] /xx/xx.zip /xx/xx.txt
示例 压缩: zip -r /xx/xx.zip /xx/xx
解压缩: unzip /xx/xx.zip /xx/xx
option -r 递归处理,即目录下所有目录和文件
-b 指定存放文件的目录
-d 删除压缩内指定文件
-f 更新压缩包文件
-m 压缩并加入压缩文件,后删除原始文件
-q 不显示执行过程
-v 显示执行过程或版本信息
-sf 显示文件
scp
作用 基于ssh协议的远程拷贝
格式 scp [option] /xxx user@ip:/xx/xx
示例 scp -r /xx/xx root@x.x.x.x:/xx/xx
option -r 递归拷贝
-C 复制过程中压缩文件或目录
-P 指定ssh端口
-p 保留文件访问和修改时间
date
作用 时间操作
格式 date [option] [参数]
示例 date -s '2022-10-21 00:00:00'
option 没参数显示系统时间
+%F 显示日期
+%Y|m|d 显示系统年|月|日
+%w 显示星期几
+%z|Z 显示时区
-s|--set [日期] 设置系统时间
hwclock
作用 操作硬件时钟
格式 hwclock [functions] [option]
示例 hwclock --show
functions -r|--show 显示系统硬件时间
--set --date ['08/02/2012 12:00:00'] 设置硬件时间为date指定的时间
-s|--hctosys 同步到系统时间
tzselect
作用 修改时区
格式 tzselect
示例 tzselect, 界面中选择时区
再链接ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
再修改时间配置文件:/etc/sysconfig/clock

磁盘相关指令

df
作用 显示整个磁盘分区的使用情况
格式 df [option] [目录或文件]
示例 df -h /xxx/xxx
option -h 显示空间大小
du
作用 递归查看当前目录的大小(默认kb单位)
格式 du [option] [目录或文件]
示例 du -h /xxx/xxx
option -h 递归显示当前目录空间大小(MB为单位)
-sh [*] 只查看当前目录大小[及包含目录]
--time 递归查看当前目录的大小和时间
mount
作用 挂载系统
格式 mount [option]
示例 mount /dev/sdb /xxx/xx
option -f 模拟挂载过程,用于检错,和-v一起用
-t 指定文件系统的类型,一般不用设置会自动选择
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
-v 显示执行信息
-a 将/etc/fstab定义的所有档案系统挂上
实现开机自动挂载,也可单独编辑/etc/fstab实现
UUID=xxxxx /d /nfts(这里来自第二步) defaults 0 0
-F 为每个挂载设备分叉执行,与-a一起用
用于挂载大量NFS系统时加速
-n 不在/etc/mtab写入挂载资料,因此mount或df无法查看挂载信息
-r|-w 只读|只写
source -L 挂载指定标签的硬盘,相当于LABEL=
-U 挂载指定uuid的系统
-U|-L前提是/proc/partition存在
umount
作用 卸载系统
格式 umount [option] |
示例 umount /dev/sdb
option -f 强制卸载
比如无法访问NFS系统的情况下
-v 显示执行信息
-a 卸载所有系统(/etc/mtab中记录的系统)
-n 不在/etc/mtab写入卸载资料
-l 分离文件系统,稍后清除
-r 无法卸载情况下以只读方式重新挂载
lvdisplay | pvdisplay
作用 显示[逻辑|物理]卷信息
格式 [lvdisplay|pvdisplay] [option] [逻辑卷|物理卷路径]
示例 [lvdisplay|pvdisplay] -m /xxx
option -m 显示映射关系
lvremove | pvremove
作用 删除逻辑卷|物理卷信息
格式 lvremove|pvremove [option] [逻辑卷路径]
示例 lvremove|pvdisplay -f /xxx
option -f 强制删除
--noudevsync(lvremove) 禁用udev同步
-y(pvremove) 所有问题都回yes
lvextend
作用 扩容
格式 lvextend [option] [逻辑卷路径]
示例 lvextend -L +100G /xxx
option -L +N[MGTP] 扩容逻辑卷大小N,单位(MGTP)
-l +num 扩容逻辑盘区数
--noudevsync 禁用udev同步
-f 扩容不提示
-r 使用fsadm调整与逻辑卷相关的文件系统
-n 扩展前不要执行fsck
xfs_growfs
作用 扩展xfs文件系统
格式 xfs_growfs [option] [挂载点]
示例 xfs_growfs /xxx/xx
option -L [size] 指定日志区域大小
-D [size] 指定扩展文件系统数据部分的大小
-d 将文件系统数据部分扩展到底层设备最大的大小
-m 指定文件系统中可分配为inode的最大空间百分比新值

全栈技术分享,API文档动态更新,技术点简明易懂,快速入门
有帮助的话点个赞吧,感兴趣的关注加书签获得更多文档,方便随时查阅,有问题欢迎留言讨论

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【linux】常用shell指令 [不断补充中...] 的相关文章

  • 不同GIT版本的GIT合并结果不同

    在不同的 GIT 版本上运行 merge 命令我们得到不同的结果 命令是 git merge no ff origin master codeline Results 版本2 1 4 gt 合并成功 版本1 7 1 gt 同一提交上的同一合
  • 将用户添加到组但运行“id”时未反映

    R 创建了一个名为 Staff 的组 我希望能够在不以 sudo 身份启动 R 的情况下更新软件包 所以我使用以下方法将自己添加到员工中 sudo usermod G adm dialout cdrom plugdev lpadmin ad
  • 类似 wget 的 BitTorrent 客户端或库? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 是否有任何
  • 在 Linux 2.6.21 (glibc 2.3.5) 上进行 ARP 和反向 ARP

    我需要在任意 IP 网络上存储对第三方设备的持久引用 其中设备的 IP 地址可能是静态的或由 DHCP 随机分配 我不控制网络上的设备 也不能依赖 DNS 和其他现有的或与设备一起使用的临时网络协议 所以我被指示使用硬件地址和 ARP 进行
  • Linux:通过网络进行屏幕桌面视频捕获和 VNC 帧速率

    抱歉 文字墙很长 TL DR VNC 连接的帧速率是多少 以帧 秒为单位 或者更确切地说 由谁决定 客户端还是服务器 对于桌面屏幕捕获的任何其他建议 但 正确的时间编码 具有不抖动的帧速率 具有稳定的周期 并有可能将其作为未压缩 或无损 图
  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • Linux shell 命令逐块读取/打印文件

    是否有一个标准的 Linux 命令可以用来逐块读取文件 例如 我有一个大小为 6kB 的文件 我想读取 打印第一个 1kB 然后是第二个 1kB 看来猫 头 尾在这种情况下不起作用 非常感谢 你可以这样做read n在循环中 while r
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • 在Linux伪终端中执行从一个终端发送到另一个终端的字符串

    假设我有一个终端 其中 tty 的输出是 dev pts 2 我想从另一个终端向第一个终端发送命令并执行它 使用 echo ls gt dev pts 2 仅在第一个终端中打印 ls 有没有办法执行字符串 不 终端不执行命令 它们只是数据的
  • Linux下的C#,Process.Start()异常“没有这样的文件或目录”

    我在使用 Process 类调用程序来启动程序时遇到问题 可执行文件的层次结构位于 bin 目录下 而当前工作目录需要位于 lib 目录下 project bin a out this is what I need to call lib
  • Nasm 打印到下一行

    我用 nasm Assembly 编写了以下程序 section text global start start Input variables mov edx inLen mov ecx inMsg mov ebx 1 mov eax 4
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 为什么使用Python的os模块方法而不是直接执行shell命令?

    我试图了解使用Python的库函数执行特定于操作系统的任务 例如创建文件 目录 更改文件属性等 背后的动机是什么 而不是仅仅通过执行这些命令os system or subprocess call 例如 我为什么要使用os chmod而不是
  • Linux TCP服务器:在接受连接之前读取客户端的IP地址

    Related C Winsock API如何在接受连接之前获取连接客户端IP https stackoverflow com questions 716209 c winsock api how to get connecting cli
  • Docker DNS 设置

    我尝试使用自定义网络和 dos 设置创建 docker 容器 docker网络创建 driver bridge opt com docker network bridge enable ip masquerade true opt com
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • 远程linux服务器到远程linux服务器大型稀疏文件复制 - 如何?

    我有两台 CentOS 5 4 服务器 每台服务器上都安装了 VMware Server 假设我始终对 vmware 虚拟机使用稀疏文件 将虚拟机文件从一台服务器复制到另一台服务器的最可靠 最快速的方法是什么 虚拟机的文件复制起来很痛苦 因
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手

随机推荐