蠢萌的小姐姐都能学会的Linux基本命令,有这份学习秘籍,你还不抓紧时间上车?

蠢萌的小姐姐都能学会的Linux基本命令,有这份学习秘籍,你还不抓紧时间上车? 目录说明# /bin[重点]是Binary的缩写这个目录存放着最经常使用的命令# /sbin[重点]是Super User的意思这里存放的是系统管理员使用的系统管理程序# /home[重点]存放普通用户的主目录在Linux中每个用户都有一个自己的目录一般目录名是以用户的账号命名的# /root[重点]该目录为系统管理员也称作超级权限者的用户主目录# /lib系统开机所需要最基本的动态连接共享库其作用类似于windows里的DLL文件几乎所有的应用程序都需要用到这些共享库# /lostfound这个目录一般情况下是空的当系统非法关机后这里就存放了一些文件。# /etc[重点]所有的系统管理所需要的配置文件和子目录 my.conf# /usr[重点]这是一个非常重要的目录用户的很多应用程序和文件都放在这个目录下类似与windows下的program files目录# /boot[重点]存放的是启动Linux时使用的一些核心文件包括一些连接文件以及镜像文件# /proc[别动]这个目录是一个虚拟的目录它是系统内存的映射访问这个目录来获取系统信息# /srv[别动] service缩写该目录存放一些服务启动之后需要提取的数据# /sys[别动]这是linux2.6内核的一个很大的变化该目录下安装了2.6内核中新出现的一个文件系统# /tmp这个目录是用来存放一些临时文件的# /dev类似于windows的设备管理器把所有的硬件用文件的形式存储# /media[重点]linux系统会自动识别一些设备例如U盘、光驱等等当识别后linux会把识别的设备挂载到这个目录下# /mnt[重点]系统提供该目录是为了让用户临时挂载别的文件系统的我们可以将外部的存储挂载在/mnt/上然后进入该目录就可以查看里面的内容了# /opt这是给主机额外安装软件所摆放的目录如安装oracle数据库就可放到该目录下默认为空。# /usr/local[重点]这是另一个给主机额外安装软件所安装的目录一般是通过编译源码方式安装的程序# /var[重点]这个目录中存放着在不断扩充着的东西习惯将经常被修改的目录放在这个目录下包括各种日志文件# /selinux[security-enhanced linux]SELinux是一种安全子系统它能控制程序只能访问特定文件总结1linux的目录中有且只有一个根目录/2linux的各个目录存放的内容是规划好不用乱放文件3linux是以文件的形式管理我们的设备因此linux系统一切皆为文件vi和vim编辑器# 三种模式# 1、正常模式打开文件默认就是一般模式# 2、插入/编辑模式按下i,I,o,O,a,A,r,R任何字母进入一般按i即可# 3、命令行模式正常模式下输入:(冒号)或者/(斜杆)进入可以读取、存盘、替换、离开vim、显示行号等# 拷贝当前行按p才粘贴yy# 拷贝当前行向下的5行按p才粘贴5yy# 删除当前行dd# 删除当前行向下5行5dd# 在文件中查找某个单词命令行操作输入n查找下一个shift n查找上一个/关键字# 取消搜索高亮:noh# 设置文件的行号:setnu# 取消文件的行号:setnonu# 跳到文件最末行G# 跳到文件首行gg# 跳到文件第几行5[数字]gg# 撤销输入动作u关机重启命令# 立刻进行关机shutdown-h now 或 halt# 1分钟后关机shutdown-h1# 现在重新启动计算机shutdown-r now 或 reboot# 关机或重启时把内存的数据同步到磁盘sync# 注销用户logout# 切换系统管理员身份su 用户名用户管理# 基本语法默认以用户名为组# 当创建用户成功后会自动创建和用户名同名的家目录位于/home# 也可以通过useradd -d 指定新创建用户的家目录useradd[选项]用户名# 添加用户useradd 用户名# 添加用户指定家目录useradd-d/home/people/xh# 给用户指定或者修改密码passwd 用户名# 删除用户但保留家目录(推荐)userdel 用户名# 删除用户但不保留家目录userdel-r 用户名# 查询用户信息 uid0(root) gid0(root) 组0(root)id 用户名# 切换用户高权限用户切换到低权限用户不需要密码su 用户名 或者 su-用户名# 返回原来的用户exit# 添加用户组groupadd 组名# 删除用户组groupdel 组名# 创建用户指定组useradd-g 组名 用户名# 修改用户的组usermod-g 组名 用户名# 相关配置文件# /etc/passwd用户相关信息用户名:口令:用户id:组id:家目录:shell# /etc/shadow口令的配置文件# /etc/group组的配置文件组名:口令:组id:组内用户列表运行级别指令# 运行级别常用级别3和5配置文件/etc/inittab[init运行级别]# 0关机# 1单用户找回丢失密码# 2多用户无网络服务# 3多用户有网络服务# 4系统未实用保留给用户# 5图形界面# 6系统重启# 切换运行级别init[012356]# 实例找回root密码https://blog.csdn.net/cxhblog/article/details/114191501帮助指令# man [命令或配置文件]功能描述获得帮助信息man ls# help 命令获得shell内置命令的帮助信息help cd文件目录类# 显示当前目录的绝对路径pwd# 显示当前目录的内容信息ls# 显示当前目录的内容信息包括隐藏的ls-a# 显示当前目录的内容信息以列表的方式ls-l# 显示当前目录的内容信息以列表的方式并且显示大小ls-lh# 查看文件所有者ls-ahl# 切换目录cd 目录路径# 创建目录mkdir 目录名# 创建多级目录mkdir-p/home/animal/dog# 删除文件提示rm hello.txt# 删除文件不提示rm-f hello.txt# 删除空目录rmdir/home/animal/dog# 递归删除非空目录会提示rm-r/home/animal# 递归删除非空目录不提示rm-rf/home/animal# 创建空文件touch hello.txt# 一次性创建多个空文件touch hello1.txt hello2.txt# 拷贝文件到指定目录cp hello.txt[要拷贝的文件]/home/hello/[要拷贝到的目录]# 递归复制整个目录cp-r hello[要拷贝的目录]/home/bbb[要拷贝到的目录]# 拷贝并重命名文件cp hello.txt hello1.txt# 强制覆盖要复制的文件目录\cp-r hello/bbb/# 移动文件mv hello.txt bbb/# 移动文件并重命名mv hello.txt hello1.txt# 查看文件内容cat hello.txt# 查看文件内容显示行号cat-n hello.txt# 查看文件内容显示行号分页显示cat-n hello.txt|more# 输出内容到控制台echo hello world# 输出环境变量echo $PATH# 显示文件开头部分内容默认10行head hello.txt# 显示文件开头部分内容前5行head-n5hello.txt# 查看文件后面内容默认后10行tail hello.txt# 查看文件后面内容后5行tail-n5hello.txt# 实时查看文件后面内容tail-f hello.txt# 建立软链接ln-s/root[要链接到的目录]linkToRoot[链接名目录]# 查看历史指令history# 查看历史指令,显示10个history10# 执行历史指令,第10个!10more和less查看文件内容# more相关操作# 空白键space向下翻一页# Enter向下翻一行# q立刻离开不再显示文件内容# CtrlF向下滚动一屏# CtrlB返回上一屏# 显示当前行号# f输出文件名和当前行号# 实践操作more hello.txt# less相关操作比more更加强大效率更高# 空白键space向下翻动一页# pagedown向下翻动一页# pageup向上翻动一页# /文字向下搜索文字# ?文字向上搜索文字# q离开less# 实践操作less hello.txt输出重定向和追加# 输出内容到文件中覆盖写ls-la.txt# 输出内容到文件中追加ls-lab.txt# 文件1的内容覆盖到文件2cat a.txtb.txt# echo的内容输出到文件中echo helloa.txt# 把当前日期写入文件cala.txt时间日期类# 显示当前日期时间date# 显示当前年份date%Y# 显示当前月份date%m# 显示当前日date%d# 显示当前年月日date%Y-%m-%d# 显示当前年月日时分秒date%Y-%m-%d %H:%M:%S# 设置日期date-s2021-02-2814:58:60# 查看当前日历cal# 显示2020年日历cal2020搜索查找类# find指令将从指定目录向下递归的遍历其各个子目录将满足条件的文件或目录显示在终端# 注意点指定开始搜索的范围目录路径必须在表达式之前例当前目录/home不能查找/# 基本语法find [指定开始搜索的范围目录] [选项]# 按文件名查找文件find/-name hello.txt# 按用户名文件拥有者查找文件find/-user nobody# 按文件大小查找文件大于3mfind/-size3M# 按文件大小查找文件小于3mfind/-size-3M# 按文件大小查找文件等于3mfind/-size3M# 按文件大小查找文件大于30kfind/-size30K# 查找以什么为后缀的文件find/-name*.txt# locate快速查找文件# 创建locate数据库updatedb# 查找文件locate hello.txt# grep指令和管道符号 |# grep过滤查找管道符 | 表示将前一个命令的处理结果输出传递给后面的命令处理# 查看文件过滤文件显示存在数字10cat a.txt|grep10# 查看文件过滤文件显示存在数字10显示行号cat a.txt|grep-n10# 查看文件过滤文件显示存在数字hello忽略大小写cat a.txt|grep-i hello# 查看文件过滤文件显示存在数字hello忽略大小写显示行号cat a.txt|grep-ni hello压缩和解压缩# 压缩文件压缩完成文件名作为压缩文件名并且原文件不保留gzip hello.txt[文件名]得到hello.txt.gz# 解压文件gunzip hello.txt.gz# 压缩文件zip hello.zip hello.txt# 递归压缩文件目录zip-r home.zip/home# 解压文件到某个目录unzip-d/home/people/home.zip# 打包hello.txt和a.txt两个文件打包名为hello.tar.gztar-czvf hello.tar.gz hello.txt a.txt# 解包文件到当前目录下tar-zxvf hello.tar.gz# 解包文件到/home/zwj目录下tar-zxvf hello.tar.gz-C zwj/# -c产生.tar打包文件# -v显示详细信息# -f指定压缩后的文件名指定备份文件# -z打包同时压缩处理备份文件# -x解包.tar文件组管理和权限管理# Linux组基本介绍在linux中的每个用户必须属于一个组不能独立于组外。每个文件有所有者所在组其它组的概念# 1所有者文件的创建者谁创建就是谁# 2所在组一般指所有者所在的组文件可以更改所在者# 3其它组除文件的所有者和所在组的用户外系统的其它用户都是文件的其它组# 4改变用户所在的组# 查看文件所有者ls-ahl# 修改文件所有者chown tom hello.txt# 修改文件所在组chgrp police hello.txt# 改变用户所在组usermod-g police[组名]tom[用户名]# 改变用户登录的初始目录usermod-d/home/police[目录名]tom[用户名]# -rw-r--r--. 1 tom police 0 2月 28 22:33 ok.txt# r[4]:读取查看w[2]写x[1]执行进入目录# 第1个[-]文件类型-普通文件d目录l软链接c字符设备[键盘鼠标]b块文件[硬盘]# 第2-4个[rw-]所有者权限# 第5-7个[r--]文件所在者的用户的权限# 第8-10个[r--]文件其它组的用户的权限# 第11个[1]如果是文件表示硬链接的数如果是目录表示该目录下子目录个数# 第12个[tom]文件的所有者用户名# 第13个[police]文件的所在组# 第14个[0]文件的大小文件有内容的话多加1个隐藏字符如果是4096代表目录占据的空间# 第15个[28 22:33]文件最后的修改时间# u所有者,g所有组o其他人a所有人u,g,o的总和# 1chmod urwx,grx,ox 文件目录名# 2chmod ow 文件目录名# 3chmod a-x 文件目录名# 给abc.txt文件所有者读写执行权限给所有组读执行权限给其他者读执行权限chmodurwx,grx,orx abc.txt 或 chmod755abc.txt# 给abc.txt文件的所有者除去执行的权限增加组写的权限chmod u-x,gw abc.txt 或 chmod675abc.txt# 给abc.txt文件的所有用户添加读的权限chmod ar abc.txt# 改变文件的所有者chown cxh[用户名]a[文件目录]# 改变用户的所有者和所有组chowncxh:cxh a# 递归改变文件目录及子文件目录所有者和所有组chown-Rcxh:cxh a定时任务调度# 设置个人任务调度crontab-e# 终止任务调度crontab-r# 列出当前有哪些任务调度crontab-l# 重启任务调度service crond restart# 每分钟执行ls -l /etc/目录追加显示到/tmp/to.txt文件中*/1****ls-l/etc//tmp/to.txt# 第一个*分钟[0-59]# 第二个*小时[0-23]# 第三个*月天[1-31]# 第四个*月[1-12]# 第五个*星期几[0-7]0和7都代表周日# 特殊符号说明# *代表任何时间比如第一个*代表每小时中每分钟都执行一次# ,代表不连续的时间比如“0 8,12,14 * * *“代表在每天的8,12,14点0分都执行一次命令# -代表连续的时间范围,比如“0 5 * * 1-6”代表周一到周六凌晨5点0分执行命令# */n代表每隔多久执行一次不如“*/10 * * * *”代表每隔10分钟执行一次命令# 任务案例# 45 22 * * *每天22点45分执行命令# 0 17 * * 1每周一下午5点0分执行命令# 0 5 1,15 * *每月1号和15号凌晨5点0分执行命令# 40 4 * * 1-5每周一到周五凌晨4点40分执行命令# */10 4 * * *每天凌晨4点每隔10分钟执行一次命令# 0 0 1,15 * 1每周一1号15号凌晨00:00都会执行命令# 每分钟执行/home/mytask.sh脚本文件脚本文件需要给可执行权限才可调用*/1****/home/mytask.sh磁盘分区和挂载# mbr分区# 1最多支持四个主分区# 2系统只能安装在主分区# 3扩展分区要占一个主分区# 4MBR最大支持2TB但拥有最好的兼容性# gtp分区# 1:支持无限多个主分区但操作系统可能限制比如windows下最多128个分区# 2最大支持18EB的大容量1EB1024PB1PB1024TB# 3windows7 64位以后支持gtp# Linux分区# 1无论有几个分区分给哪一个目录使用它归根结底就只有一个根目录一个独立且唯一的文件结构# Linux中每个分区都是用来组成整个文件系统的一部分# 2Linux采用了一种叫“载入”的处理方法它的整个系统中包含了一整套的文件和目录且将一个分区和一个目录联系起来这时要载入的一个分区将使它的存储空间在一个目录下获得# 硬盘# Linux硬盘分IDE硬盘和SCSI硬盘目前基本是SCSI硬盘# 查看系统的分区和挂载情况有分区大小lsblk译读老师不离开# 查看系统的分区和挂载情况详细信息lsblk-f# 虚拟机添加一块硬盘查看下面链接文章https://blog.csdn.net/cxhblog/article/details/114277421磁盘情况查询# 查询系统整体磁盘使用情况df-lh# 查询指定目录的磁盘占用情况du-ach--max-depth1/opt# -s指定目录占用大小汇总# -h带计量单位# -a含文件# --max-depth1子目录深度# -c列出明细的同时增加汇总值# 磁盘情况-工作实用指令# 统计/home文件夹下文件的个数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# 以树状显示目录结构需要安装treeyum install treetree网络配置# 测试主机之间网络连通ping www.baidu.com# 配置固定ip# 编辑配置文件修改如下图vim/etc/sysconfig/network-scripts/ifcfg-ens33# 重启网络服务网络依然自动连接说明配置正确service newtwork restart进程管理# 基本介绍# 1、在Linux中每个执行的程序代码都称为一个进程每一个进程都分配一个ID号# 2、每一个进程都会对应一个父进程而这个父进程可以复制多个子进程# 3、进程分两种方式前台和后台。# 4、一般系统的服务都是以后台进程的方式存在而且都会常驻在系统中直到关机才结束。# 显示当前终端的所有进程信息ps-a# 以用户的格式显示进程信息ps-u# 显示后台进程运行的参数ps-x# 结合使用ps-aux 或者 ps-ef# 显示进程信息过滤进程ps-aux|grep sshd# 获取某服务程序的所有进程号pgrep httpd# System V展示风格# USER用户名称# PID进程号# %CPU进程占用CPU的百分比# %MEM进程占用物理内存的百分比# VSZ进程占用的虚拟内存大小单位KB# RSS进程占用的物理内存大小单位KB# TTY终端名称# STAT进程状态s-睡眠r-运行D-短期等待Z-僵尸进程T-被跟踪或者被停止# STARTED进程的启动时间# TIMECPU占用总时间# COMMAND启动进程所用的命令和参数过长会被截断显示# 查看进程的父进程ps-ef# 查看sshd进程的父进程ps-ef|grep sshd# 杀死进程根据进程idkill4010# 强制杀死进程根据进程idkill-94010# 杀死进程通过进程名称killall gedit# 以树状查看进程pidpstree-p# 以树状查看进程的用户idpstree-u服务管理# 查看端口监听情况netstat-lnpt# lsof 列出当前系统打开文件常与-i选项使用用于查看某个端口被哪个程序占用lsof-i:80# 开启服务systemctl start 服务名称.service# 查看服务状态信息systemctl status rabbitmq-server[服务名称]# 查看已开放的端口(默认不开放任何端口)firewall-cmd--list-ports 或 firewall-cmd--list-all# 开放端口firewall-cmd--zonepublic(作用域)--add-port80/tcp(端口和访问类型)--permanent(永久生效)# 删除开放端口firewall-cmd--zonepublic--remove-port80/tcp--permanent# 检查防火墙状态systemctl status firewalld# 查看防火墙状态firewall-cmd--state# 开启防火墙systemctl start firewalld.service# 重启防火墙firewall-cmd--reload 或 systemctl reload firewalld.service# 关闭防火墙systemctl stop firewalld.service# 禁止防火墙开机启动systemctl disable firewalld.service# 测试端口是否开放成功cmd命令下需要安装telnet命令telnet192.168.178.222# 查看开机自启服务setup 或者 ls-l/etc/init.d/# 查看各个运行级别下服务的自启动状态chkconfig--list# 查看各个运行级别下,指定服务的自启动状态chkconfig network--list# 修改某个运行级别下服务的自启动状态chkconfig--level5networkon/off# 修改所有运行级别下服务的自启动状态chkconfig networkon/off进程监控# 动态监控进程# -d指定top命令每隔几秒更新默认是3秒在top命令的交互模式当中可以执行的命令# -i使top不显示任何闲置或僵死进程# -p指定进程ID监控进程的姿态# 交互操作说明# P以CPU使用率排序默认# M以内存的使用率排序# N以PID排序# q退出top# 查看监控进程按CPU使用率排序top 输入P# 监视特定用户top 命令下输入u再输入用户名# 终止指定进程top 输入k输入进程ID# 指定系统更新时间10秒top-d10# 监控网络状态# -an按一定顺序排列输出# -p显示哪个进程在调用# 查看系统所有的网络服务netstat-anp|morerpm和yum# RPMRedHat Package ManagerReaHat软件包管理工具# 查询所有安装的rpm包rpm-qa# 查询指定名称安装的rpm包rpm-qa|grep firefox# 查询软件是否安装rpm-q firefox# 查询安装软件包信息rpm-qi firefox# 查询安装软件包的文件在哪里rpm-ql firefox# 查询文件所属的软件包rpm-qf/etc/passwd# 删除安装的软件包rpm-e firefox# 强制删除安装的软件包尽量不用rpm-e--nodeps firefox# 安装rpm包需要按下面步骤找安装包rpm-ivh firefox# iinstall 安装# vverbose 提示# hhash 进度条# 虚拟机 - 设置 - CD/DVD - 浏览 - CentOS-7-x86_64-DVD-2003.iso - cd /media/Centos../ - cp 包 /opt/# yum是一个Shell前端软件包管理器基于RPM包管理能够从指定的服务器自动下载RPM包并且安装可以自动处理依赖性并且一次安装所有依赖的软件包需要联网# 查看yum服务器是否有需要安装的软件yum list|grep firefox# 安装yum包yum install firefox# 卸载yum包yum uninstall firefox