8199a2b9f9ed66d4ce8ca91d90d46ba2.jpeg

系统基础相关

  • 使用root用户的环境变量切换到root用户 su -

  • 显示当前工作路径 pwd

  • 显示当前系统默认语言及键盘布局 localectl

  • 显示系统中能支持的所有语言 localectl list-locales

  • 配置系统默认语言为中文 localectl set-locale.gb2312

  • 重启机器 reboot

  • 关机 poweroff

  • 退出当前的shell  logout/exit


命令帮助

  • command --help

  • man command

  • info command

  • 列出命令的简短使用信息(当使用whatis报错时,需要运行mandb命令生成索引文件)  whatis command


日常使用命令

  • 显示或者更改日期 date

  • 显示日历 cal

  • 统计文本行数或字符数以及其他相关信息 wc

  • 找出命令的绝对路径 which

  • 列出最近使用过的number条命令(rehl下默认保存1000条) history number

  • 默认显示文本前10行内容,如需要显示更多行可以加减number实现 head [+- number]

  • 默认显示文本后10行内容, 如需显示更多可以加减number tail [+- number]

  • 自上而下显示文本内容 cat

  • 自下而上显示文本内容 tac

  • 切换工作路径 cd

  • 显示目录内容 ls

  • 复制文件或目录,复制目录时,加上-r选项表示递归复制 cp

  • 重命名/移动文件或者目录 mv

  • 删除文件或目录,删除目录时,加上-r选项表示递归,加上-f选项表示强制删除并且不提醒 rm

  • 创建目录,递归创建加上-p选项  mkdir

  • 创建空文件,或者更新时间戳 touch

  • 列出目录树 tree

  • 文件校验 sha1sum sha224sum sha256sum sha384sum sha512sum

  • 校验文件md5的值 md5sum

  • 逐屏浏览文本内容 less

  • 显示各种网络相关信息,如网络连接,端口,接口状态 (Interface Statistics) netstat -ntpl


用户, 组以及权限相关

  • 打印用户身份信息 id

  • 更改user用户的密码 passwd user

  • 添加用户 useradd

  • 更改已添加用户的相关信息(uid, gid以及groups) usermod

  • 删除用户 userdel

  • 添加组 groupadd

  • 删除组 groupdel

  • 更改用户权限和组以及id等 change

  • 同时更改file文件的所属用户及属组为 chown student.student file

    更改文件的所属组 chgrp

  • 更改文件权限 chmod

  • 掩码方式更改 umask


网络配置相关

  • 杂七杂八

网络配置相关的文件存放在
/etc/sysconfig/network-scripts/ifcfg-*
/etc/hosts        #静态IP到名称解析文件
/etc/hostname    #主机名称配置文件
接口命名规则
ethx    #以太网接口
wlanx    #无线网卡接口
pppxx    #PPPOE拨号接口
  • VI编辑配置文件来配置网络

配置静态IPv4地址(vi纯手工编辑配置文件)
cat /etc/sysconfig/network-scripts/ifcfg-
DEVICE=        #此处填写物理网卡名称
BOOTPROTO=none        #地址分配类型{dhcp|none|static}
IPADDR=1.2.3.4        #IPv4地址
PREFIX=24        #Netmask
GATEWAY=1.2.3.254    #GW
DNS1=1.2.3.254
DNS2=1.2.3.253
ONBOOT=yes        #配置此接口是否在开机时启用
#systemctl restart network
配置动态IPv4地址(vi纯手工编辑配置文件)
cat /etc/sysconfig/network-scripts/ifcfg-
DEVICE=        #此处填写物理网卡名称
BOOTPROTO=dhcp        #地址分配类型{dhcp|none|static}
ONBOOT=yes        #配置此接口是否在开机时启用
#systemctl restart network
配置DNS客户端
#cat /etc/resolv.conf
search    redhat.com    #搜索域
nameserver    1.2.3.4
nameserver    4.3.2.1
配置静态IP到名称的解析列表,当内网中没有DNS服务器时,就可以编辑hosts文件实现IP地址到名称的解析
#cat /etc/hosts
10.1.1.1        server1 server1.example.com
10.1.1.2        server2 server2.example.com
更改主机名称
#cat /etc/hostname
server.example.com

解压缩相关

  • tar

    • c 创建

    • t 列出

    • x 解压

    • f 文件名称

    • C 解压到指定目录

    • z 采用gzip压缩

    • j 采用bzip2压缩

    • J 采用xz进行压缩

  • 打包 tar cvf filename.tar /path

  • 打包并压缩成gzip格式 tar czvf filename.tar.gz /path

  • 解压到指定文件夹 tar xvf filename.tar /path

  • 查看压缩包内容但不解压 tar tvf filename.tar


