优雅的使用Linux

优雅的使用Linux

系统安装

启动盘制作

通过rufus烧制官网镜像,注意根据自己系统的引导模式选择相应模式,不确定的,可以在windows中通过Win + R 快捷键调出“运行”对话框,输入“msinfo32”,确定,打开“系统信息”窗口查看。

分区

如果windows的引导正常,安装时可以选择与windows共存。如果未出现该选项,可以这么分区:

  1. 挂载点/;主分区;安装系统和软件;大小为30G;分区格式为ext4;
  2. 挂载点/home;逻辑分区;相当于“我的文档”;越大越好; 分区格式ext4;
  3. swap;逻辑分区;充当虚拟内存;根据内存情况判断,小内存就按等大分,16G及以上4G足矣;分区格式为swap
  4. /boot;引导分区;逻辑分区;一般推荐200M,但我建议800,可以不用频繁的去删除旧内核释放空间;分区格式为ext4;

bug处理

wifi/蓝牙失效

安装完成后WiFi和蓝牙没有显示,这是因为联想的锅,linux在硬件上关闭了wifi和蓝牙.可以如此施为:

rfkill list all
结果为:
image.png

Hard blocked:yes石锤了,由于硬件阻塞无法干预,而下方的模块2和3分别为可用的蓝牙和无线网卡模块。所以只要我们将上方的ideapad模块移除并加入黑名单就可以一劳永逸了。

sudo modprobe -r ideapad_laptop #移除被硬件关闭的无线模块
sudo gedit /etc/modprobe.d/ideapad.conf #为了一劳永逸,将刚刚移除的模块加入黑名单

在打开的文件中输入blacklist ideapad_laptop

最后别忘了无线网卡的还软件阻塞着呢,所以需要启用它:
image.png

大功告成。

:::tips
我在使用过程中出现了双系统无线模块丢失的情况,一番折腾后发现了解决办法:

开闭下bios中的无线开关即可解决问题。具体是:重启进bios,找到无线开关,无论当前状态,改变后保存退出,重启后重复一次。
:::

显卡驱动/无法关机

集显的锅,禁用集显,安装独显驱动即可

  1. 卸载掉原来的nvidia驱动

    sudo apt-get autoremove --purge nvidia-*

  2. 打开配置文件,禁用nouveau

    sudo gedit /etc/modprobe.d/blacklist.conf

  3. 禁用nouveau第三方驱动,在最后一行添加

    blacklist nouveau

  4. 执行或者重启后执行,没有输出就ok

    lsmod | grep nouveau

之后有两种方式进行安装:

  • 打开软件与更新->附加驱动进行驱动安装,较为受限,可选驱动与勾选的源有关,往往看不到较新的驱动。
  • 通过终端直接添加驱动对应源进行安装
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-410
  1. 重启后查看当前显卡驱动版本:

    cat /proc/driver/nvidia/version

开机报错处理

日常开机都会报几个无伤大雅的错,既然解决不了,干脆屏蔽了。

sudo gedit /etc/default/apport
# enabled=1改为enabled=0

常规配置

更换软件源

  • 安装完成后的第一件事就该是更换软件源。
  • 打开系统设置->系统->软件和更新->Ubuntu软件,根据最佳服务器的测试结果选择,不过一般选择清华或者阿里云的即可,博主根据实际情况选择的cn99的源。

关闭时等待更新软件信息完毕即可。

  • 如果出现更新源失败,点开细节查看错误提示。首次更新源报错大概率是更新的源有问题,编辑/etc/apt/sources.list,把开头有cdrom://的那行前面加上#注释掉,同时在软件和更新->其他软件中取消勾选cdrom的源。如果还有问题,那就根据错误提示进终端取得root权限将/etc/apt/sources.list.d中对应源删除。
  • 参考:下载仓库信息失败

输入法

下载搜狗输入法

通过super+A组合键呼出应用列表,选择fcitx配置,将键盘-汉语调整至第一位,搜狗拼音放在第二位。其他删除。

