Linux教程

Linux 3.Linux终端命令2

本文主要是介绍Linux 3.Linux终端命令2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

常用指令

数据流、管道

​ 输入流:从键盘或文件中读取内容到内存中

​ 输出流:从计算机内存中把数据写入到文件或显示到显示器

​ 重定向:改变数据流和原来的默认走向

Linux中有三种流:标准输入流,标准输出流,标准错误输出流

  • 标准输入流:stdin,向系统中输入数据,默认为键盘输入的数据
  • 标准输出流:stdout,正常数据 -> 终端(屏幕)
  • 标准错误输出流:stderr,错误信息 -> 终端(屏幕)

>

​ 输出重定向,通过重定向,可以把输入、输出的信息定向到其他地方,比如把要显示的信息输出到文件中

把输出重定向到文件中时,文件不存在则创建,文件存在时,> 则覆盖,>> 则追加

|

​ 管道,它将前一个指令的正确输出信息,传递给下一个指令作为输入信息,对错误信息没有直接处理能力


建立链接

​ Linux中链接文件有两种:软链接,硬链接

  • 软链接:快捷方式,不占用磁盘空间
  • 硬链接:一个文件的多个文件名,多个文件占用相同的磁盘空间

删除软、硬链接对源文件都没有影响;删除源文件,软链接失效,如果文件有多个硬链接则无影响

区别:

  1. 软链接可以跨文件系统,硬链接不可以
  2. 软链接可以指向一个不存在的文件,硬链接不可以
  3. 软链接可以对目录创建链接,硬链接不可以

ln

软链接,如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径

```shell
ln -s 源文件 链接文件
```

硬链接

ln 源文件 链接文件

文件搜索

grep

​ 在文件内部搜索;对文本文件进行模式查找,如果找到匹配模式,输出包含模式的所有行

grep [-options] 'keywords' 文件路径
选项 含义
-v 取反
-n 显示行号
-i 忽略大小写

​ grep 搜索关键字可以是正则表达式

参数 含义
^str 行首,以str开头的行
str$ 行尾,以str结尾的行

find

​ 在内存中搜索文件;通常用来在特定目录下搜索符合条件的文件

find 目录 -options 条件
选项 含义
-name ' [字符列表]? / *.后缀 ' [字符列表]:包含列表中任意一个字符,*:任意个任意字符,?:一个任意字符
-size +xK -size -yM 查找大于xK且小于yM的文件
-perm xxx 查找权限为xxx的文件或目录

归档和压缩

​ 归档:将一些文件放在一起变成一个包,便于保存和传输,图片和视频数据不同于文本,多个文件压缩时没有明显效果,因此只能归档进行保存

​ 压缩:压缩也是一种打包,压缩的原理是将文件中相同的信息用一个字符代替,使文件体积变小,对文本和数据类文件有较明显的作用

tar

​ 归档管理,可以把一系列文件归档到一个大文件中,也可以把归档文件解开以恢复数据

# 归档
tar -c [-options] -f 归档文件名.tar 源文件1 源文件2... / 目录

# 解档
tar -x [-options] -f 解档文件名.tar -C 目标目录

# 归档+压缩
tar -z -c [-options] -f 文件名.tar.gz 源文件1 源文件2... / 目录

# 解档+解压
tar -z -x [-options] -f 文件名.tar.gz -C 目标目录

tar 命令 options 前可以使用 ' - ' ,也可以不使用

选项 含义
-c 创建归档文件
-x 解开归档文件
-v 显示归档、解档的过程
-f 指定归档、解档文件名,f 后面一定是 .tar 文件,所以必须是最后一个options
-C 指定解档目录
-z 压缩、解压

zip、unzip

​ 通过zip压缩文件的目标文件可以不指定扩展名,默认扩展名为zip

zip 压缩文件.zip 源文件
选型 含义
-r 压缩目录
-d 解压到指定目录下

文件权限

​ Linux中,每个文件都可以分别对拥有者、同组用户、其他用户设置权限

9个字母分为3组,每组代表一类用户的权限

u:拥有者权限,g:组权限,o:其他用户权限;a:所有用户权限,包括以上三者

r:可读,w:可写,x:可执行(文件:可以运行,目录:可以打开),-:没有权限

对于目录,没有 r 权限就不能通过 ls 查看,没有 w 权限就不能创建文件,没有 x 权限就不能通过 cd 进入

chmod

​ 修改文件权限,可以用字母和数字两种方式实现

# 字母表示
chmod 用户+操作+权限 文件

