Skip to content

Linux

一、Linux概要

操作系统:管理计算机软硬件的程序

Linux特点

  1. 基本思想:一切都是文件、每个软件都有确定的用途
  2. 支持多平台
  3. 开源免费

二、用户操作

1、基础操作

账号管理需要root权限

登陆用户:su 用户名

推出登陆:Ctrl + D

上下键能出现之前的命令

2、账号管理

  1. 创建用户:useradd (选项) 用户名
  2. 设置密码:passed (选项) 用户名
    1. 密码不显示
    2. 密码要求
      1. 数字/字母
      2. 大于8位
      3. 不能设置回文
  3. 修改用户:usermod ...
    1. 修改用户名:usermod -l rex wmh
  4. 删除用户:userdel (选项) 用户名
    1. 强制删除:userdel -r -f 用户名

3、显示用户信息

  1. 显示登录账号的信息
  2. 语法:logname [--help][--version]
  3. 选项:
    1. --help:帮助
    2. --version:版本信息

4、切换用户

  1. 语法:su 用户名
  2. 选项:su -c 命令 用户名:用此账户执行条命令

5、用户组

  1. 创建用户组:groupadd [选项] 用户组名
  2. 修改用户组:groupmod [选项] 用户组名
  3. 查询用户所属组:groups 用户组名
  4. 删除用户组:groupdel 用户组名

6、用户管理

  1. 语法:gpasswd(选项)组名
  2. 选项
    1. -a:添加用户到组
    2. -d:从组删除用户
    3. -A:指定管理员
    4. -M:指定组成员和-A的用途差不多
    5. -r:删除密码
    6. -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
  3. 查看组内成员: grep 'kafazu' /etc/group

三、系统管理

1、日期管理

  1. 查询日期:date [参数]
  2. 选项
    1. -d<字符串>:显示字符串所指的日期与时间,字符串加双引号
      1. 字符串格式:"yyyy-mm-dd hh:mm:ss"
    2. -s<字符串>:根据字符串来设置日期与时间,字符串加双引号
      1. 需要root权限
    3. -u:显示GMT
      1. CST:北京时间
    4. --help:帮助
    5. --version :显示版本信息

2、id命令

查询登录账户的信息:id

3、sudo命令

提高普通账号的权限:sudo 命令

4、top命令

  1. 实时显示process动态:top [参数]
    1. PID:每个进程的id
    2. USER:进程所属的用户
    3. PR/NI:优先级
    4. VIRT:虚拟内存量
    5. S:运行状态
      1. R:run
      2. S:sleep
  2. 结束监控快捷键:q
  3. 参数
    1. -c:显示完整command命令
    2. -p pid:监控指定进程

5、ps命令

  1. 静态查看正在运行的进程信息:ps [参数]
  2. 参数
    1. -A:查看全部的进程信息
    2. -ef:查看全部的进程信息(完整)
    3. -u 用户名:查看属于指定用户的进程信息

6、kill命令

  1. 中断进程:
    1. kill pid
    2. kill -参数 pid
  2. 参数:-9:强制结束(酒杀)
  3. 中断用户的使用进程
    1. kill -9 $(ps -ef | grep 用户名)
    2. killall -u 用户名

7、关机命令

  1. 关机:shutdown
    1. CentOS7默认延迟一分钟关机
    2. 立即关机:shutdown -h now
  2. 延迟关机:shutdown +n "xxx"
    1. n:指n分钟之后关机
    2. "xxx":关机的警告信息
  3. 重启:shutdown -r +n "xxx"
  4. 取消关机:shutdown -c

8、重启命令

立即重启:reboot

9、who命令

  1. 显示当前登录系统的用户:who [参数]
  2. 参数:-H:带标题显示

10、timedatectl命令

  1. ntp时间服务器:用于同步计算机时间
  2. 相关命令
    1. 查看服务器时间与时区:timedatectl
    2. 设置时区:timedatectl set-timezone "Asia/Shanghai"
    3. ntp关闭:timedatectl set-ntp false
    4. ntp开启:timedatectl set-ntp true

11、clear命令

清屏幕:clear

四、目录管理

1、目录概要

  1. 根目录:/
  2. 系统配置文件:etc
  3. 系统预设执行文件:bin、sbin、usr
  4. 运行日志文件:/var/log

