Linux随堂笔记
一、Linux的背景
1991年5月,Linux发明出来的,被誉为“Linux之父”。
二、Linux一切皆文件
Linux系统中所有的都是文件,包括鼠标键盘等。
Linux中一切没有消息的消息就是最好的消息。
三、基本命令的学习
命令的组成:cmd【选项】【参数】
手册的查看:man---->打开首次;man man---->具体使用命令。
命令展示:
【pwd】显示当前路径。
【cd】切换工作路径
注:Linux文件系统结构从“根”开始,用“/”表示。
当路径从根开始算,表示绝对路径。
当路径从当前路径开始算,表示相对路径,其中 .---> 当前路径 ..---->上一级路径
【ls】列出目录内容
【-a】:显示所有文件(加点的表示为隐藏文件)
【- l】:单列输出
【-d】:将目录名像其他文件列出来,但不显示它内容(显示指定目录)
【-h】:大小带单位,不带单位的以字节形式表现
【- i】:显示ID,同一文件目录下,文件ID是唯一的
【cat】查看文件内容的全部
【more】查看文件的内容
【less】按屏显示文件内容,“/”+关键字: 搜索,按“Q”退出,较【more】命令更灵活。
【head】/【tail】显示文件的前/后几行
【cp】复制文件,文件夹加上【-r】表示目录文件
【mv】剪切文件,格式为:【mv】+源文件+目的目录
注:切勿切电脑的本身文件。
【mv】+文件名+当前文件夹 ---->重命名
【rm】删除文件,格式为:【rm】+源文件,【-r】--->目录【-f】--->强制删除
【touch】创建空文件
【mkdir】创建空目录
关机命令都有:(1)shutdown -h now (2)poweroff (3)init 0 (4)halt
重启命令都有:(1)shutdown -r now (2)reboot (3)init 6
【uname -r】内核版本
【history】查看历史命令
四、文件管理
包括文件属性(元信息)、文件查找、文件的打包压缩
文件属性
查看文件属性:(1)stat + 文件的路径 --->查看文件的全部属性 (2)ls -l --->查看文件的部分属性
文件类型
Linux不易后缀名区分文件类型,它只有7种文件类型:
- ---> regular 普通文件
d ---> directory 目录文件
c ---> charactor 字符设备文件
b ---> block 块设备文件
l ---> link 符号链接文件
p ---> pipe 管道文件
s ---> socket 套接字文件
文件权限
非目录文件权限:r--->读 w--->写 x--->执行
8进制表示法:1--->r、w、x 0---> — 8进制以“0”开头
eg:0635 6--->110——>rw- 3--->011——>-wx 5--->101——>r-x
目录文件权限:u--->拥有者 g--->所属组 o--->其他用户
权限对于root没有意义,但是对于普通用户意义很大。
修改文件权限:(1)chmod u/g/o a(+/-) r/w/x +文件名
(2)chmod + 8进制 + 文件名
修改文件的拥有者和所属组:chown + 拥有者:所属组 + 文件名
目录文件中的r/w/x:
-r 将当前目录显示到终端 eg:ls
-w 写目录 eg:touch/mkdir/rm
-x 可搜索,可进入 eg:cd
【umask】文件屏蔽字,为防止产生权限过大文件。
普通文件的权限都是0666,最终权限取决于屏蔽字的大小。
mode & ~umask ---> 文件真正的权限
【-s】特殊权限,当所有用户在执行passwd命令,【-s】权限会将用户变为拥有着的身份。
sudo cat /etc/shadow
gedit /etc/sudoers
文件的硬链接:一个文件,多了个名,用命令【cp -l】 / 【 ln】 创建
inode是同一分区文件的唯一标识,故不能跨分区。
文件的软链接:即符号链接,就是给文件创建一个快捷方式。
用【ln -s】创建,用于存放文件的路径,可跨区。
创建用户
useradd + 用户名 --->创建用户
passwd + 用户名 --->给定密码
su - + 用户名 --->切换用户
userdel -r + 用户名 ---> 删除用户
创建组
groupadd + 组名 --->组创建
gpasswd -a + 用户名 + 组名 --->用户添加到组内
【ls -l】只是查看文件的所占字节,不属于占磁盘空间大小
磁盘空间大小 --->(block) 1 block = 512 bytes 可用命令【stat】查看
【du -sh + 文件名】 查看文件所占用磁盘空间的大小
【du -s】 访问磁盘大小
【du -f】 查看当前磁盘分区占用情况
文件时间
最后一次访问时间:access time
最后一次更改时间:modify time ---->内容改变 【ls -l】
最后一次改动时间:change time --->属性改变
可执行文件:
find + 路径 + 选项
-mtime 修改时间 eg:find /etc/ -mtime n(天)
-print 打印查找的结果 eg: find /etc/ -name "hello" -print -exec ls -l {} ; ---> 对找到的文件执行ls -l结果,打印路径
-a 连接多个查找选项 eg: find /etc/ -type d -a -size +10k
【systemctl start rpcbind】
【systemctl enable rpcbind】
编辑共享路径:
【vim /etc/exports】
【/var/ftp/pub *(ro,sync,no_root_squash)】
客户端挂载:
【mount 192.168.5.129:/var/ftp/pub /mnt】
七、进程管理
【ps aux】 ---> 查看当前系统信息
【kill -l】 ---> 列出当前系统中的所有信号
【kill -2 + 进程号】 ---> 终止 == ctrl + c
【kill -9 + 进程号】 ---> 干掉一个进程,只要是用户创建的均可以干掉
【man 7 signal】 ---> 查看信号和信号行为,默认为15
【top】 ---> 实时查看系统中进程的运行状态
运行状态有: R ---> 运行 S ---> 睡眠,可中断 ---> 终端 Z ---> 僵尸状态(zombie)
八、虚拟机内安装python的步骤:
1、根据 pyenv.txt 逐步安装。注意:将 my.repo 中用户自定义安装的包删除或重命名。
2、重启虚拟机后,依次用命令【which python】和【which pip3】查看两个文件是否在同一目录下。
3、打开网络,用命令【pip3 install ipython】,升级python
4、升级中用到的命令:【pip install --upgrade pip】
5、开机自启动 network :【systemctl enable network】
6、命令: 【/ sbin / chkconfig network on】
7、用命令【ipython】 打开 python,用【exit】退出
九、【git】命令
1、创建仓库:登陆github帐号,创建远程仓库
2、同步到本地:
ssh-keygen
cat ~/.ssh/id_rsa.pub ---> 将密钥复制到帐号的key
打开远程仓库,找到SSH,创建SSH密钥并且复制密钥的链接
返回终端:git clone git@github.com:zhangzongyan/python20181119.git
其中:git@github.com:zhangzongyan/python20181119.git 表示本地仓库
3、用命令【ls】查看github库是否链接到本地文件夹
4、进入文件夹,查看是否有文件REDM,存在表示链接成功
远程仓库与本地文件夹之间的上传与下载
cd git init
git add --->跟踪
git status --->查看仓库状态
git commit -m ---> 备注提交到仓库
git push ---> 推上服务器
git pull ---> 从服务器上把文件拉到本地
【git】的基本命令
git log ----->查看仓库日志(id)
git reset --hard id ----->切换到指定版本
git reflog ----->查看最新版本日志
git rm ----->删除