• LINUX中常用操作命令


    linux下查看负载的主要命令有下面一些:

    top, uptime,w,vmstat

    其他一些操作

    cat /proc/cpuinfo :即可查看CPU信息,几个processor即为几个CPU;

    sar:可以监控系统所有资源状态,sar -n DEV查网卡流量历史、sar -q 查看历史负载,最有用的就是查网卡流量,流量过大:rxpck/s大于4000,或者rxKB/s大于5000,则很有可能被攻击了,需要抓包分析;

    free:查看当前系统的总内存大小以及使用内存的情况;

    ps:查看进程,ps aux 或者 ps -elf,常和管道符一起使用,查看某个进程或者它的数量;

    netstat:查看端口,netstat -lnp用于打印当前系统启动了哪些端口,netstat -an用于打印网络连接状况;

    tcpdump:抓包工具分析数据包,知道有哪些IP在攻击;可以将内容写入指定文件1.cap中,显示包的内容,不加-w屏幕上显示数据流向;

    wireshark:抓包工具,可以临时用该命令查看当前服务器上的web请求

    1.cat命令

    cat命令是一个直接将文件一下子全部输出到shell界面的命令,对于小文件cat比较好用,但是由于cat的一次性输出,使得对大文件的查看比较麻烦,而且有时当文件过长而超过shell的缓存范围时,可能无法产看文件的全部。

    cat的用法:

    cat [OPTIONS] FILE...

    OPTIONS:

    -n:显示时显示行号(包括空白行)

    -b:显示时显示行号(不包括空白行)

    -E:在每行行尾显示$符

    -T:以^I替换tab符

    注:tac命令与cat命令相反,它是逆序输出文件

    2.more命令

    more命令可以分屏查看文件,当到达文件末尾时自动退出。

    more [OPTIONS] FILE...

    more有一些快捷键:

    空格建:向下翻屏

    B键:向上翻屏

    /pattern:使用正则表达式查找

    Q键:退出

    3.less命令

    less命令与man命令类似,可以分屏查看文件,但尾部不会退出,常用快捷键有:

    空格键:向下翻屏

    B键:向上翻屏

    Q键退出

    /pattern或pattern:搜索

    n:显示搜索的上一个

    N:显示搜索的下一个

    K键:向前翻一行

    回车键:向后翻一行

    4.tail命令

    tail命令可以只产看文件的后几行。

    tail的用法:

    tail [OPTIONS] FILE...

    OPTIONS:

    -n NUMBER:指定查看的行数,可以省略n,直接写成-3等

    -f:使tail保持活动状态,每当文件有尾部写入时,会将写入内容及时的输出出来

    -s SECOND:与-f结合,指定-f的查看周期

    6.head命令

    head命令是产看文件头部前几行的,但是head没有tail出名,因为一般文件总是在尾部发生变化,但是head也是一个很方便的命令。head的用法和tail相同

    7.cut命令

    cut命令是按指定的分隔符(默认是空格)将每行分成几段,一般的cut要求文件每行的结构相同,例如/etc/passwd文件的结构:

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    cut的用法:

    cut [OPTIONS] FILE...

    OPTIONS:

    -d:指定分隔符

    -f:指定第几段

    例如:

    cut -d: -f1 /etc/passwd //显示当前主机上的所有用户

    cut -d: -f1-3 /etc/passwd //显示1、2、3段

    8.tr命令

    tr是一个替换命令,可以替换文本中的一些字符。tr的用法比较特殊:

    tr [OPTIONS] SET1 [SET2]

    SET1是要替换的字符,SET2是替换后的字符,这里没有指定文件。

    tr 'a-z' 'A-Z' < text.txt //将所有小写字母替换为大写

    需要说明的是,由于tr后面无法跟文件名,所以当要对一个文件操作的时候,需要使用输入重定向。

    另外,tr有一个-d选项,可以删除自定字符:

    tr -d 'a' < text.txt //删除所有的字符a

    9.wc命令

    wc是一个文本统计命令,可以统计文本的字符数、行数等。

    wc [OPTIONS] FILE...

    OPTIONS:

    -l:只显示行数

    -w:只显示单词数

    -c:只显示字符数

    10.sort命令

    sort命令是一个排序命令,默认以首字母进行排序。

    sort [OPTIONS] FILE...

    OPTIONS:

    -r:逆序

    -u:如果临近行重复,则只显示一次

    -n:按数值排

    -t:指定分隔符

    -k:指定排序字段,与-t组合使用

    -f:忽略大小写

    -b:忽略开头的空白

    -i:忽略非打印字符

    -M:按月份排序,unknow<'JAN'除此之外,还有很多查看文件的命令,如强大的sed和awk命令,

    常用指令

    1. ls 显示文件或目录
    2. -l 列出文件详细信息l(list)
    3. -a 列出当前目录下所有文件及目录,包括隐藏的a(all)
    4. mkdir 创建目录
    5. -p 创建目录,若无父目录,则创建p(parent)
    6. cd 切换目录
    7. touch 创建空文件
    8. echo 创建带有内容的文件。
    9. cat 查看文件内容
    10. cp 拷贝
    11. mv 移动或重命名
    12. rm 删除文件
    13. -r 递归删除,可删除子目录及文件
    14. -f 强制删除
    15. find 在文件系统中搜索某文件
    16. wc 统计文本中行数、字数、字符数
    17. grep 在文本文件中查找某个字符串
    18. rmdir 删除空目录
    19. tree 树形结构显示目录,需要安装tree包
    20. pwd 显示当前目录
    21. ln 创建链接文件
    22. more、less 分页显示文本文件内容
    23. head、tail 显示文件头、尾内容
    24. ctrl+alt+F1 命令行全屏模式

    系统管理命令

    1. stat 显示指定文件的详细信息,比ls更详细
    2. who 显示在线登陆用户
    3. whoami 显示当前操作用户
    4. hostname 显示主机名
    5. uname 显示系统信息
    6. top 动态显示当前耗费资源最多进程信息
    7. ps 显示瞬间进程状态 ps -aux
    8. du 查看目录大小 du -/home带有单位显示目录信息
    9. df 查看磁盘大小 df -带有单位显示磁盘信息
    10. ifconfig 查看网络情况
    11. ping 测试网络连通
    12. netstat 显示网络状态信息
    13. man 命令不会用了,找男人? 如:man ls
    14. clear 清屏
    15. alias 对命令重命名 如:alias showmeit=”ps -aux” ,另外解除使用unaliax showmeit
    16. kill 杀死进程,可以先用ps  top命令查看进程的id,然后再用kill命令杀死进程。

    打包压缩相关命令

    1. gzip
    2. bzip2
    3. tar打包压缩
    4. -归档文件
    5. -压缩文件
    6. -z gzip压缩文件
    7. -j bzip2压缩文件
    8. -显示压缩或解压缩过程 v(view)
    9. -使用档名
    例:
    1. tar -cvf /home/abc.tar /home/abc 只打包,不压缩
    2. tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
    3. tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
    当然,如果想解压缩,就直接替换上面的命令tar  -cvf  /   tar  -zcvf  /  tar  -jcvf 中的“c” 换成“x” 就可以了。

    关机/重启机器

    1. shutdown
    2. -关机重启
    3. -关机不重启
    4. now 立刻关机
    5. halt 关机
    6. reboot 重启

    Linux管道

    将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
    例:grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。

    Linux软件包管理

    dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
    比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
    1. sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
    2. sudo dpkg -r tree 卸载软件
     
    注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;
    APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
    依然以tree为例
    1. sudo apt-get install tree 安装tree
    2. sudo apt-get remove tree 卸载tree
    3. sudo apt-get update 更新软件
    4. sudo apt-get upgrade
     
    将.rpm文件转为.deb文件
    .rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
    1. sudo alien abc.rpm

    vim使用

    vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
     
    命令模式下:
    1. :q 退出
    2. :q! 强制退出
    3. :wq 保存并退出
    4. :set number 显示行号
    5. :set nonumber 隐藏行号
    6. /apache 在文档中查找apache 按n跳到下一个,shift+n上一个
    7. yyp 复制光标所在行,并粘贴
    8. h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

    用户及用户组管理

    1. /etc/passwd 存储用户账号
    2. /etc/group 存储组账号
    3. /etc/shadow 存储用户账号的密码
    4. /etc/gshadow 存储用户组账号的密码
    5. useradd 添加用户名
    6. userdel 删除用户名
    7. adduser 添加用户名
    8. groupadd 添加组名
    9. groupdel 删除组名
    10. passwd root 给root设置密码
    11. su root
    12. su – root
    13. /etc/profile 系统环境变量
    14. bash_profile 用户环境变量
    15. .bashrc 用户环境变量
    16. su user 切换用户,加载配置文件.bashrc
    17. su – user 切换用户,加载配置文件/etc/profile ,加载bash_profile

    更改文件的用户及用户组

    1. sudo chown [-R] owner[:group] {File|Directory}
    例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
    要想切换此文件所属的用户及组。可以使用命令。
    1. sudo chown root:root jdk-7u21-linux-i586.tar.gz

    文件权限管理

    三种基本权限
    R   读  数值表示为4
    W   写  数值表示为2
    X   可执行 数值表示为1
    如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r–
    -rw-rw-r–一共十个字符,分成四段。
    第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
    第二三四个字符“rw-”表示当前所属用户的权限。     所以用数值表示为4+2=6
    第五六七个字符“rw-”表示当前所属组的权限。        所以用数值表示为4+2=6
    第八九十个字符“r–”表示其他用户权限。                 所以用数值表示为2
    所以操作此文件的权限用数值表示为662?

    更改权限

    sudo chmod [u所属用户  g所属组  o其他用户   a所有用户]    [+增加权限   -减少权限]   [r   w   x]   目录名 
    例如:有一个文件filename,权限为“-rw-r—-x” ,将权限值改为”-rwxrw-r-x”,用数值表示为765
    1. sudo chmod u+x g+w o+r filename
    上面的例子可以用数值表示
    1. sudo chmod 765 filename

     

    工作中用到的一些有意思的命令:

    1. linux nc
    2. tree

    第一、系统查看命令

    # uname -a # 查看内核/操作系统/CPU信息
    # head -n 1 /etc/issue # 查看操作系统版本
    # cat /proc/cpuinfo # 查看CPU信息
    # hostname # 查看计算机名
    # lspci -tv # 列出所有PCI设备
    # lsusb -tv # 列出所有USB设备
    # 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 # 查看所有进程
    # top # 实时显示进程状态

    第六、用户查看

    # w # 查看活动用户
    # id <用户名> # 查看指定用户信息
    # last # 查看用户登录日志
    # cut -d: -f1 /etc/passwd # 查看系统所有用户
    # cut -d: -f1 /etc/group # 查看系统所有组
    # crontab -l # 查看当前用户的计划任务

    第七、系统服务情况

    # chkconfig –list # 列出所有系统服务
    # chkconfig –list | grep on # 列出所有启动的系统服务

    第八、程序查看

    # rpm -qa # 查看所有安装的软件包

  • 相关阅读:
    秒杀系统性能测试和优化
    性能测试分析过程(三)linux下查看最消耗CPU/内存的进程
    [改善Java代码]注意方法中传递的参数要求(replaceAll和replace的区别)
    [改善Java代码]由点及面,一叶知秋----集合大家族
    [改善Java代码]非稳定排序推荐使用List
    [改善Java代码]多线程使用Vector或HashTable
    [改善Java代码]减少HashMap中元素的数量
    [改善Java代码]使用shuffle打乱列表
    [改善Java代码]集合运算时使用更优雅的方式
    [改善Java代码]集合中的元素必须做到compareTo和equals同步
  • 原文地址:https://www.cnblogs.com/klb561/p/9157587.html
Copyright © 2020-2023  润新知