测试工程师的linux 命令学习(持续更新中)

1.ls

"""1.ls"""
ls -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 ls -l等同于 ll

在这里插入图片描述

第一列共10位,第1位表示文档类型,d表示目录,-表示普通文件,l表示链接文件。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x—的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
第二列表示链接数,表示有多少个文件链接到inode号码。
第三列表示拥有者
第四列表示所属群组
第五列表示文档容量大小,单位字节
第六列表示文档最后修改时间,注意不是文档的创建时间
第七列表示文档名称。以点(.)开头的是隐藏文档

在这里插入图片描述

	linux查看命令中-h参数,通常是指Human readable也就是说把文件的大小转成我们熟悉的大小单位如
	K、M、G

ll -h

在这里插入图片描述

  • rws
    setuid:该位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令
    那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)
    在这里插入图片描述

2.who am i

"""2.who am i """

显示当前登录时用的用户名 如root
在这里插入图片描述

3.top

"""3.top """
top 查看服务器总体的系统运行状态和cpu的使用率

总体的系统运行状态和cpu的使用率

直接输入大写的M 按照 %MEM降序排列
直接输入大写的P 按照 %CPU降序排列
Z 黑白彩色
q 退出
top -c: 显示完整的命令

4.cat

"""4.cat """
cat(英文全拼:concatenate)
cat filename 查看某个文件内容

在这里插入图片描述

	cat /dev/null > file_name  清空某个文件

在这里插入图片描述

5.grep

"""5.grep Global Regular Expression Print(全局正则表达式打印) """
用于对文件内容进行搜索匹配 一般和cat一起使用 如 cat XXX.txt | grep -n 123 
  -E :开启扩展(Extend)的正则表达式。 

  -i :忽略大小写(ignore case)。

  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。

  -n :显示行号

  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker

  -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。

  -o :只显示被模式匹配到的字符串。

  --color :将匹配到的内容以颜色高亮显示。

  -A n:显示匹配到的字符串所在的行及其后n行,after

  -B n:显示匹配到的字符串所在的行及其前n行,before

  -C n:显示匹配到的字符串所在的行及其前后各n行,context

查找mysql.log文件中含有emission的行
在这里插入图片描述

使用联合筛选 如要名称和日期 and的关系,这是指同一条日志同时要满足的条件

cat mysql.log | grep "市经道路与铁路交叉二期工程" | grep ”building“

查询mysql日志中含有 “car_inout_data” 或 “building”的数据or关系,这是指某条日志只要查看其中一个就可以

tail -f mysql.log | grep "car_inout_data|building"

目前使用来看这个命令不是那么稳定,需要转义一下

tail -f mysql.log | grep "car_inout_data\|building"

在这里插入图片描述

追踪实时的数据

tail mysql.log -f | grep  -C 1 "市经道路与铁路交叉二期工程"

实时追踪不含有 car 和and关系 point的,这是指某条日志不包含其中一个都不显示
tail -f mysql.log | grep -v “car” | grep -v “point”

  • 2022年3月24日更新 实时追踪不含有 car 或者 point的行,这是指某条日志不包含其中一个都不显示。同 tail -f mysql.log | grep -v "car" | grep -v "point"一样的效果

      tail -f mysql.log | egrep -v "car|point"
    

查看日志末尾10行

tail -n 10 filename

循环实时查看最后10行

tail -fn 10 filename

查询日志前10行

head -n 10 filename

2022年4月1日更新 更新服务器时间

硬件时间:计算机自己有自己的时间,也就是硬件时间,hard clock,也就是存在 BIOS 里那个时间
服务器时间:计算机启动时,就要读取硬件时间

6.date 查看当前服务器时间

"""6.date  """

date -s "20220401 23:59:59" 设置服务器时间
hwclock --show 显示硬件时间
hwclock --hctosys 将硬件时间写入系统时间
date

在这里插入图片描述

date -s "20220401 23:59:59"

在这里插入图片描述

hwclock --show

在这里插入图片描述

hwclock --hctosys

在这里插入图片描述

7.df -h

7 . 查看当前主机磁盘存储空间 df:disk free
df -h

在这里插入图片描述

  • H与h的区别 大写 -H:在某些命令中,如 df -H、du -H,大写的 -H 表示以“基于十进制的单位”显示结果。这意味着磁盘空间大小 以 1000 的倍数进行计算和显示。例如,1 GB 表示 1000 MB,而不是 1024 MB。
    小写 -h:在许多命令中,如 df -h、du -h,小写的 -h 表示以“人类可读的单位”显示结果。这意味着磁盘空间大小以更易读的方式进行显示,使用 K(千字节)、M(兆字节)、G(吉字节)等单位。例如,1 GB 表示 1 吉字节。
  • 如下图所示
    在这里插入图片描述

8.查看服务器版本

hostnamectl status

在这里插入图片描述

9.代码自动补全

yum -y install bash-completion

在这里插入图片描述
输入host按tab就会出现之相关的命令
在这里插入图片描述

10 rm

