Linux简介及常用命令
Linux简介
一、计算机的组成
计算机的硬件是由:**主机、输出设备(显示器)、输入设备(键盘和鼠标)**三大件组成。
主机是最重要的设备,在主机箱中有:主板、CPU、内存、电源、显卡、声卡、网卡、硬盘、软驱、光驱等硬件。
主板:就是平台,内存,显卡,硬盘,光驱通过数据线或者直接装配组成一个整体。主板的生产企业主要是国外的。例如 NVIDIA,ATI,AMD,INTER等。
CPU:相当于人的大脑,发出各种命令协调计算机的各个部分工作。CPU的主要供应商是 AMD和 Intel。AMD有速龙,瑞龙,宵龙等;Intel 有低端的赛扬,奔腾,高端的酷睿等。
内存:放置程序需要的数据。内存数据在关机后不保存。主要有DDR,DDR II,DDR III。品牌三星,东芝,金士顿等。DDR是双倍速率同步动态随机存储器是一种内存数据读写技术。
硬盘:是存放所有的数据,程序文件,歌曲,电影等的。在关机后数据是保存的。常见的有西部数据,希捷硬盘,三星硬盘,东芝等。
显卡:是把图像,图形送到显示器上。有独立显卡和集成显卡。主要的品牌 NVIDIA 和 ATI。
声卡:输出媒体声音的。
网卡:在局域网或 internal 上发送和接收数据
二、操作系统
操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在 “裸机” 上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资
源,同时按着应用程序的资源请求,为其分配资源,如:划分CPU时间,内存空间的开辟,调用打印机等。
操作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,显示器,键盘设备和鼠标等。信息资源指的是存放于计算机内
的各种数据,如文件,程序库,系统软件和应用软件等。
操作系统分类:
- Windows操作系统:微软公司Windows操作系统,例如常用在个人计算机的Windows XP,Windows Vista,Windows 7,Windows 8,Windows 10等。用在服务器端的Windows Server 2003,Windows Server 2008等。
- Unix 和类Unix(Linux)操作系统:unix 系列的SUN Solaris,IBM-AIX,HP-UX,FreeBSD等,类Unix(Linux)的 Red Hat Linux,CentOS,Debian,Ubuntu 等
- Mac操作系统:是苹果公司推出的个人电脑系列产品,由苹果公司设计、开发和销售。苹果公司不但生产Mac的大部分硬件,Mac所用的操作系统都是它自行开发的。有自己的处理器,自己的显示器等。MAC系统基于UNIX 的核心系统增强了系统的稳定性、性能以及响应能力。
三、Linux操作系统
Linux 内核 kernel 最初是由芬兰人 李纳斯 ● 托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。在1991年10月5日第一次正式向外公布。
在 Linux发布之前,有一种操作系统叫 unix,由于价格昂贵不开放源码,所以李纳斯●托瓦兹(Linus Torvalds)决心要开发自己免费的操作系统,Linux 借鉴了 unix 的思想,但没有一行 unix 的代码,Linux系统是从unix系统发展出来的。
- Linux英文解释为 Linux is not Unix。现在业界有一种说法叫:类unix
- Linux:有广义和狭义之分
- 狭义的 Linux 指的是 Linux kernel
- 广义的 Linux 指的是 Linux kernel+软件包
1、发行版本
Linux 的发行版就是将 Linux内核与应用软件做一个打包。
目前市面上比较知名的发行版有:RedHat、CentOS、Fedora、Debian、Ubuntu、SuSE、OpenSUSE、TurboLinux 等
2、应用领域
服务器领域:互联网应用,java应用,php应用多数都使用 Linux的服务器
嵌入式设备:例如 Android
一些政府机构:巴西,俄罗斯,西班牙,葡萄牙,德国,法国等
3、虚拟机介绍
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
虚拟系统通过生成操作系统的全新虚拟镜像,它具有真实操作系统完全一样的功能,在虛拟机中所有操作都是在这个全新的独立的虛拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对其他的系统产生任何影响,而且能够和现有操作系切换。一个物理计算上可以同时运行多个不同的操作系统。
4、Linux目录说明
(1)bin ----> usr/bin:这个目录存放最经常使用的命令
(2)boot:这个目录存放启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
(3)dev:dev 是 Device((设备)的缩写,该目录下存放的是 Linux 的外部设备,Linux 中的设备也是以文件的形式存在
(4)etc:这个目录存放所有的系统管理所需要的配置文件
(5)home:用户的主目录,在 Linux 中, 每个用户都有一个自己的目录,一般该目录名以用户的账号命名
(6)lib ---->user/ib:这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库
(7)mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容
(8)opt:这是给 Linux 额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空
(9)root:该目录为系统管理员目录,root 是具有超级权限的用户
(10)tmp:这个目录是用来存放一些临时文件的
(11)usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows下的 program files 目录
(12)var:这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件
5、远程工具
实际工作中,Linux 系统都不会在我们自己的电脑上,Linux 系统安装在机房的服务器上,我们操作 Linux不可能跑到机房去,所以我们需要有一个工具,能在公司通过网络远程连接到机房的 Linux服务器上
- XShell/Xftp:官网下载:https://www.netsarang.com
- SecureCRT:官网下载:https://www.vandyke.com
- putty:下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- WinSCP:下载链接:https://winscp.net/eng/download.php
XShell,SecureCRT,putty是远程工具
Xftp,WinSCP 是文件管理工具
Linux 命令
Linux服务器端一般是命令行界面,通过命令和 Linux系统交互。通过命令进行各种操作。
常用的命令分类:磁盘管理;文件管理;系统设置;压缩/解压;网络通讯;网络访问;权限管理;管道和重定向;vi 编辑命令;安装软件命令。
一、磁盘管理
1、切换目录:cd目录名
(1)由当前目录切换到/usr/local
例如:cd /usr/local
(2)回到根目录(类似于我的电脑)
例如:cd /
注意:第一个字母 “ l ”,表示软链接(即快捷方式)
2、列出当前目录下目录及文件:lI,ls
(1)列出目录下的详细内容(相当于Windows的列表查看)
例如:
在当前目录下执行 ls(简化版的 ll,只显示所有文件名)
在当前目录下执行 ll
注意:
- 第一个字母为 “ - ”,代表是文件
- 第一个字母为 “ d ”,代表是目录(即文件夹)
(2)使用 II 目录名查看指定目录下的文件和目录列表
3、显示当前所在目录位置:pwd
例如:在当前目录下执行pwd
二、文件管理
1、创建目录:mkdir 目录名
例如:mkdir test
查看创建的目录 Is
2、删除文件或目录 rm,rm -rf
(1)使用 rm 删除文件
例如:rm a.txt
在 home 目录执行 echo “linux” > a.txt 创建一个 a.txt 的文件(代表将屏幕上的信息重新输入到文件中,相当于创建文件的快捷方式)
注意:echo “linux”,代表在屏幕上打印信息,如下图所示
在执行 rm a.txt 回车后,系统会提示是否删除确认
在提示位置输入 y,表示同意,文件删除。输入 n 取消删除操作
(2)不用确认的直接删除
例如:
rm -rf test/(表示删除文件夹)
rm -f a.txt(表示删除文件)
3、复制文件命令cp , cp -rf
(1)复制文件:a.txt 是新的文件名
语法:cp 被复制的文件名 新文件名
例如:cp a.txt b.txt
重复执行名,询问是否覆盖
输入“ y " 同意覆盖,输入 “ n ” 取消操作
(2)复制文件到目录
(3)复制文件夹
语法:cp -rf 文件夹 新的文件夹名
例如:cp -rf test/ btest
4、查看文件全部内容:cat 文件路径
例如:cat anaconda-ks.cfg
5、分页查看文件内容:more 文件路径
逐屏输出(按空白键space就往下一页)、 Enter(一行一行展示)
注意:Ctrl + c(表示强制退出该命令)
6、查看文件开头的n行数据:head -n 数字
(1)例如:head /root/anaconda-ks.cfg(默认是10行)
(2)指定文件显示 n 行:head -n 5 anaconda-ks.cfg(head -5 anaconda-ks.cfg),两种写法皆可
7、显示文件尾部的n行数据tail -n 数字,默认是10行
(1)例如:tail /root/anaconda-ks.cfg
(2)例如:显示文件尾部指定的n行
8、文件内搜索:grep
在文件中(可以多个文件同时)搜索字符串,可以使用正则表达式
语法:grep [参数] 搜索的字符串内容 文件名1 [文件n]
准备一个文件 a.txt,内容如下。b.txt 内容同 a.txt
(1)搜索文本 spring:grep spring a.txt
(2)搜索字符串:grep “css img” a.txt
注意:搜索内容中有空格时,需放在引号当中
(3)参数内容
参数 | 解释 |
---|---|
-i | 不区分大小写 |
-w | 以独立单词形式出现 |
-iw | 不区分大小写,同时又以独立单词形式出现 |
(4)使用正则表达式搜索内容
(5)在多个文件中搜索
三、系统命令
1、显示系统日期和时间:date
显示系统当前时间,例如: date
2、切换用户:su 用户名
以其他用户身份使用系统,(类似windows10系统,有些程序以管理员身份执行)
(1)从root 用户切换到普通用户(使用安装centos时的普通用户centos)
例如:以root 用户登录系统,执行su centos
注意命令提示符 “#” 变为 “$”,[email protected] 变为 [email protected]
(2)从普通用户切换到 root 用户,需要输入 root 用户密码
例如:su root
3、清空屏幕:clear
4、重启系统:reboot
5、关机:shutdown -h now
6、查看系统进程:ps -ef
ps [命令参数]
常用参数:
- -e:显示当前所有进程
- -f:显示UID,PPID,C 与 STIME 栏位信息
- UID:拥有改程序的用户
- PID:程序的进程 id
- PPID:父进程的 id
- C:CPU使用的资源百分比
- STIME:系统启动时间
- TTY:登录系统的终端位置(客户端的标识)
- TIME:使用掉的 CPU 时间
- CMD:进程是有哪些程序启动的
(1)查看系统当前运行的进程(程序)
例如:在任意位置执行 ps -ef
7、kill进程:kill
例如:kill pid:杀掉进程
kill -9 pid:强制杀掉进程
例如:先使用 ps -ef 查询进程 id,然后再使用 kill pid,这是例子不要真的执行
不能使用 kill pid杀 掉的进程使用 kill -9 pid
不能随意使用,会被系统进程杀掉,程序不能使用
四、压缩/解压
1、tar压缩(归档)
tar用来压缩和解压文件,tar压缩后的文件也叫归档文件。
语法:tar参数要压缩或解压的文件或目录
常用参数::
- z:使用压缩,生成的文件名是 xx.tar.gz,这是 Linux中常用的压缩格式
- c:创建压缩文档
- v:显示压缩,解压过程中处理的文件名
- f:指定归档文件名,tar 参数后面是归档文件名
- x:从归档文件中释放文件,就是解压
- t:列出归档文件内容,查看文件内容
- C:解压到指定目录,使用方式 -C 目录,C是大写的
(1)创建归档文件(压缩)
语法:tar -zvcf 归档文件名 要归档文件列表
例如:tar -zcvf txtfile.tar.gz aa.txt
(2)归档多个文件
例如:tar -zvcf txtf2.tar.gz a.txt b.txt
2、查看归档(压缩)文件
显示压缩文件的内容。
语法:tar -tf 归档文件名
- t:列出归档(压缩)文件的内容
- f:归档文件名
例如:tar -tf txtf2.tar.gz
3、tar解压
解压:释放压缩的文件内容
语法:tar -zxvf 已归档的文件名
参数:x:解压,从归档文件中释放文件
(1)解压文件
语法:tar -zxvf txtf2.tar.gz
(2)解压到指定目录
语法:tar -zxvf 已归档的文件名 -C 指定目录
五、网络通讯
1、查看ip信息:ifconfig
语法:ifconfig
例如:在任意位置输入 ifconfig
2、测试网络连通:ping
语法:ping ip或者域名
例如:ping www.baidu.com
注意:ctrl + c(结束当前命令)
六、网络访问
1、curl:使用url访问网络的文件传输工具
curl 是利用URL 语法在命令行方式下工作的开源文件传输工具
常用来:测试网络访问;模拟用户访问
抓取百度的首页内容
例如:curl www.baidu.com
2、wget:下载
wget linux上下载资源的工具,比如下载软件的安装包。一般软件都会给出一个下载地址
语法:wget 下载的资源的地址
例如:下载一个tomcat 软件
首先要得到tomcat 的下载地址,同浏览器下载tomcat,得到下载地址
右键此链接,然后选择复制链接地址。
七、权限管理
1、介绍
权限指用户或程序能够对目录,文件执行的操作。
执行 II 或 ls -l 显示文件和目录详细信息
- -:表示文件
- l:软链接文件(windows 快捷方式)
- d:目录
- c:字符设备文件,一次传输一个字节的设备被称为字符设备。例如键盘,鼠标
Linux 权限机制采用 UGO 模式。其中u(user)表示所属用户、 g(group)表示所属组、o(other)表示除了所属用户、所属组之外的情况。
(1)读权限
读取文件内容,对文件执行cat、more、less这样的查看命令,对目录来说可以读取目录中文件列表
r ----- read 读权限 4
(2)写权限
编辑、新增、修改文件内容
w ----- write 写权限 2
(3)执行权限
进入目录,访问目录中的文件内容
x ----- execute 执行权限 1
(4)常见权限设置
rwx = 4+ 2+1 = 7
常见 644、755、777三种权限
创建文件用户就是文件的拥有者,用户所在的组就是文件的所在组。除了创建文件的用户都是其他用户。root有最高的权限。
2、权限设置
(1)修改文件权限 chmod
语法:chmod UGO 权限文件/目录
例如:先以 root 用户创建文件 a.txt,查看文件的权限,其他用户只要 r 读的权限。centos 对 a.txt来说就是其他用户。
切换到 centos 用户执行,cat a.txt 是没有问题的
修改 a.txt内容,执行 vi aa.txt,在保存文件后报错
切换到 root 用户,进行权限的修改
切换到 centos 用户执行,执行 vi aa.txt 便可有保存文件了
(2)修改文件拥有者 chown
语法:chown 新的拥有者用户 被修改的文件
例如:修改原来 root 拥有的文件 a.txt 改为 centos,拥有者有操作的读写权限。
chown centos a.txt
八、管道和重定向
1、重定向输出覆盖:>
向文件输出内容,文件不存在则新建文件再输出;文件存在先清空文件,再写入内容。
例如:echo “hello” > b.txt
2、重定向输出追加:>>
向文件输出内容,文件不存在则新建文件再输出;文件存在,则新的内容追加到文件的后面。
例如:echo “Linux” >> b.txt
存在文件 b.txt,在原来内容的后面加入新的内容 “ Linux ”。
3、管道:|
管道就是用 “ I ” 连接两个命令,以前面一个命令的输出作为后面命令的输入,用于把管道左边的输出作为右边的输入。
语法:命令1 | 命令2 | 命令n
例如:echo “SSM spring springmvc mybatis” | wc
wc(输出字符串统计单词,字符数)。结果表示有一行数据,4个单词,29个字母
九、vi和vim编辑器
vi 是 Linux下标配的一个纯字符界面的文本编辑器,由于不是图形界面,相关的操作都要通过键盘输入命令来完成,需要记住一些常用的操作命令。
vim 是 vi 的升级版本,完全兼容 vi,vim 也可以完全当成 vi 使用,vim 是在 vi 的基础上增加一些功能,比如语法着色等。
1、启动vi编辑器
语法:vi 文件名
说明:如果文件存在,则打开该文件,如果参文件不存在,则会新建该文件(不是立即创建,而是在保存的时候创建)
2、vi常用操作
vi 操作分为命令模式和编辑模式
- 命令模式:按 Esc 键,进入命令模式,命令模式下无法编辑
- 编辑模式:按 a 或者 i 字母键,进入编辑模式(此时,底部会出现 insert)。在命令模式下按 :wq(冒号键 w键 q键)保存退出,按 :q! 不保存退出
- 从命令模式进入编辑模式按 a 或者 i 字母键
- 从编辑模式进入命令模式按Esc键
编辑文件命令
- dd:删除光标所在行
- yy:复制光标所在行到缓冲区
- p:粘贴缓冲区中的内容
- gg:光标回到文件第一行
- GG:光标回到文件最后一行
- ^ :光标移动至当前行的行首
- $:光标移动至当前行的行尾
- /关键字:按斜杠 /键,可以输入想搜索的字符,然后确定进行搜索,如果第一次查找的关键字不是想要的,可以一直按 n键往后查找到想要的关键字为止
十、安装软件命令
1、yum命令介绍
yum:Yum(全称为 Yellow dog Updater, Modified):是一个在RedHat、Fedora 以及CentOS 中的一种软件包管理器,能够从指定的服务器自动下载软件包并且进行安装,可以自动处理软件包之间的依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次载、安装。
2、yum使用
查找软件包命令:yum search 安装包名称中的部分关键字
例如:yum search java
(1)安装指定的软件命令:yum install 安装包名称
安装 openJdk,开源的 java 虛拟机。
例如:yum install java-1.7.0-openjdk
(2)删除软件包命令:yum remove 安装包名称
删除 openJdk
例如:yum remove java-1.7.0-openjdk
(3)列出所有已安装的软件包命令:yum list installed
(4)清除已安装软件包的下载文件命令:yum clean all
yum命令下载的安装包都放在 /var/cache/yum目录