文章目录
- 一.LINUX
-
- 1.虚拟机工具:VMwareWorkstation
- 2.镜像下载:
-
- 3.Linux我记不住的命令
-
- 1.查看硬件信息(这tm谁记得住,需要的时候再百度)
- **防火墙命令**
- **date命令**
- **wget命令**
- **ps命令**
- **nice命令**
- **kill命令和killall命令**
- **uname命令**
- **uptime命令**
- **free命令**
- **who命令**
- **last命令**
- **netstat命令**
- **history命令**
- **sosreport命令**
- **ls命令**
- **find命令**
- **locate命令**
- **whereis命令**
- **cat命令**
- **more命令**
- **head&tail 命令**
- **tr命令**
- **wc 命令**
- **stat命令**
- **grep 命令**
- **cut命令**
- **diff命令**
- **touch命令**
- **uniq命令**
- **sort命令**
- **mkdir命令**
- **cp 命令**
- **move命令**
- **rm命令**
- **dd命令**
- **file 命令**
- **tar命令**
- 4.名词&缩写
- 5.命令
- 6.Bug和错误排查和改错
一.LINUX
1.虚拟机工具:VMwareWorkstation
2.镜像下载:
3.Linux我记不住的命令
1.查看硬件信息(这tm谁记得住,需要的时候再百度)
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
防火墙命令
systemctl restart docker #重启docker服务
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
systemctl start firewalld #开启防火墙
date命令
%S 秒(00~59)
%M 分钟(00~59)
%H 小时(00~23)
%I 小时(00~12)
%m 月份(1~12)
%p 显示出AM或PM
%a 缩写的工作日名称(例如:Sun)
%A 完整的工作日名称(例如:Sunday)
%b 缩写的月份名称(例如:Jan)
%B 完整的月份名称(例如:January)
%q 季度(1~4)#有的版本目前不能使用
%y 简写年份(例如:20)
%Y 完整年份(例如:2020)
%d 本月中的第几天
%j 今年中的第几天
%n 换行符(相当于按下回车键)
%t 跳格(相当于按下Tab键)
date+%Y-%m-%d %H:%M:%S %p %b %a %j'
wget命令
用于在终端命令行中下载网络文件,全称‘web get’
#参数 #作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
ps命令
全称‘process’
参数 作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
除了上面5种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存(L)、包含子进程(s)以及多线程(l)这5种补充形式。
ps命令可允许参数不加减号(-)
nice命令
用于调整进程的优先级
nice -n -20 bash
bash服务的优先级调整到最高
pidof 命令
用于查询某个指定服务进程的PID号码值
pidof sshd
kill命令和killall命令
终止某个PID值的服务进程;终止某个指定名称服务器所对应的全部进程
kill 29979
pidof sshd
29979 29975 1340
killall sshd
uname命令
用于查看系统内核版本和系统架构等信息,全称‘unix name’
uname -a
uptime命令
uptime
用于查看系统的负载信息,显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分),负载值越低越好。
“负载值越低越好”是对运维人员来讲的,越低表示越安全省心。但是公司购置的硬件设备如果长期处于空闲状态,则明显是种资源浪费,老板也不会开心。所以建议负载值保持在1左右,在生产环境中不要超过5就好。
free命令
显示当前系统中内存的使用量信息
free -h
who命令
查看当前登入主机的用户终端信息
last命令
查看主机的被访问记录
ping tracepath
netstat命令
‘network status’ 网络详细信息
常用
-a 显示所有连接中的Socket
-p 显示正在使用的Socket信息
-t 显示TCP协议的连接状态
-u 显示UDP协议的连接状态
-n 使用IP地址,不使用域名
-l 仅列出正在监听的服务状态
-i 显示网卡列表信息
-r 显示路由表信息
netstat -ntpl
history命令
显示执行过的1000条命令
如果不够,可以去/etc/profile文件的HISTSIZE更改变量值
history
history -c #清空记录
sosreport命令
用于收集系统配置及架构信息并输出诊断文档
当Linux系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息,以便让技术支持人员能够远程解决一些小问题,抑或让他们能提前了解某些复杂问题。
ls命令
‘list’
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
如果想要查看目录属性信息,则需要额外添加一个-d参数
ls -ld /home
find命令
find命令用于按照指定条件来查找文件所对应的位置,语法格式为“find [查找范围] 寻找条件”。
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec …… {}\; 后面可跟用于进一步处理搜索结果的命令(
在整个文件系统中找出所有归属于linuxprobe用户的文件并复制,该实验的重点是“-exec {} \;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“\;”。完成该实验的具体命令如下到/root/findresults目录中。
find / -user linuxprobe -exec cp -a {} /root/findresults/ \;
locate命令
locate命令用于按照名称快速搜索文件的位置。
find命令是全盘搜索,但是效率低。
查找一些常见的且又知道大概名称的文件,可以使用locate命令。
先用updatedb命令生成一个索引库文件,文件名字为var/lib/mlocate/mlocate.db,后续使用locate命令搜索文件,速度快很多。
updatedb
ls -l /var/lib/mlocate/mlocate.db
-rw-r-----. 1 root slocate 2945917 Sep 13 17:54 /var/lib/mlocate/mlocate.db
locate whereis
whereis命令
whereis 也是基于updatedb命令生成的索引库文件进行搜索,不关心名称相同的文件。
which命令
目的只是找到命令本身的路径。
cat命令
全称‘concatenate’
cat -n#显示行号
more命令
用于查看内容较多的纯文本文件
head&tail 命令
查看纯文本文件的前N行和后N行
head -n 10 kfc.cfg
tail -n 10 mcdonald.cfg
tr命令
用于替换文本内容中的字符
cat mcdonald.cfg | tr [a-z] [A-Z]
wc 命令
用于统计文本的行数,字数,或者字节数
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
wc -l /etc/passwd #统计当前系统有多少用户。
stat命令
命令用于查看文件的具体存储细节和时间等信息,英文全称为“status”,语法格式为“stat文件名称”。
用来查找Linux系统中的文件的时间状态:Access time,Modify time,Change time.
grep 命令
用于按行提取文本内容
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有“关键词”的行。
cut命令
按照列提取文本内容
使用-f参数设置需要查看的列数,还需要使用-d参数来设置间隔符号。
cut -d : -f 1 /etc/passwd
diff命令
比较多个文件的差异
touch命令
创建空白文件或者设置文件的时间
touch -d "2020-05-04 15:44" mcdonald.cfg
uniq命令
去除文本中连续的重复行
sort命令
对文本内容进行再排序
-f 忽略大小写
-b 忽略缩进与空格
-n 以数值型排序
-r 反向排序
-u 去除重复行
-t 指定间隔符
-k 设置字段范围
sort -t : -k 3 -n kfc.txt#以第三个字段中的数字作为排序的依据。
mkdir命令
创建空白的目录
mkdir -p kfc/mcdonald/burgerking
cp 命令
copy
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r为上述参数
cp kfc.log mcdonald.log
move命令
剪切或者重命名
在当前目录下会重命名
rm命令
-f 强制执行
-i 删除前询问
-r 删除目录
-v 显示过程
dd命令
用于按照指定大小和个数的数据块来复制文件或者转换文件
dd if=参数值of=参数值count=参数值bs=参数值”
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数
dd if=/dev/zero of=560_file count=1 bs=560M
把光驱设备中的光盘制作成iso格式的镜像文件
dd if=/dev/cdrom of=RHEL-server-8.0-x86_64-LinuxProbe.Com.iso
file 命令
用于查看文件的类型
tar命令
打包或者解压缩
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
tar -czvf kfc.tar.gz /kfc
mkdir /root/popeyes
tar -xzvf kfc.tar.gz -C /root/popeyes
4.名词&缩写
rpm
RPM是Red-Hat Package Manager(红帽软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
npm
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
5.命令
jar包的发布
#后台运行
nohup java -jar "name.jar" & #这个时候输出到目录下面的nohup.out
nohup java -jar "name.jar" & >log.log & #输出到log.log文件下