Linux常用命令手册
一.Linux文件与目录结构
- /bin
目录中存放着最长使用的命令 - /etc
所有的系统管理所需要的配置文件和子目录 - /usr
用户的很多应用程序和文件都放在这个目录 - /boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件,
自己的安装别放这里 - /opt
这是给主机额外安装软件所摆放的位置,比如安装一个mysql数据库 - /var
这个目录存放不断扩充着的东西,比如日志文件
二.VI/VIM编辑器(重要)
VIM编辑器是从VI发展的一个性能更强大的文本编辑器
2.1 一般模式
以vi打开一个文档就直接进入一般模式了
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y数字y | 复制一段(从第几行到第几行) |
p | 粘贴 |
u | 撤回上一步 |
dd | 删除光标当前行 |
d数字d | 删除一段(从第几行到第几行) |
w | 移动到下个单词 |
yw | 复制一个单词 |
dw | 删除一个单词 |
^ | 移动到行头 |
$ | 移动到行尾 |
shift+g | 移动到页尾 |
数字+shift+g | 移动到目标行 |
2.2 编辑模式
- 进入编辑模式
语法 | 功能描述 |
---|---|
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行 |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 光标所在行的上一行 |
2.3 指令模式
语法 | 功能描述 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查找的词 | n查找下一个,N向上查找 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/old/new/g | 替换内容 /g替换匹配到的所有内容 |
三. 网络配置
3.1 修改IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #网络类型
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #IP的配置方法[none|static(静态分配IP)|BOOTP协议|DHCP协议]
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=a3c87ef1-df60-40ca-aaa7-910060a00dab
DEVICE=ens33 #接口名称(设备,网卡)
ONBOOT=yes #系统启动的时候网络接口是否有效(yes/no)
#IP地址
IPADDR=192.168.61.129
#网关
GATEWAY=192.168.61.2
#域名解析器
DNS1=192.168.61.2
3.2 重启网络
执行 service network restart
四.系统管理
4.1 systemctl (CentOS7版本-重点掌握)
- 基本语法
systemctl start|stop|restart|status 服务名 - 经验技巧
查看服务的方法: /usr/lib/systemd/system - 案例实操
4.2 systemctl设置后台自启动服务
- 基本语法
systemctl list-unit-files(查看服务自启动状态)
systemctl disable service_name(关掉指定服务的自启动)
systemctl enable service_name(开启指定服务的自启动) - 案例实操
systemctl disable firewalld.service
五.常见基本命令(重要)
5.1 帮助命令
man [命令或者配置文件]
help [命令] 获得shell内置命令的帮助信息
5.2 touch:创建空文件夹
5.3 cp:复制文件或者目录
-
基本语法
cp [选项] source dest (复制source文件到dest) -
选项说明
选项 功能 -r 递归复制整个文件夹 -
经验技巧
强制覆盖不提示的方法: \cp
5.4 cat 查看文件内容
- 基本语法
cat [选项] 文件 - 选项说明
选项 | 功能 |
---|---|
-n | 显示所有行的行号,包括空行 |
5.5 more文件内容分屏查看器
more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本内容
- 基本语法
more 要查看的文件 - 操作说明
操作 | 功能说明 |
---|---|
空白键(space) | 向下翻一页 |
Enter | 向下翻一行 |
q | 立刻离开 不再显示该文件内容 |
ctrl+f | 向下滚动一屏 |
ctrl+b | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
5.6 less分屏显示文件内容
less 功能与more类似,但是比more指令更强大,是根据显示需要加载内容,对于
大型文件具有较高的效率
- 基本语法
less 文件 - 操作说明
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字符串 | 向下搜寻字符串功能 n:向下查找; N:向上查找 |
q | 离开这个less程序 |
5.7 echo:输出内容到控制台
-
基本语法
echo [选项] [输出内容]选项 : -e 支持反斜线控制的字符转换
控制字符 功能说明 \ 输出\本身 \n 换行符 \t 制表符,也就是tab键 -
案例实操
命令 | 输出 |
---|---|
echo “hello\tword” | hello\tword |
echo -e “hello\tword” | hello word |
5.8 head显示文件头部内容
head 用于显示文件的开不部分内容,默认情况下head显示文件的前10行内容
- 基本语法
head 文件: 查看文件头10行内容
head -n 5 文件: 查看文件头5行内容
5.9 tail输出文件尾部内容
tail 输出文件尾部内容 默认情况下显示文件后10行内容
- 选项说明
选项 | 功能说明 |
---|---|
-n<行数> | 显示文件尾部n行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
5.10 >输出重定向和>>追加
- 基本语法:
ls -l >文件:将列表中的内容写入到文件中(覆盖写)
ls -al >>文件:将列表中的内容追加到文件的末尾
5.11 ln软链接
软链接也称为符号链接,类似于windows里的快捷方式
- 基本语法
ln -s [源文件或目录] [软链接名]
cd -P 软链接名:进入软连接实际物理路径 - 经验技巧
删除软连接使用 rm -rf 软链接名
如果使用rm -rf 软链接名/ 会把软链接对应的真实目录下内容删掉
5.12 时间日期类
5.12.1 时间日期
- 基本语法
date [选项]…[+时间日期格式] - 选项说明
选项 | 功能说明 |
---|---|
-d<时间字符串> | 显示指定的时间字符串表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
-
参数说明
参数 功能说明 <+时间日期格式> 指定显示时使用的日期时间格式 -
案例实操
命令 功能说明 date +%Y 显示当前年份 date “+%Y-%m-%d %H:%M:%S” 指定显示时使用的日期时间格式 date -d ‘1 days ago’ 显示前一天的时间 date -d ‘-1 days ago’ 显示明天的时间 date -s ‘2024-06-23 20:05:32’ 设置系统当前时间
5.13 日历
- 基本语法
cal:查看当前月的日历
cal 年: 显示这一年的日历
5.14用户管理命令
5.14.1 添加新用户
- 基本语法
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名(添加新用户到某个组)
5.14.2 passwd设置用户密码
- 基本语法
passwd 用户名(功能描述:设置用户密码)
5.14.3 id查看用户是否存在
- 基本语法
id 用户名
5.14.4 su切换用户
-
基本语法
命令 功能说明 su 用户名称 只能获得该用户的执行权限,不能获得环境变量 su -用户名称 切换到该用户并获得该用户的环境变量及执行权限
5.14.5 userdel 删除用户
- 基本语法
userdel [选项] 用户名 - 选项说明
选项 | 功能说明 |
---|---|
-r | 删除用户的同时,删除与用户相关的所有文件 |
5.14.6 who查看用户登录信息
- 基本语法
who am i:显示登录用户的登录名以及登录时间
whoami:显示自身用户名称
5.14.7 sudo 设置普通用户具有root权限
- 修改配置文件 (设置test用户具有root权限)
vi /etc/sudoers
Allow root to run any commands anywhere
root ALL=(ALL) ALL
test ALL=(ALL) ALL
5.14.8 usermod修改用户
- 基本语法
usermod -g 用户组 用户名 - 选项说明
选项 | 功能说明 |
---|---|
-g | 修改用户的初始登录组,给定的组必须存在 |
5.15 用户组管理命令
- groupadd 组名 :新增组
- groupdel 组名 :删除组
- groupmod -n 新组名 老组名
- cat /etc/group 查看创建了那些组
5.16 文件权限类
文件属性
- 从左到右的10个字符,如图:
- 0首位表示类型
在Linux中第一个字符表示这个文件是目录、文件或链接文件等
- -代表文件
- d代表目录
- l代表链接文档
- 0首位表示类型
- rwx作用到文件和目录的不同解释
- 作用到文件
- [r] 代表可以读取查看
- [w] 代表可写,可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对这个文件所在的目录有写权限,才能删除该文件
- [‘x’] 代表可执行:可以被系统执行
- 作用到目录
- [r] 代表可读取
- [w] 代表可写:可以修改,目录内创建+删除+重命名目录
- [‘x’] 可以进入该目录
- 作用到文件
5.17 chmod改变权限
-
基本语法
- 第一种方式变更权限
chmod [{ugoa}{±=}{rwx}] 文件或目录 - 第二种方式变更权限
chmod [mode=421] 文件或目录
- 第一种方式变更权限
-
经验技巧
u:文件所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 -
案例实操
命令 功能说明 chmod u+x 文件名 修改文件使其所有主用户具有执行权限 chmod u+x,g+w 文件名 修改文件使其所有主用户具有执行权限,所属组用户具有写权限 chmod -R 777 文件夹 修改整个文件夹的所有文件所有者、所属组、其他用户都具有可读可写可执行权限
5.18 chown 改变所有者
- 基本语法
chown [选项] [最终用户] [文件或目录] - 选项说明
选项 | 功能说明 |
---|---|
-R | 递归操作 |
-
案例实操
命令 功能说明 chown test aa.txt 修改文件所有者为test chown -R test:test aa/ 递归改变文件所有者和所有组
5.19 chgrp 改变所属组
- 基本语法
chgrp [最终用户组] [文件或目录]
5.20 搜索查找类
5.20.1 find 查找文件或目录
find 命令将指定目录向下递归地遍历各个子目录,将满足条件的文件显示在终端
-
基本语法
find [搜索范围] [选项] -
选项说明
选项 功能 -name<查询方式> 将按照指定的文件名查找模式查找文件 -user<用户名> 查找数据指定这个用户的文件 -size<文件大小> 查找指定的文件大小查找文件,单位为:
b-块(512字节)
k-千字节
M-兆字节
G-吉字节 -
案例实操
功能说明 命令 按照文件名查找a目录下的txt文件 find a/ -name *.txt 按照拥有着查找a目录下的txt文件 find a/ -user *.txt 按照文件大小 在/home目录下查找大于200M的文件(+n:大于 -n:小于 n:等于) find /home -size +200M
5.20.2 grep过滤查找以及“|”管道符
管道符:表示将前一个命令的处理结果输出传递给后面的命令处理
-
基本语法
grep 选项 查找内容 源文件 -
选项说明
选项 功能 -n 显示匹配行及行号
六.压缩和解压类
6.1 gzip/gunzip 压缩
- 基本语法
gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (解压文件命令) - 经验技巧
- 只能压缩文件不能压缩目录
- 不保留原文件
- 多个文件会有多个压缩包
6.2 zip/unzip 压缩
linux和Windows都通用,可以压缩目录且保留源文件
-
基本语法
zip [选项] XXX.zip 将要压缩的内容 (压缩文件或目录)
unzip [选项] XXX.zip -
选项说明
zip选项 功能 -r 压缩目录 unzip选项 功能 -d<目录> 指定解压后文件的存放目录 -
案例实操
命令 功能说明 zip -r test.zip test/ 压缩test目录为test.zip zip test.zip a.txt b.txt 压缩a.txt和b.txt,压缩后的名为test.zip unzip test.zip -d test/ 解压test.zip搭配test文件夹
6.3 tar 打包
-
基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容(打包目录 压缩后的文件格式为 .tar.gz) -
选项说明
选项 功能 -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件 -C 解压到指定目录 -
案例实操
命令 功能说明 tar -zcvf test.tar.gz a.txt b.txt 压缩a.txt和b.txt,压缩后的名为test.zip tar -zxvf test.tar.gz 解压到当前目录 tar -zxvf test.tar.gz —C /test 解压到test目录
七.磁盘查看和分区类
7.1 du(disk usage) 查看文件和目录占用的磁盘空间
-
基本语法
du [选项] 目录/文件 (显示目录下每个子目录的磁盘占用情况) -
选项说明
选项 功能 -h 以人们较为易读GBytes、MBytes等格式自行展示 -a 不仅展示目录大小,还包括文件 -c 显示所有文件和子目录大小后,显示总和 -s 只显示总和 –max-depth=n 指定统计子目录的深度是第n层 -
案例实操
命令 功能 du -sh 查看用户主目录占用的磁盘文件大小
7.2 df(disk free) 空余磁盘空间
-
基本语法
df [选项] (列出文件系统的总体磁盘使用量) -
选项说明
选项 功能 -h 以人们较为易读GBytes、MBytes等格式自行展示
八. 进程管理类
8.1 ps(process status) 查看当前系统进程状态
-
基本语法
ps aux|grep xxx (功能描述:查看系统中所有进程)
ps -ef|grep xxx (功能描述:查看子父进程之间的关系) -
选项说明
选项 功能 a 列出所有终端的所有用户的进程 x 列出当前用户的所有进程 u 面向用户友好的显示风格 -e 列出所有进程 -u 列出某个用户关联的所有进程 -f 显示完整格式的进程列表 -
经验技巧
如果想查看进程的CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID使用ef
8.2 kill 终止进程
-
基本语法
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,支持通配符) -
选项说明
选项 功能 -9 表示强迫进程立即停止
8.3 top 实时监控系统进程状态
-
基本语法
top [选项] -
选项说明
选项 功能 -d 秒数 指定top命令每隔几秒更新,默认3s -i 使top不显示任何闲置或者僵死进程 -p 通过指定监控进程ID来仅仅监控某个进程的状态 -
操作说明
选项 功能 P 以CPU使用率排序,默认就是此项 M 以内存的使用率排序 N 以PID排序 q 退出top -
查询结果字段解释
第一行信息为任务队列信息
top - 16:05:09 up 1 day, 13:54, 1 user, load average: 0.00, 0.01, 0.05内容 说明 16:05:09 系统当前时间 up 1 day, 13:54 系统运行时间,本机已经运行了一天 13小时54分钟 1 user 当前登录了一个用户 load average: 0.00, 0.01, 0.05 系统在之前1分钟,5分钟,15分钟的平均负载,一般认为大于1,系统超出负载 第二行为进程信息
Tasks: 95 total, 2 running, 93 sleeping, 0 stopped, 0 zombie内容 说明 95 total 系统中的进程总数 2 running 正在运行中的进程数 93 sleeping 睡眠的进程 0 stopped 正在停止的进程 0 zombie 僵尸进程,如果不是0,需手工检查 第三行为CPU信息
%Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st内容 说明 0.3 us 系统中的进程总数 0.0 sy 系统模式占用的CPU百分比 99.3 id 空闲CPU占比 第四行为物理内存信息
KiB Mem : 995676 total, 328104 free, 180868 used, 486704 buff/cache内容 说明 995676 total 物理内存总量,单位KB 328104 free 空闲的物理内存数量 180868 used 已使用的物理内存数量 486704 buff/cache 作为缓冲的内存数量 第五行交换分区(swap)信息
KiB Swap: 2097148 total, 2097148 free, 0 used. 632420 avail Mem内容 说明 2097148 total 交换分区(虚拟内存)的总大小 2097148 free 空闲交换分区的大小 0 used 已经使用的交换分区的大小 632420 avail Mem 作为缓存的交互分区的大小
8.4 netstat 显示网络状态和端口占用信息
-
基本语法
netstat -anp |grep 进程号 (查看该进程网络信息)
netstat -nlp |grep 端口号 (查看网络端口号占用情况) -
选项说明
选项 功能 -a 显示所有正在监听和未监听的套接字 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在监听的服务状态 -p 表示显示哪个进程在调用
九.软件包管理
9.1 RPM
- RPM 概述
RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe
是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
rpm 包的名称格式:软件名称-版本号-运行的硬件平台.rpm
- RPM查询命令
- 基本语法
rpm -qa (功能说明:查询所安装的所有rpm软件包)
- 基本语法
- RPM卸载命令
-
基本语法
rpm [选项] rpm软件包 -
选项
选项 功能 -e 卸载软件包 –nodeps 卸载软件时,不检查依赖。这样使用该软件包的软件就不能正常工作了
-
RPM安装命令
- 基本语法
rpm [选项] RPM包全名 - 选项说明
选项 功能 -i install,安装 -v –verbose,显示详细信息 -h –hash,显示详细信息 –nodeps 安装前不检查依赖 - 案例实操
安装firefox: rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
- 基本语法
-
9.2 YUM仓库配置
- YUM概述
YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS
中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包
并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次
次下载、安装,
-
YUM常见命令
-
基本语法
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下载软件
yum install wget
- 进入/etc/yum.repos.d/目录下,备份默认的 repos 文件
[root@hadoop100 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.backup
- 下载网易163或者aliyun的repos,任选其一
[root@hadoop100 yum.repos.d] wget
http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop100 yum.repos.d] wget
http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163- 使用下载好的repos文件替换掉默认的repos文件
[root@hadoop100 yum.repos.d]# mv Centos-7.repo CentOS-Base.repo
- 清理旧缓存数据,缓存新数据
[root@hadoop100 yum.repos.d]#yum clean all
[root@hadoop100 yum.repos.d]#yum makecache
yum makecache 就是把服务器的包信息下载到本地电脑缓存起来- 测试
进入/etc/yum.repos.d/目录下,备份默认的 repos 文件
[root@hadoop100 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.backup
- 下载网易163或者aliyun的repos,任选其一
[root@hadoop100 yum.repos.d] wget
http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop100 yum.repos.d] wget
http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163- 使用下载好的repos文件替换掉默认的repos文件
[root@hadoop100 yum.repos.d]# mv Centos-7.repo CentOS-Base.repo
- 清理旧缓存数据,缓存新数据
[root@hadoop100 yum.repos.d]#yum clean all
[root@hadoop100 yum.repos.d]#yum makecache
yum makecache 就是把服务器的包信息下载到本地电脑缓存起来- 测试
yum list|grep firefox