fcitx配置的优先级是高于搜狗自己的设置的,所以,如果你发现自己在搜狗里的设置没有生效,可以进fcitx配置里看看是不是冲突了。比如我在搜狗里设置了按shift切换中英文,但fcitx配置里默认是按shift切换输入法,于是....

快捷键设置

  • 长按super键(微软的徽标键)会显示常用快捷键。
  • Ctrl+Alt+方向键可以快速切换窗口

进入系统设置->硬件->键盘->快捷键进行设置,如果设置后尝试无效,可能是该快捷键已被占用。

代理配置

采用shadowsocks+chrome的proxy插件方案。

shadowsocks安装
sudo apt-get update
sudo apt-get install python-pip #安装pip
sudo pip install shadowsocks #出现警告就加上-H参数重试

喜欢图形化界面的可以将shadowsocks替换为shadowsocks-qt5:

sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5

配置shadowsocks

在/home路径下新建配置文件,qt5类似。

sudo gedit shadowsocks.conf

添加如下信息

{
    "server":"server_IP", #服务器IP
    "server_port":server_port,#服务器监听端口
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"ss_pswd",#服务器ss设置的密码
    "timeout":300,
    "method":"RC4-MD5" #服务器ss加密的方式
}

运行客户端ss服务,start表示开启服务,stop表示关闭服务

sudo sslocal -c /home/shadowsocks.conf -d start

注:报错的话检查配置文件的路径是否正确。比如在我的电脑上就应该是:

sudo sslocal -c /home/eastzzp/shadowsocks.conf -d start

每次服务器变动,都需要将服务先关闭再开启

proxy插件配置
  1. 下载chrome插件Proxy SwitchyOmega,由于此时还没有代理,所以我们通过github下载

    链接
  2. chrome打开chrome://extensions/.将下载的插件拖进去安装
  3. 在菜单栏找到插件按钮,点击选项按钮,在情景模式中添加socks5代理,添加本地代理服务器127.0.0.1,代理端口1080.
  4. 遇到需要代理的网址,点击右上角插件按钮,然后选择刚刚添加的情景模式,同时添加条件,方便下次自动代理.
  5. ubuntu服务器端配置参考:Ubuntu 16.04下Shadowsocks服务器端安装及优化

全局代理

完成以上步骤已经可以用浏览器代理上网了。但是用终端时还是直接连接,要实现终端也进行代理,一般有两种方式,一种是使用polipo,一种是使用proxychains。本文使用的是后者。

  • 安装proxychains

    sudo apt-get install proxychains

  • 配置proxychains.conf

    sudo vim /etc/proxychains.conf

:::info
将文件内容末尾的socks4 127.0.0.1 9050 前面加上井号# 注释,然后在下面加上socks5 127.0.0.1 1080 ,保存并退出。

完成,之后在执行需要代理上网的命令时都在前面加上proxychains。
:::

参考:Ubuntu实现全局代理

舒适区

ieaseMusic

网易云第三方客户端,不是原版胜似原版。

下载工具

uget

sudo apt-get install uget

占用率插件安装

Indicator sysmonitor是在顶栏显示CPU和内存使用一个有用的工具。它还显示栏的各种温度传感器。它也允许用户运行有自己的命令展会上的顶栏的输出。Indicator sysmonitor可以与GNOME(ubuntu18)面板和Unity(Ubuntu16)正常工作。

安装

sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
sudo apt-get update
sudo apt-get install indicator-sysmonitor

启动

  • 通过终端,Ctrl C退出后即可后台

    indicator-sysmonitor &
  • 通过app

    通过super键呼出搜索框,输入system,即可看到System Monitor Indicator,点击即可运行

配置
在顶栏插件位置右键点击Preference,General处勾选开机自动运行,Advanced处自定义显示效果。结束后保存。

全局呼出

安装Albert

按键重映射

xkeysnail
安装后,在用户目录新建xkeysnail.py,打开后输入以下内容:

from xkeysnail.transform import *

