Linux测试常用命令

Linux系统常用命令

文件和文件夹操作命令

cd

进入指定目录

  • 几个特殊的目录切换:
    • cd . 表示当前目录
    • cd … 表示父目录
    • cd ~ 表示用户的家目录
    • cd -上一次所在目录
    • cd / 表示进入跟目录
      ###pwd
  • 作用:查看当前工作目录
  • 格式:pwd 回车

mkdir

  • 作用:创建一个文件夹
  • 格式:mkdir 目录
  • 常用参数:
    • -p:表示递归地创建目录,先创建父目录,再在父目录下创建子目录
#举例:表示先在/home目录下创建dir01目录,再在dir01目录下创建dir02目录,如果不在-p,当dir01目录不存在的时候就会报错。
mkdir -p /home/dir01/dir02	

rmdir

  • 作用:删除空目录,如果目录非空就不能删除
  • 格式:rmdir 目录

ls

  • 作用:查看目录下的内容
  • 格式:ls 目录,如果不跟目录表示查看当前目录下的内容
  • 常用参数:
    • -l:以列表展示
    • -a:查看所有的文件,包括隐藏文件

touch

  • 作用:创建一个空文件,如果文件已存在就更新文件的时间戳
  • 格式: touch 文件名

rm

  • 作用:删除目录或文件
  • 格式:rm 目录或文件
  • 常用参数:
    • -r:表示删除目录
    • -f:表示强制删除不提示
    • -rf:通常将两个参数联合使用

vi

  • 作用:编辑文件,格式是vi 文件名,如果文件不存在就新建一个空文件并开始编辑,如果文件已存在就直接编辑
  • 格式:vi 文件
  • vi命令的三种模式:
    • 命令模式:vi一个文件,默认进入的就是命令模式,在命令模式下可以删除字符,删除行,移动光标,按i、o、a可以进入编辑模式;
    • 编辑模式:在编辑模式下可以编辑、删除字符,按esc可以返回到命令模式;
    • 末行模式/底线模式:在末行模式下可以保存文件,查找内容,批量替换内容,退出vi命令,在命令模式下按冒号进入末行模式。
      • w:保存
      • wq:保存并退出
      • q:退出
      • q!:强制退出
      • set nu:显示行号
      • 输入行号回车:跳转到某一行
      • %s/旧字符串/新字符串/g:表示把全文中的旧字符串换成新字符串,比如%s/INFO/ERROR/g表示把全文的INFO替换成ERROR

mv

  • 作用:移动文件或目录,经常用来重命名文件或目录
  • 格式:mv 源文件 目标文件,如果源文件和目标文件在同一个目录下,必须改名字,如果在不同目录下,可以不改名字
  • -r:如果要移动整个目录需加上r这个参数

cp

  • 作用:复制文件或目录
  • 格式:cp 源文件 目标文件
  • 常用参数:
    • -r:递归地复制目录及目录下的内容

scp

  • 作用:可以在两台主机之间拷贝文件
  • 举例:
    #场景一:把本机的文件拷贝到另一台主机
    scp ServerAgent-2.2.3.tar.gz root@192.168.13.129:/usr/local/src/
    #场景二:把另一台主机的文件拷贝到本机
    scp root@192.168.13.129:/usr/local/src/ServerAgent.tar.gz ./
    

grep

  • 作用:在文件中查找包含关键字的行,把相应的行返回
  • 格式:grep 关键字 文件,比如 grep “ERROR” catalina.out表示从catalina.out文件中查找包含ERROR的行,经常跟管道符连起来用

