Linux命令(转)

 Linux测试相关命令集

练习结果来自博主@Let‘sTest

 (1)cd命令:                                           

1. 如何进入上级目录 :cd ..
2. 如何进入当前用户主目录:cd ~

3. 如何进入上两级目录:cd ../..

4. 进入当前目录命令:cd .

5. 如何进入目录 /usr/isTester/:cd  /usr/isTester/

所有操作

(2)mv命令:

1、【移动当前目录文件】mv 文件名 指定目录/

2、【移动指定目录文件】mv 文件目录/文件名 指定目录/

3、【移动并重命名】mv 文件 新目录/新文件名
(若移动前后在同一目录,即重命名。)

4、【移动到上级目录】“mv 文件名 …/

5、【移动多个文件】mv -t 目标目录/ 文件1 文件2 …
参数:
-t 指定目标目录(target directory)。
 1. 移动一个文件夹(isTester文件夹,移动到/APP/www目录):mv  ~/isTester/  /APP/www/

 2. 移动一个文件(isTester.ini  移动到/APP/www目录) mv  isTester.ini  /APP/www

3. 当前目录istester.tar.gz 移动到 /usr/ido 目录,并重命名为istester1228.tar.gz

    mv isTester.tar.gz  /usr/ido/istester1228.tar.gz

4. 移动文件到上级目录  mv isTester.tar.gz  ../

5. 一条命令,移动两个文件 isTester.tar idoxu.tar 到目录 /APP/www

    mv -t /usr/isTester/  isTester.tar  idoxu.tar

(3)命令cp  

1、【复制文件】“cp 文件 目标路径/”
【复制文件夹】“cp -r 文件夹 目标路径/”
参数:
-r 递归(recursive)

2、想复制并重命名文件夹:“cp -r A target/B”,复制A到target文件夹下并重命名为B(B后不加“/”)
 1. 复制当前目录部署包isTester.tar.gz 到备份目录/APP/www/bak 目录

     cp isTester.tar.gz  /APP/www/bak/

2. 复制文件夹 isTester 到部署目录 /APP/www  :cp -r isTester/  /APP/www/

(4)命令mkdir

   1. 新建一个文件夹 isTester:mkdir isTester

   2. 新建三个文件夹 isTester1 isTester2 isTester3:mkdir isTester1 isTester2 isTester3

   3. 新建一个多层级文件夹 idoxu/20181230/01:mkdir -p idoxu/20181230/01

(5)命令history:

1、【查看历史命令】“history”

2、【查看指定命令执行历史】“history | grep 命令名称”

3、【执行某序号历史命令】“!823”

 (6)命令tail

1. 实时刷新log : tail -f isTester.log  //默认显示最新10条,按“ctrl+c”退出显示

2. 实时刷新最新500条log : tail -500f isTester.log

tailf、tail -f、tail -F三者区别(转)
tail -f

等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F

等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

tailf

等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

常用操作:

此时要想暂停刷新,使用【Ctrl】+【S】暂停终端。

若想继续终端,使用【Ctrl】+【Q】。

若想退出tail命令,直接使用【Ctrl】+【C】。
(7)命令tar

【打包命令】“tar -cvf 包名.tar 打包文件1 打包文件2…”
参数:
-c(create) 创建包,
-v(verbose) 显示指令执行过程,
-f(file)使用文件名字,切记,这个参数是最后一个参数,是必须的,后面只能接文件名。

【压缩命令】“tar -zcvf 包名.tar.gz 文件1 文件2…”
参数:
-z 通过gzip程序压缩。

【打包文件夹】“tar -cvf isTester.tar /usr/isTester/”
压缩同理。

【打包一类文件】“tar -cvf isTesterjpg.tar *.jpg”
压缩同理。

【拆tar包】“tar -xvf isTesterjpg.tar”
参数:
-x(extract)还原文件,即解压文件。

【解压tar.gz包】“tar -zxvf isTesterjpg.tar.gz”。

(8)命令ls

1. 列出当前目录中所有的子目录和文件。ls

2. 列出目录下的所有文件(包含隐**件)ls -a

3. 列出文件的详细信息(包括权限、所有者、文件大小等)ls -l

4. 列出当前目录中所有以“isTester”开头的详细内容 ls -l isTester*  // “ls -l”可简写为“ll”

(9) 命令ps

1. 查看所有进程 ps -A

2. 查看java进程 ps -ef|grep java

3. 显示所有进程信息,连同命令行 ps -ef
//参数:-e:显示所有进程,环境变量;-f:全格式。

