Linux操作系统命令大全
每一个命令都是linux上的一个二进制程序,例如你执行了cd其实就是在执行cd二进制文件程序
1、Linux操作系统只有一个顶级目录称为根目录 /出现在后面的/表示层次, 而Windows系统则是多个根路径 C:/ D:/等
2、什么是命令行 和 命令,命令行是linux终端,是一个命令提示符页面,以纯字符的形式操作系统
,可以使用各种字符化命令对系统发出操作指令。
命令 既Linux程序,一个命令就是一个Linux程序,命令没有图形化页面,可以在命令行终端中提供字符化的反馈,命令操作系统要不图形化操作系统效率高出很多,
3、命令基础格式
command [-options] [parameter]
其中 command 命令本身, options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节。parameter[可选,非必填]命令的参数,多数用于命令的指向目标等
示例:
ls -l /home/ittest ,ls是命令本身 -l是选项 ./home/ittest是参数
意思是以列表的形式,显示/home/ittest目录内的内容
cp -r test1 test2, cp是命令本身,-r 是选项 ,test1和test2是参数 意思是复制文件夹test1为test2
4、cd命令的作用
cd命令可以切换当前工作目录,语法是cd [linux路径] 没有选项 没有参数
5、pwd命令的作用
pwd命令 没有选项 没有参数 直接使用即可 作用是输出当前所在的工作目录
6、绝对路径以根路径为启点 cd /home/hello , 相对路径 cd /hello 当前目录作为起点, 切换到当前目录下的hello cd ./hello , 上一级目录 cd .. , 上两级目录 cd ../.. , 回到home目录cd ~
7、创建文件夹命令 mkdir [-p ] [linux路径]文件夹 ,其中 -p 是可以自动创建不存在的路径 mkdir -p /h/k
8、文件操作命令
创建文件路径 touch [linux路径] touch index.txt
查看文件 cat [linux路径] cat index.txt 显示全部内容
查看文件 more [linux路径] 支持分页查询,通过空格翻页,按键盘q退出查看
如何区分是文件还是文件夹呢 ,看如下 如果是d开头的就是文件夹

9、复制文件或文件夹 cp [-r] [参数1 linux路径文件] [参数2 linux路径文件]
10、移动文件/文件夹 mv命令 mv [参数1原文件] [参数2目标路径]
11、删除文件、文件夹 rm[-f -F] 参数 1 参数2 参数N -f代表强制删除
12、查找命令 which 要查找的命令 例如 which cd 就会返回 cd二进制程序的路径
13、查找文件 find命令 例如: find 起始路径 -name 被查找的文件名 find / -name index.txt ,按照文件大小搜索 find 起始路径 -size [-10kb 小于10k的文件] [+10k 大于10k的文件]
14、过滤文件grep grep [-n可选表示匹配到的行号] 关键字 文件路径 例如:从一个文件中获取 关键字所在行信息 grep "王俊峰" index.txt 就会显示出来
15、数量统计命令wc 可以统计文件的行数,单词数量等, wc [-c统计bytes数量 -m统计字符数量 -l统计行数 -w统计单词数量] 文件路径 例如 wc -c index.txt
16、管道符 把左边命令的结果作为右边输入 | 和 grep配合使用 例如过滤文件 cat index.txt | grep "王俊峰" 同样返回了

17、echo命令 可以在控制台输出指定的内容 echo 输出的内容,和程序中的pringt语句差不多 , echo "hello lang" ,echo 后面如实使用 `` 飘号包裹起来 就会当做命令来执行 例如 echo `pwd`
18、重定向符配合 命令一起使用 > 将左侧命令结果 覆盖写入到符号右侧指定的文件中,>>将左侧命令的结果 追加写入到符号右侧指定的文件中 例如 覆盖写入 echo "hello linux " > index.txt 追加写入 echo "hello linux " >> index.txt
19、tail 命令 可以查看文件尾部的内容, tail [-f持续跟踪 -num查看尾部多少行] linux路径
20、vi/ vim编辑器 ,vim是vi的加强版本,有三种模式 命令模式 输入模式 底线命令模式
vi/vim 文件路径 不存在创建 有就修改, 进入后就变成了命令模式,然后按下键盘 i 就变成了输入模式, 使用ESC就退出了命令模式,在命令模式 按下冒号 : 然后按下 eq 就保存了,按q!就退出了不会保存



