记录一下平时常用的linux命令
1、软件包管理类
1.1、yum仓库配置
概述:YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS
中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包
并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次
次下载、安装
常用命令:
yum [选项] [参数]
[选项]说明
选项 | 功能 |
---|---|
-y | 对所有提问都回答“yes” |
[参数]说明 | |
参数 | 功能 |
------------- | ------------- |
install | 安装 rpm 软件 |
update | 更新 rpm 软件包 |
check-update | 检查是否有可用的更新 rpm 软件 |
remove | 删除指定的 rpm 软件 |
list | 显示软件包信息 |
clean | 清理 yum 过期的缓存 |
deplist | 显示 yum 软件包的所有依赖关 |
修改网络yum源:
默认的系统 YUM 源,需要连接国外 apache 网站,网速比较慢,可以修改关联的网络 YUM 源为国内镜像的网站,比如网易 163,aliyun 等
- 安装 wget, wget 用来从指定的 URL 下载文件
[root@hadoop101 ~] yum install wget
- 在/etc/yum.repos.d/目录下,备份默认的 repos 文件
[root@hadoop101 yum.repos.d] pwd /etc/yum.repos.d
[root@hadoop101 yum.repos.d] cp CentOS-Base.repo CentOS-Base.repo.backup
- 下载网易 163 或者是 aliyun 的 repos 文件,任选其一
[root@hadoop101 yum.repos.d] wget http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop101 yum.repos.d] wget http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163
- 使用下载好的 repos 文件替换默认的 repos 文件,例如:用 CentOS7-Base-163.repo 替换 CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
- 清理旧缓存数据,缓存新数据
[root@hadoop101 yum.repos.d] yum clean all
[root@hadoop101 yum.repos.d] yum makecache
yum makecache 就是把服务器的包信息下载到本地电脑缓存起来
6. 测试
[root@hadoop101 yum.repos.d] yum list | grep firefox
[root@hadoop101 ~] yum
常用yum源
yum install -y net-tools (安装ifconfig命令)
yum install -y vim * (安装vim命令)
yum install -y tar (安装tar命令)
yum install gcc-c++
yum install -y openssl openssl-devel
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y yum-utils
yum install -y java-devel
1.2、 rpm
RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
RPM包的名称格式
Apache-1.3.23-11.i386.rpm
- “apache” 软件名称
- “1.3.23-11”软件的版本号,主版本和此版本
- “i386”是软件所运行的硬件平台,Intel 32位处理器的统称
- “rpm”文件扩展名,代表RPM包
RPM 查询命令(rpm -qa):
rpm -qa (功能描述:查询所安装的所有 rpm 软件包),由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件
RPM 卸载命令(rpm -e):
rpm -e RPM软件包
rpm -e --nodeps 软件包
选项说明
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。 |
RPM 安装命令(rpm -ivh):
rpm -ivh RPM包全名
选项说明
选项 | 功能 |
---|---|
-i | install,安装 |
-v | –verbose,显示详细信息 |
-h | –hash,进度条 |
–nodeps | 安装前不检查依赖 |
2、压缩和解压类
2.1、gzip/gunzip 压缩
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
经验技巧:
- 只能压缩文件不能压缩目录
- 不保留原来的文件
- 同时多个文件会产生多个压缩包
2.2、zip/unzip 压缩
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip
选项说明
zip选项 | 功能 |
---|---|
-r | 压缩目录 |
unzip选项 | 功能 |
---|---|
-d<目录> | 指定解压后文件的存放目录 |
经验技巧:
zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件。
2.3、tar 打包
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明
选项 | 功能 |
---|---|
-c | 产生.tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 使用gzip工具(解)压缩,后缀一般为.gz |
-x | 解包.tar 文件 |
-C | 解压到指定目录 |
案例实操:
压缩多个文件
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt houge.txt bailongma.txt
[root@hadoop101 opt]# ls houma.tar.gz houge.txt bailongma.txt
压缩目录
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/ xiyou/ xiyou/mingjie/ xiyou/dssz/ xiyou/dssz/houge.txt
解压到当前目录
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
解压到指定目录
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@hadoop101 ~]# ll /opt/
3、文件目录类
3.1、tail 输出文件尾部内容
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文
tail 文件 (功能描述:查看文件尾部10行内容)
tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新)
选项说明
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部 n 行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
3.2、mkdir 创建一个新的目录
mkdir 建立目录
mkdir [选项] 要创建的目
选项说明
选项 | 功能 |
---|---|
-p | 创建多层目录 |
3.3、 ln 软链接
软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放
了链接其他文件的路径。
基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
经验技巧
删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/,如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉
查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向。
3.4、 cat 查看文件内容
查看文件内容,从第一行开始显示。
基本语法
cat [选项] 要查看的文件
选项说明
选项 | 功能 |
---|---|
-n | 显示所有行的行号,包括空行。 |
经验技巧
一般查看比较小的文件,一屏幕能显示全的。
案例实操
- 查看文件内容并显示行号
cat -n houge.txt
- 查看当前centos版本
cat /etc/redhat-release
3.5、 rm 删除文件或目录
基本语法
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
选项说明
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作,而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
3.5、 mv 移动文件与目录或重命名
基本语法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
3.6、 cp 复制文件或目录
基本语法
cp [选项] source dest (功能描述:复制source文件到dest)
选项说明
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹 |
经验技巧
强制覆盖不提示的方法:\cp
4、系统管理类
4.1、 systemctl
基本语法
systemctl start|stop|restart|status 服务名
经验技巧
查看服务的方法:
pwd /usr/lib/systemd/system
案例实操
- 查看防火墙服务的状态
systemctl status firewalld
- 停止防火墙服务
systemctl stop firewalld
- 启动防火墙服务
systemctl start firewalld
- 重启防火墙服务
systemctl restart
4.2、systemctl 设置后台服务的自启配置
基本语法
systemctl list-unit-files (功能描述:查看服务开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
配置自定义服务开机自启
- 在/lib/systemd/system/目录下新建xxx.service文件,以mongodb为例
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/conf/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 设置权限
chmod 777 mongodb.service
- 启动关闭服务,设置开机启动
#启动服务
systemctl start mongodb.service
#停止服务
systemctl stop mongodb.service
#添加开机自启动
systemctl enable mongodb.service
#重启服务
systemctl restart mongodb.service
5、磁盘查看和分区类
5.1、 du查看文件和目录占用的磁盘空间
基本语法
显示目录下每个子目录的磁盘使用情况
du [选项] 目录/文件
选项说明
选项 | 功能 |
---|---|
-h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
-a | 不仅查看子目录大小,还要包括文件 |
-c | 显示所有的文件和子目录大小后,显示总和 |
-s | 只显示总和 |
–max-depth=n | 指定统计子目录的深度为第 n 层 |
5.2、df 查看磁盘空间使用情况
基本语法
列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
du [选项]
选项说明
选项 | 功能 |
---|---|
-h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
5.3 磁盘挂载
# df -h 是一个在Linux操作系统中常用的命令,用于查看磁盘的使用情况。
df -h
# lsblk命令用于列出块设备的信息,包括磁盘、分区和挂载点等。
lsblk
# 查看当前磁盘,列出所有分区表
fdisk -l
# 检查磁盘是否已经挂载
mount | grep /dev/vdb
# 如果没有挂载,执行以下步骤
# 创建文件系统
mkfs.ext4 /dev/vdb
# 创建挂载点
mkdir /mnt/vdb
# 挂载磁盘
mount /dev/vdb /mnt/vdb
# 为了让开机自动挂载,将挂载信息添加到 /etc/fstab 文件
echo '/dev/vdb /mnt/vdb ext4 defaults 0 0' >> /etc/fstab
6 配置网络ip地址
6.1 ifconfig 配置网络接口
基本语法
ifconfig (功能描述:显示所有网络接口的配置信息)
6.2 ping 测试主机之间网络连通性
基本语法
ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)
6.3 修改 IP 地址
- 查看要修改的网卡
ifconfig
- 编辑 IP 配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eno1
UUID=a6f9d3b6-70a6-40dc-a4c0-c293ca1a1b35
DEVICE=eno1
ONBOOT=yes
IPADDR=10.25.1.11
NETMASK=255.255.255.0
GATEWAY=10.25.1.1
DNS1=202.96.64.68
DNS2=202.96.69.38
ZONE=public
编辑完后,保存退出。
3. 重启网络
service network restart
systemctl restart network