(10)命令top (性能测试时观察cpu、内存使用情况)

1. 显示进程信息 :top

2. 监控每个逻辑CPU的状况:top  ,按 1

3. 高亮显示当前运行进程:top ,按 b

4. 显示 完整命令:top ,按 c

5. 退出top程序:按 q

free -m内存使用情况 

(11)命令wget

Linux系统中的wget是一个下载文件的工具,对于Linux用户是必不可少的工具

(1)下载isTester包:wget http://51.istester.com/isTester.png

(2)下载isTester包,存储名为isTester666.tgz:
        wget -O isTester666.tgz http://51.istester.com/isTester.png

(3)下载isTester包,后台形式下载:wget -b http://51.istester.com/isTester.png

下载命令:“wget 参数 链接”。
参数:
①-o:重命名(加路径可指定保存目录);
②-b:后台下载。

(12)命令find

常用场景:

1. 在/root/isTester 目录及其子目录下面查找名字为isTester.ini的文件 
        find /root/isTester/ -name isTester.ini

2. 在当前目录及其子目录中查找任何扩展名为“ini”的文件
        find . -name "*.ini"

3. 在/root/isTester目录下查找更改时间在5日以内的文件 
        find /root/isTester/ -mtime +5

4. 在/root/isTester目录下查找更改时间在3日以前的文件
        find /root/isTester/ -mtime -3

5. 在/root/isTester目录下查找所有的目录
        find . -type d

6. 在/root/isTester目录下查找所有的文件
        find /root/isTester/ -type f

总结

路径下查找文件文件夹:“find 路径 -name 文件名”。
(关于-mtime的解释昨天写返了,删除线删除,加深印象)
参数:
①-name 根据文件名查找文件(和文件夹),后跟文件(夹)名,如果是一类文件,需要用引号"*.ini";
②-mtime 指定文件修改时间(modify),指的是修改时间距离当前时间。以数值当天(如5)为原点,“+5”是向远处推,即距今>5天 ,“-5” 是向近处推,即距今<5天。 以下几种情况来帮助理解:
1)find ./ -mtime 0:查找修改时间在0~24h之内的文件、目录;
2)find ./ -mtime 1:查找修改时间在24~48h之内的文件、目录;
3)find ./ -mtime -1:查找修改时间在1天之内即0~24h之内的文件、目录;(效果同1)
4)find ./ -mtime +1:查找修改时间大于1天即至少2天的文件、目录,因为-mtime是整数“天”,所以是修改时间>48h的结果
③-type 指定查找文件类型,d 目录,f 文件;

复杂场景

1)在当前目录,所有的普通文件中搜索istester这个词
    find . -type f | xargs grep "istester"

2)在当前目录,移动1天以内的所有内容到 ~/idoxu 目录
    find ./ -mtime -1 |xargs -i mv {} /usr/idoxu

3)在当前目录,移动10天以前的所有内容到 ~/idoxu 目录
    find ./ -mtime +10 |xargs -i mv {} /usr/idoxu

4)在/usr/isTester目录,移动文件大小为零的文件到~/idoxu目录下的 0 size/ 文件夹
    find ./ -size 0 |xargs -i mv {} /usr/idoxu/0size/

5)在当前目录,删除1天以内的所有东西 
    find ./ -mtime -1 -print | xargs rm -rf

6)在当前目录,删除10天以前的所有东西(实操的时候,需谨慎,确保在自己建的目录内,别把系统目录删了…)
    find ./ -mtime +10 -print | xargs rm -rf

7)删除文件大小为零的文件
    find ./ -size 0 | xargs rm -rf

(13)命令rm

1. 删除/root/isTester/目录下的文件isTester.ini (系统会询问是否删除)
        rm /root/isTester/isTester.ini

2. 强行删除/root/isTester/目录下的文件isTester.ini(直接删除,系统不会提示)
        rm -f /root/isTester/isTester.ini

