Linux学习笔记-林耐斯Notes-Linux就该这么学

Linux学习笔记、、、 


 参考的优秀Linux网站: 

http://www.w3cschool.cn/linux/

http://www.linuxeye.com/

http://linux.vbird.org/linux_basic/








  

 


Hello World! My Name Is Called Linux

Linux系统从1991年至2016年将近二十五年的发展历程
学习是件苦差
我不想回避这个问题——学习本是件痛苦的事情。如果学习Linux真的很简单,那么必是骗子说的谎话,起码这将不能给你带来高薪。
每次起床后都会陷入几分钟的大脑作战——是该聊会天那~还是追个美剧那~还是打盘LOL那~还是看看那该死的刘遄写的那本可怕Linux教材时,请不要忘记自己最初的梦想,十年后你会感谢此时正在努力学习的自己。


关于开源:
GPL许可协议(GNU General Public License):只要软件中包含有其他GPL协议的产品或代码,那么该软件就必须也采用GPL许可协议且开源及免费,
复制自由:允许将软件复制到任何人的电脑中,并且不限制复制的数量。
传播自由:允许以各种形式进行传播。
收费传播:允许在各种媒介上出售该软件,但必需提前让买家知道这个软件是可以免费获得的,并解释收费的理由(一般来讲都是能够为用户提供某种服务,以技术服务的形式来收费)。
修改自由:允许开发人员增加或删除软件的功能,但必须依然基于GPL许可协议授权。


BSD许可协议(Berkeley Software Distribution):使用该许可后将允许使用者使用、修改和重新发布代码,并且可以作为商业软件发布和销售,但需要满足下面的三个条件:
第0章 咱们先来谈谈学习方法和红帽系统。第0章 咱们先来谈谈学习方法和红帽系统。
1:如果再发布的软件中包含源代码,则源代码必需使用BSD许可协议。
2:如果再发布的软件中只有二进制程序,则需要在相关文档或版权中声明原始代码中使用了BSD协议。
3:不允许用原始软件的名字、作者或机构名称做市场推广。


Apache许可协议(Apache Licence Version):同时为开发人员提供版权及专利许可,允许修改代码及再发布的自由,适合于商业软件,现在热门的Hadoop、apache(httpserver)、MongoDB等项目都是基于该许可,程序开发者要严格遵守下面的四个条件:
第0章 咱们先来谈谈学习方法和红帽系统。第0章 咱们先来谈谈学习方法和红帽系统。
1:该软件及其衍生品必须基于Apache许可协议。
2:如果修改了源代码,需要在文档中声明。
3:若软件是基于他人的源代码,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容。
4:如果再发布的软件中有声明文件,则需在此文件中标注Apache许可协议及其他许可协议。


MPL许可协议(The Mozilla Public License):相较于GPL许可协议,更加注重平衡的开发者对源代码的需求和收益。

MIT许可协议(Massachusetts Institute of Technology):目前限制最少的开源许可协议之一,只需要程序的开发者在修改后的源代码中保留原作者的许可信息,所以比较适合于商业软件。


UNIX系统是开源而且免费的,但在1979年时,AT宣布了UNIX系统的商业化计划,随之使得软件业转变成了版权式软件产业,源代码被当作了商业机密,
1984年,由Richard Stallman面对于如此封闭的软件创作环境,发起了GNU源代码开放计划并制定了著名的GPL许可协议
1991年芬兰赫尔辛基大学的在校生Linus Torvalds编写了一款叫做Linux的操作系统,它是基于GNU GPL许可协议的开放源代码特性的操作系统,Linux系统是具有类似Unix的程序界面与操作方法且继承了其稳定性的优秀软件产品、


Linux 中的Fedora系统
并不是因为开源而喜欢Linux,而是因为Linux系统真的非常优秀,开源精神仅是优秀产品上的锦上添花而已
不需要为了练习实验而单独购买一台新电脑,
通过虚拟机来模拟出仿真系统。虚拟机是能够让用户在一台真机上模拟出多台操作系统的软件,


