1、Linux内核最初只是由芬兰人林纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。(Unix)
2、Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
3、Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1、开源:用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。(!=免费)。
2、多用户:各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。
3、多任务:可以多个程序同时独立地运行。
4、良好的界面:Linux同时具有字符界面和图像界面。建议大家使用字符界面(也被称为命令行界面)。
5、支持多平台:可以在多种硬件平台上安装和运行,如X86或嵌入式系统
Linux的发行版说简单点就是将Linux内核与应用软件做一个打包
1.RedHat Linux:红帽企业级Linux,它有众多的程序支持,同时也可以提供技术服务,由于他是商业化产品,所有不是免费的。
2.CentOS:一款企业级Linux,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标,免费版。
3.其他: Ubuntu、Debain、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等
Ø1.4.3.Linux应用领域
从嵌入式设备到超级计算机,并且在服务器领域使用非常多。
1.Linux系统的目录是一个倒树型的结构,最大的目录是/(根目录).
2.二级目录作用如下:
/bin:二进制可执行文件,系统常规命令。
/boot:启动目录,存放系统自动启动文件、内核、初始化程序。
/dev:系统设备管理文件。
/etc:大部分服务的配置文件。
/home:普通用户的家目录。:存放普通用户的主目录。
普通用户的家目录包含在超级用户的家目录中。
在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
/lib:函数库:系统开机所需要最基本的动态连接库。几乎所有应用程序都需要用到这些共享库。
/lib64:64函数库:等同lib。
ls命令来自英文单词”list“的缩写,中文译为“列出”,其功能是用于显示目录中文件及其属性信息,是最常被使用到的Linux命令之一。
ls [参数] [文件名]
依据文件内容大小进行排序,显示指定目录中文件名及其属性详情信息
cp命令来自英文单词“copy”的缩写,中文译为“复制”,其功能是用于复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记添加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。
cp [参数] 源文件名 目标文件名
复制指定源目录,并定义新目录名称
复制文件时,保留其原始权限及用户归属信息
将指定文件复制到/etc目录中,并覆盖已有文件,不进行询问
将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖
mkdir命令来自英文词组”make directories“的缩写,其功能是用来创建目录文件。使用方法简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需要加入-p参数,进行递归操作。
mkdir [参数] 目录名
创建一个目录文件并设置700权限,不让除所有主以外任何人读、写、执行它
在系统根目录中,一次性创建多个有嵌套关系的目录文件
mv命令来自英文单词”move“的缩写,中文译为”移动“,其功能与英文含义相同,能够用于对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令,我们需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作,文件位置发生变化,但总个数并无增加。 而在同一个目录内对文件进行剪切的操作,实际应理解成重命名操作
mv [参数] 源文件名 目标文件名
1.4.3.参考示例
将/home目录中所有的文件都移动到当前工作目录中,遇到已存在文件则直接覆盖
1.5.pwd命令 显示当前工作目录的路径
pwd命令来自英文词组“print working directory”的缩写,其功能是用于显示当前工作目录的路径,即显示所在位置的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作
pwd [参数]
tar命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件。对于RHEL7、CentOS7版本以后的系统,解压缩时可以不添加格式参数(如z或j),系统也能自动进行分析并解压。
把要传输的文件先进行压缩再进行传输,能够很好地提高工作效率,方便分享
tar 参数 压缩包名 [文件或目录名]
使用gzip压缩格式对指定目录进行打包操作,显示压缩过程,压缩包规范后缀为.tar.gz
cat命令来自英文词组”concatenate files and print“的缩写,其功能是用于在终端设备上显示文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head……等等,每个命令都有各自的特点。cat命令适合查看内容较少、纯文本的文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+c键中断命令执行,所以对于大文件,干脆用more命令吧
cat [参数] 文件名
echo命令来自英文单词“回声”,其功能是用于在终端设备上输出指定字符串或变量提取后的值,能够给用户一些简单的提醒信息,亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息再来进行二次处理,又或是同输出重定向符一起操作,将信息直接写入到文件中。
如需提取变量值,需在变量名称前加入$符号做提取,变量名称一般均为大写形式。
echo [参数] 字符串或$变量名
rm命令来自英文单词“remove”的缩写,中文译为“消除”,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。
rm也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行rm -rf /*命令则会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确认下在哪个目录中,到底要删除什么文件,考虑好后再敲击回车键,时刻保持清醒的头脑。
rm [参数] 文件名
强制删除文件而无需二次确认
删除指定目录及其内的全部子文件,一并都强制删除
【离职小妙招,谨慎!!!】强制清空服务器系统内的所有文件 , 一般不要使用!!!
grep来自英文词组“global search regular expression and print out the line”的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。
与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作是标准搜索命令,那么egrep则是扩展搜索命令,等价于“grep -E”命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于“grep -F”命令,不支持正则表达式,直接按照字符串内容进行匹配。
grep [参数] 文件名
tail命令的功能是用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾十行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。
高阶玩法的-f参数作用是持续显示文件的尾部最新内容,类似于机场候机厅的大屏幕,总会把最新的消息展示给用户,对阅读日志文件尤为适合,再也不需要手动刷新了。
tail [参数] 文件名
find命令的功能是用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员日常工作必须掌握的命令之一。
find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate……等的有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,会相对消耗较多的系统资源
find [路径] [条件] 文件名
在/var/log目录下搜索所有指定后缀的文件,后缀不需要大小写
ps命令来自英文单词“process”的缩写,中文译为“进程”,其功能是用于显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源使用占比(处理器与内存)、运行状态等等。帮助我们及时地发现哪些进程出现“僵死”或“不可中断”等异常情况。
经常会与kill命令搭配使用来中断和删除不必要的服务进程,避免服务器的资源浪费。
ps [参数]
结合管道操作符,将当前系统运行状态中指定用户的进程信息过滤出来
systemctl stop firewalld.service
systemctl start firewalld.service
systemctl status firewalld.service
若无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
systemctl enable firewalld.service
systemctl disable firewalld.service
systemctl status firewalld
#(–permanent永久生效,没有此参数重启后失效) #注:可以是一个端口范围,如1000-2000/tcp
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=80/tcp
firewall-cmd --zone=public --remove-port=80/tcp --permanent # 或
firewall-cmd --permanent --remove-port=123/tcp
firewall-cmd --list-port
vim /etc/profile
export JAVA_HOME=/home/language/jdk1.8.0_201
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
source /etc/profile