21、Linux 的Root用户,root用户是超级管理员,
切换成root用户 su [- 符号可选 表示是否切换用户后加载环境变量] [用户名 表示要切换的用户名] exit 命令退回上一个用户,使用普通用户切换到root用户需要输入密码,使用root用户切换到普通用户 不 用 输入密码,例如 su - root
在其它用户上临时授予最高权限, sudo , 需要注意的是不是每个用户都能使用sudo 需要root用户授予某个用户,它才能使用,如果授予呢? 切换到root用户 执行 visudo,会自动通过vi 编辑
/etc/sudoers 在文件的最后增加 一行 其它用户名 ALL=(ALL) NOPASSWD: ALL 然后wq保存,然后切换到其它用户,就可以使用sudo了

22、用户 和用户组,关系是N:N
创建用户组 groupadd 用户组名 ,删除用户组 groupdel 用户组名, 创建用户 useradd [可选-g用户组名 可选-d执行用户的home路径]用户名,删除用户 userdel[-r]用户名,查看用户所属组 id[用户名]
修改用户所属组 usermod -aG 用户组 用户名,将指定用户加入指定用户组

23、getent 列出系统有哪些用户 和用户组
查看系统有哪些用户语法 getent passwd
显示7份信息

查看系统有那些组 getent group
显示3份信息

24 权限信息 我们通过ls -l可以以列表形式查看信息,并显示权限细节

序号1 表示文件,文件夹 的权限控制信息 共计10个槽位,分为三部分 r表示读权限 w表示写权限 x表示执行权限
槽位1 [- 表示文件,d 文件夹,l软连接] ,
槽位2[ r或-],槽位3[w或-],槽位4[x或-], 备注 :表示用户权限
槽位5[r或-],槽位6[w或-],槽位7[x或-], 备注 :表示用户组权限
槽位8[r或-],槽位9[w或-],槽位10[x或-] 备注 :其它用户权限

序号2表示文件,文件夹所属用户
序号3表示文件,文件夹所属用户组
25、chmod命令 修改权限,注意:只有文件,文件夹的所属用户或root用户可以修改
语法: chmod [-R] 权限 文件或文件夹 选项-R 对文件内部应用同样的操作
示例 chmod u=rwx , g=rwx , o=r-x 文件名/文件夹 其中 | u 表示 用户user | g表示所属组 group | o表示其它用户 other
chmod u=rwx,g=rwx,o=r-x ./index.txt

26、权限的数字序号,例如4+2=6 6就代表 rw权限 案例:chmod 666 index.txt 相当于 chmod rw-,rw-,rw- index.txt

27、chown命令 用于修改文件/文件夹 的用户 和用户组, 语法 chown [-R 选项 对文件夹全部内容都做相同规则] [用户 修改所属用户] :分隔符 [用户组 修改所属用户组] 文件或文件夹
示例 chown root hello.txt 将hello.txt所属用户修改成root
示例 chown :root 将hello.txt所属用户组修改成root
28、快捷建
Ctrl+C 强制停止 不能用于vi/vim, Ctrl+D 退出或登出,history查看历史输入过的命令, 使用 ! 加命令中的关键词 搜索历史命令 ,还可以使用Ctrl+R来搜索history列出的历史命令

