移动和复制(cp)
cp
mp 选项 源文件 目标文件/路径
mv 选项 源文件 目标文件
man cp
cp -r 源目录文件 目标文件/路径
cp - p 在复制的同时让两个文本文件的属性信息保持一致
- f :强制覆盖(不提示)
- d :拷贝时保留链接
例: cp 2.txt/
注意:如果复制到的路径不存在会自动将复制过去的文件名修改为目标路径
移动
移动: mv
格式: mv 源文件目标文件
特点:无论是文本文件还是目录文件都不用加- r
ctrl 的快捷方式:
ctrl + a 跳到命令行行首
ctrl + e 跳到命令行行尾
ctrl + d 删除光标后的一个位置
ctrl + u 删除光标前的全部
ctrl + k 删除光标后的全部(光标在行中)
ctrl +左右方向键:光标移至最左或最右
数据流和重定向
标准输入stdin (standard input):从键盘获取的输入。
代码0
标准正确输出stdout(standard output):命令执行后的正确信息会输出到屏幕上,
代码1
标准错误输出stderr(standard error output): 命令执行失败后的错误信息会输出到屏幕上,
代码2
重定向操作符
输出重定向操作符
>输出重定向符;>>追加输出重定符
输入重定符操作符
<输入重定向符,<<输入的终止结束符
echo [字符串] [$变量]
重定向操作符:
输出重定向操作符
操作符:只是符号不是命令输出重定向操作符:命令>需输入的文件
:'>'输出重定向符:将提示信息输出到>所指向的文件(后者覆盖前者):'>>'追加输出重定向符:将提示信息输出到>>所指向的文件(后者不覆盖前者)'<'输入重定向符:<<:输入终止结束符 cat <<.:表示打印从键盘输入的信息,以.结束输入并打印。
echo [字符串][$变量]
echo :将信息打印在文件中 echo [要打印的信息:字符串]【变量名】>文件
cat 文件名:查看文件
EDF :结束终止符
tee
| 管道符
命令 管道符 tee 文件
tee :' l '管道符连接多个命令
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 只查找源代码文件
Which (基于环境变量进行寻找 可执行文件)
文件;查找命令的命令
updatedb :将当前创建的文件导入数据库
find :按照文件名、时间、大小、权限、类型、所属者、所属组来搜索文件
-name 文件名(*,?):搜索到对用名称文件并且打印
-iname :搜索到对用名称文件不区分带小写并且打印
-path:可以对目录名+文件名进行查找
-perm:匹配对应的权限的文件
-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 …… {} \;
- type :基于类型进行匹配
type - d :文本文件
type - f :目录文件
type - l :链接文件
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<行数> 显示的行数。
- n num 指定需要显示文件 num 行的内容- c num 指定需要显示文件 num 字符的内容- b num 指定需要显示文件 num 字节的内容
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 选项 文件名称
uniq 报告或省略重复的行
tr 替换文件中的字符
tr 选项 -c 反选设定字符
-d 删除字符
-s 缩减连续重复的字符、成指定单个字符
wc 统计文本文件的换行符、单词和字节数
-l行数 -w 字数 -c字节数。
wc 选项 文件名称
-l 只显示行数
-c 只显示字节数
-w 只显示单词数
.zip
zip 压缩后的文件名 要压缩的文件
.rar
.7z
.bz2
.xz
.tar
.gz
.tar.gz
.tar.bz2
tar 选项 包名(压缩文件) 文件名
可选项- c 创建. tar 格式的包文件- x 释放. tar 格式的包文件- t 查看包中的文件列表- v 显示详细信息必选项- f 用于指定打包文件名当于﹣ c 一起使用时创建的 tar 包文件使用该选项指定的文件名当于﹣ x 一起使用时则释放该选项指定 tar 包文件
文件传送格式
scp -r 当前主机文件 目标主机的对应路径
scp -r f1 root@192.168.197.128:/
文件接收格式
scp 目标主机路径的文件 接收到当前主机路径
scp root@192.168.197.129:/root/file1 /
;分割多条命令
scp -r 文件名 root@192.xx.x..xxx.x:/路径(两台设备之间传文件)
单引号为强引用:内容原样输出双引号为弱引用:调用内容、
命令解释器1.内置命令:有 shell 程序自带的命令2.外部命令:有独立的可执行程序文件,文件名即命令名,实在文件系统的某个目录下,有个与命名名称相同的文件
起别名(快捷)
alias 别名='原命令选项'
例如: alias haha =' ls -1'
删除别名: unalias +别名
history :查看命令的历史记录
- c 清空当前的历史纪录
- r 文件名:将历史命令加入到缓冲命令中
- a 文件名:缓冲区的历史记录
- w 将缓冲区清空
!!执行上一条指令
!-2:执行倒数第二条指令
etc 下的 shadow 密码文件
/ etc / shadow (用户密码文件)
登录名:加密口令(密码;加密算法:MD5($1), SHA -512($5), SHA -256($6),不能登录($*),密码被锁定(!)):最后一次修改时间(天数):0(最小时间间隔:密码在多少天内不能被修改):99999(最大时间间隔:密码在多少天后必须被修改):7(警告时间:提前七天提示更改密码,0:不提供警告):(不活动时间):(失效时间):
/ etc / group (用户组帐号文件)组名: x (组的加密口令): GID (区分不同组的 ID ):
useradd 创建用户 useradd 选项用户名
- u uid :指定 uid - g gid :指定 gid (基本组)
- G :指定附加组
﹣ c "注释信息":指定用户的注释信息
- d :指定某个目录为用户的家目录
- s :指定用户使用的 shell
passwd 设置密码 passwd 选项用户设置
密码- n :指定密码最短使用权限
- x :指定密码最长使用权限
- w :指定警告时间
- d :删除用户密码
删除用户
usermod 修改用户信息
usermod 修改用户信息
- u :更改用户的 UID
- g :更改用户的 GID 组 ID (确保基本组已存在)- c :加注释-1:更改用户名
- L :锁定用户账户,锁定之后无法登录
- U :解锁用户账号
userdel +用户名:删除用户 userdel 选项用户名
- r :删除用户的家目录与邮箱或者进入/ var / spool / mail /使用 rm - rf 删除文件
groupadd 添加组 groupadd 选项组名
- g :指定新用户组的组 ID
groupdel 组名(删除组)
groupmod 设置组
- g :设置新组 ID
- n :设置新组名 shadow 用户名:$加密方法
$盐值Salt值 $密文
文字设定法
+ - =
Chmod 对象 符号(+ - =)权限(r w x) 文件名
数字设定法
- 没有权限 0
x 执行权限 1
w 修改权限 2
r 读取权限 4
ugo
063
367
777
格式:chmod n1n2n3 文件名称
N1 : 所属者的权限
N2 : 所属组的权限
N3 : 其他人的权限
Chmod 367 f1
特殊权限
SUID
作用:是为了让一般用户执行某些程序的时候,在程序运行的期间,暂时获得该程序文件的所属者的权限。
Chmod u+s 文件名称
Chmod 0777 文件 去掉该文件的suid权限
Chmod 4777 文件 增加该文件的suid权限
SGID
文件:如果SGID设置在二进制文件上面,则不论用户是谁,都可以在执行该程序的时候程序的所属组将变成该文件的所属组。
目录:如果SGID设置A目录上,则在该目录内创建的文件或者目录的所属组会变成A目录的所属组。
Chmod 0777 文件 去掉该文件的sgid权限
Chmod 2777 文件 增加该文件的sgid权限
Chgrp (change group)
Sticky Bit t
SBit 只针对目录有效,在具有SBit权限的目录下,如果该用户在该目录下拥有wx权限,则当用户在该目录下创建文件或者目录的时候,只有文件拥有者和root用户才有权限去删除里面的东西。
Chmod 0777 文件 去掉该文件的sbit权限
Chmod 1777 文件 增加该文件的sbit权限
拓展权限
ACL:给指定的用户分配指定的权限。