rm 加文件名 删除文件需要确认
rm -f 强制删除文件 不需要确认  f:force
  • 删除某个文件夹下所有文件
    cd 该文件夹下
rm -f *

2022-07-01更新

11 nohup

nohup python3 gps_minitor.py &    注释:使用python3 后台运行 py程序

在这里插入图片描述

12 jobs

jobs 是Linux命令 jobs 命令显示了当前 shell 环境中已启动的作业状态

在这里插入图片描述

jobs -l 多显示一列ID号
current 一个“+”(加标志)标识了将被 fg 或 bg 命令作为缺省值使用的作业。这个作业标识也能够使用 %+ (百分号、加号)或 %% (双百分号)来指定。
如果当前缺省作业退出,就用一个“-”(减号标志)来标识将要成为缺省作业的作业。这个作业标识也可以用 %-(百分号、减号)来指定。
state 显示以下值之一:
Running
表示此作业没有被信号挂起并没有退出。
Done
表示此作业已经完成并返回退出状态 0。
Done (code)
表示此作业已经正常完成和退出并返回指定的非零退出状态码。这个代码用一个十进制数来表示。
Stopped
表示此作业已经挂起。
killed
表示此作业正在被杀死

在这里插入图片描述

13 find

Linux find 命令用来在指定目录下查找文件。
find / -name 'java' 查找根目录下 名称叫做java的文件

在这里插入图片描述
2022-07-05更新

14 lsof

losf: list of file 列出当前系统打开文件
加端口号,查看端口被谁占用
如lsof -i:8888 查看8888端口是否被占用

在这里插入图片描述

	kill -9 8888即可释放改端口

15 cron

	cron:CRON的全称:Command Run On (UNIX scheduler) 可以理解为在linux/unix上运行程序

具体用法如下 不要被某些文章误导了 要看就要看服务器给出的文章
比如 下图表达式根本解释不出来 浪费了笔者 1 2个小时
在这里插入图片描述

在这里插入图片描述
cron在线工具

crontab -l 查看正在运行中的定时任务
corntab -e 编辑某个用户的任务 只用这个编辑吧 避免报错和不必要的麻烦

注意:cron -e 应全部写绝对路径 并以/开头 比如 /usr/local/python3.9/bin/python3 否则会报错
不建议直接使用python3 建议 使用 which python3 得到执行目录 把这个路径拷贝下来

在这里插入图片描述
corntab -e 按 i 进入编辑模式 esc键退出编辑 ctrl + : 输入wq 保存并退出

若出现下图加横线的语句便是安装成功
在这里插入图片描述
centos 7.x

	/sbin/service crond status     //查看状态
	/sbin/service crond start     //启动
	 /sbin/service crond stop     //停止
	 /sbin/service crond restart   //重启
	sbin/service crond reload    //重载

在这里插入图片描述
cron 的log 在var/log/cron里 可以查看是否执行 计划任务

在这里插入图片描述

备注 上图的根目录没有写 /python_project/导致失败 修改之后执行成功 在这里插入图片描述
记录一个完整的流程
corntab -e
输入
*/1 * * * * cd /python_project/script/tfbluemq/ && /usr/local/python3.9/bin/python3 testc.py
出现
在这里插入图片描述
重启corn使其立即生效
/sbin/service crond restart   
查看是否生效
tail -f var/log/cron

crontab -e实际修改的是/var/spool/cron下的root 文件
在这里插入图片描述

2022-07-12

16 curl

curl(CommandLine Uniform Resource Locator) 用于访问  上传和下载  网络上的资源

访问百度
在这里插入图片描述

  • 获取本机公网IP(实际上是访问了一个网址,返回ip地址)

     curl ifcojnfig.me
    
  • 下载文件到当前路径下

      curl -O url
    

2022-09-05

17 mv

  • mv :MV 的全称是 Move(移动) 目前用来修改文件名把老的文件名(old)换成新的文件名(new)

      mv old new
    

2022-09-10

18 find

  • 查询指定目录下查找文件

      find / -name python  # / 代表根目录 -name  python 文件名称符合 name 为 pyhton 的文件 pyhton
    

19 ctrl + z 与 ctrl + c

  • Ctrl+C和Ctrl+Z都是中断命令,但作用不同。

      Ctrl+C是发送SIGINT信号,终止一个进程。
      Ctrl+Z是发送SIGSTOP信号,挂起一个进程,将作业放置到后台(暂停状态)。与此同时,可以通过fg重启前台被中断的任务,也可以通过bg
      把中断的任务放到后台执行。 
    

20 fg bg

  • fg 将命令进程号码为N的命令进程放到前台执行,同%N

      fg % [jobnumber] 
    
  • bg 将命令进程号码为N的命令进程放到后台执行,同%N

      bg % [jobnumber] 
    

jobnumber可以通过jobs -l获得

