Linux基础命令

Linux的简介

Linux分类

Linux根据市场需求不同,基本分为两个方向:

  1. 图形化界面版(类似于windows图形用户界面)

  2. 服务器版(没有界面类似于dos界面)

Linux根据原生程度,又分为两种:

  1. 内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号

  2. 发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本

虚拟机

我们常用的虚拟机有两种

  1. VMware 虚拟机软件,威睿公司的虚拟软件,收费产品

  2. VitrualBox,虚拟机软件 ,Oracle公司的虚拟机软件,

CentOS

目录结构

  • bin目录存放命令或可执行文件

  • boot启动相关的配置

  • dev设备和硬件相关文件,如 cpu . disk 等硬件配置等

  • etc系统和软件的相关配置文件,如我们马上会设置的网络 配置在 etc/sysconfig/network-script/ifcfg-eth0 和修改主机名配置文件在 etc/sysconfig/network 等

  • home 文件夹下放的是普通用户的文件夹,超级管理员目录不在 home 下

  • lib 文件夹放的是动态链接库,因为linux是开源的,所以 linux会将公用的库放在lib下,类似于java工程依赖的jar包, 如果装软件的时候,出现了a依赖b,b又依赖c这种情况,可 以使用linux中的yum,类似于java中的maven

  • media 文件夹,一些外置的光驱和u盘都会挂载到media文件夹中

  • usr 文件夹,约定俗称的存放共享软件的目录

  • sbin 文件夹下放的系统管理的配置

  • tmp 文件夹存放的是临时数据

  • mnt 文件夹用于挂载外部资源

命令

常用命令

  • pwd查看当前所在目录

  • date查看当前系统时间

  • who查看当前谁在线

  • last查看最近登录历史

目录相关

  • cd change directory的缩写,表示切换目录

    • 切换到该目录下usr目录 cd usr

    • 切换到上一级命令 cd..

    • 切换到系统根目录 cd /

    • 切换到用户主目录 cd ~

    • 切换到上一个所在目录 cd -

  • ls 列出当前所在目录的所有文件和文件夹

    • ls -a 可以看到该目录下的所有文件和目录,包括隐藏的

    • ls -l 可以看到该目录下的所有目录和文件的详细信息,可以简写为 ll

  • mkdir创建目录

    • 递归创建目录 mkdir -p

  • find寻找目录的名称

    • 语法:find / -name '文件名'

  • mv剪切文件或目录

    • mv 目录名称 目录新地址 : 剪切文件夹

    • mv 旧目录名称 新目录名称 :修改目录的名称

  • cp拷贝目录

    • -r 是 recursive 简写表示递归操作,会附带子文件夹及其内部的文件

  • rmdir删除目录

    • 删除空目录 rmdir /aaa

    • 删除目录使用 rm [-rf] 目录名称 ,

      • r 表示递归删除,

      • f 是 force 的简写,删除的时候不会让你确认直接进行删除

文件相关

  1. 创建文件

    • touch创建文件

    • vi以编辑的形式创建文件,vi相当于windows系统的txt工具

    • vim以编辑的形式创建文件,vi相当于windows系统的notepad++工具

  2. 查看文件内容

    • cat 命令只会看到文件的最后一屏,可以滚轴滚动上去

    • more 命令可以显示百分比,

      • 回车 可以向下一行

      • 空格 可以向下一页

      • b 向前翻一页,

      • q 可以退出查看

    • less 命令查看

      • PgUp 和 PgDn 向上和向下翻一行

      • 空格 可以向下一页

      • b 向前翻一 页

      • q 结束查看

    • hend / tail

      • head -x 文件名 / tail -x 文件名

        • 查看文件前x行或后x行

      • tail -F xxx.log 通过文件名称实时查看

  3. 编辑文本内容

    1. vi编辑器

      1. 三种模式:一般模式、命令模式、编辑模式

    2. 一般模式

      • i 表示当前位置插入

      • a 表示当前位置后插入

      • o 另起一行在下一行位置插入

      • A 在当前行的末尾插入

      • I 在当前行的行首插入

      • gg 跳到文件的最前端

      • GG 跳到文件的末行的行首

      • dd 删除光标后的一行, 5dd 删除光标后的5行

      • yy 复制当前行, 5yy 复制5行

      • p 粘贴

      • u 撤销上一个编辑操作

      • ctrl + r 恢复,即回退前一个命令

      • v 进入 字符选择模式 .选择完成后按 y 复制,按 p 粘贴

      • ctrl+v 进入 块选择模式 ,选择完成后按 y 复制,按 p 粘贴

      • shift+v 进入 行选择模式 ,选择完成后按 y 复制,按 p 粘贴

      • shift+zz 相当于 :wq

    3. 命令模式

      • %s/aaa/123 查找文件中所有的 aaa 替换成 123

      • /good 查找文件中所有的 good ,并定位到第一个匹配的地方,按 n 进入下一个符合的内容,按 N 定位到上一个

      • 可以在此模式下输入正常的 linux 命令,按tab键会有提示,如 cd 命令,一般可在此获取文件的路径

      • :set nu 显示行号

    4. echo "day day up" > file.2 , > 表示覆盖源文件内容

    5. echo "good good study" >> file.2 ,追加如果多次,后面不会覆盖文件

  4. 压缩文件

    1. Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的.而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

    2. 压缩命令 gzip 文件名 ,生成的压缩文件后缀名是 .gz

    3. 打包命令 tar -cvf aaa.tar 文件名 ,一般使用的后缀名是 .tar

    4. 命令 tar -zcvf 打包压缩后的文件名 要打包压缩的文件 ,文 件的后缀名一般为 .tar.gz ,相当于先打包,在压缩

      • z:调用gzip压缩命令进行压缩

      • c:打包文件

      • v:显示运行过程f:指定文件名

      • 例如我们可以添加命令 tar -zcvf all.tar.gz a.txt b.txt c.txt

      • 或者使用 tar -zcvf all.tar.gz /test* 会将 /test 包下的所有内容进 行打包

      • 两者的区别在于前者解压后直接就是三个文 件,后者解压后会生成一个test文件夹,其中放了3个文 件

  5. 解压压缩包

    1. 解压gz文件的命令是 gzip -d xxxx.gz

    2. 解包的命令是 tar -xvf xxx.tar

    3. 命令:tar [­zxvf] 压缩文件,相当于先解包,再解压

      • x:代表解压

      • 我们输入 tar -zxvf all.tar.gz 会将压缩解压到当前目录

      • 输入命令 tar -zxvf all.tar.gz -C 目录名称 将压缩文件解压到指定目录