软件包管理相关

  • yum 常用命令

yum install a b c d    #安装软件包a b c d    (加上-y选项,可以在安装软件包时,不弹出是否继续的提示)
yum remove a b c d    #卸载软件包a b c d
yum groups list    #查看已安装的软件组和可用的软件组
yum groups  install "Infiniband Support"    #安装软件组
yum groups remove "Infiniband Support"    #卸载软件组
yum info a b c    #查看软件包a b c d的相关信息,如大小,版本等...
yum update a b c d    #更新软件包a b c d
yum update    #整体更新所有可更新的软件包
yum provides 文件或目录        #查看文件由哪个rpm包提供的
yum search tree        #从仓库中搜索关键词为tree的包
yum history        #查看yum运行历史记录
  • rpm 常用命令

rpm -qa        #查询本机安装的所有RPM包
rpm -qa --last    #按照时间先后顺序查询本机安装的所有RPM包
rpm -qf 文件或目录    #查看文件由哪个rpm包提供的
rpm -Va 包名称    #校验RPM包完整性,也可不填,不填,则代表校验所有RPM包
rpm -qd 包名称    #查看RPM包附带的文档有哪些
rpm -ql 包名称    #查看RPM包释放了哪些文件在哪个目录下
rpm -qc 包名称    #查看RPM包附带的配置文件有哪些
rpm -e 包名称    #卸载RPM包,多个包以空格隔开
rpm -e 包名称 --nodeps    #不检查RPM包之间的依赖关系,直接卸载RPM包
rpm -ivh 包名称    #安装一个或多个RPM包
rpm -Uvh 包名称    #升级一个或多个RPM包

文件系统相关

  • 设备文件命名规则

Linux下的设备文件命名规则
/dev/sda        #第一块串口硬盘
/dev/hda        #第一块并口硬盘
/dev/vda        #基于KVM下的virtio驱动的第一块虚拟化磁盘
/dev/xvda    #基于Xen虚拟化技术的虚拟磁盘
/dev/cdrom    #CD/DVD设备,该文件通常链接到/dev/sr0,也就是第一个CD/DVD设备,第二个光驱设备,则是/dev/sr1,以此类推
/dev/vgname/lvname    #逻辑卷磁盘
/dev/sda1        #第一块串口硬盘的第一个分区
/dev/hda1    #第一块并口硬盘的第一个分区
备注: 当Linux下的磁盘超过24个时,比如从/dev/sda>/dev/sdz,那么则多余的磁盘会继续以/dev/sdaa,/dev/sdab排列
df    #显示文件系统使用情况
du    #统计文件大小
mount    #挂载分区至某个目录,或者显示挂载情况

文件搜索

  • 搜索前, 先执行updatedb建立索引数据库然后再执行 locate filename

  • find搜索

find / -name ccie    #从/分区遍历所有子目录,然后根据文件名称查找
find / -type d -name ccie    #从/分区遍历所有子目录,然后只查找名为ccie的目录
find / -size 10M        #从/分区遍历所有子目录,然后查找大小为差不多10M的文件
find / -perm 0755    #从/分区遍历所有子目录,然后查找权限为0755的文件
find / -user student    #从/分区遍历所有子目录,然后查找student用户的文件

服务与进程相关

  • rehl7中使用 systemctl 来管理

systemctl -t help    #列出所有的单元类型
systemctl --type "unit"    #查看指定单元类型的状况
systemctl --failed        #查看所有加载失败的单元信息
systemctl status cups.service    #查看cups服务单元状况
systemctl start cups.service    #启动cups服务单元
systemctl stop cups.service    #停止cups服务单元
systemctl restart cups.service    #重启cups服务单元
systemctl enable cups.service    #配置cups服务单元开机自动启动
systemctl disable cups.service    #配置cups服务单元开机不启动
systemctl reload cups.service    #重新加载cups服务单元的配置文件
systemctl is-active cups.service    #查看cups服务单元当前是否运行
systemctl is-enabled cups.service    #查看cups服务单元开机是否自动运行
systemctl mask NetworkManager.service        #彻底屏蔽NM服务单元
systemctl unmask NetworkManager.service    #取消屏蔽NM服务单元

防火墙相关

  • 开启、关闭防火墙、查看、禁用端口等等

systemctl start firewalld    #启动防火墙
systemctl stop firewalld    #禁用防火墙
systemctl enable firewalld        #设置开机启动
sytemctl disable firewalld    #停止并禁用开机启动
systemctl status firewalld    #查看状态
firewall-cmd --version    #查看版本
firewall-cmd --reload   #更新防火墙规则
firewall-cmd --zone=public --list-ports    #查看指定区域所有打开的端口
firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)    #在指定区域打开端口(记得重启防火墙)
说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效