Linux基础知识和命令
一、linux应用领域
1、做桌面应用
2、服务器应用领域
3、嵌入式应用:如:数字电视、程控交换机、手机操作系统、智能家居
Linux目前主流的版本:CentOS 、Red Hat 、Ubantu
虚拟化软件:vmware、kvm
注意:我们安装虚拟化软件的目的就是要用这个软件虚拟一台虚拟硬件的电脑,然后在这个电脑上面安装Linux系统
二、基础知识
1、linux磁盘
IDE磁盘:hd开头,第一块磁盘hda,第二块磁盘hdb,....
SAS/SATA/SSD:sd开头,第一块磁盘sda,第二块磁盘 sdb,....
对应的分区:(1)即对物理的磁盘进行分区(类似于window中的C、D盘),
(2)linux系统中必须有的分区:根分区(/),与系统程序有关。
/boot分区,存放内核程序。
swap分区,虚拟分区,系统内存不够,会把swap当作内存来用
2、Linux系统上面常用的工具软件
(1)下载的工具软件:lrzsz —》安装的命令:yum install lrzsz -y
下载的命令:sz (下载的路径是Xshell软件设置的路径) 上传的命令:rz
(2)
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
3、Linux系统分区介绍
(1)普通服务器的分区
/boot、swap、/ :这种分区方式需要做数据的实时备份
(2)存储服务器的分区 方案
/boot、swap、/、/data(数据分区):
(3)门户网站的分区方案
/boot、swap、/、然后要剩余一点容量留给使用部门来进行分区
3、文件系统—目录
CentOS系统只有一个根目录“/”,然后根目录下面在有其他目录如:boot、home、bin等
理解:在linux系统中,一切皆文件。包括什么光驱、U盘等
三、linux基础命令
1、基础的快捷键
ctrl+a 光标回到命令行首
ctrl+e 光标回到命令行尾
ctrl+k 复制剪切(删除)光标处到行尾的字符
ctrl+u 复制剪切(删除)光标处到行首的字符
ctrl+y 粘贴ctrl+u、ctrl+k删除的文本
ctrl+insert 复制命令行内容
shift+insert 粘贴命令行内容
Esc+. 获取上一条命令的最后的部分(空格分隔)
ctrl+l 清除屏幕的内容,相当于命令“clear”
ctrl+z 暂停执行在终端运行的任务
ctrl+s 锁定终端,使之无法输入内容。ctrl+q 解除终端的锁定
ctrl+w:删除一个单词,从单词尾部开始删除
ctrl+h:删除光标所在处的前一个字符(同退格键)
ctrl+d:删除光标所在处后一个字符
2、llinux的基础命令
(1)帮助命令man和help
man 要帮助的命令
要帮助的命令 --help
注意:man帮助的是普通命令,而help帮助的是内置命令
普通命令:是在系统中存在的文件
内置命令:系统中不存在文件,存在于bash解释器中
怎么查找是否在系统中存在文件?which 命令
(2)关机命令
shutdown -r now :重启 (reboot)
shutdown -h now:关机 (halt)
(3)命令的格式
格式:命令 [参数] [文件或路径]
1)显示当前目录:pwd
可以在“/etc/profile”文件中配置变量,自动显示当前目录:export PS1='[\u@\h `pwd`]\$'
2)cd 切换目录
cd - 去上一次所在的目录
cd ~当前用户所在的家目录
cd . 当前目录
3)tree 以树行结构显示目录,系统默认是没有的需要安装
参数:-L 数字 :只显示某个目录下的几级目录。例如:tree -L 1 /boot
-d :只显示目录不显示文件。例如:tree -d /boot
4)mkdir 创建目录
参数:-p :创建多级目录,如果存在就覆盖
5)touch 创建文件,重复的文件忽略
touch a b c:同时创建多个文件a,b,c。touch {1..10}.txt :同时创建10个文件
注意:{1..10}或{a..d}生成数字序列或者字母序列
6)ls 显示目录下的内容
参数:-l :以长格式显示当前目录下的内容
-a:显示所有的文件包含隐藏的文件
-d:只显示当前目录下的目录,文件不显示
7)cp 拷贝文件或目录。默认是复制文件,要复制目录需要加参数 r
格式:cp [option] source directory
注意:option参数主要是-r,是复制目录的时候需要加的。-a保持文件的属性复制。-p也是保持属性复制
source源文件,如果需要同时复制多个文件到某一个文件夹中,如:cp a.txt b.txt /home
问题:当我们用cp复制时,如果目录中有要复制的源文件这时候就会有一个提示,是否要覆盖,这是因为
我们在执行cp命令的时候系统默认给我们加了参数-i(提示是否覆盖的作用),可以用alias查看
8)alias 查看或设置别名。意思就是我们执行命令的时候有些命令系统默认给我们增加了一些参数,但是这些参数我们是看不到的,执行的时候默认直接执行,可以用alias显示有哪些命令加了。
不用别名的方法:a、在执行的命令前面加“\”
b、用命令的绝对路径。(怎么查到命令的绝对路径:which cp)
设置别名:可以为一些命令设置别名进行提前,比如rm命令可以设置别名
alias rm='rm -i'
9)unalias取消别名
例如 :unalias cp
10)rm 删除文件或者目录
参数: -f 强制删除
-r 递归删除,一般删除多层目录的时候
-i 确认
11)mv 移动目录或文件。(用法和cp类似)
12)echo 输出和打印
参数:-n 不换行输出
-e 支持转义字符
13)runlevel:查看运行级别。或 who -r (注意CentOS7可以用systemctl get-default查看运行级别)
14)init 运行级别:切换运行级别。(注意CentOS7可以用 systemctl set-default multi-user.target(运行级别))
15)cat命令:输出显示文件内容
参数:-n对输出的内容显示行号
16)more:分页显示文件内容
17)less:分页显示文件内容
18)head:显示文件头部,默认显示文件的头部的前10行
参数:-n 显示文件头部的前n行。例如:head -12 /etc/profile
19)tail:显示文件尾部内容,默认显示文件的尾部的后10行
参数: -n显示文件尾部的后n行
-f实时跟踪显示文件尾部的信息
20)tac按行反转文件内容(和cat相反)。rev左右按字符反转行的内容
21)tr:替换或删除字符,注意是字符(严格区分大小写)
格式:tr "被替换内容" "替换的内容" < 文件路径
tr "被替换内容" " "<文件路径;删除被替换内容
22)grep:匹配某一种模式的输出这个模式所在的那一行的内容。过滤的作用
参数:-v :显示不匹配的行的内容即取反(除了满足筛选条件其他的内容都显示出来)
-i:对过滤的内容不区分大小写(只适用于单个字符)
-n:显示匹配行及行号。对过滤的内容在原文件中的行号
-w:按单词为单位来过滤
-o:只显示过滤的内容
-E:grep的扩展,即等于命令egrep。例如:grep -E "to|are" a.txt;同时过滤两个单词
格式:grep -ivw "oldboy" a.txt
23)>:输出重定向,把左边的数据流向到右边并且清空右边的数据(等于:1>)
应用:>a.txt;清空右边的文件
注意:2>:错误输出重定向,箭头方向就是数据流向,把左边的报错信息输出到右边文件中
24)>>:追加输出重定向,把左边的数据流向追加到右边文件中不会清空右边文件
注意:2>>:追加错误输出重定向,箭头方向就是数据流向,把左边的报错信息输出追加到右边文件中
25)<:标准输入重定向,箭头方向就是数据流方向(等于:"0<")
例如:tr "被替换的" "替换的" <a.txt
26)<<:追加输入重定向,箭头方向就是数据流方向
注意:linux系统中:1代表标准输出,0代表标准输入,2代表错误输出
27)2>:错误输出重定向,箭头方向就是数据流向,把左边的报错信息输出到右边文件中
2>>:追加错误输出重定向,箭头方向就是数据流向,把左边的报错信息输出追加到右边文件中
例子:echo "I am boy" 1>> a.txt 2>>a.txt
或:echo "I am boy" >>a.txt 2>&1
或:echo "I am boy" &>>a.txt
28)file:查看文件类型 file a.txt
29)yum provides 命令:查找命令的yum安装包的名称。比如:yum provides tree