zoukankan      html  css  js  c++  java
  • linux操作

    1. 常用指令

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

    2. 系统管理命令

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

    3. 打包压缩相关命令

    gzip:
    bzip2:
    tar:              打包压缩
         -c           归档文件
         -x           压缩文件
         -z           gzip压缩文件
         -j           bzip2压缩文件
         -v           显示压缩或解压缩过程 v(view)
         -f           使用档名
    

    例:

    tar -cvf /home/abc.tar /home/abc            只打包,不压缩
    tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩
    tar -jcvf /home/abc.tar.bz2 /home/abc       打包,并用bzip2压缩
    

    当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。

    4. 关机/重启机器

    shutdown
         -r           关机重启
         -h           关机不重启
         now          立刻关机
    halt              关机
    reboot            重启
    

    5. Linux管道

    将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
    例:

    grep -r "close" /home/* | more       在home目录下所有文件中查找,包括close的文件,并分页输出。
    

    6. Linux软件包管理

    dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
    比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

    sudo dpkg -i tree_1.5.3-1_i386.deb         安装软件
    sudo dpkg -r tree                          卸载软件
    

    注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

    APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
    依然以tree为例

    sudo apt-get install tree                  安装tree
    sudo apt-get remove tree                   卸载tree
    sudo apt-get update                        更新软件
    sudo apt-get upgrade        
    

    将.rpm文件转为.deb文件
    .rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

    sudo alien abc.rpm
    

    7. vim使用

    vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
    命令模式下:

    :q                      退出
    :q!                     强制退出
    :wq                     保存并退出
    :set number             显示行号
    :set nonumber           隐藏行号
    /apache                 在文档中查找apache 按n跳到下一个,shift+n上一个
    yyp                     复制光标所在行,并粘贴
    h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
    

    8. 用户及用户组管理

    /etc/passwd             存储用户账号
    /etc/group              存储组账号
    /etc/shadow             存储用户账号的密码
    /etc/gshadow            存储用户组账号的密码
    useradd                 用户名
    userdel                 用户名
    adduser                 用户名
    groupadd                组名
    groupdel                组名
    passwd root             给root设置密码
    su root
    su - root 
    /etc/profile            系统环境变量
    bash_profile            用户环境变量
    .bashrc                 用户环境变量
    su user                 切换用户,加载配置文件.bashrc
    su - user               切换用户,加载配置文件/etc/profile ,加载bash_profile
    sudo chown [-R] owner[:group] {File|Directory}      更改文件的用户及用户组
    sudo chown root:root jdk-7u21-linux-i586.tar.gz
    

    9. 文件权限管理

    三种基本权限

    R       读         数值表示为4
    W       写         数值表示为2
    X       可执行     数值表示为1
    
    $ ll
    total 64M
    drwxr-xr-x  4 root root 4.0K Feb  8 11:22 beifen
    drwxr-xr-x 13 root root 4.0K Jun 19 13:55 blog
    -rw-rw--w-  1 root root 1.7M Mar 17 21:45 get-pip.py
    

    如图所示,get-pip.py文件的权限为-rw-rw--w-

    -rw-rw--w-一共十个字符,分成四段。

    第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
    第二三四个字符“rw-”表示当前所属用户的权限。               所以用数值表示为4+2=6
    第五六七个字符“rw-”表示当前所属组的权限。                 所以用数值表示为4+2=6
    第八九十个字符“w--”表示其他用户权限。                     所以用数值表示为2
    
    所以操作此文件的权限用数值表示为662 
    

    更改权限

    sudo chmod [u所属用户  g所属组  o其他用户  a所有用户]  [+增加权限  -减少权限]  [r  w  x]   目录名 
    

    例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

    sudo chmod u+x g+w o+r  filename
    

    上面的例子可以用数值表示

    sudo chmod 765 filename
    

    10. 软链接和硬链接

    touch t1             #创建一个测试文件t1
    ln t1 t2             #创建t1的一个硬连接文件t2
    ln -s t1 t3          #创建t1的一个软连接文件t3
    mkdir dir1           #创建一个测试文件夹
    ln -s dir1   dir3    #为文件夹创建一个软连接
    ln -s 已存在文件  未存在文件   # 第二个文件不需要创建
    
    软连接中间有 ->  
    硬链接只能给文件使用,不能给文件夹使用,软连接都可以
    软连接dir1和dir3中的文件是同步的,不管你在哪个文件夹中操作
    删除t1不会影响t2,删除t2不会影响t1,这就是硬链接的好处,防止意外删除重要文件
    

    11. 其他一些命令

    工作中用到的

    ls -la -R(reverse关键是这个命令)         # Linux列出某文件夹下面所有文件包括子目录得的文件
    echo abcbedf>>a.txt                      # 将abcdef追加到a.txt文件末尾
    echo bbbbb>a.txt,                       # 这个是bbbbb把a.txt原来的内容替换,这里注意 >是覆盖,>>是追加。
    ssh -i ~/.ssh/key.pem root@139.198.0.173 -p 22005            # 指定key路径和端口号的
    scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root      # 不同主机间拷贝,若是文件夹可在scp后加 -r参数
    scp root@172.19.2.75:/home/root /home/daisy/*.tar.gz 
    ps -ef | grep nginx    # System V展示风格, COMMADN列如果过长,aux会截断显示,而ef不会
    ps aux | grep nginx    # BSD风格,查看进程的CPU占用率和内存占用率,可以使用aux,查看进程的父进程ID和完整的COMMAND命令,可以使用ef
    netstat -antlp | grep 514
    git branch |grep 'branchName' |xargs git branch -D  # 批量删除git分支
    find app/ -name '*.php' | xargs dos2unix # xargs的使用
    

    grep的用法

    grep -rn "hello,world!" *
     
    * : 表示当前目录所有文件,也可以是某个文件名
    -r 是递归查找
    -n 是显示行号
    -R 查找所有文件包含子目录
    -i 忽略大小写
    

    下面是一些有意思的命令行参数:

    grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 
    grep -l pattern files :只列出匹配的文件名, 
    grep -L pattern files :列出不匹配的文件名, 
    grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 
    grep -C number pattern files :匹配的上下文分别显示[number]行, 
    grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 
    grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 
    

    这里还有些用于搜索的特殊符号:

    <> 分别标注单词的开始与结尾。
    例如:

    grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 
    grep '<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 
    grep '<man>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 
    '^':指匹配的字符串在行首, 
    '$':指匹配的字符串在行尾,  
    

    rz和sz的用法

    z,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
    优点就是不用再开一个sftp工具登录上去上传下载文件。

    sz:将选定的文件发送(send)到本地机器
    rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
    

    安装命令:

    yum install lrzsz
    

    从服务端发送文件到客户端:

    sz filename
    

    从客户端上传文件到服务端:

    rz
    

    在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

  • 相关阅读:
    php 微信-支付宝APP支付(退款)参数获取
    宝塔面板下安装svn版本管理(Centos)
    获取上传文件浏览器路径
    PHP 自制简易其它网站调用密文加密解密
    获取嵌入的资源
    设计模式02(结构性设计模式)
    人为控制随机概率
    设计模式01(创建性设计模式)
    插件式开发
    使用Word2010直接编辑、发布博客→博客园cnblogs
  • 原文地址:https://www.cnblogs.com/redirect/p/10066606.html
Copyright © 2011-2022 走看看