重定向也称为输出重定向,将在终端执行命令的结果保存到目标文件。只要在终端能显示信息的命令都可以使用重定向,如: tree,cat 1.txt。重定向所需的存储文件若不存在会自动创建。
命令 | 说明 |
---|---|
> | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
>> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
【cat 文件】:查看小型文件
cat命令结合重定向可以完成多个文件的合并
e.g cat 1.txt 2.txt > 3.txt
将文件1、2的内容合并重定向到文件3
【more 文件】:分屏查看大型文件
当查看内容信息过长无法在一屏上显示时,可以使用 more 命令在终端分配显示文件内容。
操作键说明:
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一屏信息 |
q | 退出 |
管道(|)将一个命令的输出通过管道做为另一个命令的输入,管道可以临时存储终端结果。
管道(|)一般结合 more 命令使用,主要是分屏查看终端显示内容,但无法查看上一页。
e.g ls / | more,在不新建文件的情况下分屏显示内容
软链接类似于Windows下的桌面快捷方式,当一个源文件的目录层级比较深,想要方便使用它,可以给源文件创建一个软链接,从而方便文件的快速访问。
【ln -s 文件 软链接】:文件创建软链接
【ln -s 目录 软链接】:目录创建软链接
注意:
类似于源文件的一个别名,两个名字指向的是同一个文件数据,且硬链接和源文件保持数据同步,任何一个改变另一个一起改变。可以给重要文件创建硬链接,从而防止文件数据被误删。
【ln 文件 硬链接】:创建硬链接
注意:(硬链接数就是文件数据被文件名使用的次数, 好比引用计数)
【grep 内容 文件】:在文件中搜索指定内容,输出含有指定内容的行
grep命令选项:
命令选项 | 说明 |
---|---|
-i | 忽略大小写 |
-n | 显示匹配行号 |
-v | 显示不包含匹配文本的所有行 |
结合正则表达式的使用:
正则表达式 | 说明 |
---|---|
^ | 以指定字符串开头 |
$ | 以指定字符串结尾 |
. | 匹配一个非换行符的字符 |
【find 目录 -name “文件名”】:根据文件名(目录名)在指定目录下查找文件,子目录内文件也能找到
结合通配符的使用:
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件
通配符 | 说明 |
---|---|
* | 代表0个或多个任意字符 |
? | 代表任意一个字符 |
通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 如: ls、mv、cp 等。只有find命令使用通配符需要加上引号。
Linux默认支持的压缩格式:
选项 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或者解包的详细文件信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
【zip 压缩包.zip 目录】:将目录/文件压缩成zip压缩包
【unzip 压缩包.zip】:解压zip压缩包到当前目录
【unzip 压缩包.zip -d 目录】:解压zip压缩包到指定目录
chmod修改文件权限有两种方式:
【chmod 角色 操作 权限 文件】:设置文件权限
e.g
chmod u+x 1.txt 对文件所有者增加执行权限
chmod g=rw 1.txt 对用户组设置权限
chmod u=r,g=-,i=rw 1.txt 同时设置多个角色的权限,逗号隔开无空格
角色说明:
角色 | 说明 |
---|---|
u | user, 表示该文件的所有者 |
g | group, 表示用户组 |
o | other, 表示其他用户 |
a | all, 表示所有用户 |
权限设置说明:
操作符 | 说明 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设置权限 |
权限说明:
权限 | 说明 |
---|---|
r | 可读 |
w | 可写 |
x | 可执行 |
- | 无任何权限 |
【./文件】:执行文件,e.g./info.py
在执行的代码第一行需声明此代码使用的解释器存放地址,解释器存放地址可以通过which命令查找
数字法就是“rwx” 这些权限也可以用数字计算值来代替
e.g chmod 664 1.txt 对应权限rw-rw-r–
权限说明:
权限 | 说明 |
---|---|
r | 可读,权限值是4 |
w | 可写,权限值是2 |
x | 可执行,权限值是1 |
- | 无任何权限,权限值是0 |
【sudo -s】:切换到root用户,获取管理员权限
【sudo 命令】:某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo
【whoami】:查看当前用户
【exit】
【who】:查看所有的登录用户
【passwd】:修改用户密码,不指定用户默认修改当前登录用户密码
【passwd 用户名】:修改指定用户密码
【which 命令】:查看命令存储位置
【shutdown –h now】:立即关机
【reboot】:重启
【groupadd 用户组】:创建用户组
【cat /etc/group】:查看/etc/group这个文件中的用户组信息,确认用户组是否创建成功
【sudo usermod -g 用户组 用户名】:修改用户组
usermod选项:
命令 | 说明 |
---|---|
-G | 设置一个附加组 |
-g | 修改用户组 |
【groupdel 用户组】:删除用户组,当用户组下有用户时,需要先删除用户再删除用户组
【useradd -m 用户名】:创建用户,默认同时创建一个同名的用户组
【useradd -mg 用户组 用户名】:创建用户并指定用户组
useradd命令选项:
选项 | 说明 |
---|---|
-m | 自动创建用户主目录,主目录的名字就是用户名 |
-g | 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 |
【cat /etc/passwd】:查看/etc/passwd文件中所有用户信息,确认用户是否创建成功,新建用户信息在文件末尾
【passwd】:给当前用户设置密码
【passwd 用户名】:给指定用户设置密码
【su - 用户名】:切换指定用户
【sudo -s】:切换到root用户,获取管理员权限。如果当前用户不在sudo用户组里,则报错不能切换到管理员用户
centos解决办法:【vim /etc/sudoers】修改sudoers文件,在root ALL=(ALL) ALL下一行添加用户名 ALL=(ALL) ALL。注意退出时需要强制保存退出(:wq!),切换回该用户就可以使用sudo命令了。
【userdel -r 用户名】:删除用户,默认同名的用户组也会被删除。-r选项必须,删除用户主目录。
vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。
命令 | 说明 |
---|---|
yy | 复制光标所在行 |
p | 粘贴一次,5p粘贴5次 |
dd | 删除/剪切当前行 |
V | 按行选中,可复制多行;光标首行V+G,实现全选 |
u | 撤销 |
ctr+r | 反撤销 |
>> | 往右缩进 |
<< | 往左缩进 |
. | 重复上一次命令操作 |
G | 回到最后一行 |
gg | 回到第一行 |
数字+G | 回到指定行 |
shift+6 | 回到当前行的行首 |
shift+4 | 回到当前行的行末 |
ctlr+f | 下一屏 |
ctlr+b | 上一屏 |
:/搜索的内容 | 搜索指定内容(看下一个n,看上一个shft+n) |
:%s/替换的内容/替换后的内容/g | 全局替换 |
:开始行数,结束行数s/替换的内容/替换后的内容 | 局部替换 |