LINUX的基本操作学习总结

前言

从2020年11月定下了以后所打算从事的方向开始,就开始学习LINUX基础和LINUX环境编程,故谨以此文来记录LINUX的基础操作

1.linux的基础介绍及目录结构

LINUX的由来

1.LINUX的前身是UNIX操作系统,这个操作系统是由大名鼎鼎贝尔实验室的肯·汤姆森所开发,之后因为觉得用B语言写的UNIX太垃圾。他又和 丹尼斯·里奇(C语言之父)用C语言来编写了UNIX操作系统,这大大的提高了性能和可移植性。

2.LINUX是由芬兰的一名大学生Linus Torvalds (林纳斯)基于类UNIX操作系统所开发出来的操作系统。因为LINUX是开放源码、没有版权、技术社区用户多的特点,故LINUX在全世界大牛的修补,更新下使得LINUX变得更加安全,稳定。
LINUX的目录结构

在LINUX中一切皆文件
在LINUX中有且只有一个根目录(/)
在LINUX各个目录存放的内容事先规划好了
目录结构
在这里插入图片描述
LINUX的7种文件类型

d(目录)
b(块设备)
c(字符设备)
-(普通文件)
p(管道)
l(链接)
s(套接字)
LINUX的指令运行级别图
在这里插入图片描述

2.运行指令及基本操作指令

基本操作指令

查看当前位置(pwd)

进入目录(cd)

当前位置(./)

上一层目录(…/)

查看帮助文档(man [命令/配置文件/函数])

查看帮助文档(help [命令])

显示当前内容(ls)

查看文件内容(cat 只读方式)

查看文件内容(more 全屏方式按页显示内容)
空格键(向下翻一页)Enter(向下翻一行)

添加快捷指令(alias 快捷指令 =“实际指令” 例如:alias cl=“clear”)

输出内容到控制台(echo [option ] [内容] 例如:echo $PATH 输出当前环境的路径)

创建软链接(ln -s [源文件/目录] [软链接名称] 例如:ln -s /root /home/LinkToRoot 但是pwd还在/home下)

查看历史指令( history )
显示最近10条历史指令( history 10 )
执行历史编号为5的指令( !5 )

查看当前日期(date)
显示年份(date +%Y )
显示月(date +%m )
显示日(date +%d )
显示年月日时分秒(date +"%Y -%m-%d %H:%M:%S")
设置系统时间(date -s “2020-11-11 11:11:11”)

查看日历( cal )
查看指定年份日历(cal year)

3.vim的操作

VIM介绍
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

VIM的三种模式
插入/编辑模式:输入i(insert)或者a(append)

普通模式:打开文档时候的模式

命令行模式:按下 ESC 和 :

快捷键的使用

拷贝当前行(命令行模式下:输入yy)
删除当前行(命令行模式下: 输入dd)
粘贴(命令行模式下: 输入p)
设置文件行号(命令行模式下: 输入set nu/取消 set nonu)
到达文档的首页(命令行模式下: 输入gg)
到达文档的结尾(命令行模式下: 输入G)
跳转到指定行数(命令行模式下: 输入行号+shift+g)
撤销(命令行模式下: 输入u)
查找指定内容(命令行模式下: 输入/hello从上至下 或者 ?hello从下至上 找到要查找的内容按下n到下一个目标)
替换当前行的内容(命令行模式下: 输入s/one/two 将所在行第一个one替换为two )
替换当前行的所有目标内容(命令行模式下: 输入s/one/two/g 将所在行所有one替换为two )
替换所有符合的内容(命令行模式下: 输入%s/one/two/g 将所有one替换为two )
垂直分屏 (命令行模式下: 输入vsp+文件名称 )
水平分屏 (命令行模式下: 输入sp+文件名称 切换的时候在命令行模式下按下 ctrl + w w )
退出文件 (命令行模式下: 输入wq(写入退出)q!(强制退出) qall(退出所有) )
VIM的配置
用户配置文件目录(~/.vim/vimrc)
系统配置文件目录(~/.vim/vimrc)

4.开关机操作

关机/重启命令

