数据流和重定向
标准输入stdin (standard input):从键盘获取的输入。
代码0
标准正确输出stdout(standard output):命令执行后的正确信息会输出到屏幕上,
代码1
标准错误输出stderr(standard error output): 命令执行失败后的错误信息会输出到屏幕上,
代码2
重定向操作符
输出重定向操作符
>输出重定向符;>>追加输出重定符
输入重定符操作符
<输入重定向符,<<输入的终止结束符
echo [字符串] [$变量]
Pwd | tee filenaeme1
插入模式中:
a 光标后插入
A 行尾插入
o 光标所在下一行插入
O 光标所在上一行插入
i 光标前插入
I 行首插入
s 删除光标所在位置的字符并进入插入模式
S 删除当前行并进入插入模式
命令模式中:
d 删除
dd 删除当前行
dgg 删除光标到文档首
dG 删除光标到文档尾部
d$ 删除光标到行尾,包括光标所在位置字符
d^ 删除光标到行首,不包括光标所在位置的字符
dw 按单词删除
gg 跳转到文档首部行首
G 跳转到文档尾部行首
u 撤销之前的操作
Ctrl+r 重做
行号G 跳转到指定行
x 删除光标所在位置的内容
yy 复制光标所在行
行数yy 复制从光标处开始的n行
p 将刚刚复制的内容粘贴到光标所在行的下一行
cc 剪切当前行
行数cc 剪切当前行开始的几行
H 跳转到当前屏幕输出的最上面一行
L 跳转到当前屏幕输出的最下面一行
M 跳转到当前屏幕输出的中间那一行
$ 光标跳转至行尾
^ 光标跳转至行首
w 按单词进行移动光标
r 替换光标所HH在的字符
h 往左按字符移动光标
j 往下(后)按行移动光标
k 往上(前)按行移动光标
l 往右按字符移动光标
末行模式:
:w 保存
:w filename 将文件另存为filename
:q 退出
:wq 保存退出
:q! 强制保存不退出
:set nu 显示行号
:set nonu 不显示行号
:行号 跳转到指定行
:%s/被替换内容/替换后的内容 如果全局替换就在最后加个/g
例如 :%s/d/D/g
:%s/被替换内容//
删除被替换内容的意思
/ 查找字符串
n 下一个关键字
N 上一个关键字
:%s/要替换的内容/替换的内容/g
Whereis 参数 命令名称
-m 只查找说明文件
-b 只查找二进制文件
-s 只查找源代码文件
find 路径 匹配表达式
-name 文件名(*,?)
-type 文件类型 (f普通文件、d目录文件、l链接文件)。
-size 文件大小 +1M -1M c(字节) w(字数)b(块数) K M G
-user 文件的所有者
-group 文件的所属组
-atime n分钟 查找n分钟内被访问的文件
-ctime n 分钟
-mtime n小时
-mmin n分钟
-exec …… {} \;
locate 选项 要查找的内容
grep:用于查找文件里面的字符串或者正则表达式
grep 选项 字符串 文件的路径
-n 查找到字符串所在行
-c 查找到字符串拥有的行数
-l 只打印匹配到文件名
-v 反向查找
-r 递归查找。
grep hello文件名
grep -c hello 文件名
grep ^[h] 文件
grep ^[gf] 文件
grep ^[^gf] 文件
grep ^[0-9] 文件
grep ^$ 文件
grep ^[^^$] 文件
grep -v ^$ 文件
grep r 文件
grep hello f*
grep hello *1
cat (concatenate):显示文件内容。
语法格式:cat 选项 文件
-n:由1开始对所有输出的行数编号
-b:由1开始对所有输出的行数编号,空白行不编号
head 可用于查看文件的开头部分的内容,默认显示前十行。
语法格式:head 参数 文件
-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数。
-n<行数> 显示的行数。
tail
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
语法格式:tail 参数 文件
more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
more 文件名
cut命令用于按列提取文本内容,
语法为:`cut [选项] 文件名称`
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
- b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
- -c :以字符为单位进行分割。
- -d :自定义分隔符,默认为制表符。
- -f :与-d一起使用,指定显示哪个区域。
- -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
Sort 对文本内容进行排序显示
语法格式:sort 选项 文件名称
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 依照数值的大小排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 |
tr 要替换的内容 替换的内容 文件
wc 统计文本文件的行数、字数、字节数。
wc 选项 文件名称
-l 只显示行数
-c 只显示字节数
-w 只显示单词数
.zip
zip 压缩后的文件名 要压缩的文件
.rar
.7z
.bz2
.xz
.tar
.gz
.tar.gz
.tar.bz2
tar 选项 包名(压缩文件) 文件名
文件传送格式
scp -r 当前主机文件 目标主机的对应路径
scp -r f1 root@192.168.197.128:/
文件接收格式
scp 目标主机路径的文件 接收到当前主机路径
scp root@192.168.197.129:/root/file1 /
;分割多条命令
alias 别名=‘原命令 选项’
rm=’rm -I
history
-c 清空当前的历史记录
-a 文件名
-r 文件名
-w
Useradd
-u uid
-g gid
-G 指定附加组
-c “注释信息”,
-d 指定某个目录为用户的家目录
-s 指定用户使用的shell
Passwd 用户名
-n 指定密码最短使用权限
-x 指定密码最长使用权限
-w 制定警告时间
-d 删除用户密码。
useradd 选项 用户名
usermod 选项 用户名
-l 新用户名
-L
-U 解锁用户账户
Userdel 用户名
-r
groupadd
groupmod
groupdel 组名
文字设定法
+ - =
Chmod 对象 符号(+ - =)权限(r w x) 文件名
数字设定法
- 没有权限 0
x 执行权限 1
w 修改权限 2
r 读取权限 4
ugo
063
367
777
格式:chmod n1n2n3 文件名称
N1 : 所有者的权限
N2 : 所属组的权限
N3 : 其他人的权限
Chmod 367 f1
特殊权限
SUID
作用:是为了让一般用户执行某些程序的时候,在程序运行的期间,暂时获得该程序文件的所属者的权限。
SGID
文件:如果SGID设置在二进制文件上面,则不论用户是谁,都可以在执行该程序的时候程序的所属组将变成该文件的所属组。
目录:如果SGID设置A目录上,则在该目录内创建的文件或者目录的所属组会变成A目录的所属组。
Sticky Bit
SBit 只针对目录有效,在具有SBit权限的目录下,如果该用户在该目录下拥有wx权限,则当用户在该目录下创建文件或者目录的时候,只有文件拥有者和root用户才有权限去删除里面的东西。