大佬教程收集整理的这篇文章主要介绍了Linux知识补课,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
已经将开发环境转Linux了(当然用的是ubuntu,图像界面还是舒服一点,支持也多),不上QQ和微信的话用的还是挺舒服的,但是无奈基础欠账太多,这里赶快补一下
emmm算是老生常谈了,但是还是记录一下吧,建立一些感性认识。
Unix是先开发的,最一开始的版本是使用汇编语言,后来用C语言重写了。之后Bell实验室允许大学使用该操作系统教学。Linus对Unix的底层代码进行了修改,原先命名为Linus‘s Unix并上传,后来被网站管理员改名为Linux,之后就火了
Unix现在还活得好好的,只不过在互联网上的名气不如Linux大,毕竟Linux的面向人群还是大一些的
理查德·马修·斯托曼
1991年,他与Liuns商谈,让Linux加入了GNU计划,后来更名为GNU/Linux,当然人们还是叫Linux
ubuntu\debian\centos\rethat\suse\deepin\arch等
分支图:
redhat的服务是收费的
Ctrl+Alt+T:打开 Ubuntu 终端窗口
Super+Tab 或 Alt+Tab:在运行中的应用程序间切换
Super+箭头:移动窗口位置
Super+左箭头:贴合左面
Super+右箭头:贴合右面
Super+上箭头:最大化
Super+下箭头:恢复正常大小
Super+M:切换到通知栏
Alt+F2:运行控制台。是的,Linux除了终端还有控制台
Alt+F4/Ctrl+Q:关闭应用程序窗口
Ctrl+Alt+箭头:切换工作区
Linux中的分隔符是/,不是Windows的\
~:家(home)目录
. :一个点表示当前目录
.. :两个点表示上一级目录
/ :根目录
参数:
pwd:打印当前工作目录
-p : mkdir -p 路径: 一次性创建多层不存在的目录,就是路径中所有不存在的文件夹都会被创建
mkdir 路径1 路径2:一次性创建多个目录
touch 路径:创建文件
cp 要复制的文件的路径 目的路径(可以同时改名):复制
mv 需要移动的文件目录 要保存的文件目录:移动,也就是剪切的意思
mv同时也能执行重命名
-f:force,不进行再次确认
-rf:两个一起用
删除指令可以使用正则表达式:例如 rm -r linux*
cat:
df:查看磁盘空间
df -h:以较高可读性的形式显示
free:查看内存使用情况
free -h同理
swap用于临时内存,用磁盘空间充当内存
head -n 文件路径
也可以通过tail查看一个文件的动态变化,语法为tail -f 文件地址,但是这个命令主要用来查看系统日志,变化内容不能是用户手动添加的(用户使用vim修改文件的实质是删除文件并创建同名新文件,这使得tail无法跟踪),要测试可以利用输出重定向.退出的话按下q键即可
less:查看文件,以较少的内容进行输出,只显示一屏,按下辅助功能键查看更多
less 文件地址
:n 从第n行进行显示
空格键:一页一页翻
上下:一行一行翻
:q 退出
wc 文件路径
-l:行数
-w:单词数,注意,这里的单词是依照空格来区分的
-c:字节数
不加选项的话,返回:行数、单词数、字节数、名称
date指令:操作时间和日期(读取、设置),shell脚本中用的比较多
CST:当地时间
不加参数的话输出是这个样子:2019年 10月 06日 星期日 12:07:26 HKT
带参数的输出:
date +%F,也可以用 date "+%Y-%m-%d":输出年月日:2019-10-06
注意这里Y是大写,m和d是小写,大小写表示的含义是不一样的
Y:整位的四位数年
date +%F,输出也是2019-10-06
,等价于date "+%Y-%m-%d"
date "+%F %T",输出是2019-10-06 15:04:35
,这里的引号表示让其中的内容成为一个整体,和date "+%Y-%m-%d %H:%M:%s"
等价
date -d "-1 day" "+%F %T"
:表示输出一天前的时间(可以用于编写shell脚本自动实现备份数据库以及删除一个时间节点之前的,例如一个月或者一个礼拜之前的数据库备份)
date -d "+1 day" "+%F %T"
:一天后
date -d "-1 month" "+%F %T"
:一周前
date -d "-1 year" "+%F %T"
:一年前
加s和不加都可以
完整参考内容见下:
cal:操作日历
直接输入cal:显示当月日历,等价于cal -1
cal -y 2019:显示2019年日历
clear:清空终端中的命令和结果,也可以用快捷键 ctrl+L
不是严格意义上的清空,只是下拉一页,用来的都在上面
管道:|
管道不能单独使用,必须配合前面讲的一些指令配合使用,主要起辅助作用
管道一般可以用于:
hostname:操作主机名:读取和设置(设置用的比较少,因为这里改的是临时的,一重启就没有了)
语法:
hostname:输出完整的主机名
hostname -f:输出当前主机名中的FQDN(全限定域名)
id:查看一个用户的基本信息(用户id、用户组id、附加组id)
验证用户组信息:/etc/group
whoami:返回当前用户名
ps -ef指令
用于查看当前机器的进程信息
-e:列出全部进程
UID:用户名
PID:process ID,进程名
PPID:父级进程名
如果一个程序的父级进程找不到,该程序的进程称为僵尸进程,就是表示没有什么用了
C:表示cpu占有率(百分比)
STIME:start time:启动时间
TTY:终端设备
如果一个进程有终端设备,就表示这个进程是由这个终端发起的,?表示不是由终端发起的
TIME:进程的执行时间
CMD:进程对应的路径
案例:搜索特定进程
ps -ef|grep gnome-shell
top:查看机器进程占用的资源(实时更新的哦)
q键或者Ctrl+c退出
解释一下top的一些参数意思:
表头的含义:
PR(priority):权重(网站用的那个PR是page rank),例如在搜索引擎对网页也有这个,范围是1-10,级别越高说明优先级越高,越受欢迎
VIRT:虚拟内存,虚拟内存就是进程申请的内存
RES:常驻内存,常驻内存是进程实际使用的内存
SHR:共享内存,有的进程不能独立运行,而是依赖于其他进程,共享内存值的就是常驻内存中对其他进程的调用开销
计算一个进程实际使用的`1内存=常驻内存-共享内存
S:进程的状态(sleeping,S是睡眠,R是运行)
MEM:内存的占用百分百
COMMAND:进程的名称或者路径
排序:
M:按内存占用排序
P:按cpu使用排序
du -sh 目录地址:查看目录的真实大小
-s:只显示汇总的大小(summary)
-h:使用便于阅读的形式显示
find 路径范围 选项 选项的值:用于查找文件
service:控制软件服务的启动/停止/重启
service 服务名 start/restart/stop
例如,启动apache:service apache2 start
可以使用ps查询apache服务是否启动:
ps -ef|grep apache2
kill:杀死进程
语法:kill 进程的PID
killall:直接通过进程名称杀死进程,不需要先查询出PID了
语法: killall 进程名称
ifconfig:操作网卡,全称是interface configuring
显示处理的结果举个例子:
从inet addr中可以找到ipv4的地址
wlp2s0是无线网卡,lo的全称是loop,本地回环网卡,其ip地址一般都是127.0.0.1
reboot:重启
reboot -w:模拟重启,但是不重启。它的效果是往日志中写入reboot日志,但是不重启,主要用于做测试
shutdown:关机。要谨慎使用这个命令!如果是远程连接,reboot的话还可以断开连接之后重新建立,但是shutdown了之后就开不了了23333
当然云服务器不需要担心这个,他们的服务器有插件,可以通过网页的控制台开启,但是如果不是的话就gg了
要是不小心用了怎么办?打电话到机房或者自己去机房打开2333
shutdown -h Now :立即关机
shutdown -h 15:25 “关机提示”:定时关机并给出关机提示
取消关机:shutdown -c,如果是较为旧的内核,输入shutdown之后终端一直被占用的话,应该使用Ctrl+C来终止
uptime:输出计算机的持续在线时间
输出大概是这种:20:46:48 up 3 days,22:05,1 user,load average: 0.17,0.31,0.60
Linux 主机名 5.0.0-29-generic #31~18.04.1-Ubuntu SMP Thu Sep 12 18:29:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
5.0.0-29-generic是内核版本,后面跟的那个时间是系统的发布时间
netstat -tnlp:查看网络连接状态
-t:只列出tcp协议的连接
-n:以ip地址名:端口名,而不是地址和协议的形式显示
-l:过滤出“state"列中其值为LISTEN(监听)的连接
man:全称是manual,是手册的意思,包含了Linux的全部命令
格式,man 命令名称
这个牛逼啊,它不仅可以查到Linux自带的服务的指令,还能查到软件库中其他软件的指令
screenfetch:一个比较常用的软件,
iconv:对文本文件进行转码
常用方法:
对于这个命令,我们可以使用iconv -t UTF-8 workspace.js > w.js
更加方便地进行转码,但是绝对不能将文件直接写回源文件,否则文件会被清空的!我们可以将转换后的文件统一放在另一个文件夹中,这样也就可以实现批量操作了,并且也可以使用和源文件一样的文件名。
系统内置的服务,不需要用户安装其他软件
vi是所有Unix和Linux系统下标准的编辑器
vim相比vi比较高级,更适合写代码
i键进入编辑模式
:Syntax on:开启语法高亮
:set number:开启行号
vim ~/.vimrc:编辑配置文件,将要默认加载的功能写进去,例如上面的指令要是不写在这个配置文件中的话就只会在当前一次下生效,关闭vim再打开就没有了
上下左右:移动光标
H\L,分别代表左和右;J\K,分别代表下和上
pageup\pagedown:上下翻页,这个任何工具都是一样的
Ctrl+F\B,vim独有的上下翻页
按行跳转:行数 gg
往上\下\左\右跳多少行:10j 向下跳10行,10k向上跳10行,H左跳L右跳,都是同理的
查询:在命令模式下,输入 /要查找的字符串,会查找光标之后的第一个匹配的项,如果想要继续查找的话就按N(next),按Shift和N会回到上一个匹配项
删除整行:CC,如果删错了先退出编辑模式再按u(undo)恢复
也可以用dd,但是dd不会进入编辑模式
删除几行:CnC,表示同时删除n行,要是用dd的话就是nDD
这两个命令实际上是一个”剪切“
粘贴:p
复制:y
复制单行:yy
复制多行:yny,n是行数
按一下v键,会进入VISUAL模式,这时光标会选中所有移动过的范围
vim plug:插件管理系统
vim内集成的简易计算器:先进入编辑模式,按下”ctrl+r"并输入“=”,此时光标会变到最后一行,此时再输入需要计算的内容就好了,结果会自动显示在原来的位置上
纯粹是好奇或者是为将来可能的吹b用的,只是为了建立一些感性认识:
Linux上Nvidia的开源驱动noveau居然是通过逆向工程得到的```
Unity是Canonical公司为GNOME桌面环境所开发的图形用户界面,和那个游戏引擎不是一回事。用于Ubuntu操作系统。不过现在已经被Canonical放弃了,原来它开发这个系统是为了各个平台(手机、电脑以及其他硬件)统一,后来发现其他平台搞不成,Unity也就顺理成章地被放弃了,公司也裁员了。不过Canonical这个公司自建立就一直入不敷出不赚钱,一直是靠有钱的创始人养活的。
Mac系统是闭源的,借鉴了openBSD,经过了Unix认证
开源不代表免费,可能会收取服务费用,同时系统的认证(例如RedHat认证)也是收费的
为什么服务器使用Linux?
以上是大佬教程为你收集整理的Linux知识补课全部内容,希望文章能够帮你解决Linux知识补课所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。