《Linux学习总结》
一、环境搭建:
1、unbuntu 安装,制作安装盘,镜像.ISO安装包和制盘工具uiso9 (xshell(结合Samba),虚拟机安装)
2、右上角设置更新来源,系统设置--》软件和更新,下载自,选择阿里云
3、安装搜狗拼音,选择右上角进行设置
4、可以设置中文显示,目录还是英文的,系统设置--》语言支持--》将汉语移到最上方--》重启--》keep old name
5、可以选择安装谷歌浏览器:https://jingyan.baidu.com/article/335530da98061b19cb41c31d.html
6、常用库、包、依赖安装:
sudo apt-get update
sudo apt-get install man gcc make lsof ssh openssl tree vim dnsutils iputils-ping
sudo apt-get install net-tools psmisc sysstat curl telnet traceroute wget libbz2-dev libpcre3
sudo apt-get install libpcre3-dev libreadline-dev libsqlite3-dev libssl-dev llvm
sudo apt-get install zlib1g-dev git mysql-server mysql-client zip p7zip
7、文本编辑器:sudo apt-get -y install vim
一次性定时服务:sudo apt-get install at
解压缩:apt-get install gzip apt-get -y install zip unzip
nginx安装:sudo apt-get install nginx
pyenv安装:
先下载:curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安装过git可以: git clone https://github.com/pyenv/pyenv.git ~/.pyenv
设置安装路径(截获):安装路径写入~/.bashrc
重启,更新
8、Python安装:
安装依赖:
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
安装:
cd ~/.pyenv
sudo mkdir cache
wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P ~/.pyenv/cache/
pyenv install 3.6.4 -v
9、virtualenv安装:
pip install virtualenv或者sudo pip install --upgrade virtualenv
10、pycharm安装:
官网下载: 终端打开 sh ./pycharm.sh: 修改hosts:0.0.0.0 account.jetbrains.com添加到最后:
Activation code激活:复制激活码即可
11、远程操作:ssh服务
安装:sudo apt-get install openssh-server
12、Samba服务器 :
安装:sudo apt-get install samba samba-common
13、Linux多窗口:sudo apt-get -y install screen
14、修复性安装:sudo apt-get install -f
二、掌握以及常用操作:
掌握:
1、桌面操作系统与服务器端:
操作系统:桌面操作系统、服务器操作系统和嵌入式操作系统、移动端等
服务器端:windows nt、os server 、rehat、centos、geetoo(贱兔)、ubuntu
2、机器语言 汇编语言 高级语言
3、Linux重要发行版本 两大阵营
4、虚拟机,虚拟化
5、系统安装,与安装分盘
6、目录存放内容,如.根目录,bin存放常见命令,etc配置文件目录
7、文件属性的8部分:文件类型,文件权限,链接数,属主,属组,文件大小 上次修改时间,文件名
8、硬链接和软链接
9、语法高亮
10、绝对路径和相对路径
11、文件的三个时间
12、管道符 |
13、递归修改的-R 是改后的名在前面 然后添加文件名
14、磁盘分区
15、计划任务:周期性定时任务和一次性定时任务
16、软件的解压缩
17、开机启动的设置
18、防火墙ufw
19、下载 wget -c curl -0
20、nginx的使用
21、pyenv virtualenv 创建虚拟环境的使用
22、pycharm和虚拟开发环境的结合
23、环境变量:全局 系统级全局 单用户全局
24、Samba的使用
25、git的使用
常用操作:
1、关机:shutdown -h now halt poweroff
2、重启:shutdown -r now reboot
3、版本查看:lsb_release -a
4、图形界面显示终端:Ctrl+alt+t
5、shell终端界面 Ctrl+alt + F1-6 退出:Ctrl+alt+f7
6、ssh的启动、重启、关闭:sudo service ssh start restart stop
7、基于apt对包的操作:
查看软件包信息:sudo apt-cache showsrc 包名
获取源码:sudo apt-get source 包名
安装软件:sudo apt-get install 包名
修复安装:sudo apt-get -f install
删除软件:sudo apt-get remove 包名
获取新的软件包列表:sudo apt-get update
升级可用更新软件包:sudo apt-get upgrade
查看可升级软件列表:sudo apt list --upgradable
清理无用包:sudo apt-get clean sudo apt-get autoclean
8、查看帮助文档:tree --help
9、显示文件目录:tree -L 1(表示几级目录)
10、列出目录下的文件和子目录:ls 参数:-l -a -A -i --color --help
列出以某字符比如t开头的文件 ls t*
列表方式显示文件和子目录:ll = ls -al
11、命令的帮助文档:man :快捷键 f b g shift+g q home
12、查看敲过的命令:history
13、创建硬链接:link 源文件名 新文件名 ln源文件名 新文件名
14、创建软连接:ln -s 源文件 目标文件
15、终端下快捷键:Ctrl 终止+c 回到命令开始+a 回到命令结尾+e 清空命令本行+u
清屏+l 自动补齐tab
16、目录切换:cd 选项:. .. / ~ -
17、显示绝对路径:pwd
18、创建目录:sudo mkdir 目录名
递归创建目录:sudo mkdir -p 目录名/目录名
删除空目录:sudo rmdir 目录名
递归删除空目录:sudo rm -p 目录名
删除目录:sudo rm -rf 递归删除目录、文件
19、创建文件:
touch 文件名。。。。可以多个一起,不会穿件已存在的文件
echo 内容 与输出重定向的使用 > (覆盖) >>(追加)
20、移动文件:
sudo mv 源文件 目标文件 (销毁,重命名,移动,需要加路径,改名的在后面加上名字)
改名:rename 's/源文件名中替换的部分/替换后的部分/' 源文件名
21、文件拷贝:sudo cp 源文件 目标文件
目录递归拷贝:sudo cp -r 源目录 目标目录 比如:sudo cp -r 4/8 5/7/
22、文件查看:
cat
tac
head -n 行数 /-行数
tail -n 行数 /-行数
实时显示:
tail -f cat 文件名
watch -d -n 秒数 cat 文件名 (有高亮)
more 文件名 同下
less 文件名 g首页 G尾页,b前翻页,空格和f后翻页,q退出
显示文件信息:stat 文件名
23、文件查找:
find [路径] [参数] [“文件名”] 选项:-name -iname -mtime+/-n -user -size+-大小
-perm -maxdepth 深度 ls -type[f/d/l]
shell命令(command代表功能):-exec command {} ; command是可变的
grep :grep [options] 'pattern' filename
选项: -i -c -r -l -n -w —E正则表达式查找
awk 语法:awk '{pattern + action}' {filenames}
cat /etc/passwd |awk -F ':' '{print $1}' #$1显示第一列 -F 指定分割符为':'
sort与uniq:
sort(选项)(参数) -u -k -n -t -r
uniq [选项]... [文件] -c -d -D -i
举例:history | awk '{print $2}' | sort | uniq -c | sort -r -n -k 1 | head -n 10
24、命令路径:which 命令名
搜索命令、源文件、二进制文件:whereis 文件名
25、文件删除:sudo rm 参数 -i(文件名) -f(文件名) -rf(文件、目录名)
26、文件权限修改:chomd 权限 文件名、目录
递归修改权限: chomd -R 权限 目录
选项 :ugoa +—= rwx=421
27、修改文件属主(所有者):chown 属主名 文件名、目录名
递归修改属主名(所有者) chown -R 属主名(都是改后名) 文件名、目录名
修改用户和所属组:chown 属主:属组 文件名
28、修改属组:
chgrp 组名 文件名/目录名
chgrp -R 组名(也都是修改后的) 目录
29、lsattr/chattr 修改和查看文件只读属性
chattr 选项[+— 配合 i a] 文件名
30、添加用户:useradd [选项]:-g -G -u -m -d -s
交互模式创建用户 sudo adduser 用户名
31、修改用户信息:usermod [选项] 用户名 选项: -u -g -G -a -d -l
32、修改用户密码:passwd [选项] 用户名 选项: -l -u
33、切换用户:su 用户名
34、删除用户:userdel -r 用户名 (删除用户同时删除家目录:家目录要和用户名一致才能删除)
35、id 用户名 groups 用户名 whoami 查看当前用户
36、添加组:groupadd 组名
删除组:groupdel 组名
改组名:groupmod -n 新名 旧名
显示用户的组:groups
37、vim的使用:
编辑模式iaso
命令模式gg dd yy p u ctrl+r .
尾行模式 : / ? w q wq x ! set nu/set nonu :n n是几就可以去第几行
38、查看网络接口的网络参数:ifconfig 指定:+网卡名 例:ifconfig ens33
39、开关网卡: ifconfig 网卡名 up/down
40、重启网络:/etc/init.d/networking restart
41、测试网络连通性:ping [参数] [主机名或IP地址] 参数:-c n -b
42、查看网络连接:netstat - a n p t u
显示建立的tcp连接:sudo netstat -nt
显示建立的udp连接:sudo netstat -nu
显示tcp端口:sudo netstat -ntpa
43、进程管理:
显示进程状态:ps 用法: ps [选项] [用户名] 选项:-a -e -u -x -r
杀死进程:kill [参数] 进程号 或者 killall -TEAM 进程名
44、性能显示:top 类似Windows的任务管理器
45、查看磁盘使用:df -h -k -m
查看文件或目录空大小: du -a -s -c
查看磁盘分区:fdisk -l
46、uname hostname who w last
47、查看内存: free -h
释放内存:
sudo sh -c 'echo 1 > /proc/sys/vm/drop_caches'
sudo sh -c 'echo 2 > /proc/sys/vm/drop_caches'
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
48、设置启动级别:执行/etc/init/rc-sysinit.conf 0123456
显示当前运行模式的命令:runlevel who -r
49、远程复制(可传,可下载):scp [-r] 原地址 目标地址
发送: scp 本机路径/本地文件 主机@IP地址:路径
下载: scp 主机@ip地址:路径/文件 本机路径
三、工具使用
【【【【pyenv的使用】】】】(安装pyenv 安装Python 指定Python版本创建 virtualenv)
1、安装pyenv
①下载安装pyenv:
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
或者 git安装:git clone https://github.com/pyenv/pyenv.git ~/.pyenv
②截获路径:
sudo vim .bashrc
shift + G
export PATH="/home/x/.pyenv/bin:(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
③配置生效指令:source .bashrc
更新pyenv: pyenv update
2、安装所需Python版本
①安装依赖包:
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
②安装python:
因为pyenv install 3.6.4 过慢,所以建议用wget或者curl
先下载压缩包放至~/.pyenv/cache再用指令 pyenv install 版本号 -v 安装
cd ~/.pyenv
sudo mkdir cache
wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P ~/.pyenv/cache/
pyenv install 3.6.4 -v
3、搭建虚拟环境
①安装virtualenv
pip install virtualenv 或者 sudo pip install --upgrade virtualenv
②创建项目目录:
sudo mkdir -p 目录/目录。。。
进入项目目录:
cd 目录/目录。。。
创建虚拟环境:
pycnv virtualenv 版本号 虚拟环境名 如:pyenv virtualenv 3.6.4 env36
③切入虚拟环境:pyenv activate 虚拟环境名
④切出虚拟环境:source deactivate
【【【【git的使用】】】】(建立账号与本地主机的连接, github下载到本地 <=> 本地上传到github)
https://blog.csdn.net/qq_15260769/article/details/80489331
1、git的安装与github账号的连接
①第一步: 安装Git,使用命令 sudo apt-get install git
第二步: 到GitHub上创建GitHub帐号
第三步: 生成ssh-keygen,使用命令 ssh-keygen -t rsa -C “用户名”,一直enter,enter,enter
(可选)第四步: 建立主机信任,将公钥放在github上,在.git/config中修改URL可以免密上传
②全局配置,添加账户和邮箱:
git config --global user.name 'xml'
git config --global user.email '[email protected]'
2、git仓库可以在合适的位置用git init生成,也可以用clone去github上下载
3、github克隆项目到本地:git clone 地址
拉取最新版本并自动合并:【git pull origin master】
4、本地上传到github:
①文件上传暂存区:git add 文件名 或者把变化的语句【git add .】 (撤销:git reset HEAD 文件名)
②查看暂存区:git status
③提交本地版本库:git commit 文件名 -m "说明信息"
【git commit -m "文件信息"】 默认提交全部
④推送到远端服务器:【git push origin master】
5、版本回退:
①查看提交日志:git log (--pretty=oneline)
②git的每次命令查询:git reflog
③git reset --hard 版本号
6、分支管理
【【【【nginx的使用】】】】
nginx虚拟站点配置:(创建配置文件 —> 创建软连接 —> hosts拦截 —> 网站路径目录下创建网页内容)
1、先打开nginx:sudo apt install nginx(--> service nginx start)(查看主配置文件 cd /etc/nginx nginx.conf)
2、打开指定目录:cd /etc/nginx
查看是否有所需目录: ls --> sites-available
3、进入配置文件目录:cd sites-available
查看是否有 default
4、制作缺省站点:先复制模板—— sudo cp default 新缺省站点文件名
然后进入新配置文件编写: sudo vim 新缺省站点文件名
设置监听端口,默认listen 80(缺省站点只能有一个);
ipv6地址(忽略)
站点根目录 root /var/www/xxxx(qian); 网页文件存放的地方
站点首页的查找顺序 index (指明-->) index.html index.htm
书写域名 server_name www.qian.com(域名或者ip) ;
新配置文件的注意:端口,root的设置
¥¥¥所有配置文件修改以后要重启服务器¥¥¥
5、跳转到站点根目录:cd /var/www/ (root指定的目录)
创建指定根目录存放文件的目录sudo mkdir qian(可以修改权限sudo chown -R xml:xml qian)
进入目录: cd qian
编写首页:sudo vim index.html
6、本地dns域名劫持:(计算机首先先来这看来下域名有没有解析 然后去外面访问,在这里将域名拦截给本机,走不出去了)
cd /etc/
修改hosts文件: sudo vim hosts
127.0.0.1(访问地址) www.qian.com(自己设置的缺省文件名)
7、进入 enable 目录制作软链接: 先进入指定路径 cd ../ cd sites-enable
制作 : sudo ln -s ../sites-available/自己的缺省文件名 文件软链接名
ll查看是否成功
重启nginx: sudo service nginx restart
或者 》》》》》》》用下面的顺序:
5、进入 enable 目录制作软链接: 先进入指定路径 cd ../ cd sites-enable
制作 : sudo ln -s ../sites-available/自己缺省文件名 文件软链接名
ll查看是否成功
6、然后进入etc目录进行拦截:cd /etc
修改hosts文件: sudo vim hosts 注意:主机名和查询路径的修改
7、重启nginx:service nginx restart
8、跳转到网站文件存储目录:cd 到配置文件所写的目录(root部分) 比如:cd /war/www/
9、创建存储目录:sudo mkdir 目录名
10、书写网页内容:cd 目录名 --> sudo vim index.html
总结:第一步建立自己的缺省文件(root指向html文件根目录)
第二步建立缺省文件的软链接
第三步创建root指向的html文件存放根目录:根目录下书写html网页内容
第四步域名劫持,hosts里面的ip 后面跟自己设置的缺省文件名