define_keymap(None, {
    # Ctrl+Alt+j/k to switch next/previous tab
    K("M-h"): K("left"),
    K("M-j"): K("down"),
    K("M-k"): K("up"),
    K("M-l"): K("right"),
})

该方案是将Alt+HJKL映射为左下上右四个方向键。

剪贴板增强

copyQt

安装后进行如下配置:

  • 剪贴板功能勾选

2019-04-23 23-45-12屏幕截图.png

  • 快捷键设置

image.png

截图增强

  • 安装

Flameshot,该软件可以在截图后完成相应的编辑。

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/Vitzy/xUbuntu_16.04/ /' > /etc/apt/sources.list.d/home:Vitzy.list"
sudo apt-get update
sudo apt-get install flameshot
  • 配置

将默认的Prtsc设为Flameshot的快捷键。
到Settings -> Devices -> Keyboard ,右側捲動到最下面有個+號,按下後

  1. Name: flameshot
  2. Command: /usr/bin/flameshot gui
  3. Shortcut: 點選Set Shortcut...按鈕後,按下鍵盤上的PrtSc鍵

安装mac主题

参考:

打造完美的 Ubuntu16.04

不美翻怎么开发!Ubuntu 16.04 LTS深度美化!

Linux基础

可以参考菜鸟教程:
Linux文件与目录管理
Linux用户管理
Linux磁盘管理
常见的shell命令都可以在里面找到。

目录结构

根目录

Linux的根目录在shell中一般用 / 来表示,包含我们在安装系统时划分的所有分区。

  • 显示根目录下所有目录/分区:

image.png

  • 显示所有分区信息(Linux):

image.png

  • 根目录的磁盘视图:

image.png

:::info
从分区信息的最后一列挂载点可以看出,所有的分区都是挂载在根目录下 / 下。同时根目录下的目录列表也包含了所有分区的二级挂载点。
在Linux的磁盘视图中,根目录就是 计算机 。
:::

用户区域

用户的默认活动区域,软件的默认安装位置也是这里,shell中一般用 ~ 表示。值得注意的是,用户区域是 home 的子目录,然而在Linux的磁盘视图中,用户文件夹的标注是这样的:
image.png
这是误导性的,左上角的“Home”改为当前用户的用户名更为合适。

打印用户区域的目录结构,以我的系统为例:
image.png

:::info
我的用户名是eastzzp,这两种方式列出的文件目录与上面的磁盘视图也是吻合的。
:::

Shell基础

SHELL 基本命令汇总

终端
  • show default shell: echo $SHELL 
  • list all available shell: cat /etc/shells 
  • select default shell: chsh 
eastzzp@eastzzp-pc:~$ chsh
# Enter the new value, or press ENTER for the default
# Login Shell [/bin/sh]:
# switch to bash
eastzzp@eastzzp-pc:~$ /bin/bash
  • switch to bash: exec bash 
  • switch to zsh: exec zsh 

ls

list directory

  • show root directory: ls / 
  • show user directory: ls ~ 
  • show current directory: ls . or ls  

which

show where the thing is
image.png

磁盘管理
  • 打印分区容量信息
eastzzp@eastzzp-pc:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /
/dev/hdc3             4.8G  139M  4.4G   4% /home
/dev/hdc1              99M   11M   83M  12% /boot
tmpfs                 363M     0  363M   0% /dev/shm
  • 打印目录容量信息
eastzzp@eastzzp-pc:~$ du -h ~/图片
76M /home/eastzzp/图片/wallpapers
64K /home/eastzzp/图片/local_pic
76M /home/eastzzp/图片

:::info
-h:以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;详见磁盘管理所附链接。
:::

  • 磁盘操作

fdisk:分区表操作
mkfs:磁盘格式化
mount:磁盘挂载与卸除
详见菜鸟教程链接。


source

也称"点命令",也就是一个点符号 . ,是bash的内部命令。它的作用是使shell读入指定的shell文件并依次执行文件中的所有语句。通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

一般而言,以下三个命令的效果是相同的,但存在细微的差别

  • source filename 

等价于 . filename 。简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

  • sh filename 

重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

  • ./filename 

