zoukankan      html  css  js  c++  java
  • Linux命令2018-03-01更新

    前言:Linux主要应用于服务器端,嵌入式开发和个人pc桌面端
    本人wechat:YWNlODAyMzU5MTEzMTQ=


    GPL

    GPL是一个开源许可协议,由自由软件基金会创建的。GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得,修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。


    目录树


    服务

    开机启动的重要服务:sshd,rsyslog,network,crond,sysstat
    
    chkconfig --list # 列出所有系统服务
    chkconfig --list sshd # 查看ssh服务
    chkconfig --level 3 sshd off # on设置ssh在等级3为开机自启动服务,off为关闭
    
    # ssh服务
    /etc/ssh/sshd_config
    port 52113
    UseDNS no
    PermitRootLogin no
    ListenAddress 192.168.1.17
    GSSAPIAuthentication no
    /etc/init.d/sshd restart
    

    常用命令80个

    Linux三剑客

    grep "abc" test.txt test2.txt # 分离出含有abc字符串
    grep -v "abc" test.txt # 分离出不含abc字符串
    grep -E "[a-z]+" test.txt # 根据正则表达式分离
    
    # sed是一种流编辑器,处理时把当前处理的行放到临时缓冲区中,
    # 处理完成后把缓冲区内容送往屏幕,默认文件内容没有改变,除非使用重定向
    sed 's/hhh/aaa/' test.txt # 把每一行第一个hhh替换成aaa
    sed -i 's/hhh/aaa/g' test.txt # 把所有的hhh替换成aaa,-i参数改变文件内容
    sed '/^test/'d test.txt # 删除所有开头是test的行
    sed '/^$/d' test.txt # 删除空白行
    sed '2d' test.txt # 删除第2行
    sed '$d' test.txt # 删除最后1行
    sed '2d,$d' test.txt # 删除第2到最后1行之间所有行
    sed -n '20,30p' test.txt # 打印文件20到30行之间的内容
    # 把递归查找到的所有test.txt中所有的alex替换成lema
    sed -i 's/alex/lema/g' `find . -name "test.txt"` 
    
    awk -F ':' '{print $NF,$(NF-1)}' /etc/passwd # 打印最后两列
    awk '{if(NR>19&&NR<31) print $0}' test.txt # 打印20到30行的整行内容
    

    文件目录管理

    ####################增####################
    
    touch把已存在文件的时间更新为当前系统时间或者创建新文件
    
    cp sshd_config sshd_config.lema.20180301 # 备份
    
    mkdir -p /home/lema/test/core # 递归创建目录
    mkdir stu{1..100} # 创建100个目录
    
    ####################删####################
    
    rm -fr /
    
    ####################查####################
    
    diff比较两个文本文件的不同,如果比较的是目录则会比较两个目录是否有同名的文件
    vimdiff test.txt test2.txt
    
    tree以树状图打印目录的内容
    
    cat >>test.txt<<EOF
    >aaa
    >bbb
    >EOF
    
    head -3 test.txt
    less test.txt
    more test.txt
    tail显示指定文件的最后10行,若不加指定文件则读取标准输入
    
    # 按照名字在指定目录下查找文件
    find . -name "*.log" -o -iname "*.txt" # -o参数表示或者,-a表示并且
    find . ! -name "*.log" -o ! -iname "*.txt"
    # 按照文件类型和时间查找文件
    find . -type f -atime -7 # 在最近7天内被访问过的文件
    find . -type f -atime +7 # 在超过7天之前被访问过的文件
    find . -type f -atime 7 # 恰好在7天前被访问过的文件
    find /home/lema -type f -exec rm -f {} ;
    
    updatedb
    locate /etc/sh # 搜索etc目录下所有以sh开头的文件,比find查找更快
    # 不搜索具体目录而是搜索数据库/var/lib/locatedb
    
    ####################改####################
    
    mv剪切文件或重命名文件
    
    >test.txt # 清空文件内容
    
    # >重定向,>>追加重定向,<<追加输入重定向,<输入重定向
    # 标准输入0,标准正常输出1,标准错误输出2
    echo "hhh" 1>./test.txt 2>./test2.txt
    

    查看系统和硬件信息

    uname打印当前系统相关信息(内核版本号,硬件架构)
    [root@localhost ~]# uname -a
    Linux localhost 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux
    # 2表示主版本号,有结构性变化才更改,6表示次版本号,新增功能时才变化,
    # 32表示对次版本的修订次数或补丁包数,504代表编译的次数,el代表企业版Linux
    
    env # 显示系统已存在的环境变量
    

    权限管理

    u:User,即文件或目录的拥有者;
    g:Group,即文件或目录的所属群组;
    o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
    a:All,即全部的用户,包含拥有者,所属群组以及其他用户;
    r:读取权限,数字代号为“4”;
    w:写入权限,数字代号为“2”;
    x:执行或切换权限,数字代号为“1”;
    -:不具任何权限,数字代号为“0”;
    s:特殊功能说明:变更文件或目录的权限。
    
    chmod u+x,g+r test.txt
    chmod 770 test.txt
    
    chown -R lema test.txt # 改变某文件的所有者和所属组
    
    sudo # 在/etc/sudoers中设置了可执行sudo指令的用户
    visudo # vi /etc/sudoers
    root   ALL=(ALL)      ALL # sudo su root
    
    chattr +i /etc/passwd /etc/inittab # 改变文件属性 
    lsattr # 查看文件的第二扩展文件系统属性
    

    shell管理

    xargs将标准输入数据转换成命令行参数
    cat test.txt|xargs -n3 # 格式化输出
    find /root/data -type f|xargs rm -f
    
    HISTSIZE=5 # 设置history只显示5条历史命令
    HISTFILESIZE=3 # 设置~/.bash_history文件中只保存3条历史命令
    history # 显示之前用过的命令
    !304
    
    unalias cp # 取消别名
    alias # 查看已经设置的别名
    
    whereis cd # 用来定位指令的二进制程序,源代码文件及man手册页的路径
    which chattr
    
    ulimit -n # 限制用户对shell资源的访问
    

    软件安装卸载

    # yum是在Fedora和redhat以及suse中基于rpm的软件包管理器,
    # 能够从指定的服务器自动下载rpm包并且安装,自动处理依赖关系。
    yum grouplist # 显示已安装程序组
    yum groupinstall # 安装程序组
    yum install tree -y # -y参数对所有的提问都回答yes
    
    # rpm是rpm软件包的管理工具
    rpm -ivh packagesname.rpm
    rpm -qa|grep sql # 检查是否安装带sql的软件包
    
    # apt-get是Debian Linux发行版中的apt软件包管理工具。Debian软件库存在互联网上的一些公共站点上,
    # /etc/apt/sources.list是存放这些地址列表的配置文件
    

    进程管理

    # init进程是所有Linux进程的父进程,进程号为1,系统中的第一个进程
    
    # ps报告当前系统的进程状态
    ps -e # 显示所有程序
    ps -ef |grep ssh # -f参数显示UID,PPIP,C与STIME栏位
    
    kill # 删除执行中的程序和工作
    

    网络管理

    ping www.zhihu.com # 执行ping指令会使用ICMP传输协议,发出要求回应的信息测试网络连通性
    
    ifconfig eth0 down
    ifconfig eth0 up
    ifup eth0激活网络接口eth0
    ifdown eth0禁止指定的网络接口eth0
    /etc/init.d/network restart
    /etc/init.d/networking restart
    
    netstat -lntup # 查看开放的端口
    

    系统管理

    halt
    shutdown -h 11:50
    reboot
    
    runlevel # 查看当前系统运行的级别
    init 6 # 进程初始化,切换到运行等级6
    #0 停机(绝对不能把initdefault设置为0)
    #1 单用户模式
    #2 多用户,没有NFS
    #3 完全多用户模式
    #4 没有用到
    #5 x11(Xwindows)
    #6 重新启动(绝对不能把initdefault设置为6)
    
    ntpdate ntp.api.bz # 时间同步
    date # 显示系统时间
    hwclock -w # 显示硬件时钟时间,-w参数与系统时钟同步
    

    用户管理

    useradd lema -g a -G b # -g指定群组,-G指定附加群组
    passwd -l lema # 设置用户lema不能更改密码
    userdel -r lema # 删除用户连同其家目录文件
    su lema # 切换用户
    
    id lema # 显示用户id和组id
    

    其它

    seq -s '/' 1 2 10 # 产生奇数列
    
    setup # 启动图形界面设置系统配置服务
    
    # scp在Linux下远程拷贝文件,scp传输加密
    # 从远处复制文件到本地目录
    scp root@192.168.1.101:/home/lema/test.py /home/akast/
    # 从远处复制目录到本地目录
    scp -r root@192.168.1.101:/home/lema /home/akast
    
    lrzsz
    
    查看系统用户登录信息
    非常危险的系统命令
    基础网络操作
    深入网络操作
    搜索文件
    文件压缩及解压
    系统安全
    系统性能监视
    线上查询及帮助
    信息显示
    用户管理
    磁盘文件系统
    

  • 相关阅读:
    软工总结博客
    第四次个人博客
    第三次博客作业
    结对项目作业
    第二次博客作业
    个人博客作业_week14
    个人博客作业_week7
    结对编程_附加题_博客2
    结对编程1_四则运算器_博客1
    个人博客作业_week3
  • 原文地址:https://www.cnblogs.com/lemachin/p/8490100.html
Copyright © 2011-2022 走看看