Linux常用命令小结

在测试的过程中,我们有时候需要访问服务器,查看日志,上传文件等,这里是Linux系统一些常用命令小结(我个人使用得比较多的)。

  • 切换目录
    • cd [目录名称]
    • cd -命令:返回到上一次所处的目录
    • cd..命令:进入上级目录
    • “cd ~”命令:切换到当前用户的家目录
    • “cd ~username” 切换到其他用户的家目录
    • “cd 路径”的方式 切换进/etc目录中
  • 查看日志
    • tail:
      • -n  是显示行号;相当于nl命令;例子如下:
      • tail -100f test.log      实时监控100行日志
      • tail  -n  10  test.log   查询日志尾部最后10行的日志;
      • tail -n +10 test.log    查询10行之后的所有日志;
    • head:
      • 跟tail是相反的,tail是看后多少行日志;例子如下:
      • head -n 10  test.log   查询日志文件中的头10行日志;
      • head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;
    • cat:
      • tac是倒序查看,是cat单词反写;例子如下:
      • cat -n test.log |grep "debug"   查询关键字的日志
  • less
    • less [参数] 文件
    • 参数说明:
      • -b <缓冲区大小> 设置缓冲区的大小
      • -e 当文件显示结束后,自动离开
      • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
      • -g 只标志最后搜索的关键词
      • -i 忽略搜索时的大小写
      • -m 显示类似more命令的百分比
      • -N 显示每行的行号
      • -o <文件名> 将less 输出的内容在指定文件中保存起来
      • -Q 不使用警告音
      • -s 显示连续空行为一行
      • -S 行过长时间将超出部分舍弃
      • -x <数字> 将"tab"键显示为规定的数字空格
      • /字符串:向下搜索"字符串"的功能
      • ?字符串:向上搜索"字符串"的功能
      • n:重复前一个搜索(与 / 或 ? 有关)
      • N:反向重复前一个搜索(与 / 或 ? 有关)
      • b 向上翻一页
      • d 向后翻半页
      • h 显示帮助界面
      • Q 退出less 命令
      • u 向前滚动半页
      • y 向前滚动一行
      • 空格键 滚动一页
      • 回车键 滚动一行
      • [pagedown]: 向下翻动一页
      • [pageup]: 向上翻动一页
    • 实例
      • 1、查看文件
        • less log2013.log
      • 2、ps查看进程信息并通过less分页显示
        • ps -ef |less
      • 3、查看命令历史使用记录并通过less分页显示
      • [root@localhost test]# history | less22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft23 cd ..24 scp -r web root@192.168.120.203:/opt/25 cd soft26 ls……省略……
      • 4、浏览多个文件
        • less log2013.log log2014.log
        • 说明:
        • 输入 :n后,切换到 log2014.log
        • 输入 :p 后,切换到log2013.log
  • grep
    • grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。grep命令的参数及其作用如表2-15所示。
    • grep命令的参数及其作用
      •   参数             作用  
      •   -b         将可执行文件(binary)当作文本文件(text)来搜索  
      •   -c         仅显示找到的行数  
      •   -i          忽略大小写  
      •   -n         显示行号
      •   -v         反向选择—仅列出没有“关键词”的行
    • ps -ef|grep java
    • grep 'chatTiming id' catalina.2020-07-29.log
  • ps
    • ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
    • 估计读者在第一次执行这个命令时都要惊呆一下—怎么会有这么多输出值,这可怎么看得过来?其实,刘遄老师通常会将ps命令与第3章的管道符技术搭配使用,用来抓取与某个指定服务进程相对应的PID号码。ps命令的常见参数以及作用如表2-6所示。
    •  
    • ps命令的参数以及作用
    •   参数            作用
    •   -a        显示所有进程(包括其他用户的进程)
    •   -u        用户以及其他详细信息
    •   -x        显示没有控制终端的进程
    • Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。
    • Ø   R(运行):进程正在运行或在运行队列中等待。
    • Ø   S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该   状态。
    • Ø   D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
    • Ø   Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
    • Ø   T(停止):进程收到停止信号后停止运行。
    • 当执行psaux命令后通常会看到如表2-7所示的进程状态,表2-7中只是列举了部分输出值,而且正常的输出值中不包括中文注释。
    • 表2-7      进程状态
    •   USER          PID            %CPU      %MEM             VSZ      RSS           TTY           STAT         START      TIME         COMMAND
    •   进程的所有者            进程ID号         运算器占用率           内存占用率        虚拟内存使用量(单位是KB)      占用的固定内存量(单位是KB)           所在终端           进程  状态      被启动  的时间            实际使用  CPU的时间           命令名称与参数
    •   root            1        0.0            0.4            53684              7628      ?        Ss      07 :22        0:02          /usr/lib/systemd/systemd
    •   root            2        0.0            0.0            0        0        ?             S        07:22        0:00          [kthreadd]
    •   root            3        0.0            0.0            0        0        ?             S        07:22        0:00          [ksoftirqd/0]
    •   root            5        0.0            0.0            0        0        ?             S<             07:22        0:00          [kworker/0:0H]
    •   root            7        0.0            0.0            0        0        ?             S        07:22        0:00          [migration/0]
    •   ………………省略部分输出信息………………
    •   注:
    •   如前面所提到的,在Linux系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后仅保留一个-(减号)即可。另外ps命令可允许参数不加减号(-),因此可直接写成ps  aux的样子。
  • 查看内存
    • 在Linux下查看内存我们一般用free命令:
    • $ free
    •              total       used       free     shared    buffers     cached
    • Mem:       3266180    3250004      16176          0     110652    2668236
    • -/+ buffers/cache:     471116    2795064
    • Swap:      2048276      80160    1968116
    • 下面是对内存查看free命令输出内容的解释:
      • total:总计物理内存的大小。
      • used:已使用多大。
      • free:可用有多少。
      • Shared:多个进程共享的内存总额。
      • Buffers/cached:磁盘缓存的大小。
    • 第三行(-/+ buffers/cached):
      • used:已使用多大。
      • free:可用有多少。
    • 第四行就不多解释了。
    • -/+ buffers/cache含义与区别:
    • 第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别在于使用的角度来看:
      • 第二行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是16176KB,已用内存是3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
      • 第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
    • 所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
    • 如上例:
      • 2795064=16176+110652+2668236
  • 查看CPU的使用情况
  • 1、top 这个命令很常用,在第三行有显示CPU当前的使用情况。
  • # top -bn 1 -i -c
  • top - 14:19:51 up 138 days, 7:15, 1 user, load average: 0.20, 0.33, 0.39
  • Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie
  • Cpu(s): 4.5%us, 3.8%sy, 0.0%ni, 91.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
  • Mem: 1014660k total, 880512k used, 134148k free, 264904k buffers
  • Swap: 262140k total, 34788k used, 227352k free, 217144k cached
  • PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  • 12760 root 20 0 15084 1944 1632 R 2.0 0.2 0:00.01 top -bn 1 -i -c
  • 如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。 %us:表示用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间且通过nice调度过的程序的cpu使用率。 %id:空闲cpu %wa:cpu运行时在等待io的时间 %hi:cpu处理硬中断的数量 %si:cpu处理软中断的数量 %st:被虚拟机偷走的cpu
  • 移动文件
    • cp
      • 移动A到B
        • cp A文件夹 B文件夹
        • 这种方法会直接在B中创建一个A文件夹
      • 复制A中的所有文件到B中
        • cp A/* B
        • 这种方法不会创建A文件夹
      • cp命令
        • 命令:cp dir1/a.doc dir2 表示将dir1下的a.doc文件复制到dir2目录下
        • cp -r dir1 dir2 表示将dir1及其dir1下所包含的文件复制到dir2下
        • cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
        • 说明:cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖
  • 创建文件
    • touch 文件名
      • 如touch ceshi.txt
    • vi 文件名
      • 如vi ceshi.txt
  • chmod +x ./test.sh
    • 赋予权限
  • 从Linux服务器下载文件夹到本地
  • 1、使用scp命令
  • scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
  • scp work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
  • scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
  • scp -r /home/work/sourcedir work@192.168.0.10:/home/work/ #拷贝文件夹,加-r参数
  • 服务器切换用户
    • su - 用户名
    • 比如:su - deploy(切换到deploy用户)
  • 解压压缩包:unzip 文件名.zip -d file    /解压 unrar x 文件名.rar
  • 删除文件:rm -rf 文件夹名称
  • rz -E上传压缩包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值