Linux基础

一、初认识Linux

  Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

  目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。

二、Windows和Linux得区别

比较 Window Linux
界面 界面统一,外壳程序固定所有Windows程序菜单几乎一致,快捷键也几乎相同 圆形界面风格依发布版本不同而不同,可能互不兼容。GNU/Linux的终端机是从UNIX传承下来,基本命令和操作方法也几乎一致。
驱动程序 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时候很难支持。另外,有时硬件厂商未提供所需版本的Windows下的驱动,也会比较头痛。 由志愿者开发,由Linux核心开发小组发布,很多硬件厂商基于版本考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD等硬件厂商逐步不同程序支持开源驱动,问题正在得到缓解。
使用 使用比较简单,容易入门。圆形化界面对没有计算机背景知识的用户使用十分有利。 圆形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习 系统构造复杂、变化频繁、且知识、技能淘汰快,深入学习困难 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易
软件 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权 大部分软件都可以自由获取,同样功能的软件选择较少。

三、Linux的安装

详看ChavinKing博主文章:CentOS7安装详解

四、Linux常用的命令

文件类型 属主权限 属组权限 其他用户权限
- 1 2 3 4 5 6 7 8 9
d R w x R - x R - x
目录文件 读 写 执行 读 写 执行 读 写 执行

1、一般模式

  注:是对文件内部

  • yy 复制
  • yNy 复制N行
  • p 粘贴
  • u 撤销
  • dd 删除一行
  • dNd 删除N行
  • shift + ^ 移动到行头
  • shift + $ 移动到行尾
  • shift + g 跳转到最后一行
  • N + shift + g 跳到第N行 或者
2、编辑模式
  • i 进入编辑模式
  • o 进入下一行的编辑模式
3、指令模式
  • w 保存
  • q 退出
  • ! 感叹号强制执行
4、文件目录类
  • pwd 显示当前工作路径
  • ll 列出目录内容
  • mkdir 创建新目录
    • mkdir -p 递归创建
  • touch 创建空文件
  • cd 切换目录
    • 绝对路径和相对路径
    • cd - 返回之前操作的目录
  • cp 复制文件或目录
    • cp -r 递归复制
  • rm 删除文件(在没有理解路径的情况下,不要乱用)
  • rm -rf 递归强制删除
    • mv 移动目录、改名
  • cat 查看文件
  • more 分页查看文件
    • 空格 向下翻页
    • ctrl + B 返回上一屏
  • tail -F 监控文件
  • echo 追加文件
  • ln -s [原文件][目标文件] 软连接
  • history 历史服
5、时间日期类
  • date 显示当前时间
  • date -s 设置系统时间
  • date -s ‘2019-03-09 23:23:23’
  • cal 查看日历
  • tab 自动补充键
6、用户管理命令
  • useradd [用户] 添加新用户
  • userdel [用户] 删除新用户
  • passwd [用户] 设置用户密码
  • id [用户] 判断用户是否存在
  • su [用户] 切换用户
  • /etc/sudoers 设置普通用户具有root权限
  • usermod 修改用户
    • usermod -g dev itstar 把用户itstar加入到dev用户组
  • groupadd itstar 新增用户组
  • groupdel 删除组
  • groupmod 修改组
  • cat /etc/group 查看创建了哪些组
7、文件权限类
  • chmod改变权限 chmod -R 777 用户名
  • chown [最终用户][文件或目录]
    • chown -R itstar:itstar [文件名]
  • su [用户] 切换用户
8、磁盘分区类
  • fdisk 在root用户下查看分区

  • df 查看硬盘

  • mount /unmount 挂载/卸载
9、搜索查找类
  • find [搜索范围][匹配条件]
    • 按文件名
      find /opt -name *.jar
    • 按拥有者
      find /opt -user itstar
    • 按文件大小(在某目录下查找大于1M的文件)
      find /opt -size +1024
  • grep 管道符
    • grep + 参数 + 查找内容 + 源文件
    • rpm -qa|grep mysql 查找系统中是否有mysql的rpm包
    • grep "C|A" A 注:区分大小写
    • grep -i "C|A" A 是不区分大小写
10、进程线程类
  • ps -aux 查看系统中的进程
  • top 查看系统的健康状态
  • kill 进程 kill -9 进程号、直接杀死进程
11、压缩和解压缩
  • gzip + 文件 压缩文件 注:不能压缩目录
  • gunzip + 文件.gz 解压缩文件
  • zip + 文件名 + 要压缩的内容
    • unzip + *.zip 解压文件

五、Linux定时任务Crontab

  • 基本语法
  • crontab -e 编辑定时任务
  • crontab -l 查询定时任务
  • crontable -r 删除定时任务

  crontab -e进入编辑状态,* * * * * 执行的任务
项目 | 含义 | 范围

  • | -
    第一个“” | 一小时当中的第几分钟(分) | 0-59
    第二个“
    ” | 一天当中的第几小时(时) | 0-23
    第三个“” | 一个月当中的第几天(天) | 1-31
    第四个“
    ” | 一年当中的第几月(月) | 1-12
    第五个“*” | 一周当中的星期几(周) | 0-7(0和7都代表星期日)

  特殊符号

特殊符号 含义
* 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令

  特定时间执行命令

时间 含义
45 22 * * * 命令 在22点45分执行命令
0 17 * * 1 命令 每周1 的17点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号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
  • 案例:
      */1 * * * * echo “1” >> /opt/Andy
      翻译:每分钟把1追加到该目录中

六、安装linux版本JDK

  • 命令:
tar -zxvf JDKVERSON -C 目标目录
  • 环境变量:
vi /etc/profile
  • 环境配置:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

七、虚拟机快照

  右键虚拟机 -> 快照
  功能描述:相当于“存档”的功能

八、主机名的设置

hostnamectl set-hostnamectl 主机名

九、虚拟机联网

十、RPM包

  • 概述
      RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe
     是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
    RPM包的名称格式。
      Apache-1.3.23-11.i386.rpm
      “apache” 软件名称
      “1.3.23-11”软件的版本号,主版本和此版本
      “i386”是软件所运行的硬件平台
      “rpm”文件扩展名,代表RPM包

  • 常用命令

  查询

rpm -qa | grep mysql 查询是否具有mysql的RPM包

  卸载

rpm -e --nodeps [包名] 强制卸载此包

  安装

rpm -ivh --nodeps [包名] 不检测依赖进度
原文地址:https://www.cnblogs.com/nthforsth/p/12653197.html