Linux
一、Linux概述
1.1 什么是Linux?
- 一种是Linux编写的开源操作系统的内核
- 一种广义的操作系统
Linux一般用作服务器,它不需要客户端那样华丽的界面,所以它一般以命令行形式进行操作。
1.2 Linux的版本
- 内核版本:Linux内核分为三个部分主版本号、次版本号、末版本号,次版本号是奇数为开发版,偶数为稳定版。
- 发行版:Linux是开源的,国内厂商会基于Linux内核进行开发,如:redhat(商用)、fedora(免费)、centos(基于redhat编译的免费版)
一般我们使用的都是centos,使用ssh连接远程服务器
1.3 Linux常见目录
- / 根目录
- /root root用户的家目录
- /home/username 普通用户的家目录
- /etc 配置文件目录
- /bin 命令目录
- /sbin 管理命令目录
- /user/bin /user/sbin 系统预装的其他命令
二、系统操作
2.1 帮助命令
man 帮助命令
man [命令名称]
help 帮助命令
help cd[命令] 内部命令使用 help 帮助
ls –help 外部命令使用 help 帮助
shell(命令解释器)自带的为内部命令,不自带的为外部命令,type 命令 查看该命令为内部命令或外部命令
info 帮助
info [命令]
info比 help 更详细,作为 help 的补充,提示全为英文版
2.2 文件管理
2.2.1 文件查看
显示当前位置
pwd
更改当前的操作目录
cd
查看当前目录下的文件
ls [选项,选项…] [文件名…]
常用参数:
- -l 长格式显示文件(显示更多的文件信息,如:时间、权限、作者等)
- -a 显示隐藏文件
- -r 逆序显示
- -t 按照时间顺序显示
- -R 递归显示
- -h 文件大小以MB显示
2.2.2 目录管理
创建目录
mkdir [参数] [目录名]
常用参数:
- -p 建立多级目录
删除空目录
rmdir [目录名]
创建文件
touch [文件名]
删除文件
rm [参数] [文件名]
常用参数
- -r 删除目录(包括目录下所有文件)
- -f 删除文件不进行提示
复制文件或目录
cp 源文件 目的文件
常用参数
- -r 复制目录
- -p 保留用户、权限、时间等文件属性
移动文件(重命名)
mv [选项] 源文件 目标文件
常用参数
- -r 移动目录
2.2.3 文本查看
文本内容显示到终端
cat [文件名]
查看文件开头
head [参数] [文件名]
常用参数
- -n n行(默认10)
查看文件结尾
tail [参数] [文件名]
常用参数
- -f 文件内容更新后,显示信息同步更新
- -n n行(默认10)
统计文件内同信息
wc [参数] [文件名]
常用参数
- -l 统计文件的行数
2.3 打包和压缩
打包
tar [参数] [打包的文件名] [打包的文件夹]
常用参数
- c 打包
- x 解包
- f 指定操作类型为文件
- v 显示详细信息
- z gzip压缩
- j bzip2压缩
解压
tar -vxf 文件名
参数添加不同的压缩类型参数,解压不同类型的压缩文件,如 tar -vzxf filename 解压gzip压缩
2.4 文本编辑器
查看文档
vim 文件名
输入a、 i、o 等进入编辑模式
剪切
[n]dd 剪切当前行开始的n行
复制
[n]yy 复制当前行开始的n行
[n]p 粘贴n次所复制的
删除
[n]x 删除当行,或者删除当前行开始的n行
关闭高亮
:set nohl
查看行数
:set [no]nu
设置永久生效则需要去配置文件(/etc/vimrc)中添加 set nu的配置
撤销命令
:[n]u 撤销上[n]次的操作
查找命令
/字符
n向下移动查找 shift n向上移动查找
替换
:s/old/new 默认表示所在行范围进行替换
:%s/old/new/g 整个文件范围替换使用
%代表整个文件范围,g 表示全局(多次替换)
临时命令
:! 命令
! ipconfig ,表示临时查看命令
文件保存退出
:w filename 保存到指定文件名中,不接文件名表示保存到原始文件当中
:q 退出
:q! 强制退出
:wq! 强制写入退出
可视模式
v 字符可视模式,以字符为单位选择
V 行可视模式,以行为单位选择
ctrl+v 块可视模式,光标选中多行后按大写I,[按d进行删除]然后输入内容,再按两次ESC,即可批量操作
2.5 用户和用户组管理
添加用户
useradd username
id username 可以查看用户相关信息
删除用户
userdel [参数] username
常用参数
- -r 删除用户的家目录
修改用户密码
passwd username
修改用户属性
usermode -g groupname username 将用户加入到该组
切换用户
su - username
-代表切换到该用户所在的目录,visudo 设置需要使用 sudo 的用户组以及相关命令,sudo 命令以其他用户身份执行命令
添加组
groupadd groupname
删除组
groupdel groupname
2.6 文件与目录权限
文件类型:- 普通文件、d 目录 、b 特殊文件、c 字符特殊文件、l 符号连接、f 命名管道、s 套接字文件
文件权限:分为属主、组、其他用户权限,权限表示 r 4 读、w 2 写、x 1 执行
目录权限:x 进入目录、rx 显示目录内的文件名、wx 修改目录内的文件名
修改权限
chmod 权限 filename
chown user:group filename 修改所属主、属组
三、系统管理
3.1 网络管理
查看网卡信息
ifconfig
inet代表 ip 地址
查看网关
route -n
-n不解析域名
测试网络连通性
ping ipaddress
3.2 软件管理包
3.2.1 rpm软件包管理器
查看已安装的rpm软件包
rpm -qa | grep more
rpm -q 包名
安装rpm软件包
rpm -i 包名
卸载安装的rpm软件包
rpm -e 包名
3.2.2 yum包管理工具
安装软件包
yum install 包名
卸载软件包
yum remove 包名
更新软件包
yum update 包名 (不指定则更新所有软件包)
rpm需要自己解决依赖关系,软件包的来源不可靠,而yum是一个基于rpm的软件包管理器,会自动解决依赖性问题,使用yum包管理工具时需要修改yum镜像
3.2.3 源代码编译软件包
下载源代码软件包
wget 软件包地址
解压软件包
tar zxf 软件包
安装源代码软件包
./configure –prefix=/user/local 指定安装位置
make 编译
make install 安装
3.3 进程管理
ps查看进程
ps [参数]
常见参数
- -e 显示所有进程
- -f 显示完整格式
top查看进程
top [参数]
常见参数
- -p进程号 指定进程
pstree以树状图的方式展现进程之间的派生关系
结束进程
kill -9 PID
3.4 内存与磁盘管理
查看内存使用率和内存大小
free [参数]
top 也可以查看
磁盘使用率和分区
fdisk [参数]
四、Shell
shell是一个命令解释器,接受命令解释给内核再将结果返回到终端上,centos7终端的Shell是bash
4.1 Shell脚本
脚本执行
- bash xx.sh 执行脚本
- ./xx.sh 执行脚本
- source ./xx.sh
- . xx.sh
1、2会产生新的子进程运行脚本,3、4不会产生子进程运行脚本会对当前环境产生影响
管道与管道符
管道符为 |,将前一个命令执行的结果传递给后一个命令
五、文本操作与服务管理
查找
locate
文本替换
sed 参数 filename
sed -i ‘s/book/books/g’ file 匹配file文件中每一行的所有book替换为books
远程连接
ssh [-p 端口] username@远程ip