find

  • 作用:从指定目录查找文件
  • 格式: find 路径 条件,条件可以是如下
    • -name 名字,比如:find / -name test`
    • -type 类型,类型包括f(文件)、d(目录)等,比如:find / -name test -type f

which

  • 作用:从PATH变量的路径中查找命令的可执行文件的路径并返回
  • 格式:which 命令,比如which find

whereis

  • 作用:从PATH变量的路径中查找命令的可执行文件的路径、帮助文档以及源代码并返回
  • 格式:whereis 命令,比如whereis find

du

  • 作用:查看文件或目录占用的磁盘大小
  • 常用参数:
    • du -sh:查看文件或目录的总大小
    • du -ah:查看文件或目录的总大小以及下面的每个文件分别的大小

wc

  • 作用:统计文件的行数或字节
  • 格式:wc 文件名
  • 常用参数:
    • wc -l 文件:表示统计文件的行数
    • wc -c 文件:表示统计文件的字节数

cat

  • 作用:查看文件的内容,输出到屏幕上,适合查看比较短的文件
  • 格式:cat 文件名
  • -n:表示查看文件内容并显示行号

more

  • 作用:查看文件的内容,类似 cat ,不过会以一页一页的形式显示,可以翻行和翻页,适合查看比较长的文件
  • 格式:more 文件名

less

  • 作用:查看文件的内容,less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。
  • 格式:less 文件名

head

  • 作用:查看文件的头部,默认是查看前10行
  • 格式:head -n 文件,比如head -20 test表示查看test文件的前20行

tail

  • 作用:查看文件的尾部,默认是查看末尾的10行
  • 格式:tail -n 文件名,比如tail -20 文件名表示查看末尾20行
  • 常用参数:
    • -f:表示查看文件实时写入的内容,输出到屏幕上,经常用来查看实时日志,比如 tail -f catelina.out或者 tail -f catelina.out |grep ERROR
      问:linux怎么查看日志?
      ​ tail -f 日志文件
      ​ tail -f 日志文件>文件
  • 日志级别:DEBUG<INFO<WARNING<ERROR,在查看日志前,需要先确保日志的开关调成最低的级别,这样可以看到最详细的日志,在查看日志的时候,重点要看ERROR级别的日志。
  • 在项目中,有的项目看日志需要登录到linux主机上用命令查看,有的项目把日志查看做到了页面上,直接在页面上就可以看。

tar

  • 作用:打包压缩或解压文件
  • 格式:记住如下两种用法
    • tar -zcvf:压缩文件,比如 tar -zcvf logs.tar.gz logs 表示把logs目录压缩成logs.tar.gz
    • tar -zxvf:解压文件,比如tar -zxvf logs.tar.gz -C /usr/local/src/ 表示把logs.tar.gz解压到 /usr/local/src/目录下

unzip

  • 作用:解压zip包
  • 格式: unzip xxx.zip

wget

  • 作用:下载文件
  • 格式:wget url地址

source

  • 作用:执行shell脚本、sql脚本
    执行shell脚本的方法,比如有一个shell脚本是test.sh,可以用以下方式执行
    ​ 1)./test.sh,可以在后面加个&来实现在后台执行脚本
    ​ 2)根据脚本第一行中声明的shell类型来选择对应的命令,如果声明的是sh,那就使用sh test.sh执行,如果声明的是bash,那就使 用bash test.sh执行;
    ​ 3)source test.sh

ln

  • 作用:创建链接文件,链接文件包括硬链接和软链接两种,它们的区别是:
    1)硬链接相当于同一个文件的多个别名,多个别名背后相当于同一个文件,inode相同,但在存储的时候,只会在磁盘上存一份,这一点跟复制两个文件是不一样的;
    2)软链接相当于快捷方式,软链接文件和目标文件是两个不同的文件,但软链接文件指向的是目录文件。
  • 语法:
    • ln 目标文件 硬链接文件:创建硬链接
    • ln -s 目标文件 软链接文件:创建软链接
  • 什么情况下需要创建软连接?
    以安装python3为例,可以通过如下两种方式实现在任意目录下敲python命令
    1)把/usr/local/python3/bin添加到环境变量PATH中,然后可以在任意路径下敲python3或者python3.7两个命令,也可以在这个目录下创建一个软链接文件python指向python3或者python3.7,实现效果是可以在任意目录下敲python命令运行python3;
    2)可以在/usr/bin目录下创建一个软链接文件python指向/usr/local/python3/bin/python3.7,因为/usr/bin目录默认就是在环境变量PATH中,所以这样就可以直接执行python命令。

echo

  • 作用:输出字符到屏幕,一般用来查看环境变量,比如查看环境变量PATH的值可以用echo $PATH

用户和权限管理命令

useradd

  • 作用:创建用户
  • 格式:useradd 用户名,比如useradd jack这个命令表示创建一个用户jack,用户的家目录是/home/jack,用户的主组是jack;注意只有root能创建新用户
  • 常用参数:
    • -d:表示指定用户的家目录
    • -g:表示指定用户的主组
  • cat /etc/passwd:查看系统上有哪些用户

passwd

  • 作用:修改用户密码
  • 格式:passwd 用户名,root可以改所有用户的密码,自己也可以改自己的密码

userdel

  • 作用:删除用户
  • 格式:userdel 用户名
  • 常用参数
    • -r:表示删除用户的同时一并删除家目录

usermod

  • 作用:修改用户的家目录、主组、附属组等
  • 格式:usermod 用户名 参数
  • 常用参数:
    • 参数-d:修改家目录
    • 参数-g:修改主组
    • 参数-G:修改附属组
    • 参数-a:添加

id

  • 作用:查看用户的信息,包括用户id、用户名称、主组id、主组名称、所有组的id和名称
  • 格式: id 用户名

who

  • 作用:查看当前在线的用户,如下表示当前root账号有两个会话
  • 格式:who 回车

su

  • 作用:切换用户
  • 格式:su - 用户名

groupadd

  • 作用:创建用户组
  • 格式:groupadd 组名;

groupdel

  • 作用:删除用户组
  • 格式: groupdel 组名

chown

  • 文件的权限:
    • r:读的权限
    • w:写的权限
    • x:执行的权限
  • 对文件来讲,可以把所有用户分为3类:
    • 拥有者(owner):文件的拥有者
    • 同组用户(group):跟文件的组同组的用户
    • 其它用户(other):除了以上两类的其它用户
  #文件权限解释
  lrwxr-xrw-. 1 root root  4 Dec 14 09:52 test_softlink -> test
  说明:
  - l:表示文件类型为软链接
  - rwx:表示所有者的权限为读、写、执行
  - r-x:表示同组用户的权限为读、执行
  - rw-:表示其它用户的权限为读、写
  • 作用:修改文件所有者(owner)和所在组,如果要改目录,需要加参数-R
  • 举例:
    • chown mysql /usr/local/mysql/my.cnf 表示把文件/usr/local/mysql/my.cnf所有者改成mysql
    • chown -R mysql /usr/local/mysql 表示把目录/usr/local/mysql所有者改成mysql
    • chown -R mysql:mysql /usr/local/mysql 表示把目录/usr/local/mysql所有者改成mysql,所属组改成mysql

chgrp

  • 作用:修改文件的所属组
  • 格式:chgrp 组名 文件名

chmod

  • 作用:修改文件的权限
  • 文件的权限有3种,分别是:r(读)、w(写)、x(执行)
  • 对文件来讲,可以把所有用户分为3种,分别是:user(拥有者)、group(同组的用户)、other(其它的用户)
  • 格式:有3种写法
    • chmod u+x,go-x test.sh:表示拥有者增加执行权限,同组用户和其它用户取消执行权限
    • chmod u=rwx, g=w,o=x test.sh:表示设置拥有者的权限是读、写、执行,同组用户的权限是写,其它用户的权限是执行
    • chmod 721 test.sh:表示设置拥有者的权限是读、写、执行,同组用户的权限是写,其它用户的权限是执行
      • r:权重为4
      • w:权重为2
      • x:权重为1

sudo

  • 作用:普通用户在做某个操作的时候,可以在命令前加sudo来获取权限

8. 其它基础操作的命令

ping

  • 作用:检测网络的连通性、稳定性、网速等

ip addr

  • 作用:查看网卡的信息
  • 扩展:IP地址
    • ip地址=网络地址+主机地址,比如ip:192.168.13.128/24,网络地址是:192.168.13.0,主机地址是128,掩码地址是255.255.255.0, 掩码的作用是定义网络地址的长度
    • 255.255.255.0 == 11111111. 11111111. 11111111. 00000000 ,掩码地址与IP地址做位上的与运算,得到网络地址

ifconfig

  • 作用:查看网卡的信息
    ip[root@instance-06tr1b22 ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether fa:27:00:05:38:0a brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.4/20 brd 192.168.15.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::f827:ff:fe05:380a/64 scope link 
           valid_lft forever preferred_lft forever
    

lsof -i:端口

  • 作用:查看端口是否占用,以及端口的连接情况,如果查出来结果为空就表示端口没有被占用
    [root@instance-06tr1b22 ~]# lsof -i:8080
    COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
    java    10175 root   49u  IPv6 67990123      0t0  TCP *:webcache (LISTEN)
    
  • 常用端口:
    • 20、21:ftp的端口
    • 22:ssh的端口、sftp的端口
    • 80:默认的http端口
    • 443:默认的https端口
    • 3306:mysql的默认端口
    • 4444:性能监控的serverAgent的默认端口
    • 8080:tomcat的默认端口
    • 8888:抓包工具fiddler、charles的默认端口

netstat

  • 作用:查看端口是否被占用,以及端口的连接情况

ps -ef

  • 作用:查看主机上的所有进程,一般跟管道符连接起来用,查看某个进程
  • 格式:ps -ef |grep 关键字,比如查看tomcat的进程使用ps -ef |grep tomcat
    [root@instance-06tr1b22 ~]# ps -ef |grep tomcat
    root     10175     1  0 Jun16 ?        00:50:25 /usr/java/jdk1.8.0_181/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=512m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
    root     31314 31141  0 22:18 pts/1    00:00:00 grep --color=auto tomcat
    

kill 进程编号

  • 作用:杀死进程
  • 格式:kill 进程编号 或者 kill -9 进程编号(强制杀死进程)

systemctl start|stop|restart|status|disable 服务名

  • 作用:启动|停止|重启|查状态某个服务
    [root@instance-06tr1b22 ~]# systemctl status firewalld.service 
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: man:firewalld(1)
    

service 服务名 start|stop|restart|status

  • 作用:启动|停止|重启|查状态某个服务
    [root@instance-06tr1b22 ~]# service firewalld.service status
    Redirecting to /bin/systemctl status firewalld.service
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: man:firewalld(1)
    

top

  • 作用:查看服务器的资源使用情况,实时查询
    [root@instance-06tr1b22 ~]# top
    top_ - 14:11:39 up 122 days,  3:54,  1 user,  load average: 1.24, 1.25, 1.15
    Tasks:  19 total,   0 running,  19 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 50.0 us,  0.0 sy,  0.0 ni, 50.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  4045036 total,   142200 free,  3443552 used,   459284 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   369352 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                               
       26 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kblockd                               
       36 root      20   0       0      0      0 S   0.0  0.0  80:16.54 kswapd0    
    
    其中:
    • load average: 1.24, 1.25, 1.15 表示过去一分钟、五分钟、以及十五分钟的CPU平均负载;
    • us:用户空间占用CPU百分比,也就是应用程序占用的CPU百分比;
    • sy:内核空间占用CPU百分比;
    • ni:用户进程空间内,改变过优先级的进程占用CPU百分比,进程都有优先级的,如果调节优先级,需要耗费cpu的时间段的,那就消耗这个ni,如果ni很高,那就是进程可能频繁调换优先级;
    • id:空闲CPU的百分比;
    • wa:CPU等待磁盘写入完成的时间;
    • hi:硬中断的CPU百分比;
    • si:软中断的CPU百分比,如果程序没有问题,那是没有hi和si的;
    • st:虚拟机偷取时间的百分比

iostat

  • 作用:监控服务器的磁盘IO情况
  • 常用参数:
    • -x:显示更多信息
      [root@instance-06tr1b22 ~]# iostat -x
      Linux 3.10.0-1160.11.1.el7.x86_64 (instance-06tr1b22) 	06/22/2021 	_x86_64_	(2 CPU)
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 3.28    0.02    0.46    0.08    0.00   96.16
      Device: rrqm/s  wrqm/s  r/s  w/s  rkB/s  wkB/s avgrq-sz avgqu-sz  await r_await w_await  svctm  %util
      vda     0.01    2.87  0.77   4.94 51.17  42.85 32.94    0.04      8.33  21.69   6.25     0.44   0.25
      
      其中:%util表示磁盘IO利用率。

iotop

  • 作用:查看每个进程占用的IO
    [root@instance-06tr1b22 ~]# iotop
    Total DISK READ :	0.00 B/s | Total DISK WRITE :       0.00 B/s
    Actual DISK READ:	0.00 B/s | Actual DISK WRITE:       0.00 B/s
      TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                     
        1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --system --deserialize 19
        2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
        4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
    

free

  • 作用:查看内存使用情况
  • 格式:free -m
    [root@instance-06tr1b22 ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3950        3347         121           0         481         378
    Swap:             0           0           0
    

uname -r

  • 作用:查询主机的内核版本
    [root@instance-06tr1b22 ~]# uname -r
    3.10.0-1160.11.1.el7.x86_64
    

查看CentOS的发行版

cat /etc/redhat-release

[root@instance-06tr1b22 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

df -Th

  • 作用:查看文件系统的使用情况
    [root@instance-06tr1b22 ~]# df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
    tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs          tmpfs     2.0G  604K  2.0G   1% /run
    tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
    /dev/vda1      ext4       40G   19G   19G  50% /
    tmpfs          tmpfs     396M     0  396M   0% /run/user/0
    

配置CentOS的静态IP

方法:
1)修改网卡的配置文件,路径是/etc/sysconfig/network-scripts/ifcfg-xxx,把BOOTPROTO改成static,并且在配置文件中手动添加IP地址,配置参考如下
在这里插入图片描述
2)配置完成后,需要重启网络服务才能生效,命令:service network restart

Linux上安装软件

在linux上安装软件的几个方法:

  1. yum install 包名:通过yum管理器来安装软件,它会先下载rpm包,再自动安装。这个的好处是可以自动解决依赖,如果依赖于其他包,会先安装其他包;一般我们在安装一些工具或者命令的时候,用yum的方式安装最简单;
  2. rpm -ivh 包名:先手动下载rpm包到本地,然后再执行这个命令安装;
  3. 源码安装:下载源码包——》解压——》配置 configure——》编译 make——》安装 make install;
  4. 免安装:下载解压启动就可以用。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶星河一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值