LINUX的基本操作学习总结
前言
从2020年11月定下了以后所打算从事的方向开始,就开始学习LINUX基础和LINUX环境编程,故谨以此文来记录LINUX的基础操作
声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出
目录
1.LINUX的基础介绍及目录结构
2.运行指令及基本操作指令
3.VIM的操作
4.开关机操作
5.用户管理
6.文件管理
7.组管理和权限管
8.任务调度
9.磁盘分区和挂载
10.网络配置
11.进程管理
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的用户需要至少属于一个组
用户管理操作
添加用户
useradd [option] username
例如: useradd -d /home/JJ kobe (利用-d选项指定在/home/JJ目录下创建用户kobe)
例如: useradd -g LAKER kobe (将用户kobe加入LAKER)给用户指定密码
passwd username (如果无法成功在之前加上sudo,切换为root权限)删除用户
userdel username (这种删除保留此用户的家目录,要是想一并删除可以在username之前加-r)查询用户信息
id username切换用户
在LINUX操作系统中,如果当前权限不够,可用su - username,切换到高权限的用户(如root)
su - 切换的用户名(低权限到高权限要密码,反之则必须要,退出原用户exit)创建一个组
groupadd 组名修改文件所在组
chgrp 组名 文件名修改用户所在组
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
关于我:一个就要进入互联网,经历社会毒打的99小伙
下一站(javascript)
下一站(html)
LINUX的基本操作学习总结相关推荐
- 云计算学习之路—云计算基础—Linux系统基本操作
Linux系统基本操作 文章目录 Linux系统基本操作 一.基本命令 1.成分介绍 2.修改主机名 3.创建用户 4.修改用户密码 (1)root用户修改密码 (2)普通用户修改密码 5.用户切换 ...
- 20165219 预备作业3 Linux安装及学习
20165219 预备作业3 Linux安装及学习 安装虚拟机 在安装的过程中遇到了不少的问题,在同学的帮助下都得到了解决.比如在新建虚拟机的时候没有64位这个选项,后来知道需要开启虚拟化,然后是安装 ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
- linux学习项目,[ Linux运维学习 ] 路径及实战项目合集
我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. ...
- 20165212 预备作业3 Linux安装及学习
20165212 预备作业3Linux安装及学习 Linux虚拟机的安装过程 我像大部分同学一样,通过助教学姐给的Ubuntu下载地址下载映像文件.VB,但是屡次出现问题,不停的闪出一下错误提示窗口: ...
- Linux Vim基本操作(文件的打开和编辑)完全攻略(有图有真相)
<Vim三种工作模式>一节给大家详细介绍了 Vim 的 3 种工作模式,本节来学习如何使用 Vim 编辑文件. 首先学习如何使用 Vim 打开文件. Vim 打开文件 使用 Vim 打开文 ...
- 嵌入式系统开发学习步骤(Linux高级编程学习顺序)
2019独角兽企业重金招聘Python工程师标准>>> 嵌入式系统开发学习步骤(Linux高级编程学习顺序) 1.Linux 基础 安装Linux操作系统 Linux文件系统 Lin ...
- 20165227朱越 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 Linux的安装 虚拟机的安装远没有想象中的那样容易,下载还没有出现什么问题,当我安装的时候,第一个问题出现在创建虚拟机时选择安装的虚拟机版本和类型的时候的错误 当时 ...
- 阿里云官方学习课程推荐-Linux运维学习路线 从事云计算运维相关工作必备技能
阿里云官方学习课程推荐-Linux运维学习路线 从事云计算运维相关工作必备技能 目前越来越多的企业需要依赖于IT技术发布产品与服务,尤其是电子商务最为明显,它凸显了IT技术在现代企业中的重要性.当企业 ...
最新文章
- Ruiy自我识人做事领悟录ing
- (转)几种流行的JS框架的选择
- 关于prefrenceactivity和preferencefragment的作用
- 解决Docker构建时出现的 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: Permission denied
- 利用Flutter写一个跨平台的果核APP(3)——网络请求
- Linux系统查看各种信息
- 选择排序 ( 直接选择排序 堆排序 )
- 一篇文章带你了解网页框架——Vue简单入门
- Mac桌面文件怎么恢复?
- python代码编辑器
- Windows 8 引入新版的凭据管理器
- 破解IntelliJ IDEA
- 12_微信小程序之微信视频号滚动自动播放视频效果实现
- 修改“IP属地“,我们说不
- nginx-php类似nginx-lua的扩展,nginx-php中文开发文档
- Outlook2019版本的收发邮件设定
- 基于stm32c8t6的两轮平衡小车 第二篇——原理图及CubeMx配置
- 【电脑使用技巧】1TB的硬盘只有931G 硬盘容量去哪儿了?
- 软件测试bug分析定位技巧
- git视频及对初学者的学习建议 转自亨利的3D幻想世界