# 数字表示
chomod 权限数字 文件
操作 含义
+ 增加
- 撤销
= 设置
权限 含义
r 可读取,权限数字:4
w 可写入,权限数字:2
x 可执行,权限数字:1
选项 含义
-R 递归修改目录下所有子目录和文件的权限

用户管理

sudo

​ 切换账号

临时提升权限

​ sudo 用来以其他身份执行命令,预设的身份为 root,在 /etc/sudoers 中设置了可执行 sudo 命令的用户。若未经授权的用户企图使用 sudo,则会发送警告邮件给管理员。用户使用 sudo 时需要先输入密码,之后有5分钟有效期,超时需重输

永久

```shell
# 默认切换到 root 用户,需要输入当前用户的密码
sudo -s

# 切换到指定用户,需要输入用户名对应的密码,高权限切换到低权限时不需要密码
su 用户名
```

passwd

​ 设置用户密码

管理员用户可以使用该命令为普通用户设置或修改密码,密码长度可以任意设定,不进行验证

用户可以直接使用命令来修改自己的密码,系统默认对密码长度等信息进行验证,不合法则提示修改失败

exit

​ 退出当前登录用户,如果是图形化界面则退出当前终端,如果是 ssh 远程登录则退出登录账户,如果是切换后的登陆用户则退出当前登录账户,回到上一用户

who

​ 查看当前所有登陆系统的用户信息

选项 含义
-q 或 --count 只显示用户的账号和登陆用户的数量
-u 或 --heading 显示列标题

关机、重启

reboot

​ 重启

shutdown

​ 关机

参数 含义
reboot 重启操作系统
shutdown -r now 重启操作系统,并通知用户
shutdown -h now 立刻关机
shutdown -h H:M 在今天的 H:M 关机
shutdown -h +M M分钟后关机
-c 取消关机

软件安装与卸载

​ Linux中安装软件常见的三种方式:make install 、deb 包、apt-get

  • make install:源代码安装包

    优点:软件根据实际机器硬件进行配置和编译,性能最好,最稳定

    缺点:需要使用源代码编译、安装

  • dpkg安装deb包

    优点:安装包直接运行安装

    缺点:存在包依赖的问题,安装时需要手动下载很多安装包

  • apt-get

    优点:最简单的安装方式,只需要安装指令,系统就可以自动下载并安装所有的包

    缺点:必须要有软件源

apt-get

​ 软件源可以理解为提供下载软件的地方,比如IOS中的AppStore

​ 清华大学开源软件镜像站:http://mirrors.tuna.tsinghua.edu.cn

1.备份 Ubuntu 默认的源地址

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

2.更新源服务器列表

sudo gedit /etc/apt/sources.list

3.更新源

sudo apt-get update

软件操作相关指令

# 安装包
sudo apt-get install package

# 卸载包
sudo apt-get remove package

# 搜索包
sudo apt-cache search package

# 重新安装包
sudo apt-get install package --reinstall

# 修复安装
sudo apt-get -f install

# 更新已安装的包
sudo apt-get upgrade

Linux常用服务器构建 - ssh 和 scp

ssh

​ 远程登录

​ ssh(secure shell)由IETF的网络工作小组所制定,是建立在应用层和传输层基础上的安全协议,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,常用于远程登录以及用户之间拷贝资料

​ 利用 ssh 协议可以有效防止远程管理过程中的信息泄露问题,ssh 最初是 Unix 系统上的一个程序,后来扩展到其他操作平台,ssh 在正确使用时可以弥补网络中的漏洞,ssh 客户端适用于多种平台

​ 使用 ssh 服务需要安装相应的服务器和客户端,如果A机器想被B机器远程控制,那么A机器需要安装 ssh 服务器,B机器需要安装 ssh 客户端

1.安装 ssh server

安装ssh服务器

sudo apt-get install openssh-server

远程登录

ssh 远程ssh服务器用户名@远程ssh服务器IP地址

2.使用 ssh 连接服务器

​ ssh 告知用户该主机不能识别,此时键入 ' yes ' ,ssh 就会将相关信息写入 ~/.ssh/know_hosts 中,再次访问就不会有这些信息

# 第一步,输入 ssh 用户名和IP地址
ssh user@xxx.xxx.xxx.xxx

# 第二步,询问是否继续连接
Are you sure you want to continue connecting (yes/no)?

# 第三步,输入用户密码
user@xxx.xxx.xxx.xxx password:

scp

​ 远程拷贝,上传、下载文件,使用该命令的前提是目标主机已经安装 ssh server

上传

scp 本地文件路径 服务器用户名@服务器IP地址:远程路径

下载

scp 服务器用户名@服务器IP地址:远程路径 本地路径
选项 含义
-r 操作目录

这篇关于Linux 3.Linux终端命令2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!