Linux实战命令汇总

文章目录

  • [1. 文件目录类](#1. 文件目录类)
  • [2. 文件权限类](#2. 文件权限类)
  • [3. 网络配置类](#3. 网络配置类)
  • [4. 磁盘分区类](#4. 磁盘分区类)
  • [5. 搜索查找类](#5. 搜索查找类)
  • [6. 进程线程类](#6. 进程线程类)
  • [7. 压缩和解压类](#7. 压缩和解压类)
  • [8. 性能优化类](#8. 性能优化类)

1. 文件目录类

命令 描述
pwd 显示目前的目录
ls [-l] [-h] [-a] 显示当前文件夹内文件/文件夹, ls -l == ll
mkdir [-p] dir_1/ dir_2 [-p] 递归的创建文件夹
touch 文件名 创建文件
cd cd / cd ~ cd . cd ... cd -- 更改目录 回到根目录,然后再向下寻找 回到用户主目录的缩写。 当前目录 返回前一目录(父目录)( 在最近的两次工作目录中来回切换
cp 源文件 目标目录 cp -r 源目录 目标目录 复制文件 复制目录
mv 源文件 目标文件 移动文件或文件夹,可作为修改文件名操作
rm -i a.txt rm --r dir_A rm --rf / 删除文件a.txt前,-i会有删除提示 删除文件夹 删除根目录所有文件,-f没有提示,不能恢复
cat -b文件名 cat -n文件名 cat -v文件名: 输出文件的行编号(忽略空行) 输出文件的行编号(不忽略空行) 列出一些看不出来的特殊字符
more 文件名 分屏显示文件内容(适用于文件内容多的情况)
echo "内容" > 文件名 echo "内容" >> 文件名 输出(覆盖)到指定的文件中 追加(文本末尾添加)到指定的文件中
head -n 文件名 只看某文件的前n行, head -100 ./a.txt
tail -n 文件名 只看某文件的最后n行, tail -100 ./a.txt
tail -f 文件名 动态实时输出文件内容,tail -f ./a.txt
which 查看执行命令所在的位置,which python
history 查看最近使用的linux命令
tree [目录名] tree ~ tree / tree --d ~ tree --C 树形结构显示目录结构 树形显示家目录内容 树形显示根目录内容 树形显示目录内容(只显示目录,不显示文件) 带颜色显示(文件夹蓝色)
wget URL 下载文件

ls -l扩展内容(共十位)

第0位字符表示文件类型:

-文件

d 代表目录

c 字符流,装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

S socket

p 管道

I 链接文档(link file)

第1-3位确定属主(该文件的所有者)拥有该文件的权限。 --User

第4-6位确定属组(所有者的同组用户)拥有该文件的权限, --Group

第7-9位确定其他用户拥有该文件的权限 s --Other

Linux系统目录机构

/root : 该目录为系统管理员,也称作超级权限者的用户主目录,一般用户进不去。

/sbin : s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/usr: user resource这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program file

/bin: 是Binary的缩写,这个目录存放着最经常使用的命令,如pwd、touch、mkdir

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

/home : 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/etc : 所有的系统管理所需要的配置文件和子目录。

/lib :系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到

/opt : 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录 下。默认是空的。

/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs 。

/tmp :这个目录是用来存放一些临时文件的。

/var :这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件。

2. 文件权限类

日常工作会遇到想执行某个文件,但没有权限的情况,就需要增加执行权限,执行命令chmod 777 a.txt就行了,其他内容j基本用不到!!!

用户是Linux系统工作中重要的一环,包括用户管理与组管理,在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限,在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限。

权限 缩写 数字代号 作用到文件 作用在目录
读read r 4 可以读取、查看 可以通过ls查看目录
写write w 2 可以修改,但是不一定可以删除该文件,除非该文件所在的目录有写权限 可以修改,目录内创建+刪除+重命名目录
执行execute x 1 可以被系统执行 可以进入该目录

PS:添加组/删除组、用户管理等的终端命令都需要通过sudo执行

用户管理相关命令
useradd [-m] [--g] 组名 用户名 -m -g 创建用户 自动建立用户家目录 制定用户所在组,否则建立一个同名的组
passwd 用户名 设置用户密码(必须要有)
su 用户名1 切换到用户名1
id 用户名 得用户的用户代号和组代号
who whoami 看当前登陆的用户列表详细信息 查看当前登陆用户的用户名
userdel --r 用户名 删除用户 -r 自动删除用户家目录
cat /etc/password | grep 用户名 确认用户信息
exit 推出当前登陆账号
usermod:设置用户的主组/附加组和登陆Shell 主组:通常有用户指定,在etc/passwd文件的第四列Gid对应的值 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限(设置用户的附加组,需要重新登陆才能生效)
usermod --g 主组 用户名 修改用户的主组(passwd文件的第四列Gid对应的值)
usermod --G 附加组 用户名 修改用户的附加组(增加新的功能)
usermod --s /bin/bash 用户名 修改用户登陆shell(终端命令窗口,默认使用dash)
组管理相关命令
groupadd 组名 添加组
groupdel 组名 删除组
cat /etc/group 确认组信息
chgrp --R 组名 文件/目录名 修改文件/目录所属组
文件权限管理
chmod u+x a.txt chmod g-w a.txt chmod o-w a.txt 将文件a.txt"添加用户可执行权限" 将文件a.txt"删除本组可写权限" 将文件a.txt"删除其他组可写权限"
chmod 777 a.txt 将文件a.txt添加所有权限
目录权限管理
chmod -R 755dir 递归执行 将目录dir添加所有权限 755分别对应拥有者、组、其他用户
chown 新用户名 文件名[目录名] 修改件名[目录名]的拥有者
chgrp [-R] 新组名 文件名[目录名] 递归修改文件[目录]的组

3. 网络配置类

ifconfig 查看或者配置当前的网卡信息
ifconfig | grep inet 查看网卡对应IP地址
ping IP地址 检测本计算机到目标IP地址是否正常连接
netstat -nplt 显示整个系统的网络情况

4. 磁盘分区类

fdisk -l: 在终端中查看linux有几个磁盘分区

s表示scsi硬盘 d表示disk

a表示第一块盘(a为基本盘(第一块硬盘,两块就会有b,b为基本从属盘,c为辅助主盘,d为辅助从属盘)

数字,前四个分区用1~ 4表示,它们是主分区或扩展分区(当前都是主分区),从5开始才是逻辑分区上面四个放在一块表示我的计算机里面第一块SCSI硬盘

df -h: 列出文件系统的整体磁盘使用量, 检查文件系统的磁盘空间占用情况

选项与参数:

-h:以人们较易阅读的GBytes, MBytes, KBytes等格式自行显示;

-a:列出所有的文件系统,包括系统特有的/proc等文件系统;

-k:以KBytes的容量显示各文件系统;

-m:以MBytes的容量显示各文件系统;

-H:以M= 1000K取代M=1024K的进位方式;

-T :显示文件系统类型,连同该partition 的filesystem名称(例如ext3)也列出;

5. 搜索查找类

复制代码
通配符的使用:
	*:代表任意多个字符			
	?:代表任意一个字符
	[12345 ] :代表可以匹配字符组中任意一个
	[a-f]:	 代表a到f中的字符任意一个(数字也可以哦)
find查找文件/文件夹名称 find Desktop/ -name "1 " find . -name "*.txt" find 文件夹地址 -name "查询条件" 查看桌面文件夹所有包含1 的文件 查看桌面文件夹所有以.txt结尾的文件
grep 查询文件内容 grep [-n][-v][-i] 搜索关键字 文件名 grep --n "关键字" 文件名 grep --i 关键字 文件名 grep ^a 111.txt grep b$ 111.txt 搜索文件中的关键字 显示匹配的行号 忽略字母大小写 以a为开头 以b为结尾
管道 | 将一个命令的输出作为另一个命令的输入

6. 进程线程类

top 动态显示运行中的进程并排序(比较好)
ps -aux | grep bitxmesh ps -ef | grep bitxmesh 利用 | 管道符号导向到grep去查找特定的进程 全格式显示,利用 | 管道符号导向到grep去查找特定的进程
-a -u -x -e -f 显示当前终端的所有进程信息 以用户的格式显示进程信息 显示后台进程运行的参数 显示所有进程全格式
kill 进程ID kill -9 进程ID 终止指定代号的进程- 9表示强行终止
netstat[-a] [-n] [-p] 显示网络统计信息的命令,此命令显示整个系统目前的网络情况
-an 按一定顺序排列输出
-p 显示哪个进程在调用

7. 压缩和解压类

gzip 文件名 gunzip文件名 压缩文件(.gz文件)解压缩文件命令
tar [-c] [-v] [-f] [-z] [-x] 文件名 压缩文件(并打包)压缩后的文件格式.tar.gz .
-c:产生.tar打包文件 -x:解包.tar文件 -v:显示详细信息 -f:指定压缩后的文件名
tar --cvf 打包文件名.tar 文件1 文件2 tar --xvf 打包文件名.tar tar --zcvf 打包文件名.tar.gz 文件1 文件2 tar --zxvf 打包文件.tar.gz --C 目标路径 打包文件不压缩 解包文件 打包压缩文件 解包文件

8. 性能优化类

1、如果系统效率变慢,你怎么办?(整机->内存->磁盘->CPU->IO)

a、top-查看整体机器性能:依次查看三个指标即可(cpu和内存-> 各cpu空闲率id->系统负载率load avg)

复制代码
分析过程:(cpu、mem->id->load avg)
	1、先查看整体cpu 与mem内存占用率,是否存在某个线程占的cpu或内存太高。
	2、然后查看每个cpu具体情况(因为现在都是多核cpu,按数字1),着重查看cpu空闲率id(idle),id越大越好
	3、接着查看系统负载率load average,分别是1分钟,5分钟,15分钟的系统平均负载率,load average:2.33,2.51,2.12 ,如果(a+b+c)/3>6,说明系统负载率太高。
	4、如何退出,不能使用control+C,而是使用按键q即可
	5、低配版查看整机性能:uptime,系统负载性能

​ b、查看内存信息 free -m

​ free -m(以MB字节查看内存信息)

​ c、查看磁盘信息 df -h

​ d、查看包含但不限于CPU也有内存 vmstat -n 2 3

​ e、查看磁盘IO信息 iostat -xdk 2 3

​ util若长期大于80%,说明sql语句需要调优

相关推荐
人工智能训练5 小时前
OpenEnler等Linux系统中安装git工具的方法
linux·运维·服务器·git·vscode·python·ubuntu
Wang15305 小时前
jdk内存配置优化
java·计算机网络
郭涤生5 小时前
第十章_信号_《UNIX环境高级编程(第三版)》_笔记
服务器·笔记·unix
0和1的舞者5 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
Wang15305 小时前
Java多线程死锁排查
java·计算机网络
QT 小鲜肉6 小时前
【Linux命令大全】001.文件管理之which命令(实操篇)
linux·运维·服务器·前端·chrome·笔记
小小星球之旅6 小时前
CompletableFuture学习
java·开发语言·学习
Drqf6 小时前
NAS一键安装脚本
docker
额呃呃6 小时前
select详细分析
服务器
网创联盟,知识导航6 小时前
沐雨云香港大宽带云服务器 · 配置全览
服务器·阿里云·腾讯云