snjl

我大概率会编程。


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Ubuntu:账户相关

发表于 2019-01-07 | 分类于 服务器
字数统计: 257 字 | 阅读时长 ≈ 1 分钟

开启root账户,实际上就是给root用户设置一个密码的过程:

1
sudo passwd root

执行上面的命令后,输入当前用户的密码就可以设置root密码。

创建用户

1
sudo adduser xxx

这样的命令会在home目录下添加一个帐号

给指定用户增加sudo权限

切换到root用户

1
su root

找到sudo文件/etc/sudoers,该文件默认是不可写的,添加可写权限

1
chmod u+w /etc/sudoers

修改sudoers文件,找到以下语句

1
root    ALL=(ALL:ALL) ALL

在下面添加

1
yourUserName   ALL=(ALL:ALL) ALL

保存退出。修改此文件风险比较大, 文件如果改坏, 导致所有用户的 sudo 权限都没了,所以修改时请注意

鉴于安全考虑修改完后应把sudoers写权限去掉

1
chmod u-w /etc/sudoers

如果发生问题:

1
2
3
sudo:sudo /etc/sudoers is world writable
sudo:no valid sudoers sources found ,quitting
sudo:unable to initialize policy plugin

sudoers的权限被改了,改回来就好了。
使用root用户输入:

1
pkexec chmod 0440 /etc/sudoers

linux重命名文件和文件夹

发表于 2019-01-07 | 分类于 linux
字数统计: 111 字 | 阅读时长 ≈ 1 分钟

例如,before.txt是修改之前文件名,after.txt是准备修改的文件名

用mv指令就可以修改

1
mv before.txt after.txt

注意:如果当前目录下也有个after.txt的文件的话,我们的这个文件是会将它覆盖的

重命名文件夹同理。

mv命令也可以移动文件和文件夹

例如:将/a目录移动到/b下,并重命名为c

1
mv /a /b/c

docker:nvidia-docker安装

发表于 2019-01-07 | 分类于 服务器
字数统计: 244 字 | 阅读时长 ≈ 1 分钟

先安装docker-ce:

1
2
3
4
5
6
7
8
9
10
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

nvidia-docker安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

centos:centos U盘安装卡在 starting dracut initqueue hook

发表于 2018-12-31 | 分类于 centos
字数统计: 242 字 | 阅读时长 ≈ 1 分钟

https://blog.csdn.net/tangshiweibbs/article/details/80233828

出现

1
2
3
[ok] Reached target Basic System
或者
[ok] starting dracut initqueue hook

在启动后引导界面按 e 进行编辑,修改掉默认的信息:

1
2
3
setparams 'Install CentOS Linux 7'
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 xdriver=vesa nomodeset quiet
initrdefi /images/pxeboot/initrd.img

改为:

1
2
3
setparams 'Install CentOS linux 7'
linuxefi /images/pxeboot/vmlinuz linux dd nomodeset quiet
initrdefi /images/pxeboot/initrd.img

按Ctrl + X 执行上面的修改

然后启动后屏幕会列出当前机器的硬盘设备也包括你的U盘,一般一个硬盘的话,U盘都是sdb* 这样的【记住你的U盘设备路径】

我们看到了U盘的名称,前面的设备名称为/dev/sdb4 ,重启,U盘启动,修改引导,

1
2
3
4
【第二次修改后,注意U盘的设备路径】
setparams 'Install CentOS Linux 7'
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:/dev/sdb4 nomodeset quiet
initrdefi /images/pxeboot/initrd.img

再次Ctrl + X 执行就可以了(好像上面不需要使用nomodeset quiet)

centos:安装java

发表于 2018-12-31 | 分类于 centos
字数统计: 24 字 | 阅读时长 ≈ 1 分钟

命令:

1
yum install java-devel

如果使用

1
yum install java-xxx-xxx

会出现javac无效的情况。

springboot:使用外部配置文件

发表于 2018-12-31 | 分类于 springboot
字数统计: 194 字 | 阅读时长 ≈ 1 分钟

springboot读取外部配置文件顺序

  1. 第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下。
  2. 第二种是直接把配置文件放到jar包的同级目录。
  3. 第三种在classpath下建一个config文件夹,然后把配置文件放进去。
  4. 第四种是在classpath下直接放配置文件。

优先级排序分别为1,2,3,4,在此之外,打包时候的配置文件(即src/main/resources 文件夹下创建的application.properties)的优先级最低,均会以上覆盖。

一般考虑使用在xxx.jar的可执行文件的同级目录增加一个config文件夹,在里面放入application.properties配置文件,优先级最高。

mysql:获取表名、列名和全局搜索sql拼接

发表于 2018-12-31 | 分类于 mysql
字数统计: 303 字 | 阅读时长 ≈ 1 分钟
  1. 查找表名
    1
    select table_name from information_schema.tables where table_schema='TSCHEMANAME' and table_type='base table'