29、光标移动快捷键 Ctrl+a 跳到开头, Ctrl+e跳到命令结尾 ,Ctrl+键盘左键 向左跳一个单词,Ctrl+键盘右键 像右跳一个单词
30、清理屏幕 使用Ctrl+l 可以清空终端内容 通过命令 clear得到同样的效果
31、软件安装CentOS 两种安装方式 第一种下载安装包自行安装,或者通过应用商店安装,
yum命令,linux是.rpm包软件管理器,Window是.exe,用于自动化安装配置Linux软件,并可以自行解决依赖问题, 语法 yum [-y 自动确定无需手动确认安装或卸载过程] [install 安装 |remove 卸载 |search 搜索 ] 软件名称
yum命令需要使用root用户权限,可以su切换到root用户 或者使用sudo授权命令,并且需要连接网络 ,
例如我们安装wget应用程序:
第一步、我们搜索一下应用商店是否有wget 应用程序 yum -y search wget
第二步、我们安装wget 应用程序 yum -y install wget
第三步、我们卸载wget 应用程序 yum -y remove wget
32、systemctl命令 (能够被systemctl来管理的软件 我们一般也称之为:服务)
语法 systemctl start启动 | stop停止 | status查看状态 | enable 开启开机自启 | disable关闭开机自启 | 服务名
我们可以通过这个命令来控制系统内置的一些服务和外部一些服务,如果是外部服务有注册功能 也可以通过systemctl来控制,或者手动注册
系统内置服务 NetworkManager 主网络服务,network 副网络服务, firewalld 防火墙服务,sshd,ssh服务(Finalshell远程登录Linu使用的就是这个服务)
例如: 我们查看系统的防火墙服务的状态 systemctl status firewalld
33、软连接,通过 ln 语法 ln [-s选项创建软连接] [参数1被链接文件或文件夹] [参数2要连接的目的地] 例如创建 ln -d /etc/yum.conf ~/yum.conf

34、查看系统时间
语法 date [-d 按照给定字符串显示日期。一般用于日期计算 ] [+格式化字符串] 格式化字符串 %Y 年 %m月 %d天 %H小时 %M分钟 %S秒 %s来自1970年到现在的秒数
例如: date +%Y-%m-%d 返回 2023-12-20
35、IP地址 主机名
IPV4版本 地址格式是 a.b.c.d 其中abcd元素表示0-255的数字,如 192.168.88.101 就是一个精准的地址 0.0.0.0和127.0.0.1 本意一样,
IPV6版本 不常用
主机名 hostname 查看主机名 ,修改主机名 hostnamectl set-hostname 新主机名 (修改主机名需要root用户)
36、域名解析,第一步 先检查本地文件,第二步 如果本地没有在去查询公网DNS服务器询问

37、 虚拟机配置固定IP,dhcp 修改static:动态获取IP地址,每次重启都会获取一次,
在VMware Workstation中配置固定IP,配置固定IP分为两大步骤,
1在VMware Workstation 中配置IP地址网管和网段 (IP地址的范围)
2在Linux系统中手动修改配置文件,固定IP
38、ping 命令 用于检查制定的服务器是否是可联通的状态 语法 ping [-c num 表示检查的次数 -c 3 检查3次 ] ip主机名 例如检查三次百度网络是否联通 ping -c 3 baidu.com
39、wget命令是非交互试的文件下载器,可以在命令行中下载网络文件 语法 wget [-b 选项 后台下载会将日志写入到当前工作目录的wget-log文件 ] url 下载链接 ,
示例 wget https://lmg.jj20.com/up/allimg/1113/051220112022/200512112022-1-1200.jpg
40、curl 命令 可以发送http网络请求,可用于下载文件,获取信息等 语法 curl [-O 选项 用于下载文件,当url是下载链接时。可以使用此选项保存文件] url 要发起请求的网络地址
示例 curl https://www.baidu.com ,也可以用curl 下载 只要使用 -O就可以 示例:curl -O https://lmg.jj20.com/up/allimg/1113/051220112022/200512112022-1-1200.jpg

41、端口 两台计算机或者两个服务程序通讯 需要确定IP和端口才能够进行通讯,Linux支持65535个端口,这6万多个端口分三类进行使用
公认端口 1-1023 用于系统内部使用的,不要占用这些端口
注册端口1024-49151 通常可以随意使用
动态端口49152-65535 通常不会固定绑定程序,而是程序对外进行网络连接 临时使用
nmap 命令可以查看执行IP对外暴露端口问题 ,不是系统自带的程序,所以使用 yum安装 yum -y install nmap 语法 nmap [ip 127.0.0.1 ] 可以看到对外提供的端口
netstat 命令查看本机端口被占用情况 不是系统自带,所以使用yum安装 yum -y install net-tools 例如 netstat -anp ,使用管道过滤一下 netstat -anp | grep 8080
42、进程管理 操作系统会为每个进程分配进程ID,如果查看进程信息 语法 ps [-e显示出全部的进程 -f以完全格式化的形式展示信息] 一般来说 固定用法就是: ps -ef列出进程的全部信息

