title: Debian折腾笔记
copyright: true
top: 0
date: 2018-06-19 15:48:15
tags: [Debian,安装Debian,Linux]
categories: Debian
permalink: Debian基础笔记
password:
keywords: [Debian,安装Debian,linux]
description: 服役4年的老笔记本越来越卡了,开个Pycharm都要等5分钟,但是舍不得丢弃,重装了基于Debian改版的ParrotSec系统,类似于Kali,加载的服务变少了,速度自然就更快。

你陪了我多少年,穿林打叶,过程轰轰烈烈。花开花落,一路上起起跌跌。

重装系统

其实装Debian还是比较友好的,如果你曾在Vmware上安装过Kali那就不需要百度了,按照步骤一步一步来即可。
说点要注意的,首先准备一个8G的U盘,使用USBwriter(100+kb)刻录下载好的ParrotSec.iso镜像文件。
我用的联想笔记本,联想进入BIOS刷机有点不一样,大致步骤如下:

  1. 开机出现lenovo图标,按F2进入BIOS界面,在Boot中,两项选择设置legacy support与legacy first。移动光标,按F5将下面的USB启动移动到最上面,关于legacy与efi的区别百度一下,这里不作复述。记得插上U盘。
  2. 设置好后F10保存退出,系统自动重启,出现lenovo图标,按F12进入启动设置,选择USB启动即可。
  3. 后面的界面和在Wmware中安装Kali一样,若没有经验直接百度。

安装好后大概就是这样

基础知识