21 ps

  • ps :Process Status(进程状态) 查看进程信息

  •   -e: 显示所有/每个(evevy)进程。这个选项让 ps 显示系统中的所有进程,而不仅仅是当前用户的进程。
    
      -f: 全格式输出(full-format)。这个选项使 ps 输出更加详细的信息,包括 UID(用户ID)、PID(进程ID)、PPID(父进程ID)、C(CPU使用率)、STIME(启动时间)、TTY(终端)、TIME(占用的CPU时间)和 CMD(命令名称或路径)。
    
    ps  -ef | grep nginx  # 显示完成的格式输出并含有nginx的进程
    
  • 找出并杀死含有xxx的进程
    ps -ef | grep xxx| grep -v grep | cut -c 9-15 | xargs kill -s 9

说明:

“grep firefox”的输出结果是,所有含有关键字“firefox”的进程。

“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。

22 yum install -y bash-completion

  • 用于敲击tab键时补全命令

23 firewalld

  • 开启防火墙
systemctl start firewalld
  • 开启某个端口
 firewall-cmd --zone=public --add-port=8041/tcp --permanent
  • 重载已添加的端口
firewall-cmd --reload
  • 查看开放的端口
firewall-cmd --zone=public --list-ports

24 解决中文乱码

  • 下载中文包
sudo yum install langpacks-zh_CN
  • 查看已安装的语言包列表
locale -a
  • 设置系统默认语言,请使用以下命令:
localectl set-locale LANG=zh_CN.UTF-8

25 firewall

  • 启动防火墙
systemctl start firewalld
  • 开放防火墙端口 port=xxxx
firewall-cmd --zone=public --add-port=8041/tcp --permanent
  • 重载已添加的端口
firewall-cmd --reload
  • 查看开放的端口
firewall-cmd --zone=public --list-ports
  • 删除防火墙
firewall-cmd --zone=public --remove-port=80/tcp --permanent

26 tar

  • 压缩 czf 解压缩 xzf

  • tar:Tape Archive(磁带归档)是一个用于打包文件和目录的命令,它将多个文件和目录组合成一个单独的归档文件。tar
    命令本身并不执行压缩操作,而只是将文件和目录打包到一个文件中,通常使用 .tar 扩展名。
    想要使用tar命令打包则需要使用

      tar -czvf archive.tar.gz file.txt
    
  • 将 file.txt 打包并使用 gzip 进行压缩成archive.tar.gz;参数说明 -czvf

    • c 表示创建归档文件
    • z:使用 gzip 压缩算法进行压缩。文件名为tar.gz
    • v 表示显示详细的操作过程
    • f 后面跟着 archive.tar.gz,指定归档文件的名称
      在这里插入图片描述

说明如下:

gzip 是用于进行文件压缩的命令,它使用 gzip 压缩算法对单个文件进行压缩,并将其扩展名更改为 .gz。gzip 压缩通常与 tar
命令结合使用,以在打包文件时进行压缩,从而生成 .tar.gz 或 .tgz 格式的压缩文件。

因此,如果你只想打包文件和目录,但不进行压缩,可以使用 tar 命令。示例如下:

压缩文件:tar -cvf archive.tar file.txt (将 file.txt 打包成 archive.tar)
压缩目录:tar -cvf archive.tar directory/ (将 directory 目录打包成 archive.tar)
如果你希望在打包文件时进行压缩,可以使用 tar 命令结合 gzip 进行压缩。示例如下:

压缩文件:tar -czvf archive.tar.gz file.txt (将 file.txt 打包并使用 gzip 进行压缩成
archive.tar.gz) 压缩目录:tar -czvf archive.tar.gz directory/ (将 directory
目录打包并使用 gzip 进行压缩成 archive.tar.gz) 综上所述,如果你只需要打包文件和目录,选择 tar
命令;如果你需要在打包时进行压缩,可以选择 tar 结合 gzip 进行压缩

  • 解压缩

    tar -xzvf archive.tar.gz

    tar:是一个用于打包和解包文件的命令。

    • x:表示解压缩(或提取)归档文件的内容。
    • z:表示解压缩时使用 gzip 压缩算法。
    • v:显示详细的操作过程,将输出被处理的文件列表。
    • f archive.tar.gz:指定要处理的归档文件的名称为 archive.tar.gz。

执行该命令后,tar 将会解压缩 archive.tar.gz 文件,并将其中的文件提取到当前目录中。解压缩后的文件和目录将在屏幕上以详细的方式显示出来。

解压缩到指定目录:

tar -xzvf archive.tar.gz -C /path/to/directory

26 scp

  • scp( Secure Copy 安全拷贝)命令用于在不同的服务器之间安全地复制文件或目录。

      scp /path/to/file username@destination:/path/to/destination
    

下面是 scp 命令的具体解释:

  • /path/to/file:指定源服务器上要复制的文件或目录的路径。
  • username:目标服务器上的用户名,你需要使用目标服务器的有效用户名进行替换。
  • destination:目标服务器的主机名或 IP 地址。
  • :/path/to/destination:指定要将文件复制到的目标服务器上的路径。冒号前的部分表示目标服务器上的路径,你可以根据需要进行替换。

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值