day02 - Linux高级命令
1. echo 和 重定向
a. echo $? 显示上一次命令或程序的执行状态码
b. echo $PATH 显示系统环境变量 PATH
a. > 输出重定向, 用来将输出到屏幕的数据,重定向到一个指定位置(一般是指定一个文件)
不管指定的文件是否存在,都会创建新文件保存数据
>> 输出重定向,区别使用 >> 是追加数据
2. 查看文件内容 和 管道
a. cat 查看小型文件, 可以同时查看多个文件,显示效果是将多个文件依次显示
b. more 是查看大型文件,特点是可以分屏显示,可以前后翻页
空格 和 f 向下翻一屏
b 向上翻一屏
回车 向下翻一行
q 退出查看状态
c. 管道 |
将 管道 左边命令的输出结果 做为 管道右边命令的输入
d. 应用: cat 和重定向配合可以实现文件的拼接
命令 和 管道 和 more 组合,可以实现命令输出结果的分屏显示
3. 软链接(掌握)
a. 软链接文件,无论对哪个文件进行操作,都会影响另外一个文件
b. 当原文件删除或移动或改名后,那么链接文件会失效,链接文件会变成红色,如果将这个文件名恢复,那么连接也会恢复
c. 当创建软链接文件时,为了避免文件移动后链接失效,源文件需要使用绝对路径指定
d. 可以对目录做软链接
4. 硬链接
a. 硬链接 只能链接文件
b. 硬连接不受路径影响
c. 硬连接会保持数据同步
d. 硬连接会改文件属性信息中的连接数据
e. 不允许对目录做硬连接
f. 目录的文件信息中的连接数表示 当前目录下包含多少子目录
5. 文本搜索
格式:
grep 选项 '要查找的内容' 被查找的文件
命令选项 说明
-i 忽略大小写
-n 显示匹配行号
-v 显示不包含匹配文本的所有行
grep 搜索时,可以使用正则来查找字符
正则表达式 说明
^ 以指定字符串开头 eg: '^xxx'
$ 以指定字符串结尾 eg: 'xxx$'
. 匹配一个非换行符的字符 eg: 'xxx.xxx'
6. 查找文件
格式:
find 查找路径 -name 被查找的文件
在查找时,查找的范围包含指定目录及指定目录下的子目录
* 表示任意个字符
? 表示一个任意字符
7. 压缩和打包
tar 命令可以将多个文件进行打包或解包
注意: 打包时是不会进行压缩文件的
使用选项时, f 选项一定在所有选项的最右侧, 后面跟的是包名
为了在打包时可以进行压缩,tar 集成了两个选项, z 和 j,用来在打包的同时对包文件进行实现压缩
z -> gzip 工具, 压缩格式是 .gz
j -> bzip2 工具, 压缩格式是 .bz2
固定格式(必须掌握):
tar -zcvf xxx.tar.gz 被压缩文件
tar -zxvf xxx.tar.gz -C 指定解压缩目录
tar jcvf xxx.tar.bz2 被压缩文件
tar jxvf xxx.tar.bz2 -C 指定解压缩目录
8. 文件权限
- rwx r-x r-x
文件类型 文件所有者权限 文件所有者所属组用户权限 其它用户权限
user group other
a -> all
r read 读取权限
w write 写入权限
x execute 执行权限
- 占位符 无权限
r w x -
4 2 1 0
2**2 2**1 2**0
7 -> rwx
2 -> -w-
5 -> r-x
文件和目录的默认权限
文件默认权限 : 755
目录默认权限 : 775
对于目录来说,r 可以查看目录的内容
w 可以在目录中创建和删除文件
x 可以进入目录
9. 管理员权限
- sudo命令的使用
命令 | 说明 |
---|---|
sudo -s | 切换到root用户,获取管理员权限 |
sudo | 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo |
sudo -s效果图:
sudo 命令效果图:
说明:
- 如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。
- 如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。
- whoami命令的使用
命令 | 说明 |
---|---|
whoami | 查看当前用户 |
whoami 命令效果图:
3. exit命令的使用
命令 | 说明 |
---|---|
exit | 退出登录用户 |
说明: |
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
- 如果是终端界面,退出当前终端。
- who命令的使用
命令 说明
who 查看所有的登录用户
who 命令的效果图:
who命令
- passwd命令的使用
|命令| 说明|
|--|--|
|passwd |修改用户密码,不指定用户默认修改当前登录用户密码|
命令的效果图:
-
which命令的使用
|命令 |说明|
|--|--|
|which| 查看命令位置|
-
关机和重启命令的使用
命令 | 说明 |
---|---|
shutdown –h now | 立刻关机 |
reboot | 重启 |
- 小结
- sudo 是临时获取管理员权限
- sudo -s 是切换到管理员用户,一直使用管理员权限,需要谨慎操作。
- exit 是退出当前用户
- passwd 默认修改当前用户密码
10. 用户操作
- 创建用户
命令 | 说明 |
---|---|
useradd | 创建(添加)用户 |
useradd命令选项:
选项 | 说明 |
---|---|
-m | 自动创建用户主目录,主目录的名字就是用户名 |
-g | 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 |
创建用户效果图:
查看所有用户信息的文件效果图:
说明:
- useradd 命令的使用需要使用管理员权限,前面需要加上 sudo
- 创建用户如果不指定用户组,默认会自动创建一个同名的用户组
- 查看用户是否创建成功,可以查看/etc/passwd这个文件
- 查看用户组是否创建成功,可以查看/etc/group这个文件
passwd文件中的每项信息说明,以root❌0:0:root:/root:/bin/bash为例:
- 第一个:用户名
- 第二个:密码占位符
- 第三个:uid, 用户id
- 第四个:gid, 用户所在组id
- 第五个:用户描述, 可选,
- 第六个:用户的主目录所在位置
- 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型
group文件中的每项信息说明, 以laowang❌1001:为例:
- 第一个:用户组名
- 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
- 第三个:组id
- id命令查看用户信息:
命令 | 说明 |
---|---|
id | 查看用户信息 |
id命令效果图: id命令
每项信息说明:
uid=1001(laowang) gid=1001(laowang) 组=1001(laowang)
- 第一个: uid 表示用户id
- 第二个: gid 表示用户组id
- 第三个: 组 表示用户所在的用户组
-
设置密码
给其它用户设置密码,需要使用: sudo passwd 用户名
设置密码效果图: useradd命令
-
切换用户
|命令| 说明|
|--|--|
|su |切换用户|
语法格式: su - 用户名
切换用户效果图:
在laowang用户使用sudo -s效果图:
- 删除用户
命令 | 说明 |
---|---|
userdel | 删除用户 |
userdel命令选项:
选项 说明
-r 用户名 删除用户主目录,必须要设置,否则用户主目录不会删除
删除用户效果图:
userdel命令
id查看用户信息效果图:
查看group文件信息效果图:
说明:
- 删除用户,默认同名的用户组也会被删除
- 小结
- 创建用户命令格式: sudo useradd -m 用户名, 默认会创建一个同名的用户组。
- 查看用户信息使用 id 命令或者 /etc/passwd文件
- 给用户设置密码使用 sudo passwd 用户名
- 切换用户使用 su - 用户名
- 删除用户使用 sudo userdel -r 用户名,默认会删除同名的用户组。
11. 用户组操作
- 创建用户组
命令 | 说明 |
---|---|
groupadd | 创建(添加)用户组 |
创建用户组效果图:
-
创建用户并指定用户组
创建用户并指定用户组效果图:
-
删除用户组
命令 | 说明 |
---|---|
groupdel | 删除用户组 |
删除用户组效果图:
说明:
- 如果用户组下面有用户先删除用户在删除用户组
- 小结
- 创建用户组使用: sudo groupadd 用户组名
- 创建用户并指定用户组使用: sudo useradd -m -g 用户组 用户名
- 删除用户组使用: sudo groupdel 用户组名
- 查看用户组信息使用 /etc/group文件
12. 远程操作ssh 和 scp
- 远程登录、远程拷贝命令的介绍
命令 | 说明 |
---|---|
ssh | 远程登录 |
- ssh命令的使用
ssh是专门为远程登录提供的一个安全性协议,常用于远程登录,想要使用ssh服务,需要安装相应的服务端和客户端软件,当软件安装成功以后就可以使用ssh命令了,以后可以通过远程登录之间操作远程的服务器。
远程登录效果图:
软件安装步骤:
假如Ubuntu作为服务端,需要安装ssh服务端软件. 执行命令: sudo apt-get install openssh-server
客户端电脑如果是 macOS 系统则不需要安装 ssh 客户端软件,默认已经安装过了,直接可以使用 ssh 命令
客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件
ssh命令格式:
ssh 用户名@ip地址
ssh命令效果图:
说明:
在一台电脑上可以安装安装ssh客户端和ssh服务端软件
在Ubuntu安装ssh客户端命令: sudo apt-get install openssh-client
3. FileZilla软件的使用
FileZilla 是一个免费开源的FTP软件, 使用可视化方式进行上传和下载文件。以后可以通过 FileZilla 来代替 scp 命令
- 小结
- ssh命令是远程登录主机电脑,相当于直接操作的是远程电脑。
- 大量的文件上传和下载可以通过可视化工具FileZilla来完成。
13. vim
-
vim 的介绍
vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。 -
vim 的工作模式
- 命令模式
- 编辑模式
- 末行模式
说明:
- vim 打开文件进入的是命令模式
工作模式效果图:
注意点:
- 编辑模式和末行模式之间不能直接进行切换,都需要通过命令模式来完成。
- vim 的末行模式命令
- :w 保存
- :wq 保存退出
- :x 保存退出
- :q! 强制退出
- vim 的常用命令
命令 | 说明 |
---|---|
yy | 复制光标所在行 |
p | 粘贴 |
dd | 删除/剪切当前行 |
u | 撤销 |
: | /搜索的内容 搜索指定内容 |
G | 回到最后一行 |
gg | 回到第一行 |
数字+G | 回到指定行 |
常用命令扩展|
命令 | 说明 |
---|---|
>> | 往右缩进 |
<< | 往左缩进 |
:%s/要替换的内容/替换后的内容/g | 全局替换 |
:开始行数,结束行数s/要替换的内容/替换后的内容 | 局部替换 |
. | 重复上一次命令操作 |
shift+6 | 回到当前行的行首 |
shift+4 | 回到当前行的行末 |
ctr+f | 下一屏 |
ctr+b | 上一屏 |
V | 按行选中 |
ctr+r | 反撤销 |
- 小结
- vim 是一款功能强大的命令文本编辑器,可以对远程服务器的代码直接进行修改,这样操作起来更加快速和方便。
14. 软件安装与卸载
- 软件安装的介绍
Ubuntu软件安装有两种方式:
- 离线安装(deb文件格式安装)
- 在线安装(apt-get方式安装)
- deb文件格式安装
是 Ubuntu 的安装包格式,可以使用 dpkg 命令进行软件的安装和卸载。
命令 | 说明 |
---|---|
dpkg | 安装和卸载deb安装包 |
dpkg命令选项:
选项 | 说明 |
---|---|
-i | 离线安装deb安装包 |
dpkg命令效果图:
- apt-get方式安装
是在线安装deb软件包的命令,主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件。
在线安装软件命令格式:
- sudo apt–get install 安装包 , 表示在线安装deb安装包
- 更改镜像源
因为使用 apt-get 命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。
镜像源说明:
镜像源就是下载软件来源的服务器。
镜像源效果图:
更改镜像源的方式:
- 可视化方式更改镜像源
- 手动方式更改镜像源
可视化方式更改镜像源:
手动方式更改镜像源:
说明:
- 手动修改镜像源,配置完成以后需要执行 sudo apt-get update 这个命令,更新镜像源保证可以下载最新的软件。
- 使用apt-get方式安装软件一定要联网
- 小结
- Ubuntu 操作系统安装软件有两种方式:
- sudo dpkg -i 安装包 命令
- sudo apt-get install 安装包 命令卸载
- 使用 apt-get 命令也就是在线安装需要更改镜像源,提高下载和安装速度。
- 软件卸载的介绍
Ubuntu软件卸载有两种方式:
- 离线安装包的卸载(deb 文件格式卸载)
- 在线安装包的卸载(apt-get 方式卸载)
- deb 文件格式卸载
命令格式:
sudo dpkg –r 安装包名
-r 选项表示安装的卸载
dpkg 卸载效果图:
- apt-get 方式卸载
命令格式:
- sudo apt-get remove 安装包名
apt-get命令
小结
- Ubuntu 操作系统卸载软件有两种方式:
- dpkg -r 安装包 命令
- apt-get remove 安装包 命令卸载
本文来自博客园,作者:李好秀,转载请注明原文链接:https://www.cnblogs.com/lehoso/p/17066561.html