系统内核:
计算机硬件是由运算器、控制器、存储器、输入/输出设备等等这些物理设备组成的,而能够让机箱内各种硬件设备各司其职的东西就叫做系统内核。
"Shell"——也可称为“壳”,充当的是人与内核(即为计算机硬件)的翻译官


Linux中常用的一些命令行:

Open in Terminal、即可开启一个Linux终端
在Linux的终端中常用的一些命令行:
查看man命令自身的帮助信息
man man
echo命令用于在终端显示字符串或输出变量提取后的值
date命令用于显示及设置系统的时间或日期
按照"年-月-日 小时:分钟:秒"的格式查看当前的系统时间:
date "+%Y-%m-%d %H:%M:%S"
查看今天是一年中的第几天:
date "+%j"
reboot命令用于重启系统,
poweroff命令用于关闭系统,


ps命令用于查看系统中的进程状态
-a 显示所有的进程(包括其他用户的)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程


ifconfig用于获取网卡配置与网络状态等信息:
ifconfig
uname命令用于查看系统内核与系统版本等信息、固定搭配上-a参数来完整查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称
uname -a
free命令用于显示当前系统中内存的使用量信息
free -h
who命令用于查看当前登入主机的用户终端信息
who
last命令用于查看所有系统的登入记录
last
history命令用于显示历史执行过的命令、history命令默认会保存1000条执行过的命令
history
清空该用户在本机中执行过命令的历史记录:
history -c
sosreport命令用于收集系统配置并诊断信息后输出结论文档
sosreport
pwd命令用于显示当前所处的工作目录
pwd
cd命令用于切换工作路径
切换进/etc目录中
cd /etc
切换进/bin目录中
cd /bin

返回到上一次所处的目录
cd -
切换到当前用户的家目录
cd ~
切换到其他用户的家目录
cd ~username
ls命令用于显示目录中的文件信息、-a 参数来看到全部文件(包括隐藏文件),再结合“-l”参数来查看文件的属性、大小等详细信息
ls -al
cat命令用于查看纯文本文件、-n参数:看文本内容时还顺便显示行号
cat -n initial-setup-ks.cfg
more命令用于查看纯文本文件
more initial-setup-ks.cfg
head命令用于查看纯文本文档的前N行
head -n 20 initial-setup-ks.cfg
tail命令用于查看纯文本文档的后N行或持续刷新内容
需要去查看文本内容的最后20行
tail -n 20 initial-setup-ks.cfg
查看日志信息
tail -f /var/log/messages


wc命令用于统计指定文本的行数、字数、字节数
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
具体的一个命令:
wc -l /etc/passwd


stat命令用于查看文件的具体存储信息和时间等信息
stat anaconda-ks.cfg
diff命令用于比较多个文本文件的差异
cat diff_A.txt
cat diff_B.txt
仅仅显示比较后的结果,判断文件是否相同:
diff --brief diff_A.txt diff_B.txt
详细的上下文输出格式来描述文件内容具体的不同:
diff -c diff_A.txt diff_B.txt


touch命令用于创建空白文件
mkdir用于创建空白的文件夹,
cp命令用于复制文件或目录
首先创建一个名为install.log的文件,然后将其复制出来一份名为x.log的备份文件:
touch install.log
cp install.log x.log
ls


mv命令用于移动文件或改名
文件在同一个目录中进行剪切操作,其实也是重命名的作用:
mv x.log linux.log
rm命令用于删除文件或目录
具体的实例:
ls
rm install.log
rm -rf linux.log
ls


file命令用于查看文件的类型
file anaconda-ks.cfg


tar命令用于对文件打包压缩或解压
首先“-c”参数是用于创建压缩文件的,
“-x”参数是用于解压文件的,因此这两个不能同时放一起使用,
“-z”参数是指定使用Gzip格式来压缩解压文件,
-v”参数来不断显示压缩或解压的过程给用户,
-C”参数用于指定要解压到的哪个指定的目录,


find命令用于查找文件:特点:Linux系统中的一切都是文件


Linux命令中常用的一些英语单词:
NAME 命令的名称
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 选项
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史

 


原文地址:https://www.cnblogs.com/GaoNa/p/9495183.html