1:为什么我们要学习linux基础?
pyhton在后面的编程过程中要大量的使用linux平台,及相关的基础操作,所以我们学习python,我们要掌握linux的相关的基础 知识
2:在linux中一切都是文件
基础命令的介绍
ls 查看当前目录下的文件
ls -a:查看隐藏的文件
ls -l:查看该目录下的文件的详细信息(不包括隐藏文件的信息)
ls -al:查看该目录下的所有文件的详细信息(包含隐藏文件的信息)
查看文件的信息
more 文件:查看该文件的信息
less 文件:查看该文件的信息
tail 文件 tail -1 (tac) 查看该文件的倒数第一行的内容,-x就是查看倒数第几行的信息
head 文件 haed -1 (cat)查看该文件前面的信息 -查看该文件的倒数第一行的内容,-x就是查看倒数第几行的信息前面几行的信息
关闭防火墙的命令
service network stop
开启
service network start
查看防火墙的列表
service network --list
su 切换用户的命令
su - 用户名 : 就是 切换到用户
root :可以切换到任何的用户
cd 回到当前用户的家目录
cd ~(注意中间有空格) 回到当前用户的家目录
cd - (注意中间有空格)返回到上一次的目录
pwd:显示当前的目录结构
相对路径:相对于当前路径的路径
如cd …/tmp
绝对路径:路径是以/开头的是绝对路径
cd /home/python/a.txt
linux中命令帮助命令
man :man ls :我们可以查看该命令的相关的参数
help :查看该命令的相关的简单的介绍(如果要比较详细的介绍用man,info命令)
info :info ls :查看该命令的相关的介绍,是比较详细的。
拷贝命令
cp
cp 要拷贝的文件名 目录
cp a.txt /desk/
拷贝目录的命令
etc/下的a 拷贝到 var 并重名为b
cp -r /etc/a /var/b
a也可以是目录,可以把整个目录进行拷贝
- r 表示递归的拷贝该目录下的文件
删除命令
rm 文件名
rm a :删除a文件
rm -r :删除目录
rm -rf
是可以删除任何文件的。要谨慎的使用该命令
移动和重命名命令
mv
mv /etc/a /var/b
与cp命令类似
重名
mv a b
把a的文件名重名为b
用户和用户组
在linux中如何创建新的用户
命令:useradd 用户名
passwd 密码
列如
useradd tom
passwd 123
即可创建新的用户
如何查看用户的信息
查看该系统所有用户的信息
命令:cat /etc/shadow ,我们可以查看该系统的用户的信息
cat /etc/passwd
,我们可以查看该系统的用户的信息
cat /var/spool/mail
,我们可以查看用户的邮箱的名字
ls /home
我们可以 查看用户家目录
cat /etc/group
查看系统所有用户组的信息
cat /etc/gpasswd
.查看该用户组的密码
usermod -aG group1 group
-G 参数会覆盖之前的组
把group添加到group1组内 -aG追加属组
usermod -d /home/sb bigsb
这是修改用户的家目录的命令
groupmod -g
groupmod -g 501 group
把group添加到501
groupmod -n group1 group2
把group2添加到group1
用户与用户组权限
ls - l插查看该文件的详细信息
权限设置
第一位
-:普通文件
d :目录文件
b :设备文件
l:为超链接
rwx
r:读
w:写
x:表示执行权限
u=rwx
u表示用户本身的权限
g=rwx
g=表示用户组的权限
o=rwx
o表示除用户与用户组外的其他用户的权限
文件执行的三种方式
./a.txt
sh a.txt
. a.txt
目录的权限
查看目录权限的命令:ll-d /ls -ld 目录名
r:查看该目录下文件
w:删除,添加,目录文件
x:可以进去目录里面
在目录的权限中有两个不受权限的限制(root,和创建它的用户)
文件权限的数字化设置
r-》4
w-》2
x-》1
-rwxrwxrwx 777
chmod 777 a.txt
修改文件的属主,属组
chown pyhon. 全部修改为python
chown python 只修改属主
chown .pyhton 只修改属组
chown python.python 全部修改
linux中进程管理
文件合并与文件归档
打包命令tar(压缩,解压,gzip,bzip2)命令
tar -cvf test.tar {a..f}.txt
-c 创建tar包
-v 显示相关包的内容
-f tar的名字
tar -xvf test.tar
解压到当前的目录
tar -xvf test.tar -C ../test
解压到特定的目录下
tar -tf test.tar
查看该tar下的内容
gzip 文件名
gunzip 文件名
bzip2 文件名
bunzip2 文件名
和:
tar -cvzf test.tar.gz 文件名
tar -cvjf test.tar.bz2 文件名
解压.tar.gz
tar -xvf test.tar.gz
vi和vim
介绍常用的命令
三种模式
命令模式
编辑模式与扩展模,都是通过命令行模式来相互转换的
命令模式下的快捷键有
gg
GG
0
shift+$
H 表示跳到当前屏幕的开头
20G调到20行
编辑模式
a, i,o即可实现编辑
扩展模式
wq保存退出
set nu 显示行数
linux系统启动流程
1》bios 找到系统盘
2》mbr 找到相应的盘的具体分区(有可能一个盘里面有多个分区,每个分区有可能都有系统)
3》BootLoader :grup 加载内核的作用
4》kernel 选择init 1
5》init 0 1 2 3 4 5 6
默认为5图形化界面操作
Grup加密
因为grup可以实现无密码root权限,所以我们要对他进行加密操作
流程如下
调用md5对明文密码进行加密操作
grub-md5-crpy
在/etc/grub.conf
title之前加上一行password --md5 ajnjanjbnanan密文
bios可以破解grub加密。在bios中进入不同的启动介子,进入修复系统模式,修改
grub.conf文件把password一行删掉,在进入bios,换启动介子,就可破grub
bios加密也可破,把主板的bios的小电池扯一下,再装上,就可以破解
top查看系统的相关进程
free 命令查看系统的内存使用空间
free -h
df-h
缓冲区:内存与硬盘之间的缓冲区
高速缓冲区:内存与cpu的缓冲区
缓冲区与高速缓冲区都在内存中
父进程:一开始开启的进程
子进程:由父进程衍生的进程
守护进程:为系统提供基础服务的进程
僵尸进程:父进程已死亡,当时子进程还在,不占cpu ,但是占内存
grep 过滤命令
grep 'root' /etc/passwd
/etc/passwd | grep "root"
pgrep 进程名
:查询进程名的pid
ps aux
:查看系统的全部进程
ps aux | grep 'root'
kill -9 pid(进程的id)
后台变前台:fg %后台进程号
pkill -9 进程名
-9:表示强制杀死进程
但是有弊端就是把名字相同的进程全部杀死
jobs:查看系统的后台进程
磁盘分区
查看sdb的分区信息:fdisk -l /dev/sdb
开始对sdb进行分区:fdisk /dev/sdb
初始化分区:mkfs.ext4 /dev/sdb1
挂载:
mkdir /sdb1
mount /dev/sdb1 /sdb1
这种挂载在重新启动系统之后无效。
实现永久挂载
查询uuid命令:
修改 /etc/fstab
uuid 要先查询出来,而且挂载的目录必须为空目录
卸载命令
卸载源文件:umount /dev/sdb1
卸载目标文件:umount /sdb2
强制卸载命令
卸载源文件:umount -l /dev/sdb1
卸载目标文件:umount -l /sdb1
磁盘满了有两种
1: 硬盘已满(但是文件数没有满)
查看df -h
2: 文件的元数据(文件数已满)
查看df -i
软连接与硬连接
查看iNode的命令
文件:df -i 文件
目录:df -id 目录名
创建软连接
ln -s 源文件(绝对路径)目标文件名
ln -s /a.txt /b.txt
跨分区
ln -s /a/a.txt /b/b.txt
特点:
1;可以跨分区创建软连接
2:a.txt与b.txt的iNode不相同,操作相同的block(相同的数据块)
3:修改源文件,目标文件将改变
4:删除源文件,目标文件无效
创建硬链接
ln 源文件 目标文件名
ln /a.txt /b.txt
特点
1 :不能跨分区创建硬链接
2:硬链接的a.txt与b.txt的iNode号相同
3:删除源文件,目标文件不受影响
4:修改源文件目标文件也会被修改
ip
192.12.3.4\16
子网掩码:标识网络位
网络地址:192.12.0.0
主机地址:192.12.3.4
ip地址与子网掩码与运算得到网络地址
ip配置
命令:
vim /etc/sysconig/network-scripts/ifcfg-eth0
ifcfg加上配置的端口号;
dhcp 自动获取IP地址无须配置