Python学习第一天 2019.1.19 Linux笔记

[2017]黑马程序员 Python零基础教程
https://www.youtube.com/playlist?list=PL9UNVHcDJNXDq5fhow2LAdnsYQl7MEYwo
这里有100集,另有vi编辑器

积跬步以致千里,积怠情以致深渊

操作系统的作用:管理硬件、系统调用

Linux 主要目录速查表

/:根目录,
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有
/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
~ 表示当前用户的家目录
~edu 表示用户 edu 的家目录
/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
/opt:给主机额外安装软件所摆放的目录
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
/root:系统管理员root的家目录
/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
/usr:应用程序存放目录
/usr/bin:存放应用程序
/usr/share:存放共享数据
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local:存放软件升级包
/usr/share/doc:系统说明文件存放目录
/usr/share/man:程序说明文件存放目录
/var:放置系统执行过程中经常变化的文件
/var/log:随时更改的日志文件
/var/spool/mail:邮件存放的目录
/var/run:程序或服务启动后,其 PID 存放在该目录下
放大和缩小:ctrl+shift+= ctrl+1

常用 Linux 命令的基本使用

ls list 查看当前文件夹下的内容
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
*代表任意个数个字符
? 代表任意一个字符,至少 1 个
[] 表示可以匹配字符组中的任一一个
[abc] 匹配 a、b、c 中的任意一个
[a-f] 匹配从 a 到 f 范围内的的任意一个字符

pwd print wrok directory 查看当前所在文件夹
cd [目录名] change directory 切换文件夹
cd 切换到当前用户的主目录(/home/用户目录)
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 保持在当前目录不变
cd … 切换到上级目录
cd - 可以在最近两次工作目录之间来回切换

touch [文件名] touch 如果文件不存在,新建文件
mkdir [目录名] make directory 创建目录
-p 可以递归创建目录
rm [文件名] remove 删除指定的文件名
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹 时必须加此参数

clear clear 清屏
tab 自动补全
command --help
man command
空格键 显示手册页的下一屏
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索 word 字符串

tree [目录名] tree 以树状图列出文件目录结构
-d 只显示目录
cp 源文件 目标文件 copy 复制文件或者目录
-i 覆盖文件前提示
-r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名
-i 覆盖文件前提示
cat 文件名 concatenate 查看文件内容、创建文件、文件合并、追加文件内容等功能
-b 对非空输出行编号
-n 对输出的所有行编号

more 文件名 more 分屏显示文件内容
和man command的操作键一样
grep 搜索文本 文件名 grep 搜索文本文件内容
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写
^a 行首,搜寻以 a 开头的行
ke$ 行尾,搜寻以 ke 结束的行

echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
重定向 > 和 >>
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾

管道 | 将 一个命令的输出 可以通过管道 做为 另一个命令的输入

远程管理常用命令

shutdown 选项 时间 关机/重新启动
-r 重新启动
-c 取消之前指定的关机计划
不指定选项和参数,默认表示 1 分钟之后 关闭电脑

ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息
ifconfig | grep inet 查看网卡对应的 IP 地址
ping ip地址 ping 检测到目标 ip地址 的连接是否正常

远程登录和复制文件

ssh [-p port] 用户名@ip secure shell 关机/重新启动
SSH 服务器 22
Web 服务器 80
HTTPS 443
FTP 服务器 21
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件
-r 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口

1)免密码登录
步骤
配置公钥
执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
上传公钥到服务器
执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
2) 配置别名
每次都输入 ssh -p port user@remote,时间久了会觉得很麻烦,特别是当 user, remote 和 port 都得输入,而且还不好记忆,而 配置别名 可以让我们进一步偷懒,譬如用:ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:

Host mac
    HostName ip地址
    User itheima
    Port 22

用户权限相关命令

chmod +/-rwx 文件名|目录名 可以修改 用户/组 对 文件/目录 的权限
sudo 命令用来以其他身份来执行命令,预设的身份为 root
groupadd 组名 添加组
groupdel 组名 删除组
cat /etc/group 确认组信息
chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

	组信息保存在 /etc/group 文件中
	/etc 目录是专门用来保存 系统配置信息 的目录

useradd -m -g 组 新建用户名 添加新用户
-m 自动建立用户家目录
-g 指定用户所在的组,否则会建立一个和同名的组

passwd 用户名 设置用户密码 如果是普通用户,直接用 passwd 可以修改自己的账户密码
userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
cat /etc/passwd | grep 用户名 确认用户信息

	新建用户后,用户信息会保存在 /etc/passwd 文件中

id [用户名] 查看用户 UID 和 GID 信息
who 查看当前所有登录的用户列表
whoami 查看当前登录用户的账户名
usermod -g 组 用户名 可以用来设置 用户 的 主组 / 附加组 和 登录 Shell
which 命令可以查看执行命令所在位置

在 Linux 中,绝大多数可执行文件都是保存在 /bin、/sbin、/usr/bin、/usr/sbin
/bin(binary)是二进制执行文件目录,主要用于具体应用
/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
/usr/bin(user commands for applications)后期安装的一些软件
/usr/sbin(super user commands for applications)超级用户的一些管理程序

su - 用户名 切换用户,并且切换目录 - 可以切换到用户家目录,否则保持位置不变
exit 退出当前登录账户

chown 修改拥有者
chgrp 修改组
chmod 修改权限

# 修改文件|目录的拥有者
chown 用户名 文件名|目录名

# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名

# 递归修改文件权限
chmod -R 755 文件名|目录名

系统信息相关命令

命令 作用
date 查看系统时间
cal calendar 查看日历,-y 选项可以查看一年的日历
df -h disk free 显示磁盘剩余空间
du -h [目录名] disk usage 显示目录下的文件大小
ps aux process status 查看进程的详细状况
top 动态显示运行中的进程并且排序
kill [-9] 进程代号 终止指定代号的进程,-9 表示强行终止
find [路径] -name “*.py” 查找指定路径下扩展名是 .py 的文件,包括子目录
ln -s 被链接的源文件 链接文件 建立文件的软链接(快捷方式)

在使用 ln 创建链接时,如果没有 -s 选项,会创建一个 硬链接,而不是软链接

ps的选项:
a 显示终端上的所有进程,包括其他用户的进程
u 显示进程的详细状态
x 显示没有控制终端的进程

命令 作用
tar -cvf 打包文件.tar 被打包的文件/路径… 打包文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径… 打包文件
tar -xvf 打包文件.tar 解包文件
tar -zxvf 打包文件.tar.gz 解包文件
tar -zxvf 打包文件.tar.gz -C 目标路径 解压缩到指定路径

c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后

在 tar 命令中有一个选项 -z 可以调用 gzip,从而可以方便的实现压缩和解压缩的功能

软件安装

# 1. 安装软件
$ sudo apt install 软件包

# 2. 卸载软件
$ sudo apt remove 软件名

# 3. 更新已安装的包
$ sudo apt upgrade 

配置软件源

猜你喜欢

转载自blog.csdn.net/rosanna1029/article/details/86568442