zoukankan      html  css  js  c++  java
  • Linux常用命令

    :q! 强制不保存退出

     关机:sudo halt

    一般模式可以复制、粘贴、不能插入(除非进入另外一个模式)

     Linux文件与目录结构 

    Linux系统中一切皆文件。

     Linux目录结构

     /bin      (/usr/bin 、 /usr/local/bin)
    是Binary的缩写, 这个目录存放着最经常使用的命令 
     /sbin    (/usr/sbin 、 /usr/local/sbin)
    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
     /home
    存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
     /root
    该目录为系统管理员,也称作超级权限者的用户主目录。
     /lib
    系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
     /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
     /etc
    所有的系统管理所需要的配置文件和子目录
    /usr
     这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
     /boot
    这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
     /proc
    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
     /srv
    service缩写,该目录存放一些服务启动之后需要提取的数据。
     /sys
     这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
     /tmp
    这个目录是用来存放一些临时文件的。
     /dev
    类似于windows的设备管理器,把所有的硬件用文件的形式存储。
     /media
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
     /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
     /opt       
    这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
     /usr/local 
    这是另一个给主机额外安装软件所摆放的目录。一般是通过编译源码方式安装的程序。
    /var
    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
     /selinux
    SELinux是一种安全子系统,它能控制程序只能访问特定文件。

    VI/VIM编辑器

    VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。

    VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

    修改主机名

    # vi /etc/sysconfig/network
    ETWORKING=yes
    HOSTNAME=kris

    一般模式

    以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

    yy    复制光标当前一行
    y数字y        复制一段(从第几行到第几行)
    p    箭头移动到目的行粘贴
    u    撤销上一步
    dd    删除光标当前行
    d数字d    删除光标(含)后多少行
    x    删除一个字母,相当于del,向后删
    
    shift+^    移动到行头
    shift+$    移动到行尾
    gg或者1+G    移动到页头
    G    移动到页尾
    数字+G(先输入数字,在按G)    移动到目标行

    编辑模式

    在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。

    注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样(vi显示insert,vim显示中文插入),此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

    i    当前光标前
    a    当前光标后(插入内容光标马上移动到后边)
    o    当前光标行的下一行

    指令模式

    在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

    在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!

    :w    保存
    :q    退出
    :!    强制执行
    / 要查找的词    n 查找下一个(按n光标移动),N 往上查找
    ? 要查找的词    n是查找上一个,N是往下查找
    :set nu    显示行号
    :set nonu    关闭行号
    ZZ(shift+zz)    如果没有修改文件直接退出,如果修改了文件保存后退出

    强制保存退出

    :wq!

     文件目录类

     mkdir 创建一个新的目录|   touch 创建空文件

    [root@kris ~]# mkdir hei
    [root@kris ~]# mkdir hei/xi
    //创建多级目录加 -p
    [root@kris ~]# mkdir -p kk/kris/smile

    //创建文件
    [root@kris ~]# touch 1.txt hei/xi

    cp 复制文件或目录

    cp [选项] source dest                 (功能描述:复制source文件到dest)
    -r    递归复制整个文件夹
    
    [root@kris ~]# cp -r hei kk/kris

     rm 移除文件或目录

    -r    递归删除目录中所有内容
    -f    强制执行删除操作,而不提示用于进行确认。
    -v    显示指令的详细执行过程
    
    [root@kris ~]# rm -rf hei

    mv 移动文件与目录或重命名

    基本语法
        (1)mv oldNameFile newNameFile    (功能描述:重命名)
        (2)mv /temp/movefile /targetFolder    (功能描述:移动文件)
    
    [root@kris kris]# mv hei heihei  (重命名)
    
    [root@kris ~]# mv kk/kris ./(移动到当前目录,之前的就不存在了)

    查看文件内容

    cat(一般查看比较小的文件,一屏幕能显示全的

    [root@kris kris]# cat -n test.txt ##查看所有日志内容,全部显示出来
    [root@kris kris]# cat test.txt | head -n 200  ##查看日志前200行内容
    [root@kris kris]# cat test.txt | tail -n 200  ##查看日志末尾200行内容
    [root@kris kris]# more test.txt ##分屏显示,按enter键往下查看;

    more 文件内容分屏查看器

    less 分屏显示文件内容

    它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

    [root@kris ~]# less smartd.conf 
    空白键    向下翻动一页;
    [pagedown]    向下翻动一页
    [pageup]    向上翻动一页;
    /字串    向下搜寻『字串』的功能;n:向下查找;N:向上查找;
    ?字串    向上搜寻『字串』的功能;n:向上查找;N:向下查找;
    q      离开 less 这个程序;

     压缩和解压类

    -z    打包同时压缩
    -c    产生.tar打包文件
    -v    显示详细信息
    -f    指定压缩后的文件名
    -x    解包.tar文件
    
    [root@kris ~]# tar -zcvf 12.tar.gz 1.txt 2.txt
    1.txt
    2.txt
    
    [root@kris ~]# tar -zxvf 12.tar.gz -C xi  (解压,-C是可以指定解压的路径,默认是本目录)
    1.txt
    2.txt

     查看进程

    如果想查看进程CPU占用率和内存占用率,可以使用 ps  -aux  ;        ps -aux | grep clickhouse-server

    如果想查看进程的父进程ID可以使用 ps -ef  ;

    [root@hadoop myredis]# ps -ef | grep redis    //查看父子进程之间的关系;
    root       5713   3334  0 18:16 pts/0    00:00:00 grep redis
    [root@hadoop myredis]# redis-cli
    Could not connect to Redis at 127.0.0.1:6379: Connection refused
    Could not connect to Redis at 127.0.0.1:6379: Connection refused
    not connected> 
    [root@hadoop myredis]# redis-server redis.conf 
    [root@hadoop myredis]# ps -ef | grep redis
    UID      PID  PPID C STIME TTY    TIME  CMD   root
    5716 1 0 18:17 ? 00:00:00 redis-server *:6379 root 5720 3334 0 18:17 pts/0 00:00:00 grep redis [root@hadoop myredis]# redis-cli 127.0.0.1:6379>

    UID:用户ID; PID:进程ID; PPID:父进程ID

    C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

    STIME:进程启动的时间; TTY:完整的终端名称; TIME:CPU时间; CMD:启动进程所用的命令和参数

    [kris@hadoop101 ~]$ ps -ef | grep flume| grep grep   
    kris      13942   2926  0 00:13 pts/0    00:00:00 grep flume
    -v取反,过滤掉grep的 -v, --invert-match        select non-matching lines
    xargs作为kill的参数
    xargs kill -9 

    iostat I/O 和 CPU 监视工具

    iostat 用于监控统计系统输入输出设备和 CPU 的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

    iostat [参数] [间隔时间] [报告次数]
      间隔时间:每次报告的间隔时间(秒)
      报告次数:显示报告的次数

     CPU属性值:

    %user    CPU 处在用户模式下的时间百分比
    %nice    CPU 处在带 NICE 值的用户模式下的时间百分比
    %system    CPU 处在系统模式下的时间百分比
    %iowait    CPU 等待输入输出完成时间的百分比
    %steal    管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比
    %idle    CPU 空闲时间百分比

    RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe

     是Linux这系列操作系统里面的打包安装工具

    //查询
    [root@kris ~]# rpm -qa | grep firefox
    firefox-60.4.0-1.el6.centos.x86_64
    [root@kris ~]# 
    //卸载要先进入安装镜像的目录
    [root@kris ~]# cd /mnt/cdrom/Packages
    [root@kris Packages]# rpm -e firefox    //-e是卸载
    //安装;-i=install安装,-v=verbose显示详细信息, -h=hash进度条
    [root@kris Packages]# pwd
    /mnt/cdrom/Packages
    [root@kris Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm 

    YUM仓库配置

     基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    类似java中的maven工具;

    修改网络YUM源

    修改关联的网络YUM源为国内镜像的网站,比如网易163。

    1.前期文件准备

    (1)前提条件linux系统必须可以联网

    (2)在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击CentOS6->再点击保存,如图所示

     

    (3)查看文件保存的位置,如图

        

    在打开的终端中输入如下命令,就可以找到文件的保存位置。

    [kris@hadoop101 下载]$ pwd
    /home/kris/下载

    2.替换本地yum文件

           (1)把下载的文件移动到/etc/yum.repos.d/目录

    [root@hadoop101 下载]# mv CentOS6-Base-163.repo /etc/yum.repos.d/ 

        (2)进入到/etc/yum.repos.d/目录

    [root@hadoop101 yum.repos.d]# pwd
    /etc/yum.repos.d

        (3)用CentOS6-Base-163.repo替换CentOS-Base.repo

    [root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo  CentOS-Base.repo

    3.安装命令

    1)[root@hadoop101 yum.repos.d]#yum clean all
    
    (2)[root@hadoop101 yum.repos.d]#yum makecache

    yum makecache就是把服务器的包信息下载到本地电脑缓存起来

    4.测试

    [root@hadoop101 yum.repos.d]#yum list | grep firefox
    [root@hadoop101 ~]#yum -y install firefox.x86_64

    把压缩包添加到linux系统的小工具

    [kris@hadoop101 hadoop-2.7.2]$ sudo yum install -y lrzsz
    
    sz 是下载到本地; rz -E是从本地上传文件

    top 查看系统健康状态(内存-top

    [kris@hadoop100 ~]$ top -d 3  //指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
    [kris@hadoop100 ~]$ top -i  //使top不显示任何闲置或者僵死进程
    [kris@hadoop100 ~]$ top -p 25723   //通过指定监控进程ID来仅仅监控某个进程的状态
    
    可以按P(-p是以CPU使用率排序,默认就是此项 )、M(以内存的使用率排序)、N(以PID排序)对查询出的进程结果进行排序。 top -m ;top -n;
    q    退出top

    netstat 显示网络统计信息和端口占用情况

    netstat -anp |grep 进程号    (功能描述:查看该进程网络信息)
    netstat -nlp | grep 端口号    (功能描述:查看网络端口号占用情况)
    netstat -tunlp | grep 端口号 (t是tcp;u是udp )

    df 查看磁盘空间使用情况

    [kris@hadoop100 ~]$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        47G  3.0G   42G   7% /
    tmpfs           2.0G   72K  2.0G   1% /dev/shm
    /dev/sda1       190M   39M  142M  22% /boot

    查看磁盘IO读写情况:iotop(需要安装一下:yum install iotop)

    iotop -o(直接查看输出比较高的磁盘读写程序)

    cat /proc/version

    显示正在运行的内核版本。

    find 查找文件或者目录

    1)按文件名:根据名称查找/目录下的filename.txt文件。
    [root@hadoop101 ~]# find xiyou/ -name “*.txt”
    (2)按拥有者:查找/opt目录下,用户名称为-user的文件
    [root@hadoop101 ~]# find xiyou/ -user atguigu
    (3)按文件大小:在/home目录下查找大于200m的文件(+n 大于  -n小于   n等于)
    [root@hadoop101 ~]find /home -size +204800
    [kris@hadoop datas]$ ls | awk '{sum+=1} END{print sum}'
    21
    
    [kris@hadoop datas]$ find ./ -name "*.sh" | awk '{sum+=1} END{print sum}'
    12
    [kris@hadoop datas]$ find ./ -name "*.txt" | awk '{sum+=1} END{print sum}'  
    6

    将hadoop101上的文件wc.txt发送到hadoop102上可采用nc;

    [kris@hadoop101 ~]$nc -l 9999 > wc.txt
    [kris@hadoop102 ~]$nc hadoop104 9999 < wc.txt
  • 相关阅读:
    纪念一下Jerry
    在中信66楼微软Offic参加讲座
    关于地理信息信息点数据采集一些方法
    简单的C#进行图片操作
    PHP访问C#建立的Webservice
    搜索引擎一:介绍
    介绍一况挺好用的Javascript编辑器(带项目)
    服务器不支持WebResource.axd的特殊处理
    Daily Web Words
    php psr 编码规范(PSR[04])
  • 原文地址:https://www.cnblogs.com/shengyang17/p/10226073.html
Copyright © 2011-2022 走看看