文章目录前言一、Linux基础命令1. Linux目录结构2. Linux命令入门3. 目录切换相关命令cd、pwd4. 相对路径、绝对路径和特殊路径符5. 创建目录命令(mkdir6. 文件操作命令part1(touch、cat、more7. 文件操作命令part2cp、mv、rm8. 查找命令which、find9. grep、wc和管道符10. echo、tail和重定向符11. vi编辑器二、用户和权限1. root用户2. 用户、用户组管理3. 权限控制查看4. 修改权限控制chmod、chown三、Linux实用操作1. 快捷键2. 软件安装3. systemctl4. 软连接5. 日期、时区6. IP地址、主机名7. 网络传输8. 进程管理9. 主机状态10. 环境变量11. 上传、下载12. 压缩、解压前言本文在学习Linux命令视频连接黑马程序员新版Linux零基础快速入门到精通 过程中参照官方PPT记录的一些命令的作用语法等内容进行了一些整理。一、Linux基础命令1. Linux目录结构Linux操作系统的目录结构Linux只有一个顶级目录称之为根目录/Windows系统有多个顶级目录即各个盘符 C、D…/在Linux系统中表示出现在开头的/表示根目录出现在后面的/表示层级关系用于路径分割2. Linux命令入门Linux命令的基础格式Linux命令的通用格式command [-options] [parameter]command 命令本身options[可选非必填]命令的一些选项可以通过选项控制命令的行为细节parameter[可选非必填]命令的参数多数用于命令的指向目标等ls命令的语法和作用当ls不使用参数表示列出当前工作目录的内容即用户的HOME目录ls [-a -l -h] [Linux路径]-a选项表示all的意思即列出全部文件包含隐藏的文件/文件夹-l选项表示以列表竖向排列的形式展示内容并展示更多信息写法中的选项是可以组合使用的比如学习的-a和-l可以组合应用。 写法 ls -l -a ls -la ls -al 上述三种写法都是一样的表示同时应用-l和-a的功能-h表示以易于阅读的形式列出文件大小如K、M、G-h选项必须要搭配 -l 一起使用[Linux路径]参数表示要列出内容的路径不提供即列出当前工作目录内容当前工作目录和HOME目录Linux终端命令行启动后默认价值HOME目录作为当前工作的目录HOME目录指用户在系统内的专属目录隐藏文件\文件夹在Linux系统中以.开头的文件或文件夹会自动隐藏只有通过-a选项才可以展示出来3. 目录切换相关命令cd、pwdcd命令的作用cd命令来自英文ChangeDirectorycd命令可以切换当前工作目录cd [Linux路径]没有选项只有参数直接使用即可 ① 使用参数切换到指定路径 ② 不使用参数切换工作目录到当前用户的HOMEpwd命令的作用pwdpwd命令来自英文PrintWorkDirectorypwd命令没有选项没有参数直接使用即可作用是输出当前所在的工作目录4. 相对路径、绝对路径和特殊路径符相对路径和绝对路径绝对路径:以根目录做起点描述路径的方式路径以/开头相对路径:以当前目录做起点描述路径的方式路径不需以/开头如无特殊需求后续使用中将经常使用相对路径表示特殊路径字符.表示当前路径比如cd .或cd ./Desktop..表示上一级目录比如cd ..或cd ../..~表示用户的HOME目录比如cd ~或cd ~/Desktop5. 创建目录命令(mkdirmkdir命令的语法和功能mkdir用以创建新的目录文件夹语法mkdir [-p] Linux路径参数必填表示要创建的目录的路径相对、绝对、特殊路径符都可以使用-p选项的作用可选表示自动创建不存在的父目录适用于创建连续多层级的目录6. 文件操作命令part1(touch、cat、moretouch命令作用用于创建一个新的文件语法touch Linux路径无选项参数必填表示要创建的文件的路径相对、绝对、特殊路径符都可以使用cat命令作用用于查看文件内容语法cat Linux路径参数必填表示要查看的文件的路径相对、绝对、特殊路径符都可以使用more命令作用用于查看文件内容可翻页查看语法more Linux路径参数必填表示要查看的文件的路径相对、绝对、特殊路径符都可以使用使用空格进行翻页使用q退出查看7. 文件操作命令part2cp、mv、rmcp命令作用用于复制文件\文件夹cp命令来自英文单词CoPy语法cp [-r] 参数1 参数2-r选项可选用于复制文件夹使用表示递归参数1Linux路径表示被复制的文件或文件夹参数2Linux路径表示要复制去的地方mv命令作用用于移动文件\文件夹mv命令来自英文单词MoVe语法mv 参数1 参数2参数1Linux路径表示被移动的文件或文件夹参数2Linux路径表示要移动去的地方如果目标不存在则进行改名确保目标存在rm命令作用用于删除文件、文件夹rm命令来自英文单词ReMove语法rm [-r -f] 参数1 参数2 ... ... 参数N同cp命令一样-r选项用于删除文件夹-f表示force强制删除不会弹出提示确认信息普通用户删除内容不会弹出提示只有root管理员用户删除内容会有提示所以一般普通用户用不到-f选项参数1、参数2、…、参数N 表示要删除的文件或文件夹路径按照空格隔开rm命令支持通配符*用来做模糊匹配8. 查找命令which、findwhich命令查找命令的程序文件返回命令所在的路径语法which 要查找的命令无需选项只需要参数表示查找哪个命令find命令用于查找指定的文件按文件名查找find 起始路径 -name 被查找的文件名支持通配符按文件大小查找find 起始路径 -size |-n[kMG]、- 表示大于和小于 n表示大小数字 kMG表示大小单位k(小写字母)表示kbM表示MBG表示GB9. grep、wc和管道符grep命令作用从文件中通过关键字过滤文件行语法grep [-n] 关键字 文件路径选项-n可选表示在结果中显示匹配的行的行号。参数关键字必填表示过滤的关键字建议使用” ”将关键字包围起来参数文件路径必填表示要过滤内容的文件路径可作为管道符的输入wc命令作用用于统计文件的行数、单词数量、字节数、字符数等语法wc [-c -m -l -w] 文件路径选项-c统计bytes数量选项-m统计字符数量选项-l统计行数选项-w统计单词数量参数文件路径被统计的文件可作为内容输入端口管道符 |作用将管道符左边命令的结果作为右边命令的输入语法命令 | 命令结果10. echo、tail和重定向符echo命令作用可以使用echo命令在命令行内输出指定内容语法echo 输出的内容无需选项只有一个参数表示要输出的内容复杂内容可以用””包围反引号符被包围的内容会被作为命令执行而非普通字符重定向符将左侧命令的结果覆盖写入到符号右侧指定的文件中将左侧命令的结果追加写入到符号右侧指定的文件中tail命令作用查看文件尾部内容并可以持续跟踪语法tail [-f -num] Linux路径-f持续跟踪-num启动的时候查看尾部多少行默认10Linux路径表示被查看的文件11. vi编辑器什么是vi/vim编辑器vi\vim编辑器就是命令行模式下的文本编辑器用来编辑文件vim是vi的升级版一般用vim即可包含全部vi功能基础命令vi 文件路径vim 文件路径运行模式命令模式默认的模式可以通过键盘快捷键控制文件内容输入模式通过命令模式进入可以输入内容进行编辑按esc退回命令模式底线命令模式通过命令模式进入可以对文件进行保存、关闭等操作快捷键模式命令描述命令模式i在当前光标位置进入输入模式命令模式a在当前光标位置 之后 进入输入模式命令模式I在当前行的开头进入输入模式命令模式A在当前行的末尾进入输入模式命令模式o在当前光标的下一行进入输入模式命令模式0在当前光标的上一行进入输入模式输入模式esc任何情况下输入esc都能回到命令模式模式命令描述命令模式键盘上、键盘k向上移动光标命令模式键盘下、键盘j向下移动光标命令模式键盘左、键盘h向左移动光标命令模式键盘右、键盘l向后移动光标命令模式0移动光标到当前行的开头移动光标到当前行的结尾向上翻页命令模式$移动光标到当前行的结尾输入模式pageup(PgUp)向上翻页命令模式panddown(PgDn)向下翻页命令模式/进入搜索模式命令模式n向下继续搜索命令模式N向上继续搜索命令模式dd删除光标所在行的内容命令模式nddn是数字表示删除当前光标向下n行输入模式yy复制当前行命令模式nyyn是数字复制当前行和下面的n行命令模式p粘贴复制的内容命令模式u撤销修改命令模式ctrl r反向撤销修改命令模式gg跳到首行命令模式G跳到行尾输入模式dG从当前行开始向下全部删除命令模式dgg从当前行开始向上全部删除命令模式d$从当前光标开始删除到本行的结尾命令模式d0从当前光标开始删除到本行的开头模式命令描述底线命令模式:wq保存并退出底线命令模式:q仅退出底线命令模式:q!强制退出底线命令模式:w仅保存底线命令模式:set nu显示行号底线命令模式:set paste设置粘贴模式二、用户和权限1. root用户Linux系统的超级管理员用户是root用户su命令作用用于账户切换的系统命令其来源英文单词SwitchUser语法su [-] [用户名]-符号是可选的表示是否在切换用户后加载环境变量建议带上参数用户名表示要切换的用户用户名也可以省略省略表示切换到root切换用户后可以通过exit命令退回上一个用户也可以使用快捷键ctrl d使用普通用户切换到其它用户需要输入密码如切换到root用户使用root用户切换到其它用户无需密码可以直接切换sudo命令作用可以让一条普通命令带有root权限语法sudo 其它命令需要以root用户执行visudo命令增加配置方可让普通用户有sudo命令的执行权限2. 用户、用户组管理Linux用户管理模式Linux可以支持多用户、多用户组、用户加入多个组Linux权限管控的单元是用户级别和用户组级别用户、用户组相关管理命令需要root用户执行创建用户组语法groupadd 用户组名删除用户组语法groupdel 用户组名创建用户语法useradd [-g -d] 用户名选项-g指定用户的组不指定-g会创建同名组并自动加入指定-g需要组已经存在如已存在同名组必须使用-g选项-d指定用户HOME路径不指定HOME目录默认在/home/用户名删除用户语法userdel [-r] 用户名选项-r删除用户的HOME目录不使用-r删除用户时HOME目录保留查看用户所属组语法id [用户名]参数用户名被查看的用户如果不提供则查看自身修改用户所属组语法usermod -aG 用户组 用户名将指定用户加入指定用户组getentgetent passwd查看系统全部用户信息getent group查看系统全部组信息3. 权限控制查看rwxr表示读权限w表示写权限x表示执行权限差别r针对文件可以查看文件内容针对文件夹可以查看文件夹内容如ls命令w针对文件表示可以修改此文件针对文件夹可以在文件夹内创建、删除、改名等操作x针对文件表示可以将文件作为程序执行针对文件夹表示可以更改工作目录到此文件夹即cd进入4. 修改权限控制chmod、chownchmod命令功能修改文件、文件夹的权限细节限制只能是文件、文件夹的所属用户或root有权修改语法chmod [-R] 权限 文件或文件夹选项-R对文件夹内的全部内容应用同样规则权限的数字序号r代表4w代表2x代表1rwx的相互组合可以得到从0到7的8种权限组合如7代表rwx5代表r-x1代表–xchown命令功能修改文件、文件夹的所属用户、组限制只可root执行语法chown [-R] [用户][:][用户组] 文件或文件夹选项-R同chmod对文件夹内全部内容应用相同规则选项用户修改所属用户选项用户组修改所属用户组:用于分隔用户和用户组三、Linux实用操作1. 快捷键ctrl c强制停止ctrl d退出登出history查看历史命令!命令前缀自动匹配上一个命令ctrl r搜索历史命令ctrl a | e光标移动到命令开始或结束ctrl ← | →左右跳单词ctrl l或clear命令 清屏2. 软件安装在CentOS系统中使用yum命令联网管理软件安装yum语法yum [-y] [install |remove | search] 软件名称选项-y自动确认无需手动确认安装或卸载过程install安装remove卸载search搜索yum命令需要root权限哦可以su切换到root或使用sudo提权。yum命令需要联网在Ubuntu系统中使用apt命令联网管理软件安装apt语法apt [-y] [install |remove | search] 软件名称3. systemctlsystemctl命令的作用可以控制软件服务的启动、关闭、开机自启动系统内置服务均可被systemctl控制第三方软件如果自动注册了可以被systemctl控制第三方软件如果没有自动注册可以手动注册语法systemctl start | stop | status | enable | disable 服务名start启动stop关闭status查看状态enable开启开机自启disable关闭开机自启4. 软连接软连接作用可以将文件、文件夹链接到其它位置链接只是一个指向并不是物理移动类似Windows系统的快捷方式语法ln [-s] 参数1 参数2-s选项创建软连接参数1被链接的文件或文件夹参数2要链接去的目的地5. 日期、时区date命令的作用和用法date命令可以查看日期时间并可以格式化显示形式以及做日期计算语法data [-d] [格式化字符串]-d按照给定的字符串显示日期一般用于日期计算格式化字符串通过特定的字符串标记来控制显示的日期格式%Y年%y年份后两位数字 (00…99)%m月份 (01…12)%d日 (01…31)%H小时 (00…23)%M分钟 (00…59)%S秒 (00…60)%s自 1970-01-01 00:00:00 UTC 到现在的秒数使用date命令本体无选项直接查看时间修改Linux时区使用root权限执行如下命令修改时区为东八区时区。将系统自带的localtime文件删除并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可rm -f /etc/localtimesudo ln -s /user/share/zoneinfo/Asia/Shanghai/ /etc/localtimentp的作用可以自动联网同步时间也可以通过ntpdate -u ntp.aliyun.com手动校准时间需root权限6. IP地址、主机名IP地址IP地址是联网计算机的网络地址用于在网络中进行定位格式是a.b.c.d其中abcd是0~255的数字特殊IP有127.0.0.1本地回环IP表示本机。0.0.0.0也可表示本机也可以在一些白名单中表示任意IP主机名主机名就是主机的名称用于标识一个计算机域名解析主机名映射可以通过主机名找到对应计算机的IP地址这就是主机名映射域名解析先通过系统本地的记录去查找如果找不到就联网去公开DNS服务器去查找7. 网络传输使用ping命令可以测试到某服务器是否可联通语法ping [-c num] ip或主机名选项-c检查的次数不使用-c选项将无限次数持续检查参数ip或主机名被检查的服务器的ip地址或主机名地址使用wget命令可以进行网络文件下载语法wget [-b] url选项-b可选后台下载会将日志写入到当前工作目录的wget-log文件参数url下载链接通过tail命令可以监控后台下载进度tail -f wget-log无论下载是否完成都会生成要下载的文件如果下载未完成请及时清理未完成的不可用文件。curl命令可以发送http网络请求可用于下载文件、获取信息等语法curl [-O] url选项-O用于下载文件当url是下载链接时可以使用此选项保存文件参数url要发起请求的网络地址端口端口是指计算机和外部交互的出入口可以分为物理端口和虚拟端口物理端口USB、HDMI、DP、VGA、RJ45等虚拟端口操作系统和外部交互的出入口IP只能确定计算机通过端口才能锁定要交互的程序端口的划分公认端口1~1023用于系统内置或常用知名软件绑定使用注册端口1024~49151用于松散绑定使用用户自定义动态端口49152~65535用于临时使用多用于出口查看端口占用nmap IP地址查看指定IP的对外暴露端口netstat -anp | grep 端口号查看本机指定端口号的占用情况8. 进程管理进程进程是指程序在操作系统内运行后被注册为系统内的一个进程并拥有独立的进程ID进程号管理进程的命令ps命令查看Linux系统中的进程信息语法ps [-e -f]选项-e显示出全部的进程选项-f以完全格式化的形式展示信息展示全部信息ps -ef列出全部进程的全部信息ps -ef | grep 关键字过滤指定关键字进程信息kill [-9] 进程号关闭指定进程号的进程选项-9表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭但是否关闭看进程自身的处理机制。9. 主机状态top命令查看CPU、内存、进程的信息类似Windows任务管理器默认每5秒刷新一次语法直接输入top即可按q或ctrl c退出top命令也支持选项-p只显示某个进程的信息-d设置刷新时间默认是5s-c显示产生进程的完整命令默认是进程名-n指定刷新次数比如top -n 3刷新输出3次后退出-b以非交互非全屏模式运行以批次的方式执行top一般配合-n指定输出几次统计信息将输出重定向到指定文件比如top -b -n 3 /tmp/top.tmp-i-i不显示任何闲置(idle)或无用(zombie)的进程-u查找特定用户启动的进程df命令作用使用df命令可以查看硬盘的使用情况语法df [-h]选项-h以更加人性化的单位显示iostat作用查看磁盘速率等信息语法iostat [-x] [num1] [num2]选项-x显示更多信息num1数字刷新间隔num2数字刷新几次sar -n DEV命令作用查看网络的相关统计语法sar -n DEV num1 num2选项-n查看网络DEV表示查看网络接口num1刷新间隔不填就查看一次结束num2查看次数不填无限次数10. 环境变量环境变量环境变量是一组信息记录类型是KeyValue型名称值用于操作系统运行的时候记录关键信息通过env命令可以查看当前系统配置的环境变量信息通过$符号可以取出环境变量的值PATH环境变量PATH会记录一组目录目录之间用:隔开。这里记录的是命令的搜索路径当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。可以通过修改这个项目的值加入自定义的命令搜索路径如export PATH$PATH:自定义路径如何修改环境变量临时生效export 名称值永久生效针对用户~/.bashrc文件中配置针对全部用户/etc/profile文件中配置配置完成可以通过source命令立刻生效11. 上传、下载rz、sz命令通过yum -y install lrzsz可以安装此命令rz进行文件上传语法直接输入rz即可sz文件进行文件下载语法sz 要下载的文件。文件会自动下载到桌面的fsdownload文件夹中注意rz、sz命令需要终端软件支持才可正常运行12. 压缩、解压Linux系统常用的压缩格式有tar格式文件后缀为.tar称之为tarball归档文件即简单的将文件组装到一个.tar的文件内并没有太多文件体积的减少仅仅是简单的封装gzip格式文件后缀为.gz也常见为.tar.gzgzip格式压缩文件即使用gzip压缩算法将文件压缩到一个文件内可以极大的减少压缩后的体积tar命令作用进行压缩和解压缩的操作语法tar [-z -x -v -c -f -C] 参数1 ... 参数N-c创建压缩文件用于压缩模式-v显示压缩、解压过程用于查看进度-x解压模式-f要创建的文件或要解压的文件-f选项必须在所有选项中位置处于最后一个-zgzip模式不使用-z就是普通的tarball格式-C选择解压的目的地用于解压模式选项可组合使用但需要注意-z选项如果使用的话一般处于选项位第一个-f选项必须在选项位最后一个-C选项单独使用和解压所需的其它参数分开zip命令作用压缩文件为zip压缩包语法zip [-r] 参数1 ... 参数N-r被压缩的包含文件夹的时候需要使用-r选项和rm、cp等命令的-r效果一致unzip命令作用使用unzip命令可以方便的解压zip压缩包语法unzip [-d] 参数-d指定要解压去的位置同tar的-C选项参数被解压的zip压缩包文件