window的shell是写在内核
GUI : 图形用户界面
CLI :
内核功能:
进程管理
内存管理
文件系统
网络功能
硬件驱动
安全机制
虚拟机的安装:
指定的网段: 192.168.1.33
设置linux的boot的属性值:
linux ip=192.168.1.33 netmask=255.255.0.0 getway=192.168.0.1 dns=192.168.0.1 ks=http://192.168.0.1/class.cfg
ks=hd:scd1:/isolinux/ks.cfg
Linux的基本原则:
1.由目的的单一的小程序组成,组合小程序完成复杂任务;
2.一切皆文件
3.尽量避免捕获用户接口
4.配置文件保存为纯文本格式
GUI接口:
CLI接口:
命令提示符,prompt
#:root
$:普通用户
IDE:集成开发环境
虚拟终端(terminal): ctrl+alt+f1-f6
GUI:
Gnome:C
KDE:C++
XFace
指令:
root student
su:switch user
# su [-l] 用户名
例子: root -->(切换student) su student-->(再往回切root)exit
[su -l student 切换到student就exit不回到root了]
pswwd:修改密码
1.使用4种类别字符中至少3种
2.足够长,大于7位
3.使用随机字符串
4.定期更换
5.循环周期足够大
ls : list(列表)
pwd : printing working directory(打开对应的目录)
ls:
-l:长格式
文件类型:
-:普通文件(f)
d: 目录文件
b: 块设备文件(block)
c:字符设备文件(character)
l:符号链接文件(symbolic link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
文件权限:9位,每3位一组,每一组rwx(read,write,执行)
文件硬链接的次数
文件的属主(ower)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp) :最近一次被修改的时间
访问:access
修改:modify 文件内容发生改变
改变:change metadata 元数据
-h:做单位转换
-a:显示以.开头的隐藏文件
.表示当前目录
..表示父目录
-A
-d: 显示目录自身属性
-i : index node,inode
-r :逆序显示
-R:递归(recursive)显示
cd : change directory 切换当前目录
家目录 主目录 home directory
cd ~username:进入指定用户的家目录
cd - 当前目录与下个进入的目录来回切换
命令类型:
内置命令(shell内置) 内部,内建
外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件
环境变量:命名的内存空间
printenv
变量赋值
NAME=Jerry
PATH:使用冒号分割的一堆路径
type:显示指定属于哪种类型
date:时间管理
Linux:rtc硬件时钟获取准确时间
获取命令的使用帮助:
内部命令:
help COMMAND
外部命令:
COMMAND --help
命令手册:manual
man COMMAND
man 数字 read 【对应的数字代表的是对应的版本数字】
分章节:
1.用户命令
2.系统调用
3.库用户
4.特殊文件(设备文件)
5.文件格式(配置文件的语法)
6.游戏
<>:必选
[]:可选
|:多选一
{}:分组
MAN:
NAME:命令名称 及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONSL:说明每一个选项的意义
FIFLES:此命令相关的配置文件
BUGS
EXAMPLES:使用示例
SEE ALSO:另外参照
翻屏:
向后翻一屏:SPACE
向前翻一屏:b
向后翻一行:ENTER
向前翻一行:k
查找:
/关键字:向后
n:下一个
N:前一个
?关键字:向前
n:下一个
N:前一个
:q退出
info 命令:获取在线API
文档:/usr/
练习:
1.使用date单独获取当前系统当前的年份,年份,日,小时,分钟,秒钟
date +'%Y-%m-%d %H:%M:%S'
2.echo是内部命令还是外部命令
help echo[内部命令]
3.其作用
ehcho the string(s) to standard output
4.如何显示This year is 2017,This last year is 2016为2行
echo -e 'This year is 2017,\nLast year is 2016.'
5.printf是内部命令还是外部命令
help printf
6.其作用
According to format,or execute according opption.
7.如何显示This year is 2017,This last year is 2016为2行
printf 'This year is 2017,\nLast year is 2016.\n'
8.file命令及用法
WIndows:PE
Linux:ELF
文件系统:
rootfs:根文件系统
FHS:Linux
/boot:系统启动相关的文件,如内核,initrd,以及grub(bootloader)
/dev:设备文件
设备文件:
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为:/home/username
/root管理员的家目录
/lib:库文件
/lib/modules:内核模块文件
动态库:.a
静态库:(window).dll .so(linux)-->(share object)
/media:挂载点目录[把某个设备放到系统某个文件里面,才可以进行让程序进行访问,这个叫做挂载]
/mnt:挂载点的目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件【性能调优的目录】
/sys:伪文件系统,跟硬件设备相关的属性设备文件
/temp:临时文件 /var/temp
/var:可变化的文件
/sbin:管理命令
/bin:可执行文件,用户命令
/usr:[univiser shared read-only:全局只读共享]
/usr/bin
/usr/sbin
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
命名规则:
1.长度不能超过255个字符
2.不能使用/当文件名
3.严格区分大小写
相对路径:
直接文件名称
绝对路径:
以斜杠开头的路径
Linux里一切皆文件;
1.文件管理
A.目录管理
ls
cd
pwd:查看对应的目录
mkdir:创建空目录
-p:即使没有对应的文件也是可以从头到尾节点进行创建
-v: verbose【详细信息】
mkdir是直接创建要存在的文件当中进行创建文件目录
mikdir -p 即使没有相应的文件都可以创建,从跟根到往下创建
mkdir -pv 文件名称 可以创建文件,并告诉你对应的详情
1.同时创建对应目录下: x/y/z/A,x/y/B [一个指令完成]
mkdir -pv x/y/{z/A,B}
2.【linux十大经典指令】
同时进行创建多个文件的目录,为对应:x/k/p/a_b,x/k/p/a_c,x/k/p/d_b,x/k/p/d_c
这是一道:(a+d)(c+b)
mkdir -pv x/k/p/{a,d}_{c,b} (此指令可以直接创建4个对应的目录内容)
删除目录:rmdir (remove directory)
但是只能删除空目录
-p
B.日期时间
date,clock,hwclock,cal(日历)
C.文件管理
文件创建和删除
创建文件:
touch 文件名【touch本身是修改对应文件的时间戳】
touch -a 文件名:修改对应的访问时间
touch -m 文件名:修改对应的修改时间
touch -t 文件名:
touch -c 文件名:不创建文件
stat 文件名称:显示对应文件的详情的内容
file 源文件:查看源文件的信息内容
创建文件,可以使用文件编辑器
ASCII:[标准化]
128不同的字符
二进制:
2^6=0,63
2^7=0,127【ASCII】
2^16=65536[汉语 字符编辑器]
标准:GB18030,GBK,GB2312,Unicode(全世界标准编码方式)
文本编辑器:nano
删除文件:rm
-i:删除前需要确认
-f:不提示信息删除
-r:递归删除对应目录下的所有文件
复制和移动文件:
cp:copy
cp src(源文件) dest(目标文件)
cp file1 file2 file3
一个文件到一个文件
多个文件到一个目录
-r
-i
-f
-P:
-L:保持着文件的自身的属性
-a:归档复制,常用于备份
mv:move
移动文件
mv 源文件 目标文件
mv -t 目标文件 源文件
install
-d directory...:创建目录
install 源文件 目标文件
install -t 目标文件 源文件
tree:查看目录树
查看文本:
cat ,tac,more,less,head,tail
cat 源文件名:连接并打印,打印对于的文件的名称
-n:显示对应的行号与显示内容
-E: 显示行结束符$,Linux的行结束符$,window是$$+回车结束,也是导致Linux的文件在Windws打开只有一行显示
【For Example:cat -n /etc/rc.d/rc.sysinit】
tac 源文件:打开文件
more 源文件:进行翻页处理文本
只能向后翻
【说明:跟man指令翻页差不多,enter是下一行,空格是下一页,但是向前翻不能使用的】
less:跟man的翻页一样【比more更加好用】
head 源文件:打开源文件默认前10行
【打开前7行:head -n 7 源文件 或者 head 7 源文件】
tail 源文件:打开源文件默认后10行
-f:查看文件尾部,不退出,等待显示后续追加至此文件新内容
文本处理:
cut,sort,join,sed,awk
cut 源文件:剪切文件内容
-d:指定字符分割符,默认空格
-f:指定要显示的字段
-f 1,3:切割的1和3字符值
-f 1-3:切割的1到3字符值
【For Example:cut -d : -f 1,2 /etc/passwd】
sort 源文件:文本进行排序 [ASII码进行排序]
-n: 进行排序(顺序)[字符或者数字来排]
-r : 倒叙排序(降序)
-t : 字段分割符
-k: 以哪个字段为关键字进行排序
-u: 排序后相同的行只显示一次(unique)
-f:排序时忽略字符大小写
uniq:
-c:显示文件中行重复的次数
-d:只显示重复的行
文本统计:wc (word count)
-1
-w
-c
-L
字符处理命令:tr -->转换或删除字符
tr [option]...SET1,SET2
-d:删除出现在字符集中的所有字符
for example:
tr ab AB(a被改成A,b被改成B,一一对应)
bash及其特性:
shell:外壳
GUI:Gnome,KDE,Xfce
GLI:sh,csh,ksh,bash,tcsh,zsh
进程与程序:
进程,在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序的执行实例
执行bash,在bash,执行pstree,可以查看父shell与子shell,但是他们互不干扰
bash特性:
1.命令历史,命令补全
2.管道,重定向
3.命令别名
4.命令行编辑
5.命令行展开
6.文件名统配
7.变量
8.编程
--->
A.命令行编辑
光标跳转:
ctrl+a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标到行首
ctrl+k:删除光标到命令行尾
ctrl+l:清屏
B.命令历史
查看命令历史:history
history
-c:清空命令历史
-d:
for example:
history -d 500删掉第500行的指令历史
history -d 500 10 删掉第500行到往后10行的历史
-w:保存命令历史至历史文件中
环境变量
PATH:命令搜索历史
HISTSIZE:命令历史缓冲区大小
命令行历史的使用技巧:
!n:执行命令历史中的第n条命令
!-n:执行命令历史中的倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指令字符串开头的命令
!$:引用前一个命令的最后一个参数
Esc+.
Alt+.
C.命令补全[命令搜索路径上查找],路径补全[对应目录上查找]
tab一下进行补全
tab2下进行提示命令名称
D.命令别名
alias 定义别名='系统的命令名 [参数1,参数2...]'
for example:
alias cls=clear -->将windows的cls清屏划等于linux的clear指令
周期:
在shell中定义的别名仅在当前shell生命周期有效,别名的有效范围仅为shell进程
ualias 定义别名
E.命令替换【重点方便使用的】
$(command)
把命令中的某个子命令替换为其执行结果的过程
for example:
1.echo "$(pwd)" --- echo /home/samlai
2. 建立一个当前时间的文件名,以-连接
touch file-$(date +%F-%H-%M-%S).txt ----- file-2017-02-08-08-03-30.txt
F.bash支持的引号
' ':强引用,不完成变量替换
" ":弱引用,可以实现变量替换
反引号 反引号:命令替换
G.文件名通配,globbing
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc]:a或者b或者c
[a-m],[0-9],[a-zA-Z],[0-9a-zA-Z]:代表的是一个区间
[:space:]:代表的是空格
非空格: ls [^[:space:]]
[:punct:]:标点符号
[:lower:]:小写字符
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
以上的匹配符可以通过 #man 7 glob
[^] :匹配指定范围之外的任意单个字符
for example:
1.创建a12234,cd45,t5,jsd,5j5,f7,k83d,3423,sd,y u等文件
touch a12234 cd45 t5 jsd 5j5 f7 k83d 3423 sd y u
2.显示所有以a或m开头的文件
ls [am]*
3.显示所有文件名中包含了数字的文件
ls *[0-9]*
4.显示所有以数字结尾且文件名称不包含空白的文件
ls *[^[:space:]]*[0-9]
5.显示文件名中包含了非字母或者数字的特殊符号的文件
ls *[^[:alpha:]]*
文本处理:
cat,more,less,head,tail,cut,sort,uniq,grep
管道和重定向:
> < >> <<
用户,组,权限
bash及其特性
D.权限管理
文件权限:9位,每3位一组,每一组rwx(read,write,执行)
每组代表对象:
1.文件的属主(ower)
2.文件的属组(group)
3.文件的组外
文件:
r:可读,可以使用类似cat等命令查看文件内容
w:可写,可以编辑或者删除此文件
x:可执行,exacutable,可以命令提示符下当作命令提交给内核运行
目录:
r:可以对此目录执行ls以列出内部的所有的文件
w:可以在此目录创建文件
x:可以使用cd切换此目录,也可以使用ls -l查看内容文件的详细信息
rwx:
r--:只读
r-x:读和执行
---:无权限
0 000 ---:无权限
1 001 --x:执行
2 010 -w-:编辑
3 011 -wx:写和执行
4 100 r--:只读
5 101 r-x:读和执行
6 110 rw-:读写
7 111 rwx:读写执行
用户:UID,/etc/passwd
组:GID,/etc/group
影子口令:[对应的passwd就是密码放在这个文件都当中]
用户:/etc/shadow
组:/etc/gshadow
用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000
用户组类别第一种分法:
管理员组:
普通组:
系统组
一般组
用户组类别第二种分法:
私有组:创建用户时,如果没有为其指定所属的组,系统会为其创建一个与用户同名的组
基本组:用户的默认组
附加组:额外组,默认组以外的其他组
for example:
(每个指令执行即为进程,其发起者决定其用户的权限)
进程:tom tom(tom属主 tom属组)
对象:rwxrw-r-- jerry tom a.txt
最终系统会执行:rw-的权限
解释:
执行对象a.txt首先会比对其属主jerry是不是等于发起者tom,是就为rwx
不是则比较的是tom发起者是否在对象的属组上,是就为rw-,不是则r--
查看的/etc/paswd文件内容:
指令:
whatis pwsswd:可以查看其在man当中的第几个章节,得出是第5个
man 5 passwd:可以查看其章节对应的结构
由指令看出结构内容:
account:登录名
password:密码
UID:用户的id
GID:基本组的id
comment:注释
Home DIR:家目录
SHELL:用户的默认shell
查看/etc/shadow文件内容:
指令:man 5 shadow
查看结构内容:
account:登录名
encrypted passwod:加密的密码
在Linux上显示是这样:
$1$xsdsd$sdsdji=YUD_sr34+34
说明:$进行隔开,分为3部分
1.标示符,用户的标示符
2.salt进行给对应md5算法进行混淆干扰加强安全保密性
3.就是salt+明文进行md5的产物
加密方法:
对称加密:加解密使用同一个密码
非对称加密:每个密码都成对出现,一个私钥,一个公钥,可以是私钥加密,也可以公钥加密
单向加密:散列加密:提取数据特征码,常用于数据校验的完整性
特点:
1.雪崩效应:有一个基础不一样的条件,整个结果都不一样
2.定长的输出:
MD5:Message Digest,128定长
SHA1:Secure Hash Algorithm,160位定长输出
for example:
1. md5sum 文件名称
nano对应的文件名称,进行修改某个字符串
md5sum 修改过的文件
一对比是不一样的
2.passwd 对应用户名:进行修改用户名
tail -l /etc/passwd:查看对应密码文件的后面字符
2.运行程序
3.设备管理
4.软件管理
5.进程管理
6.网络管理
ls /boot
hwclock
-w:以时钟为准
-s:以系统为准
-r:读取时钟的时间
hwclock -w
cal 年份:xx年的日历
练习:
【学习三种境界:王国维-->1.确定目标 2.坚持 3.冷板凳的坚持】
1.描述GPL,BSD,Apache三个开源协定的大体联系与区别
自由软件
开源协定,版权描述
2.如何获取Linux当前最新的内核版本号
www.kernel.org
3.列出你所了解的LInux发行版,并说明其跟Linux内核的关系
Linux,GNU:GNU/Linux,源代码
发行版:
RedHat(CentOS),Fedora,SuSE,Debian(Ubuntu,Mint),Gentoo,LFS(Linux From Scratch[自身构建Linux])
查看本机的ip地址是: -->linux
ifconfig -a
Linux--基本指令
最新推荐文章于 2025-08-01 16:34:50 发布

997

被折叠的 条评论
为什么被折叠?