网络命令

  • 查看当前的网络信息命令 ifconfig

  • 使用 ping 命令 ,使用 ctrl+c 结束ping命令

  • 使用 netstat -apn 查看端口

防火墙设置

  • CentOS6.x 关闭防火墙: service iptables stop

  • CentOS7.x 关闭防火墙 systemctl stop firewalld

  • CentOS6.x 永久关闭防火墙(开机不自启): chkconfig iptables off

  • CentOS7.x 永久关闭防火墙(开机不自启): systemctl disable firewalld

  • CentOS6.x 查看防火墙当前状态: service iptables status

  • CentOS7.x 查看防火墙当前状态: systemctl status firewalld

权限命令

  • 通过ll打印第一列的内容表示用户的权限

  • image-20200904115341047

  • 第1位表示文件类型

    • d :代表目录

    • - :代表文件

    • l :代表链接(可以认为是window中的快捷方式)

  • 修改权限的命令是 chmod

    • 分别设置 chmod u=rw,g=rw,o=rw a.txt

    • 减少权限 chmod g-rw a.txt

    • 增加权限 chmod u+x a.txt

    • 使用数字表示 chmod 666 a.txt

    • 如果对于文件夹修改,还想修改其子文件夹的权限可使用 chmod 666 -R 目录

用户管理

  • 切换用户命令使用 su

  • 添加用户 useradd 用户名

  • 设置用户密码 passwd 用户名

  • 使用当前用户临时获取超级用户的身份 sudo useradd 用户名

系统管理

  • hostname 查看主机名

  • hostname ppp 修改主机名为 ppp ,然后使用 exit 进行重登录,此时的修改只针对当前会话,重启后依然是无效的

  • vi /etc/sysconfig/network 从文件修改主机名

  • ifconfg eth0 192.168.88.11 会话中临时修改ip地址

  • vi /etc/sysconfig/network-scripts/ifconfig-eth0 通过配置文件修改ip

  • uname -a 查看系统信息

  • uname -r 查看系统内核版本

后台服务管理

  • service --status-all 查看系统中所有的后台服务

  • service 服务名 status 查看对应服务的状态

  • service 服务名 stop 停止指定服务

  • service 服务名 start 启动指定服务

  • service 服务名 restart 重启指定服务

  • chkconfig 查看自动启动的配置

  • chkconfig 服务名 off 关闭服务的自动启动

  • chkconfig 服务名 on 开启服务的自动启动

其他命令

  • 挂载外置资源

  • 统计文件或文件夹的大小

    • du -sh * 可以查看当前目录下所有的文件夹的大小

  • df -h 查看磁盘空间

  • reboot 重启

  • grep 字符 文件路径 --color 搜索命令,可用于搜索文件中含有的内容

    • --color 表示搜索的内容以高亮进行显示

  • 查看进程 ps -ef

    • -e 表示查看所有进程

    • -f 表示全格式

  • 管道命令 | 将前一个命令的输出作为本次目录的输入格式为 命令1|grep 关键字 --color

    • 例如我们我们要查看系统中所有的进程中包含su的进程 ps -ef | grep su --color

  • 杀死进程的命令为 kill -9 pid名称

    • -9 表示立即杀死进程. 该信号不能被阻塞, 处理和忽略。

原文地址:https://www.cnblogs.com/---------zjh---------/p/13615767.html