Linux的常用操作
一、常用模块安装
安装的时候如果是最小安装,就会有许多命令不可用,所以为了能够更好的使用,一般会安装一些命令集。
1、ifconfig命令
yum install net-tools -y
2、vim编辑器
yum -y install vim
3、tab补全键
安装epel源
yum -y install epel-release
加快yum速度
yum -y install yum-plugin-fastestmirror
安装 bash-completion
yum -y install bash-completion
加载配置
source /etc/profile.d/bash_completion.sh
4、lrzsz 可以在 xshell拖拽传输文件
yum -y install lrzsz
5、wget 是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件
yum -y install wget
6、安装ntp(校正时间)
yum install -y ntp
ntpdate 0.cn.pool.ntp.org
二、Linux命令
1.简单系统命令
查看ip地址
ip a
ip addr
ping网络(测试网络连通)
ip 目标机器的ip
查看系统时间
date
注销
logout
关机
shutdown now
重启
reboot
清屏
clear
2.Linux文件系统
核心
1.Linux一切皆文件
2.只有一个顶级目录,不像windows分C盘、D盘、E盘
目录结构
文件含义
Linux 含义 windows
/bin 所有用户可用的基本命令存放的位置 windows没有固定的命令存放目录
/sbin 需要管理员权限才能使用的命令
/boot linux系统启动的时候需要加载和使用的文件
/dev 外设连接linux后,对应的文件存放的位置 类似Windows中的U盘,光盘的符号文件。
/etc 存放系统或者安装的程序的配置文件,注册服务等 类似windows中的注册表,
/home 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 类似windows中的"我的文档",每个用户有自己的目录。
/root root账户的家目录,仅供root账户使用 类似windows中的Administrator账户的"我的文档"
/lib linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar
/usr 很多系统软件的默认安装路径 类似windows中的C盘下的Program Files目录。
/var 系统和程序运行产生的日志文件和缓存文件放在这里
3. 文件管理命令
注意事项:命令区分大小写
1. 查看文件列表
ls [-参数1参数2] [目标文件夹]
1.查看当前目录下的文件列表
ls
2.查看指定目录下的文件
ls /
3.查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
ls -l
4.查看隐藏文件
ls -a
5.参数并用
ls -la
2. 切换目录
cd 目标文件夹
- 绝对路径切换
cd 绝对路径
- 绝对路径切换
cd 相对路径
例子:切换到/etc/sysconfig/networks-scripts 目录下
cd /etc/sysconfig/networks-scripts
3. 查看当前命令所在的目录
pwd
/etc/sysconfig/network-scripts
#特殊目录符号
~ 当前用户的home目录
. 当前目录
. . 上一级目录
4. 新建文件夹及文件
- 在当前位置新建文件夹
mkdir 文件夹名
- 在指定目录位置,创建文件夹,并创建父文件夹
mkdir -p /a/b/文件夹名
- 在当前目录下新建文件
touch 文件名
5. 删除文件
- 删除文件
rm 文件
- 删除文件夹
rm -r 文件夹
- 强制删除不询问
rm -rf 文件
6. 拷贝文件
- 拷贝文件
cp 原文件 新文件
- 拷贝文件夹
cp -r 源文件夹 新文件夹
7. 移动文件或修改文件名
- 移动源文件到目标文件夹中
mv 文件 文件夹
- 修改文件A的名字为文件B
mv 文件A 文件B
8. 获取文件的md5指纹(数字签名)
md5sum 文件名
简介
- 数字签名,又称数字指纹
- 可以验证文件是否被修改
- 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)
- 文本内容查看命令
cat命令
- 查看文件中的全部信息(适合查看小文档)
cat 文件名
less命令
以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
less 文件名
浏览模式快捷键
↑ #上一行
↓ #下一行
G #第一页
g #最后一页
空格 #下一页
/关键词 #搜索关键词
退出浏览模式,回到Linux命令行模式
q #退出
tail 命令
实时滚动显示文件的最后10行信息(默认10行)
tail -f 文件名
显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
显示文件信息从第20行至文件末尾
tail -n +20 文件名
文件查找
1.文件名查找
语法
find 搜索路径 -name "文件名关键词"
#例子
find / -name "passwd"
find / -name "ifcfg-*"
2.文件内容查找
语法
grep -参数 要查找的目录范围
# 参数
-n 显示查找结果所在行号
-R 递归查找目录下的所有文件
#例子
grep aries /etc
grep aries /etc/passwd
文件链接
Linux文件管理
说明
1.文件名
该文件的名字
2.inode
该文件的元数据
3.datablock
该文件真正保存的数据
#注意:
1、inode中保存的是文件的元数据
2、ls命令查看的都是linux的元数据信息
3、数据块中才是文件的真正数据
硬链接
命令
ln 源文件 硬链接文件
软连接
命令
ln -s 目标文件或文件夹 软连接名字
系统管理
静态查看系统进程
ps -aux
实时查看系统进程
top
# 快捷键
↑ 下翻
↓ 上翻
q 退出
关闭进程
kill 进程id
强制关闭进程(谨慎使用)
kill -9 进程id
输出
1.覆盖输出
将命令1的执行结果,输出到后面的文件中。
覆盖写入
命令1 > 文件
例子
date > date.log
2.追加输出
将命令1的执行结果,输出到后面的文件中。
追加写入
命令1 >> 文件
例子
date >> date.log
管道
管道
语法,将命令1的输出结果,作为命令2的输入
命令1 | 命令2
#例子
查找aries用户:cat /etc/passwd | grep -n “baizhi”
查找aries组:cat /etc/group | grep -n “baizhi”
查找sshd进程:ps -aux | grep sshd
文件编辑
配置MobaXterm的默认文本编辑器
免去vim命令的麻烦
系统权限
用户组
相关命令
- 创建组
groupadd 组名
- 删除组
groupdel 组名
- 查找系统中的组
cat /etc/group | grep -n “组名”
说明:系统每个组信息都会被存放在/etc/group的文件中
用户
相关命令
- 创建用户
useradd -g 组名 用户名
- 设置密码
passwd 用户名
- 查找系统账户
说明:系统每个用户信息保存在/etc/passwd
文件中 - 切换用户
su 用户名
- 删除用户
userdel -r 用户名
权限
问题
linux系统未来可能有程序员、用户、数据库管理员、项目经理等各种角色各种级别人使用,甚至还有身份不明的人链接到linux,控制不好权限容易导致系统崩溃、数据丢失等问题。
权限含义
权限字母 含义 对文件 代表命令 对文件夹 代表命令
R® 读 查看文件内容和复制文件 more cat less cp head tail 查看文件夹下的文件 ls
W(w) 写 编辑文件 vi 在文件夹内创建和删除文件 rm touch
X(x) 执行 执行该文件(执行必须具备r权限) - 切换到文件夹 cd
权限访问控制列表(ACL access controll list)
查看权限
ls -la 文件
ll 文件
设置文件所有者
语法:chown [-R] user名:group名 文件名
参数:-R 如果是文件夹,需要使用这个参数,可以将文件夹及其内部所有文件的所有者和组全部修改
注意:命令权限需要root
修改文件所有者
chown 用户名 文件名
修改文件所属组
chown :组名 文件名
修改文件所有者和所属组
chown 用户名:组名 文件名
修改文件夹的所有者和所属组
chown [-R] 用户名:组名 文件夹
权限设置1
语法:chmod u±rwx,g±rwx,o±rwx 文件名
运算符:
- 删除权限
+ 添加权限
= 赋值权限
1.给文件的所有者添加执行权限
chmod u+x 文件名
2.给文件的其他人删除所有权限
chmod o-rwx 文件名
3.给文件的所属组设置读写权限
chmod g=wx 文件名
权限设置2
文件的每个归属方的权限的值使用rwx之和计算出来的。
语法
chmod [-R] nnn 文件
-R 递归设置文件夹内所有文件
1.设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
chmod 764 文件名
系统软件管理
压缩解压缩
压缩语法:tar -zcvf 压缩后文件名 被压缩文件
解压缩语法 tar -zxvf 压缩文件名 -C 解压后文件所在目录
参数1:
参数 描述
-z 操作tar.gz文件需要使用
-x 解压缩
-c 压缩
-v 显示压缩或者解压缩的执行过程信息
-f 要处理的文件file,必须放在最后
参数2:-C 指定解压后的文件存放的位置
rpm软件
简介:类似于windows中的.exe程序
- 安装rpm软件
语法:rpm -ivh xxx.rpm
- 查看系统中是否已安装的过该rpm软件
语法:rpm -qa 软件名
- 卸载rpm软件
语法:rpm -e 软件名
- 例子:安装tree工具
作用:查看某个目录下的文件信息
以树状结构查看2层文件信息
tree -L 2 要查看的路径
yum
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。
列出所有可以安装的软件包
yum list
安装软件
yum install -y 软件名
卸载软件
yum remove 软件名
查找软件包
yum search all 软件名
Linux服务
例如:sshd network firewalld 等
服务器管理命令
systemctl status 服务名
启动服务
systemctl start 服务名
重启服务
systemctl restart 服务名
停止服务
systemctl stop 服务名
禁止服务随linux启动。
systemctl disable 服务名
设置服务随linux启动。
systemctl enable 服务名
ip设置
服务名:network
[root@centos7 dirnew]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
----------------网卡对应的文件内容---------------------
TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“none”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“ens33”
UUID=“0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95”
DEVICE=“ens33”
ONBOOT=“yes”
IPADDR=“192.168.199.8” # 修改这里的ip地址即可
PREFIX=“24”
GATEWAY=“192.168.199.2”
DNS1=“192.168.199.2”
DNS2=“8.8.8.8”
IPV6_PRIVACY=“no”
[root@centos7 dirnew]# systemctl restart network #重启网卡服务
防火墙
服务名:firewalld
开启防火墙
systemctl stop 服务名
临时关闭防火墙
systemctl stop firewalld
直接停止防火墙开机启动
systemctl disable firewalld
主机名
查看主机名
hostname
设置主机名
hostnamectl set-hostname 主机名
ip映射
域名解析
本地hosts编辑
[root@centos7 ~]# vim /etc/hosts
--------------下面是文件------------------
192.168.199.8 centos7
SSH
远程登录linux
ssh 远程linux的ip或者映射域名
免密登录
简介
ssh登录远程linux,免去输入密码的麻烦
生成公钥和私钥
[root@centos7 ~]# ssh-keygen
------------执行结果-----------
[root@centos7 ~]# tree .ssh
.ssh
├── id_rsa # 私钥
├── id_rsa.pub # 公钥
└── known_hosts
发送公钥
`保存公钥的文件为/root/.ssh/authorized_keys`
[root@centos7 .ssh]# cat id_rsa.pub > authorized_keys
发送公钥
[root@centos7 .ssh]# ssh-copy-id 目标主机的ip
远程拷贝
scp 本地的文件 root@远程linuxip:/远程linux的文件路径
scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径
必要软件安装
vim(vi编辑器增强版)
vim 文件
wget(下载器)
wget url
tree(目录树状显示)
以tree结构,递归显示当前文件下所有文件
tree
显示目标文件夹下的文件
tree 目标目录
ps misc(高级进程管理工具)
以tree形式显示系统目前进程
ps tree
杀死进程
kill all 进程名
显示该文件被哪个进程使用
fuser /目标文件