zoukankan      html  css  js  c++  java
  • linux常用命令学习

    linux常用命令学习

    1.whoami :打印与当前生效的用户 ID 关联的用户名

    2.hostname 查看主机名

    修改主机名(永久修改)
    hostnamectl set-homename  新的主机名    
    

    3.修改linux的命令提示符,通过变量PS1控制

    echo  $变量名  #打印出变量的值
    
    #输出PS1变量的值
    
    echo  $PS1
    #修改变量的值 
    [u@h W]$
    
    PS1='[u@h 	 w]$'
    	u  当前登录用户
    	h  当前主机名  
    		  当前系统时间
    	w   输出绝对路径
    	W  输出工作路径的最后一位
    

    4.vim编辑器的用法

    1. 编辑文件
        当文件名称存在时,进入文件直接编辑
        当名称不存在,vim会退出保存时自动建立文件
        当vim命令后没有跟任何文件名称时,无法实现“:wq”退出保存时,可以用“wq filename”
        
    2. 当vim异常退出时,系统会建立 .file.swp这个缓存文件
        这个文件中保存着 没有“:wq”动作保存的信息
        当用vim对文件做编辑的时候会提示
        O            #只读打开
        E             #直接忽略.file.swp信息编辑文件
        R             #利用.file.swp进行保存数据恢复
        D             #删除.file.swp
        Q             #退出
        A              #终止
    
        
    #vim的三种模式
    命令模式
    1.vim工作方式设定
        命令模式是vim打开文件后默认进入的模式,这个模式不能插入字符,但是可以设定vim的工作方式
    
        :set 指定信息
    
        :set nu                                     #给每一行标序
    
        :set nonu                                 #去掉每一行的序号
    
        :set cursorline                          #添加光标所在行的下划线
    
        :set mouse=a                           #用鼠标控制光标所在位置
    
        # 注意:在vim中直接设定vim的工作方式是临时设定,如果vim关闭,设定失效
        # 如果要永久设定需要设定需要编写“/etc/vimrc”这个文件是vim的配置文件
        
    2.在命令模式下如何管理字符
        按"x"
            删除光标所在字符
        按"u"
            undo 恢复
        按"ctrl+r"
            redo 撤销恢复
        按"y"
            复制
            "yw"              ##复制一个单词
            "yl"                ##复制一个字母
            "yy"               ##复制一整行
            "y5y"             ##复制5行
        "c"
            剪切
            "cw"             ##剪掉一个单词
            "cl"               ##剪掉一个字母
            "cc"             ##剪掉一整行
            "c5c"           ##剪掉5行
            注意:"用C做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按<ESC>再按P"
    
        "d"
            删除
            "dw"              ##删除一个单词
            "dl"                ##删除一个字母
            "dd"               ##删除一整行
            "d5d"             ##删除5行
        "p"
    
            粘贴
    
    
    
    # vim的可视化操作
    1.可视化模式的基本操作
        在vim中不能用鼠标选择区域操作,如果需要操作某个区域,需要进入到可视化模式
        在命令模式下“Ctrl+v”进入到可视化模式
        按“上|下|左|右”移动光标选择区域,按相应操作键就可以对选择区域进行操作
    
    2.可视化模式下批量操作字符
        把光标停留在想要加入字符所在的列的第一行
        移动光标选择添加字符所在列
        按“I”进入插入模式
        按“ESC”退出插入模式,字符批量添加成功的
    
    3.vim字符替换
        %s/原有字符/新字符/g                 #全文替换
        1,5s/原有字符/新字符/g               #替换1到5行字符
        g                                   #替换出现的所有关键字,如果不加“g”只替换每行出现的第一个关键字
    
    4.vim总字符的查找及光标的移动
     	字符的查找
        /关键字
        n            ##向下匹配关键字
        N            ##向上匹配关键子
    
          光标的移动
        :数字            ##光标快速移动到指定行
        gg            ##光标移动到文件的第一行
        G            ##光标移动到文件的最后以行
    
    
    5.vim同时编辑多个文件
        :sp filename
        ctrl + w   上        #光标进入上边文件窗口
        ctrl + w   下        #光标进入下边文件窗口
    
        
    # vim插入模式
        "i"            #在光标所在位置插入字符
        "I"                #光标所在行的行首插入字符
        "o"              #光标所在行的下一行新行插入字符
        "O"              #光标所在行的上以行新行插入
        "s"               #删除光标所在字符并插入字符
        "S"              #删除光标所在行并插入字符
        "a"              #光标所在字符的下一个字符插入
        "A"             #光标所在行的行尾插入字符
    
    # 退出模式
        :q              #当vim进入文件没有对文件内容做任何操作可以按"q"退出
        :q!             #当vim进入文件对文件内容有操作但不想保存退出
        :wq           #正常保存退出
        :wq!          #强行保存退出,只针对与root用户或文件所有人生效
    
    

    5.linux下安装各种软件,都是yum工具

    	yum install  vim  -y            #安装vim软件,且自动输入yes
    

    6.cat命令

    cat -n  filename          # 显示行号
    
    cat -E  filename          # 每一行结尾加上$符
    

    7.特殊符号

    >        重定向覆盖输出符  w模式 
    >>       重定向追加输出符   a模式 
    
    <  		 重定向覆盖写入符
    <<  	 重定向追加写入符 
    

    8.more less命令用于分屏显示文本内容

    1. more
    	more是一个过滤器,用于一次浏览一个屏幕的文本。
      在more过滤器下有一些常用键,<Space>表示显示下一屏内容;<Enter>表示显示文本的下一行内容;<H>显示帮助;<B>上一页;<Q>退出more过滤器。
    
    2. less
    	用法: less  -参数   a.log
        -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]: 向上翻动一页
    
    
        g 跳到文件头    【常用】
        G 跳到文件尾部  【常用】
    

    9.head --------------- 从头看

    ​ tail --------------- 从尾巴看

    head  -n  数字  filename    	# 看文件的前n行 
    tail  -n  filename   		 # 看文件的后n行
    
    # 输出文件的10-20行 
    head  -20  english.txt |  tail  -10
    

    10.linux的查找命令

    find   +从哪找  -type  +文件类型  -name  +你要找什么名字的文件
    
    # 文件类型 
        l   快捷方式类型
        d   文件夹类型 
        f   文本类型  
    
    # 全局搜索,所有以.txt结尾的文件 
    find  /  -type  f       -name  "*.txt"
    
    #在/opt下搜索和python有关的文件夹
    find  /opt  -type  d   -name "python*"
    

    13.管道符的用法

    管道符,可以把两条命令连起来,具体来说有两种应用,如下:
    
    1. 例如: ps aux | grep "media"  # 在 ps aux中的結果中查找media。
    
    2. 例如:   find . -name "*.cpp" | xargs grep "class" -n --color=auto   # 把find的结果当成参数传入到grep中,即在那些文件内部查找class关键字。
    
    
    一个复杂的例子:
    
    svn status | xargs -i expr substr {} 9 100 | xargs -i cp {} ~/Desktop/
    
    find . -name "*.xml" | xargs grep  -l "com.lib.ui.common.TempTitle" | xargs -i  sed -i "s/com.lib.ui.common.TempTitle/com.common.widget.TempTitle/g"  {}
    

    14.查看进程的命令

    ps aux 或者 ps -ef 			  # 查看机器所有进程信息
    
    ps aux  |  grep  "vim"  		# 过滤出和vim有关的进程
    

    ps命令有很多参数,具体如下:

    命令 含义
    e 显示所有进程,环境变量
    f 全格式
    h 不显示标题
    l 长格式
    w 宽输出
    a 显示终端上地所有进程,包括其他用户地进程
    r 只显示正在运行地进程
    x 显示没有控制终端地进程
    u 以用户为主的格式来显示程序状况
    au 显示较详细的资讯
    aux 显示所有包含其他使用者的行程
    -C<命令> 列出指定命令的状况
    --lines<行数> 每页显示的行数
    --width<字符数> 每页显示的字符数
    --help 显示帮助信息
    --version 显示版本显示

    15.过滤字符串的命令

    grep     "你想要的字符串"     filename  
    grep  -i  'root'   filename   # 找出文件中所有大小写的root
    
    # 找出文件的有用信息行
    grep -v  "^#"  filename  |  grep -v "^$"
    

    16.远程传输scp

    # 语法:
    scp  你想要的内容    传输到哪里
    
    #把我本地机器1的/tmp/刚哥.txt发到远程机器的/opt目录下
    
    scp   /tmp/刚哥.txt   root@机器的ip:/opt/    
    
    #把自己的东西发给别人
    #把本地的first.py 发送给root@192.168.16.105这个机器,然后
    	1.如果data文件夹存在,则放入data文件夹中
    	2.如果没有data这个文件夹,则把first.py改名为data
    	
    scp  ./first.py   root@192.168.16.105:/data 
    
    
    #把别人的东西拿过来 
    scp  root@192.168.16.105:/data/钢哥的小秘密.txt   /opt 
    
    #发送所有的文件和文件夹给别人  
    scp  -r ./* root@192.168.16.105:/data/ 
    

    17.统计文件夹大小命令

    1. ls -h  
    
    2. du命令  以du命令为准 
    	-h  显示mb  gb单位
    	-s  显示统计 
    	
    #统计/var/log文件夹大小
    
    du -sh  /var/log/
    

    常用参数

    -a all 里出所有的目录文件,包括以 . 开头的隐藏文件 例子:ls -a
    
    -A同-a,但不列出”.”(表示当前目录)和”..”(表示当前目录的父级目录) 例子:ls -A
    
    -c 配合 –lt:根据 ctime 排序显示(ctime 文件最后的更改时间) 配合-l :显示ctime 但根据名称排序 否则根据ctime排序 例子:ls –clt
    
    -C 每栏由上至下列出项目 例子:ls –Clt
    
    --color[=WHEN]控制是否使用色彩分辨文件 WHEN 可以是’never’,’always’,’auto’其中之一 例子:ls --color='never'
    
    -d 将目录像文件一样显示,而不是显示其下的文件 例子:ls –d 
    
    -D –dired产生适合Emacs的dired模式使用的结果 例子:ls –D
    
    -f 对输出的文件不进行排序 例子:ls -f
    
    -g 类似 –l ,但不列出所有者 例子:ls -g
    
    -G 不列出任何有关组的信息 例子:ls –Gls
    
    -h 以容易理解的格式列出文件大小 例子:ls –lsh
    
    -si 类似-h ,但是文件大小取1000的次方而不是1024 例子:ls –lsi
    
    -H 使用命令列中的符号链接指示真正的目的地 例子:ls -H
    
    -i ,-incode印出每个文件的incode号 例子:ls -i
    
    -k 即以k字节的形式表示文件的大小 例子:ls -k
    
    -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。 例子:ls –l
    
    -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息 例子:ls –L
    
    -m 所有项目以逗号分隔,并填满整行行宽 例子:ls -m
    
    -R 遍历列出所有子目录层 例子:ls –R
    
    -r –reverse依次反次序排列 例子:ls –r
    
    -S 以文件大小排序 例子:ls –S
    
    -t 以文件修改时间排序 例子:ls -t
    
    -u 配合 -lt:显示访问时间而且依访问时间排序
    
        配合 -l:显示访问时间但根据名称排序
    
        否则:根据访问时间排序  例子:ls -u
    
    -U 不进行排序;依文件系统原有的次序列出项目 例子:ls -U
    
    -v 根据版本进行排序 例子:ls -v
    
    -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值 例子:ls -w
    
    -x 逐行列出项目而不是逐栏列出 例子:ls -x
    
    -X 根据扩展名排序 例子:ls -X
    
    -1 每行只列出一个文件 例子:ls –l
    
    –-help 显示此帮助信息并离开 例子:ls –help
    
    –-version 显示版本信息并离开 例子: ls –version
    

    18.linux的任务管理器 top命令

    inux top命令用于实时显示 process 的动态。
    
    使用权限:所有使用者。
    
    语法
    top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
    参数说明:
    
    d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
    q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
    c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
    s : 安全模式,将交谈式指令取消, 避免潜在的危机
    i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
    n : 更新的次数,完成后将会退出 top
    b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
    

    19.查看文件特殊权限的命令

    lsattr 
    
    
    # 设置文件特殊权限的命令 
    chattr  
    
    #用chattr命令防止系统中某个关键文件被修改:
    
     chattr +i /etc/resolv.conf
    

    20.更新系统时间

    ntpdate   ntp.aliyun.com    # 和阿里提供的时间服务器,进行时间同步
    
    # 查看系统时间 
    date命令
    

    21.在线下载资源的命令

    wget  -r -p   www.luffycity.com   # -r -p  递归爬取网站资源 
    	
    

    20.看内存

    free命令用于显示内存状态。
    
    free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
    
    语法
    free [-bkmotV][-s <间隔秒数>]
    参数说明:
    
        -b  以Byte为单位显示内存使用情况。
        -k  以KB为单位显示内存使用情况。
        -m  以MB为单位显示内存使用情况。
        -h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
    
        B = bytes
        K = kilos
        M = megas
        G = gigas
        T = teras
        -o  不显示缓冲区调节列。
        -s<间隔秒数>  持续观察内存使用状况。
        -t  显示内存总和列。
        -V  显示版本信息
    

    21.看磁盘信息

     fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
    
    语法
    fdisk [必要参数][选择参数]
    必要参数:
        -l 列出素所有分区表
        -u 与"-l"搭配使用,显示分区数目
    选择参数:
    
        -s<分区编号> 指定分区
        -v 版本信息
        菜单操作说明
    
        m :显示菜单和帮助信息
        a :活动分区标记/引导分区
        d :删除分区
        l :显示分区类型
        n :新建分区
        p :显示分区信息
        q :退出不保存
        t :设置分区号
        v :进行分区检查
        w :保存修改
        x :扩展应用,高级功能
    

    22.磁盘使用率

    df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
    
    语法
        df [选项]... [FILE]...
        文件-a, --all 包含所有的具有 0 Blocks 的文件系统
        文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
        文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
        文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
        文件-i, --inodes 列出 inode 资讯,不列出已使用 block
        文件-k, --kilobytes 就像是 --block-size=1024
        文件-l, --local 限制列出的文件结构
        文件-m, --megabytes 就像 --block-size=1048576
        文件--no-sync 取得资讯前不 sync (预设值)
        文件-P, --portability 使用 POSIX 输出格式
        文件--sync 在取得资讯前 sync
        文件-t, --type=TYPE 限制列出文件系统的 TYPE
        文件-T, --print-type 显示文件系统的形式
        文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
        文件-v (忽略)
        文件--help 显示这个帮手并且离开
        文件--version 输出版本资讯并且离开
    

    23.软件包管理 yum命令

    配置yum源的过程
    centos的默认yum仓库路径是 /etc/yum.repos.d  ,在这目录下,第一层文件夹中的repo文件会识别为仓库文件
    
    
    1.获取阿里云的yum源
    打开网址https://opsx.alibaba.com/mirror
    
    2.找到第一个仓库
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    3.下载第二个仓库
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
    4.生成yum缓存,加速以后下载
    yum makecache 
    
  • 相关阅读:
    Java自学
    Java自学
    Java自学
    java自学
    Java自学
    mybatis基础及原理
    自定义swagger maven codegen插件
    spring学习总结016 --- spring事务原理
    spring学习总结015 --- spring事务
    windows解决端口占用问题
  • 原文地址:https://www.cnblogs.com/zhufanyu/p/11755441.html
Copyright © 2011-2022 走看看