poweroff [选项] (可关闭 重启 停止计算机)
不建议使用(强制直接关闭计算机电源可能导致进程数据丢失, 使系统处于不稳定状态 (甚至损坏硬件设备))
shutdown -h now(立即关机)
shutdown -h 时间(指定时间后关机)
halt(关机)
shutdown -r(立即重启)
reboot(现在重启)
reboot、shutdown 、-rhalt的区别

reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多
shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。(后文会详细说明)
halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

5.用户管理

用户管理图
在这里插入图片描述
用户说明

  • LINUX操作系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户都必须向管理员申请一个帐号,然后凭借此身份进入系统
  • LINUX的用户需要至少属于一个组

用户管理操作

1.添加用户
useradd [option] username
例如: useradd -d /home/JJ kobe (利用-d选项指定在/home/JJ目录下创建用户kobe)
例如: useradd -g LAKER kobe (将用户kobe加入LAKER)

2.给用户指定密码
passwd username (如果无法成功在之前加上sudo,切换为root权限)

3.删除用户
userdel username (这种删除保留此用户的家目录,要是想一并删除可以在username之前加-r)

4.查询用户信息
id username

5.切换用户
在LINUX操作系统中,如果当前权限不够,可用su - username,切换到高权限的用户(如root)
su - 切换的用户名(低权限到高权限要密码,反之则必须要,退出原用户exit)

6.创建一个组
groupadd 组名

7.修改文件所在组
chgrp 组名 文件名

8.修改用户所在组
usermod -g 组名 用户名

6.文件管理

文件的打包与解包

gzip/gunzip 文件名(只能将文件压缩为*.gz文件,压缩后原文件消失)

zip/unzip (这在实际开发中用的比较多)
zip -r 文件/目录(递归压缩)
unzip -d 文件/目录(将文件解压到指定地址)
例子:zip -r mypackage.zip /home/* (把家目录下所有内容打包成mypackage.zip )

tar指令
tar -zcvf 目标文件 源文件(将指定文件打包压缩)
例子:tar -zcvf a.tar.gz 1.txt 2.txt(把当前目录下的1.txt 2.txt 压缩成 a.tar.gz )
tar -zxvf 源文件 -C 地址(将指定文件解压到指定目录)
例子:tar -zxvf a.tar.gz -C /opt/tmp(把当前目录下的 a.tar.gz打包到 /opt/tmp)
文件的权限
在这里插入图片描述
文件的常用操作指令

创建目录(mkdir 目录名称 不提示递归删除文件)
例子:mkdir -p /home/a/b/c( 递归创建多级目录)
创建文件(vim/touch 文件名 不提示递归删除文件)
删除文件(rm [-rf] 目录/文件名 不提示递归删除文件)
复制文件(cp [-r] 源文件 目标地址 )
移动/重命名文件( mv oldfile newfile 复制到同一个目录的话可以更改文件名称)
文件所有者修改( chown [-R]newowner:newgroup file )
(例:chown -R kobe:LAKER hello )hello下的所有文件属于kobe,所在组是LAKER)
(例:chown kobe:LAKER hello )hello的文件属于kobe,所在组是LAKER)
注意:-R是递归所有文件的选项

搜索类查找指令

find [范围 ] [选项]
按文件名称查找(find -name )
(例:find /home/ -name *.c )
按所有者称查找(find -user )
(例:find /opt/ -user root)
按文件大小称查找(find -size + 大于 - 小于 )
(例:find /opt/ -size +20M 查找文件大小大于20M的文件)

grep [选项] [查找内容 ]
常常搭配管道 | 使用
(例:ps -aux | grep -n root  查找系统运行的所有者为root的内容,且区分大小写)

7.组管理和权限管理

权限管理/strong>

用+ - = 变更权限(u :所有者 g :所在组 o:其他人 )
(例:chmod u=rwx,g = rx,o = x 1.c )所有者有全部权限,所在组有读执行权限,其他只有执行权限
(例:chmod g -w,o + x 1.c )所在组没有写权限,其他添加只有执行权限
用数字变更权限(r:4 w :2 x:1 )
(例:chmod 777 1.c )1.c文件所有人都满权限

**

8.任务调度

**
下文基于CENTOS实现

任务调度

含义:在某个时间执行特定的命令或者程序
语法 : crontab [option]
-e 编写定时任务
-l 查询crontab任务
-r 删除用户所有的crontab任务

任务调度的符号说明

在这里插入图片描述
案例:每隔一个小时把当前日期打印到/home/date文件中

编写一个脚本date.sh
输入 data >> /home/date
给date.sh可执行权限(chmod 777 date.sh)
编写任务调度(crontab -e)

  • */1 * * * /home/date.sh

