Linux系统使用
linux(操作系统的内核)
浏览器功能:(内核的解释)
各个浏览器 实现的方式不一样
呈现内容 //解析内容和样式 用—webkit— (内核)解析
实现交互逻辑 v8 引擎 (内核) 实现 => 解析 JS 的引擎 //除了IE 都在用
进行数据传递(上网) 用chrome net 引擎 (内核) 实现
基于linux内核的一种发行系统 -------ubuntu 乌邦图(天下共享,连接每一个人)
命令
bin 重要的二进制应用程序 含有所有 ubuntu 的命令
cd / 跳转到根目录
cd ../../ 跳转到上上层目录
cd - 回到最近一次跳转的目录
ls 查看
man ls 查看命令能跟的参数及功能 (这个是查看 ls 的)
ls -a 查看所有文件夹(查看隐藏文件// 比如说被默认的系统文件)
ls -l 查看所在文件的详细信息
which ls 找到命令所在位置 ls 找不到的就在超级管理员的sbin中
pwd 查看当前在哪个目录下
/etc 配置文件(系统的) 安装之后
/usr 配置文件(用户自己的)
/boot 系统启动的文件
/lib 整个系统的核心文件 (函数库,所有命令真正的运行程序)
/lost+found 系统临时文件夹 不要动
/proc process(进程) 不要动 进程运行时候产生的临时文件
/sys 跟 /proc 相似
/run 系统运行时产生的临时文件的存放处 不要动
/media 管理着一些移动设备
/mnt 挂载(mounted)文件系统
/opt 应用程序默认安装的文件夹
/root 超级管理员运行的内容
/sbin 超级管理员可以运行的命令
/tmp 临时文件夹 所有用户都能操作
文件操作
echo 1 输出 1
echo hello > "1.txt" 创建文件
cat 1.txt 打开 1.txt 文件 Tab 键补全
echo 456 >> 1.txt 追加进1.txt
gedit 1.txt ubuntu特有的编辑器
touch 1.txt 创建 (村在的话就不创建)
目录操作
mkdir a 创建目录
rmdir a 删除目录(只能删除空目录)
rmdir -p a/b/c 删除目录(删的都是空目录,c是空的 删完c,b是空的, 删完b,a是空的)
- man ls 查看ls所有参数,f跳转单页,q跳出此页面,回到命令行
- witch ls 查看命令所在位置
- pwd 查看当前目录
- clear 清空屏幕
- echo 输入
- echo 123 > 1.txt 保存文件
- cat 1.txt 查看文件
- echo 456 >> 1.txt 追加文件
- gedit 1.txt gidit 编辑器(ubuntu环境)
- ifconfig 查看地址
- vim 编辑器
- :wq 保存退出
- i 写
- dd 删除
- touch 2.txt (若存在则不创建)
删除
- d 文件夹 -文件
- rm -rf 删除任何目录
- rm 1.txt 删除文件
- rm *.txt 所有
- mkdir a 创建目录
- mkdir -p a/b/c 创建带层级的空目录
- rmdir a 删除空目录
- rmdir a/b/c 只能删除c
- rmdir -p a/b/c 删除带层级的空目录
剪切复制
- mv a aaa (移动剪切;重命名)
- mv a documents/
- move a ../
- move a ../c/b 把a从当前文件夹移动到c文件夹,并改名为b
- cp 1.txt 2.txt (拷贝文件copy)
- cp a -r b (拷贝目录)
- history 查看历史命令c'd
链接
ln -s a.txt b.txt //软链接 有-s 常用 不占磁盘空间 只是做了个镜像
一变全变
ln a.txt c.txt //硬链接 没有-s 相当于拷贝一份,只是内部建立联系 不能做文件夹!
ln -s /home/wangwei/a/1.txt /home/wangwei/project/2.txt 把1.txt和2.txt链接起来
查找
find ngi* 查找文件
sudo find ngi* | grep con #从ngi* 的文件中 查找 con 内容
grep a *.txt #从 *.txt 中找包含a的内容
ps(process) 进程
ps -aux | grep 14824 #从ps -aux 中找14824内容
文件的解压缩
先打包文件夹 打包后为文件
tar(target)-c(create) v(view) f(file)
tar -cvf b a
解包
tar -xvf b -C c 把b解压到c中 必须加 -C
打包文件
tar -cvf aaa a.txt
解包
tar -xvf aaa -C ../b
压缩
压缩需先打包
-z :gzip -j :bz2
tar -zcvf/-jcvf b a 把a包压缩成b
解压
tar -zxvf b -C c 把b解压到c中
zip压缩
zip dest source
zip解压
unzip dest
文件的传输
用户名 地址 用户文件
http
ftp
ssh (secure shell ) git基于ssh协议
(socket =>端口)
netstat -apt | grep 22 查看端口号
PSCP.exe , 配置环境变量Path
scp
scp -r (文件夹)
scp -r a wangwei@192.168.217.130:/home/wangwei 完事
scp -r wangwei@192.168.217.130:/home/wangwei/a -r a
磁盘管理
du 看文件夹中的使用信息
df -h 查看磁盘
网络通讯
net
host (localhost)
sudo ifconfig eth@ 修改后的ip
访问视频
udp协议
上网浏览
tcp协议
netstat -aup 查看所有(a)使用udp(u)协议的软件使用端口(p)的信息
netstat -atp 查看所有(a)使用tcp(t)协议的软件使用端口(p)的信息
软件安装
sudo apt-get update 先更新软件库 添加完再更新
sudo apt-get install mysql-server mysql-client ubuntu安装程序
sudo add-apt-repository ppa:webupd8team/java 添加包地址,ppa:个人软件包档案
sudo add-apt repository packagename
sudo apt-get update 升级软件包
sudo apt-get upgrade 把命令升级
ps -aux | grep mysql 查看是否启动
源码安装
user/bin/python 用户自己加的应用可以运行的bin
wget url 下载包↓
找到configrue
./configure --prefix=/opt/python3.7.0 把configure生成配置项 所放到的地方
[--endable-optimizations]
make all 编译
sudo make install 安装
多版本优先级切换
sudo update-alternatives --install /usr/bin/python3 python3 /opt/Python3.7.0/bin/python3.7 500
update-alternatives --install link name path [--slave link ]
进程
ctrl+z 挂起
fg %1 调回
删除
apt-get --purge remove mysql-server 卸载软件,包括配置文件
apt-get autoremove mysql-server 删除依赖包
sudo apt-get clean && sudo apt-get autoclean 清理无用的包 &&同时运行两个命令
mysql使用命令
sudo apt-get install mysql-server mysql-client ubuntu安装程序
1.终端启动MySQL:/etc/init.d/mysql start;
2.登录MySQL:mysql -uroot -p (用root账户登录),然后输入密码;
3.查看所有的数据库名字:show databases;
4.选择一个数据库操作: use database_name;
5.查看当前数据库下所有的表名:show tables;
6.创建一个数据库:create database database_name;
7.删除一个数据库:drop database database_name;
8.创建一个表: create table mytest( uid bigint(20) not null, uname varchar(20) not null);
9.删除一个表: drop table mytest;
10.SQL插入语句:insert into table_name(col1,col2) values(value1,value2);
11.SQL更新语句:update table_name set col1='value1',col2='value2' where where_definition;
12.SQL查询语句:select * from table_name where.......(最复杂的语句)
13.SQL删除语句:delete from table_name where...
14.增加表结构的字段:alert table table_name add column field1 date ,add column field2 time...
15.删除表结构的字段:alert table table_name drop field1;
16.查看表的结构:show columns from table_name;
17.limit 的使用:select * from table_name limit 3;//每页只显示3行
select * from table_name limit 3,4 //从查询结果的第三个开始,显示四项结果。 此处可很好的用来作分页处理。
18.对查询结果进行排序: select * from table_name order by field1,orderby field2;多重排序
19.退出MySQL:exit;
20.删除表中所有数据: truncate table 数据表名称 (不可恢复)
设备操作
关机
halt 立刻关机
poweroff 立刻关机
shutdown -h now 立刻关机(root用户使用)
shutdown -h 10 10分钟后自动关机
重启
reboot
shutdown -r now
shutdown -r now 10
shutdown -r 20:35
shutdown -c 取消重启
进程
ps -aux 显示所有包含使用者的进程 all user x进程
top 动态显示所有进程
sudo kill 进程号 杀死进程
sudo kill -9 进程号 杀死所有进程
都杀不了 就是守护进程
守护进程路径:cd /etc/init.d/ 到这查找
sudo /etc/init.d/mysql stop 停止守护进程
sudo /etc/init.d/mysql start 开始守护进程
sudo /etc/init.d/mysql restart 重启守护进程
pycharm
idea.lanyus.com 获得破解码
获得破解码后
在vim /etc/hosts
加 0.0.0.0 account.jetbrains.com
用户、组
whoami 看现在是谁在登录
who 看有多少人在操作(都有谁)
su first 切换用户
创建新用户
sudo useradd -m first -m是同时创建目录
cat /etc/passwd 查看first 是否创建成功
sudo passwd first 设置密码
用windows登陆就会显示两个用户登录 first不能用sudo 只有原著民能用sudo
usermod 修改用户信息
-d //sudo usermod first -d /home/first/demo 指定登录目录
删除前先退出 exit (从windows中退出)
sudo userdel -f first 删除用户
sudo groupadd demo 创建组 cat /etc/group 查看组
cat /etc/passwd 查看用户
groups first 查看用户是属于哪个组的
useradd aaa -g abc 创建aaa用户直接指定属于abc组(组要存在)
useradd aaa -G bbb -G 追加 创建aaa用户既属于abc组,也属于bbb组(组要存在)
sudo usermod first -g demo 把first放入demo组
sudo usermod first -Gdemo first既属于first组,也属于demo组
demo 为主组
sudo usermod first -G demo 把first和demo交换 first为主组
sudo gpasswd -d first demo 把first从demo中删除(不能从主组删除)
sudo gpasswd -a first demo 把first追加到demo
删除组
sudo groupdel demo 把demo组删掉
cat /etc/group 查看删除结果
sudo groupmod demo -n demo 修改组名
sudo usermod -a -G sudo first 让first有sudo权限(放到sudo组中)
sudo usermod -a -G adm first 让first有adm权限(放到adm组中)
权限
-为文件 d为文件夹
w 写入 文件/改变删除文件 文件夹/增加删除文件
r 读取 文件/读取文件数据 文件夹/查看文件夹内部都有什么
x 执行 文件/执行该程序 文件夹/列出该文件中内容的详细信息
sudo chown -R first:first aaa 改变文件夹的拥有者 -R 递归,文件夹中的内容的拥有者都改变
更改文件权限
sudo chmod u=rwx ,g=rwx ,o=rwx ccc.txt (在原著民的权限下改)
chmod -R 666 ccc.txt 1-->x 2-->w 4-->r 3-->xw 5-->rx 6-->wr 7-->wrx
执行
在vim内部写 #!/user/bin/env pyhton, 自动执行python
搭建服务器
from flask import Flask,render_template #渲染html(flask中)
import pymusql
app=Flask(__name__)
@app.route("/") #访问根目录的话会↓ 返回到“index.html”
def index():
db = pymysql.connect(host="localhost",
user="root",
password="9264",
db="wangwei",
charset="utf8")
cur = db.cursor()
cur.execute("select * from stu")
result = cur.fetchall() #把数据库中的数据全部拉取出来
return render_template("index.html",result=result) #需要上面的render_template
#result 只能被{{}}识别 逻辑{%%}
flask 中规定 静态文件(css,js等)必须要放到static目录中 因为是默认的路径 所以要新建static文件 /static
<link rel="style" herf="/static/index.css">
{{data}}
{% for item in data %}
<li></li>
{% endfor %}
if(result):
res=make_response(redirect("/"))
res.set_cookie("login","yes")
return res
else:
return redirect("/login")
session
sudo apt-get install mysql-server mysql-client ubuntu安装程序
1.终端启动MySQL:/etc/init.d/mysql start;
2.登录MySQL:mysql -uroot -p (用root账户登录),然后输入密码;
3.查看所有的数据库名字:show databases;
4.选择一个数据库操作: use database_name;
5.查看当前数据库下所有的表名:show tables;
6.创建一个数据库:create database database_name;
7.删除一个数据库:drop database database_name;
8.创建一个表: create table mylist(
-->id int(10) auto_increment primary key,
自增 组件
-->name varchar(255),
-->age varchar(10),
-->sex varchar(10))default charset=utf-8;
9.删除一个表: drop table mytest;
10.SQL插入语句:insert into table_name(col1,col2) values(value1,value2);
11.SQL更新语句:update table_name set col1='value1',col2='value2' where where_definition;
12.SQL查询语句:select * from table_name where.......(最复杂的语句)
13.SQL删除语句:delete from table_name where...
14.增加表结构的字段:alert table table_name add column field1 date ,add column field2 time...
15.删除表结构的字段:alert table table_name drop field1;
16.查看表的结构:show columns from table_name;
17.limit 的使用:select * from table_name limit 3;//每页只显示3行
select * from table_name limit 3,4 //从查询结果的第三个开始,显示四项结果。 此处可很好的用来作分页处理。
18.对查询结果进行排序: select * from table_name order by field1,orderby field2;多重排序
19.退出MySQL:exit;
20.删除表中所有数据: truncate table 数据表名称 (不可恢复)
python3 -m venv abcd
cd abcd
source bin/activate
which python3
deactivate 退出
Linux系统使用的更多相关文章
- 在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux系统中的Device Mapper学习
在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...
- 玩转 Linux 系统的方法论
Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...
- Linux 系统中发博客必备的五大图片处理神器
发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
- 如何重置硬盘遭到“损坏”的Linux系统root用户密码
传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- 如何配置Linux系统的网络IP地址
一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...
随机推荐
- C语言面试题分类->排序算法
1.选择排序. 每次将最小的数,与剩余数做比较.找到更小的,做交换. 时间复杂度:O(n²) 空间复杂度:O(1) 优缺点:耗时但内存空间使用小. void selectSort(int *p,int ...
- ArrayList源码理解
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Col ...
- [Swift]LeetCode593. 有效的正方形 | Valid Square
Given the coordinates of four points in 2D space, return whether the four points could construct a s ...
- [Swift]LeetCode722. 删除注释 | Remove Comments
Given a C++ program, remove comments from it. The program source is an array where source[i] is the ...
- Node.js 多版本安装
Node.js 多版本安装 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine(Node.js 是一个基于 ...
- Markdown语法简介
1.标题 在想要设置为标题的文字前面加#来表示一个#代表一级标题,总共六级 2.字体 加粗要加粗的文字左右分别用两个*号包起来 斜体要倾斜的文字左右分别用一个*号包起来 斜体加粗要倾斜和加粗的文字左右 ...
- jupyter-notebook后home页面空白问题
jupyter-notebook后home页面空白问题 解决方案1 更换默认的浏览器,选择谷歌浏览器,很多360打不开的页面,更换谷歌后都能有效解决,并且确保是最新版本的google浏览器. 解决 ...
- 死磕 java集合之TreeMap源码分析(二)- 内含红黑树分析全过程
欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. 插入元素 插入元素,如果元素在树中存在,则替换value:如果元素不存在,则插入到对应的位置, ...
- C语言用regcomp、regexec、regfree和regerror函数实现正则表达式校验
前言 首先,祝大家国庆假期玩的嗨皮!可能有的人已经在回家的路上了,是不是都看不到我的真挚祝福了? C语言对于一些东西的封装比较少,比如正则表达式,但速度快一直使它立于不败之地,今天就要介绍如何用C封装 ...
- 《深入java虚拟机》读书笔记之垃圾收集器与内存分配策略
前言 该读书笔记用于记录在学习<深入理解Java虚拟机--JVM高级特性与最佳实践>一书中的一些重要知识点,对其中的部分内容进行归纳,或者是对其中不明白的地方做一些注释.主要是方便之后进行 ...