目录
1、程序是什么?
是指计算机程序,是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具;
2、内核是什么?
内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。
3、shell是什么?
(1)Linux系统中运行的一种特殊程序;
(2)在用户和内核之间充当“翻译官”;
(3)用户登入Linux系统时,自动加载一个shell程序;
(4)Bash是Linux系统中默认使用的shell程序;
系统支持的shell:
4、Linux命令的分类:
内部命令 | 外部命令 |
集成于shell解释器程序内部的一些特殊指令,也称为内建指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
内部命令>缓存命令>外部命令;
5、Linux测试网络是否通顺:
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
设置网络属性:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.59.129
NTMASK=255.255.255.0
GATEWAY=192.168.59.2
DNS=8.8.8.8
测试:ping www.baidu.com
Ping自己网关:ping 192.168.59.2
PING 192.168.59.2 (192.168.59.2) 56(84) bytes of data.
64 bytes from 192.168.59.2: icmp_seq=1 ttl=128 time=0.339 ms
64 bytes from 192.168.59.2: icmp_seq=2 ttl=128 time=0.168 ms
64 bytes from 192.168.59.2: icmp_seq=3 ttl=128 time=0.251 ms
64 bytes from 192.168.59.2: icmp_seq=4 ttl=128 time=0.161 ms
64 bytes from 192.168.59.2: icmp_seq=5 ttl=128 time=1.02 ms
64 bytes from 192.168.59.2: icmp_seq=6 ttl=128 time=0.150 ms
(1)桥接:相当于虚拟机和真机之间架了一座桥,虚拟机需要配置和真机在同一网段(常用vm0)
(2) NAT虚拟系统借助NAT (网络地址转换)功能,通过宿主机器所在的网络来访问公网(常用vm8)
(3)仅主机虚拟机和物理机在一 个封闭的内网网段中,可以上网。(常用vm1)
[root@localhost ~]#
root//当前用户;localhost//主机名; ~/opt //代表当前目录位置;# //代表管理员用户;
切换用户:su tp //切换到tp用户,$代表普通用户,~代表当前用户的家目录;
reboot //是重启;
Poweroff //关机
6、Linux优点:
(1)一切都是文件。(包括硬件)
(2)系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
(3)当遇到复杂任务,通过不同功能用途的程序组合起来完成。
(4)避免令人困惑的用户界面就是没有复杂的图形界面。
(5)连配置文件都存储在文本中,方便增删改查。
(6)不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
创建文件:
touch 1.txt;vim 11.txt;echo “111” > 22.txt
查看文件内容:
cat 1.txt;
查看语言:
etc# echo $LANG;
zh_CN.UTF-8
7、Linux命令行格式:
1、英文字符区分大小写;
格式:命令字 空格 [选项] 空格 [参数]
解释命令字选项参数各自的意思及具体使用方法
(1)命令字
是整条命令中最关键的一部分
唯一确定一条命令
(2)选项
短格式选项:使用”-”符号引导通常 一个字母
长格式选项:使用”--”符号引导通常完整的单词
(3)参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
编辑Linux命令行的辅助操作
8、Linux快捷键:
Tab建 | 自动补齐(两次可以显示所有选项) |
反斜杠“\” | 强制换行 |
Ctrl+a | 光标移到最前 |
Ctrl+e | 光标移到最后 |
Ctrl+U | 清空至行首 |
Ctrl+K | 清空至行尾 |
Ctrl+w | 当从前光标处删除到开头 |
Ctrl+d | 删除光标定位处 |
Ctrl+L | 清屏 |
Ctrl+C | 取消本次命令编辑 |
Ctrl+s/Ctrl+q | 锁屏/解锁 |
上下键头 | 回看执行过的命令 |
9、获得命令帮助的方法:
(1)内部命令help
查看Shell内部命令的帮助信息
(2)命令的“--help"选项
适用于大多数Linux外部命令
(3)使用man命令阅读手册页
使用“↑”、“↓”方向键滚动一行文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境
按“\”键查找内容
(4)Info也可以查看相关的帮助信息;不会的还可以请度娘;
10、查看当前的工作目录:pwd
11、切换工作目录:cd
命令 | 效果 |
cd ;cd~ | 若不指定目标位置,切换到当前用户的家目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
以"."开头 | 表示以当前的目录作为起点 |
以".."开头 | 表示以当前目录的上一级目录作为起点 |
(1)绝对路径:
绝对路径是指文件在硬盘上真正存在的路径。
(2)相对路径:
所谓相对路径,就是相对于自己的目标文件位置。
12、列表显示目录内容--ls
ls [参数] [目录或文件]
参数:-a:显示所有文件,包括隐藏文件;-A:显示指定目录下的文件但不显示隐藏文件;
-c:按文件的修改时间排序;-l:长格式显示文件的详细信息;
-d:只显示指定目录;-h:友好显示;-R:递归,将当前目录下所有的子目录文件显示出来;
d 目录; - 普通文件; l 代表连接文件;b 代表块文件
c 字节文件; p 代表管道文件; s 代表套节字文件;
13、常用通配符:
?:匹配一个字符
*:匹配所有非隐藏的字符无论多长多短,但不匹配"."开头的文件,即隐藏文件
{1..10}:1到10
{a..z} :abc ...z
{A..Z}A B C....Z
[123]:取其中之一有就显示没有也无所谓
[0-9]:匹配数字范围
\:转义符,表示原来的意思
ls 通常是和通配符配合使用,查找一定条件的文件
14、 设置别名--alias
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
15、统计目录及文件空间占用情况--du:
格式:du [选项] [文件或目录....]
常用选项:
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只是统计目录;
-h:以更人性化的方式(默认KB计数,但不显示单位)显示出统计结果
-s:只统计所占用空间总的大小,而不是统计每个子目录文件的大小;
[root@localhost aaa]# du -ash
du: 不能既显示总用量,同时又显示每个项目;
[root@localhost aaa]# du
4 .
[root@localhost aaa]# du -h
4.0K .
[root@localhost aaa]# du -ah
4.0K ./.1.txt
0 ./2.txt
0 ./3.txt
0 ./22.txt
0 ./222.txt
0 ./f..txt
0 ./..txt
4.0K .
[root@localhost aaa]# du -sh
4.0K .
16、创建新目录--mkdir:
mkdir [选项] 目录位置及名称...
-p:一次性创建嵌套的多层目录
[root@localhost ~]# mkdir bb //在root目录下创建名为bb的子目录
[root@localhost ~]# ls
bb 公共 视频 文档 音乐 anaconda-ks.cfg
initial-setup-ks.cfg 模板 图片 下载 桌面
[root@localhost bb]# mkdir -p cc/dd //在bb目录下嵌套创建子目录cc/dd
17、创建空文件-touch:
(1)更新文件的时间标记;
(2)经常用于创建多个新的空文件;
touch 文件...
(3)示例:
●创建两个空文件,文件名分别为1.txt和2.txt
touch 1.txt 2.txt
三种创建文件的方式:
[root@localhost ccc]# touch 55.txt
[root@localhost ccc]# vim 66.txt
[root@localhost ccc]# echo "1234455543" > 77.txt
[root@localhost ccc]# ls
11 22 33 44 55.txt 66.txt 77.txt
18、创建链接文件--In:
创建链接文件-In
(1)为文件或目录建立链接文件,类似于Windows系统的快捷方式
(2)链接文件类型:
a:软链接(又称为符号链接)
b:硬链接
-s:创建软链接
In [-s] 源文件或目录...链接文件或目标位置
(3)示例:
In -s /bin/bzip2 /bin/wx/
软连接依托于源文件,若源文件没了,那软连接也就失效了;
不允许将硬链接指向目录;
(4)硬链接和软连接的区别:
对比项 | 硬连接 | 软连接 |
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接链接数减少 | 删除新建不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一 ,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径的长度 |
19、复制文件或目录--cp:
将需要复制的文件或目录(源)重建- -份,并保存为新的文件或目录;
cp [选项] ...源文件或目录... 目标文件或目录...
常用选项:
-f:覆盖目标同名文件或目录时不进行提醒,直接强制复制;
-i:覆盖目标同名文件或目录时提醒用户确认;
-p:复制时保持源文件的权限、属主及时间标记等属性不变;
-a:尽可能将文件状态,权限等属性照原状予以复制;
-a的功能比-p的功能更强大;
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录;
20、移动文件或目录--mv:
(1)将指定的文件或目录转移位置;
(2)如果目标位置与源位置相同,则相当于执行重命名操作;
mv [选项] 源文件或目录... 目标文件或目录....
[root@localhost ccc]# ls
11 22 33 44 55.txt 66.txt 77.txt
[root@localhost ccc]# mv 55.txt 66.txt 77.txt /home/tp/ccc/33
[root@localhost ccc]# ls
11 22 33 44
[root@localhost ccc]# ls 33
55.txt 66.txt 77.txt
(1)批量重命名文件:
[root@localhost ccc]# ls 33
55.txt 66.txt 77.txt
[root@localhost ccc]# cd 33
[root@localhost 33]# rename txt txt.bak *.txt
[root@localhost 33]# ls
1.txt.bak 66.txt.bak 77.txt.bak
(2)用mv单个重命名:
[root@localhost 33]# mv 55.txt 1.txt
[root@localhost 33]# ls
1.txt 66.txt 77.txt
21、查找命令/文件存放目录--which
(1)搜索范围由环境变量PATH决定(echo $PATH)
which 命令|程序名 或 which -a 命令|程序名
(2)示例
which Is
which cd
查找:locate *.cfg
[root@localhost ~]# locate *.cfg
/root/anaconda-ks.cfg
/root/initial-setup-ks.cfg
[root@localhost ~]#
特点:模糊匹配,从数据中找;
22、查找文件或目录--find
find:及时查找,精确查找,支持查找的条件比较多;比较慢;
(1)采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
[root@localhost ~]# find /etc -name passwd
命令字 查找范围 匹配条件 文件名
[查找范围]:查找文件或子目录的目录位置;
[查找条件表达式]:查找条件类型;
(2)常用查找条件类型
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”和“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”、"_" 号设置超过或小于指定的大小作为查找条件 常用的容量单位包括kB (注意k是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 文件类型包括普通文件(f) 、目录(d) 、块设备文件(b)、字符设备文件(c) 等 |
(3)使用find命令实现多个查找条件
各表达式之间使用逻辑运算符;
"-a"表示而且;"-o"表示或者
示例:
find /boot -size +1024k -a -name "vmlinuz*"
find /boot -size +1024k -0 -name "vmlinuz*"
总结:
(1)shell在用户和内核之间充当翻译官;
(2)Linux命令分为内部命令和外部命令;
(3)获得Linux命令的帮助可以借助help;
(4)Linux中常用的快捷键;
(5)相对路径和绝对路径;
(6)熟记常用通配符;
(7)熟悉基本命令;