UID:进程所属用户ID, PID:进程的进程号, PPID:启动此程序的其它ID(进程的父ID), C:此进程的CPU占用率, STIME 进程的启动时间,TTY启动此进程的终端序号,如显示? 表示非终端启动 是系统启动的
TIME 进程累计占用使用CPU的时间 CMD 进程的启动路径及命令,
43、精准匹配 使用管道符 配合grep过滤 ps -ef | grep [tail 进程名] 例如
终端A 正在被tail命令阻塞

终端B

44、 关闭进程 语法 kill [-9 强制关闭进程] 进程ID,其中-9可选 如果不强制关闭 只会通知进程关闭,具体是否关闭看进程本身了
45、主机状态管理 查看系统资源占用情况 可以使用 top命令 默认5秒刷新一次,直接输入top既可,按q或Ctrl+C退出 语法 : top [-p 显示某个进程id,-d 刷新间隔 单位秒,-c显示完整命令,-n 刷新次数,-b 按页输出,-i只显示当前运行的进程,-u 显示当前用户的进程 ]

描述:
第一行 top:程序名称, 后面是当前系统时间, up:13 days 启动时间(电脑启动了13天), 2users :两个用户登录,load average 平均负载 1、5、15分钟负载
第二行 tasks 144个进程 ,1running:1个进程在运行,143 sleeping :143个在睡眠,stopped:0个停止进程,zombie:0个僵尸进程
第三行 cpu用户使用率, cpu系统使用率,ni高优先级cpu使用率,id 空闲cpu率,wa:io等待cpu占用率,hi:cpu硬件中断率,sicpu软件中断率,st强制等待占用cpu率
第四 mem 物理内存,total 总共内存 ,free剩余内存,used使用内存, buff/cache buff和缓存占用内存
第五 swap 虚拟内存,交换空间 total 总共内存 ,free剩余内存,used使用内存, buff/cache buff和缓存占用内存 (虚拟出来的假内存 可以无线扩容,无上限)
PID 进程ID,
USER 启动的用户,
PR 进程优先级 越小越好,
NI复制表示高优先级,
整标识低优先级,
VIRT 进程使用虚拟没内存,单位KB,
RES进程使用物理内存 单位KB,
SHR进程使用共享内存,单位KB,
S进程状态 (S休眠,R运行,Z僵尸状态,N复数优先级,I空闲状态),
%CPU 进程占用CPU率,
%MEM进程占用内存率,
TIME+进程使用CPU时间总计,单位10毫秒,
COMMAND进程命令或名称或程序路径
46、如何查看磁盘信息监控 查看磁盘命令df命令语法 df [-h更加人性化的单位显示] ,

查看cpu,硬盘相关信息 使用iostat 语法:iostat [-x 显示更多信息] [num1 刷新间隔] [num2 刷新几次]

47、查看网络信息 语法 sar [-n 选项 查看网络 ] DEV num1 刷新间隔 num2查看次数 , 备注:DEV表示查看网络接口 例如: sar -n DEV 3 2


48、环境变量 为什么无论我们当前工作目录在哪里 都能使用某些命令,这是PATH环境变量做到的,Linux 系统中使用 env 命令 就可以查看全部环境变量

环境变量PATH , env | grep PATH ,当你执行 cd 的时候 他会按照顺序去下面这几个文件夹里面找相关的应用程序并执行

$符号,在Linux系统中,$符号被用于取环境变量的记录信息, 例如 echo $PATH

自行设置环境变量(临时生效) export 变量名 和值 例如 export lang=jacklang

自行设置环境变量 (永久生效) 针对当前用户 配置在 ~/.bashrc 文件中 ,针对所有用户 /etc/profile文件中 并通过命令 source [路径文件] 进行立刻生效 例如 source /etc/profile
案例:
第一步 在Linux根路径创建一个 文件夹mkdir myenv 然后vim 创建文件 echo 郎俊楠 ,然后给langjunnan文件授予执行权限 chmod u=rwx,g=rwx,o=rwx langjunnan, 测试执行一下

