Linux操作系统基础
目录
Linux介绍:
Linux 是一款操作系统,免费、开源、安全高效、稳定、处理高并发
Linux 创始人 林纳斯Linux
Linux的吉祥物 :Tux
Linux操作系统基础:
- 常用命令
ls : 查看当前文件夹下的内容
pwd : 查看当前所在文件夹
cd[目录名] : 切换文件夹
touch[文件名] : 如果文件不存在,新建文件
mkdir[目录名] : 创建目录
rm[文件名] : 删除指定文件名
rm -r 目录名 :删除指定
clear : 清屏
终端命令 :
格式 command [-options] [parameter]
command 命令名;[-options]选项; [parameter]传递给命令的参数
[]代表可选
查看终端命令的帮助信息:
1.--help : command --help 显示command命令的帮助信息
2.man : man command 查阅command命令手册
- 空格键:显示手册页下一屏;回车:一次滚动手册页一行;b:回滚一屏;f:前滚一屏幕;q:退出;/word:搜索word字符串;
终端实用技巧:
- 自动补全
tab
- 曾经使用过的命令
方向键上下
文件和目录常用命令:
- 查看目录内容
- ls :最常用的命令之一
以.开头的文件是隐藏文件
. 代表当前目录
.. 代表上一级目录
- 常用选项
1. -a 显式指定目录下所有内容
2. -l 显示详细信息
3. -h 配合-l人性化显示文件大小
-和通配符的使用
1、* : 代表任意字符
2、? : 代表任意一个字符
- cd : 切换目录
注:Linux 所以的目录和文件名都是大小写敏感的
- 常用
1. cd : 切换到当前用户的主目录
2. cd~ : 切换到当前用户的主目录
3. cd. : 保持当前目录不变
4. cd.. : 切换上级目录
5. cd - :可以在最近两个工作目录来回切换
- 相对路径和绝对路径
- 创建和删除操作
- touch : 如果文件不存在 创建一个空白文件
- mkdir :创建一个新的目录
1. -p 可以递归创建目录
-rm : 删除文件或者目录
注 :删除之后不能恢复
- 常用
1.-r 递归删除目录下的内容
2.-f 强制删除,忽略不存在的文件、无需提示
- 拷贝和移动文件
- tree : 以树状图列出文件目录结构
-d : 只显示目录
- cp : 复制文件
-i :覆盖文件前提示
-r : 递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-mv :命令可以用来移动文件或目录,也可以给文件或目录重命名
-i :覆盖文件前提示
- 查看文件内容
- cat 文件名 :用来查看你文件内容
1. -b :除了空行都会编号
2. -n : 无论是否是空行都会编号
- more 文件名 : 分屏查看文件内容
1. 空格键 :显示手册页的下一屏
2. 回车 :一次滚动手册页的一行
3. b :回滚一屏
4. f :前滚一屏
5. q :退出
- grep :查找字符串是否存在
1.-n : 显示匹配行及行号
2.-v : 显示不包含匹配文本的所有行(相当于相反)
3.-i :忽略大小写
- 参数
^a :行首 ,以 a 开头的行
k$ :行尾 ,以 k 结束的行
-其他
- echo 文字内容
echo会在终端中显示参数指定的文字,通常会和重定向联合使用
- 重定向 >和>>
在终端上的内容 输出/追加 到指定文件中
> :表示输出 ,会覆盖原有内容
>> : 表示追加 ,追加到末尾
- 管道 |
- 一个命令的输出可以通过管道作为另一个命令的输入
例 :ls -lh ~ | more
- 常用
more :分屏显示内容
grep :在命令执行结果的基础上查询指定的文本
远程管理常用命令
- 关机/重启 :安全关闭或者 重启
-shutdown 选项 时间
-f 重新启动
- 查看或配置网卡信息
- 网卡和ip地址
网卡:一个专门复制网络通讯的硬件设备
ip地址:设置在网卡上的地址信息
- 终端命令
- ifconfig :查看/配置计算机网卡配置信息
127.0.0.1 本地回环/环回地址 ,一般测试本机网卡是否正常
- ping ip地址 : 检测目标ip地址链接是否正常
- 远程登陆和复制文件
- SSH 基础
- 域名 和 端口号
域名 :由一串 用点分割的名字组成 是 ip地址 的别名
端口号 :
ip地址:通过IP地址找到计算机
端口号:通过端口号可以找到计算机上运行的应用程序
- SSH 客户端简单使用
ssh [-p port] user@remote
user :是在远程机器上的用户名,如果不指定默认为当前用户
remote :是远程机器的地址,可以是ip/域名,或者是后面会一道的别名
port :是SSH Server监听的端口,默认为22
提示:使用exit推出当前用户的登录
注意:SSH 这个终端命令只能在linux和unix系统下使用
如果在windows系统中,可以按照PuTTY作者XShell客户端软件
- scp 远程拷贝文件
地址格式与ssh基本相同,在指定端口时用的大写的 -P
- r 若给出的源文件是目录文件则scp ,将递归复制该目录下的所以子目录和文件,目标文件必须为一个目录名
- P 若远程SSH服务器的端口不是22,需要使用大写字母-P 选项指定端口
例:把本地目录下的01.py文件复制到远程目录下的Desktop/01.py
scp -P 01.py user@remote:Desktop/01.py
把远程 家目录下的Desktop/01.py 复制到本地当前目录下01.py
scp -P port user@remote:Desktop/01.py 01.py
加上-r 选项可以传送文件夹
scp -r demo user@remote:Desktop
把远程 家目录下的Desktop 复制到 当前目录下的demo文件夹
scp -r user@remote:Desktop demo
- 免密码登录
- 步骤
1. 配置公钥
ssh-keygen
2. 上传公钥到服务器
ssh-copy-id -p port user@remote
- 配置别名 :设置之后可以实现远程登录,scp同样可以使用
在 ~/.ssh/config,中追加:
Host 别名
HostName ip地址
User 名字
port 端口
用户权限相关命令
- 用户和权限的基本概念
- 基本
在Linux中,无论是本机或是远程,都必须有个账号,并且对于不同的系统资源有不同的使用权限
可以指定 每个用户 针对 不同的文件或者目录 的 不同权限
对文件或者目录权限包括:
读 :read 缩写 r 数字编号 4
写 :write 缩写 w 数字编号 2
执行 :excute 缩写 x 数字编号 1
- 组
针对 组 设置 不同的权限 方便用户管理
- ls-l 扩展
ls-l 可查看文件夹下文件的详细信息,从左到右依次是:
权限:第一个字符是 d 就是目录
例:"-rw-rw-r--":文件权限 - 目录 rw- 拥有者权限 rw- 组权限 r-- 其他用户权限
例:"drwxrwxr-x":目录权限
硬链接数:有多少中方式可以访问到
拥有者:家目录下 文件/目录 的拥有者 通常是当前用户
组
大小
时间
名称
- chmod 修改权限
chmod +/-rwx 文件名/目录名 会一次性修改拥有者/组权限
去掉权限 - 添加权限 +
chmod 在设置权限的时候,可简单使用三个数字分别对应拥有者/组和其他用户权限
例:chmod -R 755 文件名/目录名 7代表rex:4+2+1 5代表r-x:4+0+1
- 超级用户
root 用来系统的维护和管理
- sudo: 使用另一个用户的身份
-组管理终端命令 需要通过sudo执行
1. 添加组:groundadd 组名
2. 删除组:grounddel 组名
3. 确认组信息:cat/etc/group
4. 递归修改文件目录所属组:chgrp -R 组名 文件/目录名
- 用户管理 终端命令 需要通过sudo执行
1.创建用户: useradd -m -g 组 用户名
-m 自动创建家目录
-g 指定用户所在的组,否则会创建同名的组
2.设置密码: passwd 用户名
3.删除用户:userdel -r 用户名
- 查看用户信息
1. id[用户名] 查看用户代号和组代号
2. who 查看当前登录的用户列表
3. whoami 查看当前登录的用户名
- passwd 文件
1.用户名
2.密码
3.UID(用户标识)
4.GID(组标识)
用户全名或本地账户
家目录
登录使用的Shell 就是登录之后,使用的终端命令,ubuntu 默认dash
- usermod 用来设置 用户 的主组/附加组和登录Shell
主组: 通常在新建用户时指定,在etc/passwd的第四列Gid对应的组
附加组:在etc/passwd中的最后一列表示该组的用户列表,用于指定用户的附加权限
- 提示:设置了用户附加组后,重新登录才有效果
1. 修改用户的主组:usermod -g 组 用户名
2. 修改用户的附加组:usermod -G 组 用户名
3. 修改用户登录 Shell:usermod -s /bin/bash 用户名
- which 查看执行命令所在位置
etc 目录保存和系统配置相关的
- 大多数文件都是保存在/bin /sbin /usr/bin /usr/sbin
1. /bin: 主要用于具体应用(不同可行性文件)
2. /sbin: 注意用于系统管理(系统可执行文件)
3. /usr/bin:后期安装一些软件
4. /usr/sbin: 超级用户一些管理程序
- 切换用户
1. su - 用户名:切换用户名和目录
su 不接用户名 可以切换到root(不推荐)
2. exit:退出当前登录账户
- 系统信息相关命令
- 时间和日期
date:查看系统时间
cal:查看日历,-y 可以查看一年日志
- 磁盘信息
df -h:显示磁盘剩余空间
du -h [目录名]:显示目录下文件大小
-h 人性化显示
- 进程信息
- 进程:当前正在执行的程序
1.ps aux: 查看进程的详细状况
a:显示终端所以进程,包括其它用户的进程
u:显示进程的详细信息
x:显示没有控制终端的进程
2.top:动态显示运行中的进程并且排序
按q停止
3.kill[-9]进程代号:终止指定进程,-9表示强行终止
- 其他
- 查找文件
find[路径] -name "*.py" :查找指定路径下扩展名是.py的文件,包括子目录
- 软连接 类似于快捷方式
ln -s 被链接的源文件 链接文件
文件要使用绝对路径:如果使用相对路径,文件移动位置 链接无效
- 打包压缩
- 打包/解包
- tar Linux常用备份工具,把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
打包:tar -cvf 打包文件.tar 被打包的文件/路径..
解包:tar -xcf 打包文件.tar
- 压缩/解压缩
- gzip
在linux中,最常见的压缩文件格式 xxx.tar.gzip
压缩:tar -zcvf 打包文件.tar.gz 被压缩的文件/路径..
解压缩:tar -zxvf 打包文件.tar.gz
解压缩到指定路径:tar -zxvf.tar.gz -C 目标路径
- bzip2(two)
被压缩的文件其扩展名为:xxx.tar.bz2
压缩:tar -jxvf 打包文件.tar.bz2 被压缩的文件/路径...
解压缩:tar -jxvf 打包文件.tar.bz2
解压缩到指定路径:tar -jxvf.tar.bz2 -C 目标路径
- 软件安装
- apt 在终端中方便的安装/卸载/更新软件包
1. 安装软件:sudo apt install 软件包
2. 卸载软件:sudo apt remove 软件包
3. 更新以安装的包:sudo apt upqrade