9.磁盘分区和挂载

分区的基本知识

mbr分区
最多支持四个主分区
系统只能安装在主分区
拓展分区要占一个主分区
MBR最大支持2TB,但是拥有最好的兼容性
gtb分区
支持无线多个主分区(但是操作系统会限制,Windows下最多128个分区)
最大支持18EB的大容量(1EB = 1024PB 1PB = 1024TB)
Win7 64位后支持gtp
LINUX分区原理图

在这里插入图片描述

主要操作指令

查看分区情况(lsblk -f)
帮助记忆:老师不离开(lsblk)
查看分区大小(lsblk)
查询系统整体的磁盘使用情况(df -l )-h可以查看具体大小
查询指定的目录磁盘使用情况(du -h 目录 )-h可以查看具体大小
例:du -ach --max-depth=1 /home  查看home目录的磁盘使用情况(深度为1)
案例:给LINUX添加一个新的硬盘(挂载到/home/newdisk下)

虚拟机添加硬盘
分区
fdisk /dev/sdbsdb要视挂载硬盘信息情况而定
先输入n(新增分区)然后选择p,分区类型为主分区,两次回车默认剩余全部空间,最后输入w写入分区并退出
格式化磁盘
mkfs -t ext4 /dev/sdb1ext4为分区类型
挂载
mount /dev/sdb1 /newdisk
取消挂载
umount /dev/sdb1 或者 umount /newdisk
永久挂载
在/etc/fstab中加入如下指令
/dev/sdb1       /home/newdisk   ext4  defaults  00
mount -a 立即生效
如果未生效,建议重启

10.网络配置

此处为永久配置:是通过修改配置文件来配置(基于centos)

案例:配置网络

打开配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0权限不足的话使用切换到root
将BOOTPROTO改为static
IPADDR改为"192.168.184.130"
修改ONBOOT = yes
static为静态获取ip 
dhcp态获取ip
修改过后重启服务 service network restart
UBUNTU下的配置文件在/etc/network/interfaces下修改方法类似

11.进程管理

进程概念

在LINUX中每执行一个程序(代码)为进程,每一个进程有唯一的进程号
每一个进程都会对应一个父进程,而父进程下可以有多个子进程
每一个进程可能以两种方式存在(前台/后台)
前台是可见的进程,有输入输出的
后台是不可见的(也叫守护进程或者精灵进程)
一般系统的服务都是以后台运行,直到关机才结束
进程相关操作指令

显示系统执行的进程(静态)ps -aux
查看父进程 ps -ef
例:查看sshd的父进程 ps -ef | grep sshd

显示系统执行的进程(动态)top [option]
查看特定用户 top -u root
中止特定进程 top k 进程id
指定10s后更新进程信息 top -d 10

中止进程kill killall
强制中止 kill -9 进程号
此处-9是因为kill的信号是9号
杀死父进程 killall 进程名称

监控网络情况 netstat [option]
查看系统所有网络服务 netstat -anp

总结

从之前对LINUX的不了解,到后面惊叹他的神奇,简简单单几个操作符就可以完成WINDOWS下的复杂操作这也太帅了吧,渐渐的开始依赖LINUX的便捷,并且没有那么多弹窗广告 (我想可能垃圾广告还没发现这未开发的领地)。现在已经习惯在LINUX下完成日常的使用(除了打游戏,虚拟机下开虚拟机套娃就算了)初学LINUX的时候觉得每一个操作符都很有趣,而且自以为英语还不错,不上机实操。结果好家伙一个星期差不多全忘记,所以多操作,总结还是很不错的。接下来还有很长的路,而赛过要努力呀!

建议

一定要多上机实操
多总结规律,很多知识都是相通的
学会使用man手册
最后欢迎你来到LINUX的学习,准备接受互联网的无情毒打吧
而塞过 2021-1-6

猜你喜欢

转载自blog.csdn.net/weixin_52395571/article/details/112482555