第二步 接下来我们配置到环境变量中 修改 vim /etc/profile 编写langjunnan文件夹路径,不要忘记把原有的PATH值赋予给PATH

第三步
刷新生效环境变量

第四部 测试 ,可以看到 我们在任意目录下执行 都会显示内容了

49、上传 和下载,rz 命令,sz命令 这两个命令需要安装 通过 yum -y install lrzsz 即可安装 ,rz进行上传 sz下载, 需要再工具里使用 例如 xshell ,scp
语法 scp 本地文件路径 远程服务器用户@远程服务器地址:/远程服务器文件夹/ 例如:
scp /Users/langjunnan/Desktop/ni/WechatIMG238.jpegtxt.jpeg root@42.51.41.112:/langjunnan/
50、压缩和解压 .tar .gz在Linux常用, .tar就是一个简单封装的压缩,文件体积并没有减少多少,.gz 使用了压缩算法,大大压缩的文件体积
命令 tar [-c, -v ,-x ,-f,-z ,-C] 参数1压缩出来的文件名 参数2 参数N , 注意: 这里的-c 和-x 是二选一参数 一个是压缩 一个是解压

案例:压缩
tar -cvf test.tar 1.txt 2.txt 3.txt 意思是 把 1/2/3.txt文件压缩到 test.tar里,其中 -cvf 代表 创建压缩文件,显示压缩解压过程 要创建的文件 -f选项必须在所选位置最后一个
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 意思是 1/2/3.txt文件压缩到 test.tar.gz里,其中 -zcvf 代表 使用gzip模式创建压缩文件,显示压缩解压过程 要创建的文件 -f选项必须在所选位置最后一个
案例:解压
tar -xvf test.tar -C [Linux路径默认当前目录] 意思是 解压 显示过程 解压位置
tar -zxvf test.tar.gz -C [Linux路径默认当前目录] 意思是 解压 显示过程 解压位置 测试:tar -zxvf test.tar.gz -C ./test/

51、zip压缩格式,
压缩语法 zip [-r被压缩的包含文件夹 就加-r 参数 如果没有就不包含] [参数1压缩出来的包名称 ] [参数2][被压缩参数N],
解压语法 unzip [-d ] 参数 -d指的是解压去的位置 参数是被解压的zip压缩包文件
案例: 压缩 zip [-r如文件夹就带上] index.zip index.txt
案例: 解压 unzip index.zip
52、scp 命令 scp命令是cp命令的升级版,既: ssh cp,通过ssh协议完成文件复制,主要功能是在不同的Linux服务器之间,通过ssh协议胡来那个传输文件,只要知晓服务器的账号和密码 即可通过scp互传文件 语法 :scp [-r ] 参数1 参数2 ,-r选项用于复制文件夹使用,如果是文件夹必须是-r ,参数1 本机路径,或远程路径 参数2本机路径或远程路径,
示例: scp -r /export/server/jdk root@node2:/export/server 意思:把本机上的jdk文件夹 以root身份复制到node2 的/evport/server/内
53、安装MySql测试,首先 我们的MySql并不存在于我们的yum仓库中,所以需要先配置yum仓库, 需要root权限,
第一步 去mysql官网寻找 yum的源,添加mysql的yum源, 第二步 使用yum安装mysql选择要安装的mysql版本

下载rpm包 并且拖拽到服务器内

第一步 添加 mysql的 yum命令中获取的 rpm 源 sudo rpm -Uvh mysql80-community-release-el7-11.noarch.rpm

第二步 上一步执行成功后, 选择要安装的mysql版本

第三步 安装MySql yum -y install mysql-community-server
第四部 安装完毕的MySql 会自动注册到systemctl中,可能路径在/usr/bin/systemd/system/mysqld.service 所以我们直接执行 systemctl start mysqld
第五步 设置开机自启 systemctl enable mysqld,查看当前状态 systemctl status mysqld


浙公网安备 33010602011771号