3. 删除/root/isTester/目录下的所有.log文件
        rm -f /root/isTester/*.log

4. 删除/root/isTester/目录下的 ido/文件夹
        rm -r /root/isTester/ido/

5. 强行删除/root/isTester/目录下的 ido/文件夹
        rm -rf /root/isTester/ido/

6. 删除/root/isTester/目录下的所有内容
        rm -rf /root/isTester/*


1、删除文件(1个或多个):rm 文件1, 文件2, …
2、删除一类文件:rm 路径/*.log
3、删除文件夹:rm -r 路径
4、参数:
-r 递归,用于路径
-f 强制(force),不询问是否删除,直接进行删除

在这里插入图片描述

 (14)文件操作系列命令

1. 创建文件,你知道有哪几个命令 ?(写出至少两种方式)  
1) touch isTester.ini  
2) vi isTester.md
3) echo ‘only test’  > isTester.com
4) cp isTester.ini isTester666.ini
5) ls > fileList.txt

2. 同时创建文件 isTester6.ini idoxu.ini
touch isTester6.ini idoxu.ini

3. 同时创建2000个文件  isTester0001.ini  - isTester2000.ini
touch istester{0001..2000}.ini

4. 更改文件 isTester.ini时间为当前时间
touch isTester.ini

(15)查看文件系列 命令

1. 查看文件 isTester.ini的内容
    cat isTester.ini

2. 看文件 isTester.ini前20行内容
    head -n 20 isTester.ini

3. 看文件 isTester.ini最后30行内容
    tail -n 30 isTester.ini

4. 显示文件isTester.ini 的第10至20行的内容
    head -n 20 isTester.ini | tail -n 10

5. 倒序显示文件isTester.ini 前10行的内容
    tac isTester.ini | head -n 10

6. 显示文件isTester.ini 前10行的内容,并显示行号

    nl isTester.ini | head -n 10


查看文件的几种方式:
#cat  由第一行开始显示档案内容 

#tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写! 

#more 一页一页的显示档案内容 

#less 与 more 类似,但是比 more 更好的是,他可以往前翻页! 

#head 只看头几行 

#tail 只看尾巴几行 

#nl   显示的时候,顺道输出 行号! 

(16)命令 yum  &  scp

# 假设 当前服务器ip  192.168.1.23

1. 从Linux服务器192.168.1.22 拷贝文件isTester.ini 到服务器192.168.1.23

scp root@192.168.1.22:/root/idoxu/isTester.ini /root/idoxu 

2. 从Linux服务器192.168.1.22 拷贝目录 isTester/ 到服务器192.168.1.23

scp -r root@192.168.1.22:/root/idoxu/isTester/ /root/idoxu

3. Linux下安装scp命令(假设是centos服务器,命令用yum)

yum install openssh-clients 


1、scp命令:(和cp命令使用相同)
①安装:“yum install openssh-clients”

②远程主机传输文件到本地:“scp 主机名@ip地址:路径/文件 ./”(需要输入远程主机密码)
两路径颠倒为反向传输;
加“-r”为传输文件夹

(17)小命令

在这里插入图片描述

(18) vi+chmod命令

vi 创建文件 + 编辑文件 。

chmod命令用于改变linux系统文件或目录的访问权限 。


1. 创建文件 isTester.ini
    vi isTester.ini

2. 更新文件内容为“21 day Linux Learn ,I'm Idolaoxu,in shenzhen .”
    输入 i ,进入编辑模式,输入内容,esc进入命令模式 :wq 保存 。


2. 将文件 isTester.ini 设为所有人皆可读取
    chmod +r isTester.ini

3. 将 isTester.ini 设定为只有该文件拥有者可以执行
    chmod u+x isTester.ini

4. 给文件 isTester.ini 设置所有权限
    chmod 777 isTester.ini (或者 chmod a=rwx isTester.ini)

(19)linux查看端口是否启用

1、netstat -aptn  查看所有开启的端口号

2、利用lsof命令查看端口是否启用,该命令用于列出系统已经打开的所有文件,当参数设置为“-i”时,可以列出符合条件的进程,语法为“lsof -i:端口号”

(20)linux实时查看日志

命令tail需要-f参数来跟踪文件的内容。该命令的第二个版本实际上是一个命令本身:tailf

tail命令将显示文件的最后10行。例如,如果你只想实时查看日志文件的最后两行,请使用-n与该-f标志结合的文件,如下例所示。

 $ sudo tail -n2 -f /``var``/log/apache2/access.log

(21)linux批量替换文件内容

1、使用perl ,命令如下:

find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
find -name 'pom.xml' | xargs perl -pi -e
's|http://repo1.maven.org/maven2|
http://localhost:8081/nexus/content /groups/public|g'


当前目录及所有子目录下的所有pom.xml文件中的
http://repo1.maven.org/maven2&#8220; 
替换为http://localhost:8081/nexus/content/groups/public

 2、使用sed命令如下:

用sed命令可以批量替换多个文件中的字符串

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`

我要把mahuinan替换 为huinanma 

sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值