./filename是因为当前目录没有在PATH中,所以”.”是用来表示当前目录的。当待执行的文件具备执行权限时, sh filename 与 ./filename 的效果是一样的的。

apt/apt-get

apt是apt-get的替代者,基本上能用apt-get的地方都可以用apt。

  • 包管理

安装包:sudo apt-get install package 
自动卸载不需要的包:sudo apt autoremove 
重新安装包:sudo apt install package - - reinstall
修复安装:sudo apt -f install
删除包:sudo apt remove package
删除包,包括删除配置文件等:sudo apt remove package - - purge
清理无用的包:sudo apt clean && sudo apt autoclean
检查是否有损坏的依赖:sudo apt-get check
搜索包:apt-cache search package
获取包的相关信息,如说明、大小、版本等:apt-cache show package
了解使用依赖:apt-cache depends package
查看该包被哪些包依赖:apt-cache rdepends package

  • 更新源

更新源:sudo apt-get update
更新已安装的包:sudo apt-get upgrade
升级系统:sudo apt-get dist-upgrade
使用 dselect 升级:sudo apt-get dselect-upgrade

环境变量管理

Ubuntu下的环境变量配置文件
  • /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 
  • /etc /environment:在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。 
  • ~/.profile :  在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 
  • /etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 
  • ~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。 
    :::tips
    上面的bashrc等文件是为bash服务的,如果你的终端是zsh,那么需要修改就是home中的 .zshrc 文件
    :::

环境变量的设置方法
  • 用户主目录下的.profile或.bashrc文件(推荐)
# 登录到你的用户(非root),在终端输入: 
$ sudo gedit ~/.profile(or .bashrc) 
# 可以在此文件末尾加入PATH的设置如下: 
export PATH=”$PATH:your path1:your path2 ...” 
# 保存文件,注销再登录,变量生效。

该方法添加的变量仅对当前用户生效。

  • 系统目录下的profile文件(谨慎)
# 在系统的etc目录下,有一个profile文件,编辑该文件: 
$ sudo gedit /etc/profile 
# 在最后加入PATH的设置如下: 
export PATH=”$PATH:your path1:your path2 ...” 
# 该文件编辑保存后,重启系统,变量生效。

该方法添加的变量对所有的用户都有效。

  • 系统目录下的 environment 文件(谨慎) 

在系统的etc目录下,有一个environment文件,编辑该文件。在 PATH="<......>" 中添加自己的path即可,比如 PATH="<......>:your path1:your path2 …"  。
重启对所有用户生效。

  • 终端临时修改
sudo export PATH="$PATH:your path1:your path2 …"

立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。 
:::info
方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误。因此推荐使用第一种方法。
:::

系统备份

参考博客:Ubuntu系统备份
参考博客:为以下代码来源

# 备份
$ sudo su
$ cd /
$ tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/media /
# 还原
# 删除该根目录下的所有文件
$ sudo rm -rf /media/磁盘名称/分区名称*
将备份文件”backup.tgz”拷入该分区; 
$ sudo cp -i backup.tgz /media/磁盘名/分区名sdaX
进入分区并将压缩文件解压缩,参数x是告诉tar程序解压缩备份文件。 
$ sudo tar xvpfz backup.tgz
重新创建那些在备份时被排除在外的目录; 
$ sudo mkdir proc lost+found mnt sys media 

生产环境配置

anaconda安装

  • 下载

百度云盘链接:  提取码: j9sa,anaconda3-5.3.1-Linux-64.sh
科大源下载

  • 安装

由于是sh文件,所以通过bash或者sh可以直接安装。一路yes,最后会安装在home中。

  • 添加环境变量
# 将anaconda的bin目录加入PATH
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc

# 更新bashrc以立即生效
source ~/.bashrc
  • 检验

可以通过 conda --version 或 python --version 检验安装是否正确。

  • 更换conda源

由于清华园未获授权已停止更新,所以建议更换为科大的源。

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

pycharm

转载于:https://www.cnblogs.com/eastzzp/p/10487121.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值