2、切换目录

  1. 切换目录:cd 目录名
    1. 相对路径:以当前目录
    2. 绝对路径:从根目录/开始
  2. 目录回退:cd ..

3、展示目录

  1. 展示目录:ls [参数] 目录名称
  2. 参数:
    1. -l:详细信息
    2. -a:显示隐藏文件
    3. -al:所有文件的详细信息
      1. 权限:
        1. d:目录
        2. -:文件
      2. 属主
      3. 属组
      4. 大小
      5. 最后一次访问时间
      6. 文件名

4、当前目录

查看当前目录:pwd [-P]

5、创建目录

  1. 创建目录:mkdir 文件夹名称
  2. 创建多级目录:mkdir -p 文件夹名称1/文件夹名称2

6、删除空目录

  1. 删除空文件夹:rmdir 文件夹名称
  2. 删除多级空文件夹:rmdir -p 文件夹名称1/文件夹名称2

7、删除文件

  1. 删除单个目录/文件:rm 文件路径
  2. 删除多层目录与其文件:rm -r 文件路径
  3. 忽略提醒:rm -p 目录

8、复制文件

  1. 复制单个文件:cp aaa/a.txt bbb
  2. 复制整个文件夹:cp -r aaa/* bbb

9、移动文件/重命名

  1. 移动文件:mv 文件 目录
  2. 文件重命名:mv 文件 文件
  3. 文件夹移动/重命名:mv 目录 目录

10、目录权限属性

1)符号权限:

  1. 权限分类
    1. -:没有权限
    2. r:读
    3. w:写
    4. x:执行
  2. 位数含义:
    1. 第1位:格式
      1. -:文件
      2. d:目录
      3. l:链接文件
    2. 2-4位:属主权限:u
    3. 5-7位:属组权限:g
    4. 8-10位:其他用户权限:o
    5. 全部身份:a
  3. 符号
    1. +:加权限
    2. -:减权限
    3. =:设定权限

2)数字权限

权限缩写数字符号
r4
w2
执行x1
无权限-0

数字权限 = 数字和

11、目录权限修改

1)chgrp命令

更改目录的属组:chgrp -v 属组名 目录

2)chown命令

  1. 更改目录的属主:chown 属主名 目录
  2. 更改目录的属主和属组:chown [参数] 属主名:属组名 目录
  3. -R:处理目录及其子目录

3)chmod命令

更改目录的访问权限:

  1. 数字权限:chmod -R 符号权限 目录
  2. 符号权限:
    1. chmod u=rwx,g=rw,o=r 目录
    2. chmod -R a=rwx 目录
    3. chamod -R g+x,o+r 目录

五、文件管理

1、touch命令

  1. 创建一个文件/修改时间属性:touch a.txt
  2. 创建多个空文件:touch a{1..5}.txt
  3. 查看文件详细属性:stat 文件名

2、vim编辑器

1)vi/vim简介

  1. vi
    1. 只能编辑文本,不能排版
    2. 不支持鼠标
    3. 没有菜单
    4. 只有命令
  2. vim
    1. vi的升级版
    2. 代码补全,编译...

2)vim的三种模式

  1. 三种模式
    1. 阅读:命令模式
    2. 编辑:编辑模式
    3. 保存:末行模式
  2. 模式的切换:
    1. 命令 --> 编辑:i
    2. 编辑 --> 命令:Esc
    3. 命令 --> 末行::
    4. 末行 --> 命令:Esc Esc

3)打开文件

打开文件:vim 文件名

  1. 如果文件存在:打开文件
  2. 如果文件不存在:打开临时文件,保存退出后会新建文件

4)进入编辑模式

  1. i:当前字符前插入
  2. I:行首插入
  3. a:当前字符后插入
  4. A:行末插入
  5. o:行后添加一行
  6. O:行前添加一行

5)保存文件

  1. :q:无操作退出
  2. :q!:不保存退出
  3. :wq:正常保存退出
  4. :wq!:强行保存退出

6)vim定位行

查看文件并定位到指定行数:vim 文件名 +行号

7)异常处理

  1. 若vim异常退出,磁盘中会存有交换文件(.swp)
  2. 删除交换文件即可

3、文件查看

1)cat命令

  1. 查看小型文件内容:cat 文件
  2. 查看小型文件内容(显示行号):cat -n 文件

2)less命令

  1. 查看大型文件内容:less 文件
  2. 查看大型文件内容(显示行号):less -N 文件
  3. 退出阅读:q

3)tail命令

  1. 查看文件的最后十行:tail 文件
  2. 查看文件的最后...行:tail -... 文件
  3. 动态显示最后十行:tail -[...]f 文件
    1. 指定最后...行,默认10
    2. 退出:Ctrl + C
  4. 显示文件最后...个字符:tail -c ... 文件

4)grep命令

  1. 查找文本:grep [参数] 关键字 文件
    1. -n:带行号查找
    2. -a:忽略大小写
    3. -v:不展示
  2. 查找进程:ps -ef | grep sshd
    1. 求进程个数:ps -ef | grep -c sshd

4、重定向输出

  1. 重定向:将需要输出打印的文本保存到文件
  2. 语法:
    1. 覆盖:cat a.txt > b.txt
    2. 追加:cat a.txt > b.txt

5、管道

  1. 管道:将一个命令的输出作为另一个命令的输入
  2. 语法:
    1. ps -ef | grep java
    2. ls --help | more

6、echo命令

  1. 展示文本:echo 字符串
  2. 覆盖写入到文件:echo 字符串 > 文件
  3. 追加写入到文件:echo 字符串 >> 文件
  4. 追加保存错误信息:错误语法 &>> 文件

7、软连接

  1. 软连接:快捷方式
  2. 原理:软连接 --> 文件名的地址 --> 文件名 --> 文件数据
  3. 生成软连接:ln -s 原目录 新目录

8、find命令

查找文件/目录

  1. 本目录下按名称查找:find . -name "*.txt"
  2. 根目录下按时间(...天内)查找:find / -cname -...

六、压缩

1、gzip命令

  1. 压缩文件:gzip 文件
  2. 解压文件:gzip -dv 文件

2、gunzip命令

解压文件:gunzip 文件

3、tar命令

  1. 打包文件:tar -cvf 打包文件名 文件名 --> xxx.tar
  2. 压缩文件:tar -zcvf 压缩包名 文件夹/文件名 --> xxx.gz
  3. 查看压缩包:tar -ztvf 压缩包名
  4. 解压:tar -zxvf 压缩包名

4、zip压缩

  1. 压缩文件:zip -q -r 压缩包名 文件/文件夹 --> xxx.zip
  2. 查看压缩包:unzip -l 压缩包名
  3. 解压文件:unzip -d 解压目录 压缩包名

七、网络

1、hostname命令

  1. 查看主机名:hostname
  2. 更改主机名(临时):hostname xxx
  3. 改配置文件:/etc/sysconfig/network

2、ifconfig命令

  1. 显示网卡信息:ifconfig
  2. 关闭网卡:ifconfig 网卡名 down
  3. 启用网卡:ifconfig 网卡名 up
  4. 配置ip地址:ifconfig 网卡名 ip地址
  5. 配置ip地址和子网掩码:ifconfig 网卡名 ip地址 netmask 子网掩码

3、ping命令

  1. 检测是否联通:ping ip/域名
  2. 指定接收包...次:ping -c ... ip/域名

4、netstat命令

  1. 详细连接情况:netstat -a
  2. 网卡列表:netstat -i

5、域名映射

  1. 域名映射:主机名作为ip地址解析
  2. 修改/etc/hosts文件

6、yum命令

  1. yum:用于查找安装下载卸载软件
  2. 安装tree:yum -y install tree
  3. 卸载tree:yum remove tree
  4. 查找tom开头的软件:yum list tom*

7、更改yum源文件

  1. 安装下载工具:wgetyum install -y wget
  2. 下载阿里云的Centos-7.repo文件:wget-OCentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
  3. 清理之前的缓存,并重新加载yum:yum clean all
  4. 建立一个缓存文件:yum makecache
  5. 查找软件,验证阿里云的yum源是否可以正常使用:yum search tomcat

8、rpm与yum

  1. rpm:只能本地安装程序
  2. yum:在线下载并安装

9、JDK

  1. 卸载(centos自带精简版jdk)
  2. 下载并安装
  3. 配置path

Released under the MIT License.