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

    1. 基本命令
    useradd 用户名 【添加用户】
    passwd 用户名 【修改用户密码】
    userdel 用户名 【删除用户】
    userdel -r 用户名 【删除用户以及用户主目录】
    mkdir 【建立目录】
    rmdir 【删除空目录】
    touch 【建立空文件】
    cp 【复制命令】
    cp -r dir1 dir2 递归复制命令(复制子目录信息)
    mv 【移动文件和修改文件名】
    rm 【删除文件和目录】
    rm -rf * 【删除所有内容(包含目录和文件)r 递归 f 强制 】
    ln 【建立符号链接】
    ln -s /etc/init haha 【haha指向实际文件/etc/init】
    重定向命令:写入文件【覆盖,追加】
    ls -l >a.txt 列表的内容写入文件【覆盖】
    ls -l >>a.txt 列表的内容写入文件【追加】
    通配符:
    *代表多个字母或者数字
    ?代表一个字母或者数字
    例:ls a* ls a? ls ?abc?? ls f080[1-6].txt

    alias 【显示系统当前定义的所有alias】
    alias cp='cp -i'

    head指令
    head a.txt 【查看文件头10行内容(head默认查看10行)】
    head -n 5 a.txt 【查看文件头5行内容】

    tail指令
    tail a.txt 【查看文件尾部10行内容】
    tail -n 5 a.txt 【查看文件尾部5行内容】
    tail -f a.txt 【实时追踪该文档的所有更新】

    date指令
    date “+%Y-%m-%d %H:%M:%S” 【显示年月日时分秒】
    date -s "2018-09-09 12:00:00" 设置系统时间

    cal指令
    cal 【显示本月日历】
    cal 2020 【显示2020年日历】
    cal 9 2020 【显示2020年9月日历】

    locate指令
    快读定位文件路径,必须使用updatedb指令创建locate数据库才能使用

    More指令
    More 文件名:more 1.txt

    根据窗口大小,一页一页的现实文件内容

    Less 指令
    less 文件名:less 1.txt

    和more类似,但其优点可以往前翻页,而且进行可以搜索字符

    Crontab任务调度
    crontab -e 编辑定时任务
    crontab -l 查询定时任务
    crontab -r 删除当前用户所有的定时任务
    一般操作:编写一个mytask.sh文件,把需要执行的指令全部写再文件内,然后用crontab执行mytask.sh文件(记得给文件可执行的权限)

    例如:*/1 * * * * /home/mytask.sh
    【分钟0-59】 【小时0-23】 【日期1-31】 【月1-12】 【星期几0-6】


    2. find 【搜索文件以及目录】
    find / -name hello 【意思是从/ 目录开始搜索名称为hello的文件或者目录】
    按时间搜索
    /************************************************************/
    查找最近修改的文件:

    -ctime:指定时间内文件的权限被修改过,change
    -atime:指定时间内文件被访问过(读取),access
    -mtime:指定时间(以天为单位)内文件被修改过,modify
    -mmin:指定时间(以分钟为单位)内文件被修改过,modify
     
    -n +n  按照文件的更改时间来查找文件,
    - n 表示更改时间距现在 n 天以内,
    + n 表示文件更改时间距现在 n 天以前。

    /************************************************************/
    按照指定大小的文件搜索
    find /home -size +10k 【意思是查找/home目录下大小为10k的文件】

    按照拥有者搜索
    find /home -user root 【查找/home 目录下拥有者为root的文件】

    3. 按照查找特定需求查找
    按时间和文件后缀查找并列表展示
    ls -alR --full-time * | grep "2019-01-01"| grep ".json"
    /****************************************************************/
    按照时间升序 命令:ls -lrt
    按照时间降序 命令:ls -lt

    详细解释:
    -l use a long listing format 以长列表方式显示(详细信息方式)
    -t sort by modification time 按修改时间排序(最新的在最前面)
    -r reverse order while sorting (反序)
    /****************************************************************/


    查看文件size大小并排序
    du -s *| sort -nr

    查找以.json结尾的文件(10分钟以内文件数据被修改过的)总size
    find ./ -name *.json -mmin -10 |xargs du -ck

    4. linux网络
    网络环境配置
    1)setup命令进入,对网络进行配置
    2)ifconfig eth0 192.168.22.22 对网卡进行设置
    ifconfig eth0 network 192.168.22.22 对子网掩码设置【这样配置立即生效,但是临时生效】
    3)修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里面各个属性【这种方法是最底层的修改方法】
    service network restart 重启网络服务
    reboot 重启系统生效

    查看系统网络情况 netstat (重要)
    netstat -anp 【这个指令经常用】
    查看80端口进程
    netstat -anp | grep 80

    进程服务管理
    ps -aux 【显示系统执行的进程】
    ps -ef 【以全格式显示当前所有的进程】

    终止进程kill 和 killall
    kill 进程号 【通过进程号杀死进程】
    killall 进程名称 【通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用】
    -9 表示强制进程立即停止 kill -9 1625

    查看进程树 pstree
    pstree -p 显示进程的pid
    pstree -u 显示进程的所属用户

    服务【service】管理
    service 服务名 [start|stop|restart|reload|status|]
    再centos7.0后,不再使用service 而是systemctl
    例:service iptables status 【查看防火墙状态指令】
    telnet 192.168.0.1 22 【Dos命令行下检测服务器端口是否开启】

    动态监控进程top
    top 【动态监控正在运行的进程,默认3秒刷新一次】
    1)u: 再输入用户名,即可【监视特定用户】
    2)k: 【再输入进程ID号,终止指定的进程】
    3)top -d 10: 指定系统更新进程的时间为10秒
    4)-i:使top不显示任何限制或者僵尸进程
    5)-p 通过指定监控进程ID来仅仅监控某个进程的状态

    chkconfig命令可以给各个运行级别设置自动启动/关闭
    1)查看服务 chkconfig --list | grep XXX
    2) chkconfig 服务名 --list
    3) chkconfig --level 5 服务名 on/off
    chkconfig 重新设置服务自动自动或关闭,需要重启机器reboot才能生效


    5. rpm和yum
    rpm -qa | grep xxx 【查询已经安装的rpm列表】
    rpm -q firefox 【查询火狐软件包是否安装】
    rpm -qi firefox 【查询软件包信息】
    rpm -ql firefox 【查询软件包中的文件】
    rpm -qf 文件全路径名 【查询文件所属的软件包】
    rpm -e rpm包名称【卸载rpm包】
    rpm -e --nodeps rpm包名称【强制删除卸载rpm包(一般不推荐这样使用)】

    rpm -ivh rpm包全路径名称 【安装rpm包】

    yum基本指令
    yum list | grep xxx【查看yum软件列表】
    yum install XXX 【下载安装】

    6.权限,所有者,所在组
    ls -ahl 查看文件的所有者
    chown 用户名 文件名 【修改文件所有者】
    chgrp 组名 文件名 【修改文件所在的组】
    chown -R 用户名 文件名 【如果是目录 则使其下所有子文件或目录递归生效】
    1)usermod -g 组名 用户名【改变用户所在组】
    2)usermod -d 目录名 用户名 【改变该用户登录的初始目录】
    权限基本介绍
    chmod 777 文件目录名 【[读4][写2][执行1]修改权限】

    7.linux分区
    分区和挂载
    lsblk -f 【查看系统的分区和挂载的情况】
    mount 设备名称 挂载目录 【挂载】
    例如:mount /dev/sdb1 /newdisk
    umount 设备名称 或者 挂载目录
    例如:umount /dev/sdb1 或者umount /newdisk
    执行 mount -a 即刻生效
    fdisk -l 【查看linux系统分区具体情况】

    系统磁盘
    df -lh 【查询系统整体磁盘使用情况】
    du -h /目录 【查询指定目录的磁盘占用情况】
    -s 【指定努力占用大小汇总】
    -h 带计量单位
    -a 含文件
    --max-depth=1 子目录深度
    -c 列出明细的同时,增加汇总值
    例如:du -ach --max-depth=1 /opt

    磁盘情况-工作实用指令
    1)ls -l /home |grep "^-" | wc -l 【统计/home文件夹下文件的个数】
    2)ls -l /home |grep "^d" | wc -l 【统计/home文件夹下目录的个数】
    3)ls -lR /home |grep "^-" | wc -l 【统计/home文件夹下文件的个数,包括子文件夹里的】
    4)ls -lR /home |grep "^d" | wc -l【统计/home文件夹下目录的个数,包括子文件夹里的】
    5)tree 【以树状显示目录结构】yum install tree


    8.shell简介
    chsh -s 输入新的shell 如:/bin/csh 【切换shell】
    history 【查看历史使用命令】
    1)history 5:【此项说明会显示最近使用的5个命令】
    2)!5:【此项说明执行历史编号为5的命令】
    3)!ls 此项说明执行最后一次以ls 开头的命令

    9. 压缩与解压
    gzip/gunzip 指令
    gzip 文件 【压缩文件,只能将文件压缩为*.gz文件】
    gunzip 文件.gz 【解压缩文件命令】


    zip/unzip 指令
    zip [选项] xxx.zip 将要压缩的文件或目录 【压缩文件和目录的命令】
    unzip [选项] xxx.zip 【解压文件】
    zip常用选项
    -r:递归压缩,即压缩目录
    /*******
    zip -d myfile.zip smart.txt
    删除压缩文件中smart.txt文件

    unzip -l aa.zip
    查看aa.zip文件里包含的文件
    *********/

    unzip的常用选项
    -d<目录>:指定解压后文件的存放目录

    tar 指令是打包指令,最后打包后的文件是*.tar.gz的文件
    基本语法:
    tar [选项] xxx.tar.gz 打包的内容 【打包目录,压缩后的文件格式为.tar.gz】
    例如:tar -zcvf a.tar.gz 1.txt 【打包】
    解压:tar -zxvf abc.tar.gz /home/tmp/ 【解压】

    10.其他

    重启php:service php-fpm restart
    重启nginx:service nginx restart


    nginx 服务器重启命令,关闭
    nginx -s reload :修改配置后重新加载生效
    nginx -s reopen :重新打开日志文件
    nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

    关闭nginx:
    nginx -s stop :快速停止nginx
    quit :完整有序的停止nginx

    其他的停止nginx 方式:

    kill -QUIT 主进程号 :从容停止Nginx
    kill -TERM 主进程号 :快速停止Nginx
    pkill -9 nginx :强制停止Nginx

    启动nginx:
    nginx -c /path/to/nginx.conf

    平滑重启nginx:
    kill -HUP 主进程号

    安装必要的编译工具以及库文件
    yum -y install make apr* autoconf automake curl curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch cmake

  • 相关阅读:
    [spoj DISUBSTR]后缀数组统计不同子串个数
    [poj 3261]后缀数组+滑窗最小值
    [poj 1743]差分+后缀数组
    [codechef MEXDIV]Mex division
    JavaScript中的数组和对象 增删遍
    ajax返回的值有两种方法,一种是把async:true改为false。 另一种是回调函数。
    使用smart-npm和npm安装完毕之后发现 不是内部命令和外部命令!
    移动端rem设置,自动更改html<font-size>
    总结js创建object的方式(对象)
    用css方法 可以实现多行 超出宽度 出点点点号
  • 原文地址:https://www.cnblogs.com/myJuly/p/13753037.html
Copyright © 2011-2022 走看看