Debian是Linux的一个发行版,Linux对文件系统的权限管理的很严格,比如你在图形化下复制一个文件发现无法复制,使用命令sudo cp -r xx xx 就可以复制过去,这就是权限管理的问题。有的时候发现没办法运行记得加上sudo,总结一些必知必会的基础知识,方便在日常环境下使用。(这里插一句话,如果想使用Linux系统,但是决定ubuntu或者debian太麻烦了,建议使用国内相对来说比较好用的Linux发行版—deepin,安装过程比较简单,官方网站有很详细的介绍,小学生坐在马桶上都会安装。

文件/文件夹管理

1. ls        列出当前目录下所有文件
2. ls -a    列出当前目录所有文件(包括隐藏文件)
3. ls -l    列出每个文件的详细信息
4. cd ..    返回上级目录
5. cd -     返回上一次打开的目录
6. cd ~     返回主目录
7. cd //    返回根目录
8. mkdir test   创建名为test的文件夹
9. rm -rf test  删除test文件夹和其下所有文件(-r是递归,-f是强制)
10. mv test /var/test   把test文件夹移动到var目录下
11. mv  test test1      把test文件夹重命名为test1,该方法适用于文件重命名

查看信息/开关服务

1. sudo service apache start-stop-restart    开启-关闭-重启apache服务,记得加上sudo,不然权限不够无法启动,如果要开启别的服务比如mysql,直接把apache改成mysql即可(如果不记得mysql密码,cat /etc/mysql/debian.cnf 里面明文存储mysql密码)
2. sudo /etc/init.d/apahce start-stop-restart   同上,如果要开启别的服务比如mysql,直接把apache改成mysql即可
3. uname -a                 查看内核版本
4. cat /etc/issue           查看系统版本
5. hostname                 查看系统
6. cat /proc/cpuinfo        查看CPU信息
7. sudo ethtool eth0        查看网卡状态
8. sudo fdisk -l            查看磁盘信息
9. lshw                     查看硬件信息
10. df -h                   查看剩余空间
11. free -m                 查看内存使用情况
12. ps -A                   查看所有进程
13. kill pid&kill name      结束进程,pid是在ps -A查看对应的数字,name即是进程名
14. du -hs                  查看当前目录大小
15. find . -name 'xxx.py' 寻找文件,文件名可以使用通配符*
16. mysql \.                登陆mysql后,输入\\. var/sqlsetup.sql(sql文件路径)即可安装sql文件
17. top/w                   查看负载,w后面三个值表示近1分钟,10,15分钟的负载,一般来说0.6是标准健康值
18. grep                    匹配文件
19. wc -l                   统计文件个数
20. |                       把上一个命令的值传递个下一个命令,比如grep '11' xxx.txt|wc -l

打包/解压缩

1. tar 1. tar -c 创建包2. tar -x 释放包3. tar -v 显示过程信息4. tar -z 代表压缩包
2. tar --zcvf dabao.tar.gz /var/bin      把/var/bin目录打包压缩成dabao.tar.gz
3. tar --zxvf dabao.tar.gz               把dabao.tar.gz解压出来

安装软件

Linux安装软件有两种方式,第一种是直接在线安装(使用apt-get),第二种是下载到本地然后手动安装(使用dpkg -i xxxx.deb)。

安装软件包dpkg -i package.deb     //安装本地软件包,不解决依赖关系apt-get install package  //在线安装软件包

软件安装后相关文件位置

1.下载的软件包存放位置/var/cache/apt/archives2.安装后软件默认位置/usr/share3.可执行文件位置/usr/bin4.配置文件位置/etc5.lib文件位置/usr/lib

详细命令

1. apt-cache serach package              搜索包
2. apt-cache show package               显示这个包的详细信息,比如大小版本说明等
3. sudo apt-get install package         在线安装包
4. sudo apt-get install package --reinstall     重新在线安装这个包
5. sudo apt-get remove package          删除这个包
6. sudo apt-get remove package --purge  删除这个包和这个包的相关配置文件
7. sudo apt-get update                  更新源,在安装新的包之间要先编辑对应的源地址
8. sudo apt-get upgrade                 更新与源对应的所有文件包
9. apt-cache depends package            查看这个包需要依赖的包
10. apt-cache rdepends package          查看这个包被哪些包所依赖
11. sudo apt-get build-dep package      安装相关的编译环境
12. sudo apt-get clean && sudo apt-get autoclean    删除不用的包(清理/var/cacheapt/archive中的deb缓存文件)
13. sudo apt-get check                  检查室友有损坏的依赖包

dkpg安装删除包

1.  dpkg -i package-file-name        安装包
2.  sudo apt-get install -f根据经验,通常情况下会报依赖关系的错误,我们可以使用以下的命令修复安装。
2.  dpkg -r package-file-name       删除包
3.  sudo dpkg -l                    查看已经安装的软件
3.  dpkg -l | grep 'package-file-name'    检查这个包的状态
4.  dpkg -P package-file-name       表示彻底卸载软件包(包括配置文件)

apt-get安装删除包

1. 安装新的文件一般要编辑对应的源文件,比如:leafpad /etc/apt/sources.list  查看使用的源,更新编辑源
2. sudo apt-get update                  更新软件源
3. sudo apt-get upgrade                 更新对应源的所有文件
4. sudo apt-get install package         安装包
5. sudo apt-get --reinstall install package     重新安装这个包
5. sudo apt-get remove package          卸载删除包
6. sudo apt-get autoremove package      自动卸载软件但保留其配置文件
7. sudo apt-get autoremove --purge package  自动卸载软件其删除其配置文件tips: 5   一般用于卸载本地安装的软件,6&7 一般用于在线安装的软件

最佳方法删除与安装包

通过上面的方法基本上都可以删除安装包,但是过程有些累赘,其中有一小步出错后后面就更加让人头疼,在Linux下有一个专门管理安装包的应用,aptitude。

aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。

需要注意的是,与apt一样,安装新的软件之前要跟新源哦~

首先更新源文件

mv /etc/apt/sources.list /etc/apt/sources.list.bak   # 先备份一下sudo nano /etc/apt/sources.list                       # 编辑文件# 然后加上下面这些源地址
deb http://mirrors.163.com/debian/ jessie main non-free contrib
deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib
deb http://mirrors.163.com/debian/ jessie-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ jessie main non-free contrib
deb-src http://mirrors.163.com/debian/ jessie-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ jessie-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
# 更新一下
apt-get update
apt-get upgrade
# 安装apttitude
sudo apt-get install apttitude
# 举个例子,检索并删除PHP
sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# 这样,就完全删除了PHP
# 然后我在安装PHP,使用apt-get与apttitude一样,我使用apt-get....
sudo apt-get install php5 php-pear php5-mysql php5-gd

aptitude常用命令

aptitude update            更新可用的包列表
aptitude safe-upgrade      执行一次安全的升级
aptitude full-upgrade      将系统升级到新的发行版
aptitude install pkgname   安装包
aptitude remove pkgname    删除包
aptitude purge pkgname     删除包及其配置文件
aptitude search string     搜索包
aptitude show pkgname      显示包的详细信息
aptitude clean             删除下载的包文件
aptitude autoclean         仅删除过期的包文件i: 安装软件包
c: 软件包没有安装,但在系统中有软件包的残留配置
p: 从系统彻底删除
v: 虚拟软件包
B: 已损坏的软件包
u: 解压文件,但尚未配置软件包
C: 半配置 - 配置失败需要修复
H: 半安装 - 卸载失败需要修复

tips:使用aptitude可以解决python使用pip安装包的时候包的依赖问题:,如安装scipy,matplotlib的时候出现依赖包,自己去安装比较麻烦的问题:
如:sudo aptitude install python-scipy ; sudo aptitude install python-matplotlib

文件权限问题

Linux对文件权限管理很严格,其所对应的概念如下:

w:可写
r:可读
x:可执行
a:可追加

使用ls -l可以查看每个文件的权限,如果需要修改权限可以这么做

chmod u+r xxx.py

这样xx.py就有了可读的权限,若要有读写权限使用u+wr即可,如果要删除相关的权限使用u-wr即可。另一种方式使用数字对应的u+r,比如最常见的chomd 777 xxx.py,r对应4,w对应2,有点麻烦不好记忆,使用u+r就可以了。

快捷键

Linux下使用鼠标机会不多,尽量多记住一些快捷键,在工作或者学习的时候能提高效率。

  1. 前一个后一个工作区的切换

    如果你经常使用工作区,那你就可以用Ctrl + Alt +上/下方向键很容易地进行切换。左箭头切换到上一个工作区,右箭头切换到下一个工作区。

  2. 把当前窗口移到另一个工作区

    快捷键Shift+ Ctrl + Alt +左/右方向键让你很容易把当前窗口移到指定的工作区。这个快捷键和上面的快捷键很好配合。如果你工作时常常打开很多窗口,但又不想看到桌面 和任务栏挤满程序,你可以用这个快捷键把程序移到另 一个工作区,这样你的桌面就整洁多了。

  3. 显示桌面

    Ctrl + Alt + D快捷键让你很快地最小化所有窗口,看到桌面。当所有窗口都最小化后,你再按这个快捷键就可以恢复窗口原来的状态。

  4. 鼠标右击的键盘快捷键

    在大多数程序里,你可以右击显示快捷菜单。其实键盘上 Shift + F10也能达到一样的效果。

  5. 重启会话以从崩溃中恢复

    按下Ctrl + Alt + Backspace来重启会话,恢复的可能达90%。

  6. 快速锁定屏幕

    如果你需要离开 电脑 一会儿,可以按下Ctrl + Alt + L很快地锁定屏幕,以防有人使用

  7. 反向切换窗口

    Alt + Tab是切换窗口的快捷键。如果你再按下SHIft,你就可以反向切换窗口。这个快捷键很有用,当你Alt + Tab按得太快,错过了你想要切换的窗口,按一下shift就可以返回之前的窗口了。

  8. 用方向键移动窗口

    Alt+F7会激活移动窗口 功能 ,用方向键(上,下,左,右)就可以移到窗口了。

  9. 编辑文本快捷键使用

     1. ctrl + k  #从光标开始到文本末剪切所有文本2. ctrl + y  #粘贴文本3. ctrl + e     #将光标移动到本行末尾4. ctrl + a  #将光标移动到本行开头5. ctrl + w  #剪切前一个单词6. alt  + f  #跳转到下一个空格处7. alt  + b  #跳转到上一个空格处8. alt  + back  #删除前一个单词9. shfit + insert #粘贴一个词(在终端)
    

VIM工具使用

vim新建或打开文本

vim /xxx/xxx.txt

写入内容

键盘:i

进入inster模式,每次从模式中退出需要按esc

保存并且退出

esc --> : --> wq
#w是写入,q是退出,加上!就是强制

转到行首行尾

G   #光标到行尾
gg  #光标到行首

删除本行

dd

回退上次操作

u

复制

yy  #复制本行粘贴
p   #粘贴本行

SSH工具使用

外部连接Linux系统的时候,一般用的是ssh协议连接,win下的远程桌面连接是rdp协议。

安装SSH服务端

apt-get install openssh-server

启动SSH

service sshd start

在Debian下记得加上sudo启动

设置开机启动

chkconfig sshd on

安装SSH客户端

win:Xshell,pytty
linux:apt-get install openssh-clients
登陆:ssh root@ip

SSH免密安全登陆

SSH是非对称加密,分两个文件公钥与私钥,公钥对外开放,私钥放在自己本机,这样登陆服务器的时候就不用输入自己的密码了。

生成私钥

ssh-keygen -t rsa
ssh-keygen -t dsa

有多种加密算法,然后提升输入私钥文件名字,随后ls一下,会发现多了两个文件,即私钥与公钥,后缀加了pub的是公钥。把公钥放在服务器即可。
在服务器的ssh服务端文件夹里使用touch新建一个文件authorized_keys,里面的内容就是之前创建的公钥的内容。
最后别忘了把私钥加在本地的环境当中,即

ssh-add ~/.ssh/xxx_rsa

加载后在直接连接即可。

修改端口

防止爆破,这个对各大黑客不陌生吧。

/etc/ssh/sshd_config

下面有个端口号,直接修改即可。最后别忘了重启ssh服务。

系统用户操作命令

添加用户

useradd
adduser
example : adduser langzipasswd  123456添加用户密码

删除用户

userdel
example: userdel -r langzi

设置密码

passwd

useradd与adduser都是创建新的用户

在CentOs下useradd与adduser是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码。

而在Ubuntu/Debian下useradd与adduser有所不同

1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。

2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。

userdel只能删除用户,并不会删除相关的目录文件。userdel -r 可以删除用户及相关目录。

防火墙设置

安装防火墙

apt-get install firewalld

启动/停止/检查状态

sudo service firewalld start-stop-restart-state #打开-关闭-重启-检查状态

删除/添加某项服务

sudo firewalld-cmd --remove-service=ssh
sudo firewalld-cmd --add-service=ssh
#如上关闭或者开启ssh服务
sudo firewalld-cmd --remove-port=22/tcp
sudo firewalld-cmd --add-port=22/tcp
#效果如上一致

提权/下载/上传操作

提权

首先cd到home目录下,查看有用户名字为langzi.然后用该用户登陆,安装某些软件的时候加上duso提示没有权限,这个时候使用root用户登陆,修改配置文件。

visudo
#最后一行中,使用G调转过去,在all people in .... 中编辑添加
%langzi ALL=(ALL)   ALL
esc --> : --> wq
#保存退出

然后回到浪子账户,可以安装软件。

下载文件

wget/curl 两个都可以
example:下载www.langzi.fun的首页wget http:www.langzi.fun # 这样就下载好了我的网站的首页文件

文件上传到服务器

本地文件上传到服务器上。

scp 命令
example: scp xxx.txt langzi@ip:/tmp# 把xxx.txt,以langzi用户上传到服务器的tmp目录下

服务器下载文件到本地

scp 命令
example: scp langzi@ip:/tmp/xxx.txt ./# 把服务器tmp目录下的xxx.txt下载保存到当前目录下

安装软件应用

折腾中文输入法

在搜狗输入法官网下载Linux版本的安装包.deb,下载到本地后右键Gdebi安装即可,会自动下载所依赖的包,下载后找到控制中心,找到输入法配置的选项就可以看到搜狗输入法成功安装好了,不难.

安装Win下的应用软件

推荐使用Cossover,类似于安卓模拟器,在其官网下载就好.需要注意的是,下载的版本好像只有32位的,所以需要一堆依赖的包,具体操作如下:

 sudo dpkg --add-architecture i386sudo apt-get updatesudo apt-get -f installsudo apt-get install gdebi sudo gdebi /xxxxxxxx.deb

安装好后,在右边的程序栏会出现Cossover图标,直接点击启动即可,里面的应用直接下载安装即可.

安装网易云音乐

和安装搜狗输入法一样,去官网下载安装包,网易云的Linux安装包有两个,一个是DEEPIN深度系统定制的,下载第二个即可,我之前安装的时候用dpkg,需要一大堆依赖还要更新源,后来报错了.其实不需要这么麻烦,右键使用Gdebi默认安装即可.

快速截屏

一般来说下载使用Shutter来截屏,但是需要因为是Prel语言写的,Debian上默认安装的p语言好像版本不一样,安装的时候依赖包没有下载成功.
当然使用自带的截图也是可以的,在键盘上F12旁边有个截屏按键,如果想截自定义部分图,按住Shift+PrtSc,即可选定位置截图.

个人博客:www.langzi.fun
欢迎交流Python开发,安全测试。

欢迎关注公众号:【安全研发】获取更多相关工具,课程,资料分享哦~

Debian折腾笔记相关推荐

  1. apache arm 交叉编译_MacOS 下交叉编译的折腾笔记

    这是这个系列 "折腾笔记" 的第一篇,希望能用更直白的方式去展现交叉编译的时候做了些什么.因此,这个教程并不是最佳实践,但是可以让小伙伴们有一个更直白的理解.之后,我会把笔记的重点 ...

  2. 一处折腾笔记:Android内嵌html5加入原生微信分享的解决的方法

    一处折腾笔记:Android内嵌html5加入原生微信分享的解决的方法 参考文章: (1)一处折腾笔记:Android内嵌html5加入原生微信分享的解决的方法 (2)https://www.cnbl ...

  3. TESLA M40折腾笔记

    TESLA M40折腾笔记 偶然间在闲鱼上看到卖tesla m40显卡的,显存24g,大得很啊,我原来有一个1060 6G,跑代码不行,遂纠结几天下单了,450块钱,顺丰到付,舍友一直说你别被骗了. ...

  4. 小米路由器3G建站折腾笔记6 - 总结

    小米路由器3G建站折腾笔记1 - 引言与路由器选择 小米路由器3G建站折腾笔记2 - 刷ROM和开启SSH 小米路由器3G建站折腾笔记3 - 网站架构选择 小米路由器3G建站折腾笔记4 - 安装opk ...

  5. 小米路由器3G建站折腾笔记1 - 引言与路由器选择

    小米路由器3G建站折腾笔记1 - 引言与路由器选择 小米路由器3G建站折腾笔记2 - 刷ROM和开启SSH 小米路由器3G建站折腾笔记3 - 网站架构选择 小米路由器3G建站折腾笔记4 - 安装opk ...

  6. NUC 折腾笔记 - Linux 系统篇

    NUC 折腾笔记 - Linux 系统篇 写一篇迟到的折腾笔记:NUC8 8i5beh .原本计划折腾 Hackintosh ,最后折腾了一台 Linux Homelab 设备. 本篇记录 NUC 基 ...

  7. MacBook外置显卡eGPU折腾笔记

    MacBook外置显卡eGPU折腾笔记 硬件选购 当今市场上个人电脑的独立显卡,基本上能选的只有NVIDIA和AMD了,如果你想买外置显卡来打游戏的话,NVIDIA和AMD的都可以,但如果是像我一样准 ...

  8. 小米路由器3G建站折腾笔记4 - 安装opkg和onmp

    小米路由器3G建站折腾笔记1 - 引言与路由器选择 小米路由器3G建站折腾笔记2 - 刷ROM和开启SSH 小米路由器3G建站折腾笔记3 - 网站架构选择 小米路由器3G建站折腾笔记4 - 安装opk ...

  9. 蜗牛星际集成:PVE系统+NAS+WEB 折腾笔记

    蜗牛星际集成:PVE系统+NAS+WEB 折腾笔记 1 写在前面 目录 1.功能 2.硬件配置 3.系统结构 写在前面 一直想组建一台自己的服务器在家里,由于最近经常会用到MySQL,不希望安装在云服 ...

最新文章

  1. 面试:为什么 Java 线程没有Running状态?
  2. 在O(1)时间删除链表节点
  3. 怎么用Windows 2008配置DHCP中继?
  4. 一次由于字符集问题引发的MySQL主从同步不一致问题追查
  5. 判断三角形是否是直角三角形
  6. 天津知青网6周年网庆-京剧-智取威虎山片段
  7. PyTorch系列入门到精通——生成对抗网络一瞥
  8. 三星S7Edge刷了鉴机大师的Android8的增强版,超级流畅省电_我是亲民_新浪博客
  9. 2022年电工(技师)考试报名及电工(技师)复审考试
  10. vue axios封装及使用
  11. 前沿技术讲座感悟以及关于互联网时代前沿技术的个人理解与思考
  12. python提取excel一列或多列数据另存为新表(1)
  13. VC中常见的108个问题
  14. 富文本编辑器 —— 学习笔记
  15. 如何修改本地hosts文件
  16. fedora mysql 开机启动服务_linux -- 启动时启动服务或者执行命令
  17. 博士毕业感悟:我从来不曾优秀过,也从未曾放弃过!
  18. 大数据系列5:地理信息系统PostGis
  19. 怎么样引流加人?引流加人有什么技巧?引流加人用什么好
  20. centos7安装mysql(mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar)

热门文章

  1. 原来射极跟随器还有这个应用
  2. 芯片短缺:今年圣诞节PS5货量恐不足
  3. Python:dataframe读取以文本形式存储的数字
  4. 电脑如何打开虚拟化设置?
  5. phpmywind 数据记录查询
  6. 2018浙大408考研经验(划掉)个人口胡 普通一本+二战(伪)+小跨吧大概
  7. 遗传算法学习笔记01
  8. 加密html文件如何转换为pdf,PPT转成PDF后如何加密?其实真的很简单!
  9. Day 4 R基础概念——向量、矩阵
  10. 全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)