• Linux常用指令


    运行级别
    init 0  //切换到系统停机状态;系统默认运行级别不能设为0,否则不能正常启动
    init 1  //切换到单用户工作状态;root权限,用于系统维护,禁止远程登录
    init 2  //切换到多用户状态(没有NFS),没有网络服务
    init 3  //切换到多用户状态有网络服务,登录后进入控制台命令行模式
    init 4  //切换到系统未使用,保留给用户
    init 5  //切换到图形界面
    init 6  //切换到系统重启,系统默认运行级别不能设为6,否则不能正常启动
    vim /etc/inittab  //修改服务的运行级别
    
    关机重启
    shutdown -h now  //立即关机
    shutdown -h 1    //表示1分钟以后关机
    shutdown -r now  //立即重启
    halt             //直接使用,效果等价于关机
    reboot           //重启系统
    sync             //把内存中的数据同步到磁盘
    

    当我们关机或者重启时,都应该先执行一下sync指令,把内存中的数据写入磁盘,防止数据丢失

    显示网络设备
    ifconfig  //显示网络设备
    
    帮助指令
    man 命令或配置文件  //获得帮助信息
    help 命令           //获得shell内置命令的帮助信息
    
    文件目录类
    pwd     //显示当前工作目录的绝对路径
    ls -a   //显示当前目录所有的文件和目录,包括隐藏的
    ls -l   //以列表的方式显示信息
    cd ~    //切换到当前登录用户的主目录
    cd ~tom //切换至指定用户的主目录;例切换到指定用户tom的主目录
    cd -    //切换至上次所在目录
    cd .    //切换至当前目录
    cd ..       //切换至上级目录
    mkdir dog   //创建一个名为dog的新目录
    mkdir -p animal/cat //递归创建所有目录,一次创建多级目录
    rmdir dog //删除名为dog的空目录
    rmdir animal/cat //删除animal文件夹下名为cat的空目录
    rmdir -p animal/pig //递归删除空目录
    rm 1.txt //删除名为1.txt的文件,有提示
    rm -f 1.txt //强制删除名为1.txt的文件,不提示 
    rm -r dog //递归删除整个文件夹,dog为非空目录,有提示
    rm -rf dog //递归删除整个文件夹,dog为非空目录,不提示
    touch dog/1.txt //在dog文件夹下创建文件1.txt
    cp dog/1.txt cat //将dog文件夹下的1.txt复制到cat文件夹下,提示是否覆盖原有文件
    cp -r dog cat //递归复制整个文件夹,将dog文件夹整个复制到cat文件夹下
    cp dog/1.txt cat //将dog文件夹下的1.txt复制到cat文件夹下,强制覆盖原有文件不提示
    cp -r dog cat //递归复制整个文件夹,强制覆盖原有文件不提示
    mv dog dog1 //重命名,将目录dog重命名为dog1
    mv dog/a.txt cat //移动文件,将dog文件夹下的a.txt移动到cat文件夹下
    cat -n config //查看config文件的内容,显示行号
    more config  //以全屏幕得方式按页显示文本文件得内容
    cat -n config | more //分页查看config文件的内容
    less config //分屏查看config文件的内容,q退出
    head -n 5 config  //查看文件头5行内容,5可以是任意数
    tail -n 5 config  //查看文件后5行内容,5可以是任意数
    tail -f config //实时追踪该文档的所有更新,工作经常使用;ctrl+c退出tail命令
    ls -l > 1.txt  //将列表的内容写入到文件1.txt(覆盖)
    ls -l >> 1.txt  //列表的内容追加到文件1.txt的末尾
    cat config > 1.txt  //将文件config的内容覆盖到1.txt
    echo Linux  //输出Linux到控制台
    ln -s dog/1.txt linkTodog  //创建一个linkTodog的软连接,连接到dog/1.txt
    rm -rf linkTodog  //删除软链接linkTodog
    history     //、查看已经执行过的历史命令
    
    时间日期类
    date //显示当前日期
    date +%Y //显示当前年份
    date +%m //显示当前月份
    date +%d  //显示当前是哪一天
    date "+%Y-%m-%d %H:%M:%S" //显示年月日时分秒
    date -s "2019-11-22 17:13:50"  //设置系统当前时间为"2019-11-22 17:13:50"
    cal //显示本月日历
    cal 2020 //显示2020年日历
    
    搜索查找类
    find /root/dog -name 1.txt //按照指定的文件名查找模式查找文件
    find -user tom //查找属于指定用户名所有文件
    find / -size +20M //按照指定的文件大小查找文件
    locate 1.txt  //快速定位文件路径
    cat config | grep -n yes //请在config文件中,查找yes所在行,并且显示行号,区分大小写
    cat config | grep -ni yes  //请在config文件中,查找yes所在行,并且显示行号,不区分大小写
    

    由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
    updatedb

    压缩解压类
    gzip 1.txt //将1.txt文件进行压缩
    gunzip 1.txt.gz   //将文件1.txt.gz进行解压缩
    zip -r mypackage.zip /home/  //将home下所有的文件进行压缩成mypackage.zip
    unzip -d /opt/tmp/ mypackage.zip  //将mypackage.zip解压到指定/opt/tmp/目录
    tar -zcvf a.tar.gz 1.txt 2.txt //压缩多个文件,将1.txt和2.txt压缩成a.tar.gz
    

    当我们使用gzip对文件进行压缩后,不会保留原来的文件

    用户和用户组管理类
    more /etc/passwd	//在文件 /etc/passwd中查看所有的用户信息
    useradd tom //添加用户tom
    useradd -d /dog erha //给新创建的用户名erha指定家目录dog
    useradd -g root tom //创建tom用户并将tom放入root组中
    passwd -S tom //查看用户tom密码的状态
    passwd -l tom //锁定用户
    passwd -u tom //解锁用户
    echo "123" | passwd --stdin tom //调用管道符,给用户tom设置密码"123"
    usermod -L tom //临时锁定用户
    usermod -U tom //解锁用户
    usermod -G root tom //把用户加入组
    usermod -c 成为超级用户 tom //修改用户说明
    usermod -d /home/jack tom //改变该用户登录的初始目录
    chage tom  //修改用户tom密码信息
    chage -l tom  //查看用户tom密码状态
    userdel tom //删除用户tom
    userdel -r tom //删除用户tom及用户的家目录
    id tom //查询用户tom的UID、GID和附加组信息
    su tom //用户切换
    su - tom //用户切换
    exit  //返回到原来的用户
    groupadd animals //添加animals用户组
    groupdel animals //删除用户组
    chgrp tom 1.txt //修改文件或目录的所属组
    
    权限管理
    chown tom 1.txt //修改文件或目录的所有者
    chown tom:tom 1.txt //同时修改文件或目录的所有者和所属组
    chmod 权限值 文件或目录 //使用数字修改文件或目录权限
    chmod [u/g/o/a][+/-/=][r/w/x] //文件目录名 使用字母修改文件或目录权限
    
    任务调度
    crontab -e //编辑crontab定时任务
    */n * * * * //每隔n分钟执行一次任务(分,时,天,月,星期)
    crontab -r //终止任务调度
    crontab -l //列出当前有哪些任务调度
    service crond restart //重启任务调度
    ************
     例:每隔一分钟将当前日期和日历都追加到mycal文件中
    //首先编写文件mytask.sh
    data >> mycal
    cal >> mycal
    //给mytask.sh一个可以执行权限
    chmod 744 mytask.sh
    //输入任务到调度文件
    crontab -e
    */1 * * * * mytask.sh
    
    磁盘管理
    lsblk -f //查看系统的分区和挂载的情况
    du -ach --max-depth=1 /opt //查询/opt目录的磁盘占用情况,深度为1。
    df -h //查询系统整体磁盘使用情况
    ls -l /home | grep "^-" | wc -l //统计/home文件夹下文件的个数
    ls -l /home | grep "^d" | wc -l //统计/home文件夹下目录的个数
    ls -lR /home | grep "^-" | wc -l //统计/home文件夹下文件的个数,包括子文件夹里的
    ls -lR /home | grep "^d" | wc -l //统计/home文件夹下目录的个数,包括子文件夹里的
    tree //以树状显示目录结构
    ************
    如何增加一块硬盘
    fdisk /dev/sdb //对硬盘sdb进行分区
    mkfs -t ext4 /dev/sdb1 //格式化
    mount /dev/sdb1 /home/newdisk  //挂载
    umount /dev/sdb1 /home/newdisk //卸载
    
    软件安装
    rpm -qa //查询所安装的所有rpm软件包
    rpm -qa | more //分页显示
    rpm -qa | grep firefox //查看firefox的rpm软件包
    rpm -q 软件名 //查询软件包是否安装
    rpm -qi 软件名 //查询软件包信息
    rpm -ql 软件名 //查询软件包中的文件
    rpm -qf 文件全路径名 //查询文件所属的软件包
    rpm -e 软件包名 //删除软件包
    rpm -e --nodeps 软件包名 //强制删除软件包
    rpm -ivh BPM包全路径名称 //安装rpm包(i=install安装;v=verbose提示;h=hash进度条)
    yum list | grep 软件名 //查询yum服务器是否有需要安装的软件
    yum install 软件名 //安装指定的yum包
    
    进程管理
    ps -aus //查看进程
    ps -ef //以全格式显示当前所有的进程
    kill 4090 //过进程号杀死进程
    kill -9 4090 //通过进程号强迫进程立即停止
    killall sshd //通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
    pstree -p //查看进程树,显示进程的PID
    pstree -u //查看进程树,显示进程的所属用户
    
    服务管理
    systemctl 服务名 [start|stop|restart|reload|status] //服务管理指令
    service iptables status     //查看防火墙状态
    ls -l /etc/init.d/          //列出系统有哪些服务
    chkconfig --list                 //查看服务
    chkconfig --list | grep sshd    //查看服务
    chkconfig sshd --list           //查看服务
    chkconfig --level 5 sshd on/off //将服务在运行级别为5下设置为自启动或不启动
    sudo service iptables status    //查看防火墙状态
    sudo chkconfig iptables off     //永久关闭防火墙
    top -d 10       //动态监控进程指定top命令每隔10秒更新
    top -i          //动态监控进程使top不显示任何闲置或者僵死进程
    top -p          //动态监控进程通过指定监控进程ID来仅仅监控某个进程的状态
    P               //与top交互操作,以CPU使用率排序,默认就是此项
    M               //与top交互操作,以内存的使用率排序
    N               //与top交互操作,以PID排序
    q               //与top交互操作,退出top
    netstat -an     //查看系统网络情况,按一定顺序排列输出
    netstat -p      //查看系统网络情况,显示哪个进程在调用
    

    chkconfig 重新设置服务后自启动或关闭,需要重启机器reboot才能生效


    持续更新

  • 相关阅读:
    Web应用网络模型
    Http协议
    Array数组标准库
    Array数组基础
    javascript--Object
    javascript--Function
    letCode-3
    面试前的准备
    面试常见问题
    面试经验总结
  • 原文地址:https://www.cnblogs.com/wangxiaojun1/p/11888356.html
Copyright © 2020-2023  润新知