标签:文件 sudo 用户 命令 终端 Linux 权限 链接 ssh
常用指令
数据流、管道
输入流:从键盘或文件中读取内容到内存中
输出流:从计算机内存中把数据写入到文件或显示到显示器
重定向:改变数据流和原来的默认走向
Linux中有三种流:标准输入流,标准输出流,标准错误输出流
- 标准输入流:stdin,向系统中输入数据,默认为键盘输入的数据
- 标准输出流:stdout,正常数据 -> 终端(屏幕)
- 标准错误输出流:stderr,错误信息 -> 终端(屏幕)
>
输出重定向,通过重定向,可以把输入、输出的信息定向到其他地方,比如把要显示的信息输出到文件中
把输出重定向到文件中时,文件不存在则创建,文件存在时,> 则覆盖,>> 则追加
|
管道,它将前一个指令的正确输出信息,传递给下一个指令作为输入信息,对错误信息没有直接处理能力
建立链接
Linux中链接文件有两种:软链接,硬链接
- 软链接:快捷方式,不占用磁盘空间
- 硬链接:一个文件的多个文件名,多个文件占用相同的磁盘空间
删除软、硬链接对源文件都没有影响;删除源文件,软链接失效,如果文件有多个硬链接则无影响
区别:
- 软链接可以跨文件系统,硬链接不可以
- 软链接可以指向一个不存在的文件,硬链接不可以
- 软链接可以对目录创建链接,硬链接不可以
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 | 操作目录 |
标签:文件,sudo,用户,命令,终端,Linux,权限,链接,ssh 来源: https://www.cnblogs.com/HyeJeong/p/15686034.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。