其中SCHEMANAME为要查的数据库。

python获取表名:

1
2
3
4
5
6
7
# 获取表名
def get_tables(cursor):
cursor.execute(
"SELECT table_name FROM information_schema.tables WHERE table_schema='SCHOOL' AND table_type='base table'")
tables = cursor.fetchall()
tables = [table[0] for table in tables]
return tables

  1. 查找列名
    1
    SELECT column_name FROM information_schema.Columns WHERE table_name=%s AND table_schema=%s"

其中第一个变量为表名,第二个变量为数据库名。

python获取列名:

1
2
3
4
5
6
def get_table_columns(cursor, table_name, schema_name):
cursor.execute("SELECT column_name FROM information_schema.Columns WHERE table_name=%s AND table_schema=%s",
(table_name, schema_name))
columns = cursor.fetchall()
columns = [column[0] for column in columns]
return columns

  1. 拼接全局查找sql
    全局查找的sql样式:
    1
    select * from TABLE where `id` like "%COLUMN%" or `name` like "%COLUMN%" ...

python拼接:

1
2
3
4
5
6
7
8
9
10
def get_global_select_sql(table_name, word):
sql = "select * from " + table_name + " where "
columns = get_table_columns(cursor, table_name, schema_name)

for column in columns:
sql += "`" + column + "`" + " like '%" + word + "%' or "

sql = sql[:-4]

return sql

拼接好的sql如下所示:

1
select * from TABLE where `id` like '%WORD%' or `title` like '%WORD%' or `author` like '%WORD%' or `ISBN` like '%WORD%' or `publisher` like '%WORD%' or `publisherDateStr` like '%WORD%' or `publisherDate` like '%WORD%' or `description` like '%WORD%' or `price` like '%WORD%' or `eBookPrice` like '%WORD%' or `currency` like '%WORD%' or `rating` like '%WORD%' or `thumb` like '%WORD%' or `thumb1` like '%WORD%' or `fromlink` like '%WORD%' or `indexTimes` like '%WORD%' or `verify` like '%WORD%' or `isPub` like '%WORD%' or `memo` like '%WORD%' or `status` like '%WORD%' or `createUser` like '%WORD%' or `createDate` like '%WORD%' or `updateUser` like '%WORD%' or `updateDate` like '%WORD%'

Ubuntu:在anaconda中使用jupter

发表于 2018-12-31 | 分类于 ubuntu
字数统计: 178 字 | 阅读时长 ≈ 1 分钟

使用anaconda的环境:

1
source activate NAME

开启环境后,使用python安装jupyter

1
pip install jupyter

创建配置文件

1
jupyter notebook --generate-config

会生成~/.jupyter/jupyter_notebook_config.py文件。

自动生成密码

1
jupyter notebook password

会生成密码,生成的密码存储在 jupyter_notebook_config.json。

1
2
3
4
$ jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

修改配置文件

1
vi ~/.jupyter/jupyter_notebook_config.py

在最上面增加:

1
2
c.NotebookApp.ip='0.0.0.0'
c.NotebookApp.port =8888

分别指定的是可以访问的ip(网上大部分是设置为*,但是在我这会报错,设置成0.0.0.0可以成功),部署端口。

启动

输入

1
jupyter notebook

即可开启。如果要后台运行,输入

1
nohup jupyter notebook &

即可。

centos:常用yum命令

发表于 2018-12-31 | 分类于 centos
字数统计: 232 字 | 阅读时长 ≈ 1 分钟
1
2
3
4
5
6
7
yum update  升级系统

yum install ~ 安装指定软件包

yum update ~ 升级指定软件包

yum remove ~ 卸载指定软件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1.使用YUM查找软件包
命令:yum search ~
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在Yum Repository 內的软件包
命令:yum list extras
6.列出所指定软件包
命令:yum list ~
7.使用YUM获取软件包信息
命令:yum info ~
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在Yum Repository 內的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides~

npm:npm install全局安装和当前目录安装

发表于 2018-12-31 | 分类于 npm
字数统计: 162 字 | 阅读时长 ≈ 1 分钟

1. npm install xxx -g

使用该命令时, 模块将被下载安装到【全局目录】中。

【全局目录】通过 npm config set prefix “目录路径” 来设置。

比如说,当我们使用了npm install -g express安装了express框架后, 我们就可以在电脑里的某一个文件夹下,打开控制台,直接使用express mvc创建项目,否则会遇到 “’express’ 不是内部或外部命令,也不是可运行的程序”错误。

2. npm install xxx

使用该命令,则是将模块下载到当前命令行所在目录。
例如:

1
c:\123>npm install xxx

将会安装到

1
c:\123\node_modules\xxx

1…111213…21
snjl

snjl

越过山丘,才发现无人等候。

203 日志
44 分类
107 标签
RSS
GitHub E-Mail Weibo
© 2019 snjl
总访问量次 | 总访客人 |
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4