关于Linux应该知道的那些事儿

关于Linux应该知道的那些事儿

尽管有些windows软件没有对应的linux版本,比如QQ、wechat等,但作为开发工具和日常办公而言,Linux功能强大且速度飞快。

0. 安装Ubuntu

  • 选择最小安装
  • 分区时有个启动分区设置,那个不要动

1. 更换源

sudo vi /etc/apt/sources.list
将如下内容替换原有内容,保存退出。特别注意要检查源与ubuntu版本是否一致,下面focal是20.04的代号。
检查ubuntu版本的命令:cat /etc/lsb-release或cat /etc/issue
检查内核版本:uname -a

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

清华源也可以,它默认注释掉了源文件,旨在加快update速度,如有需要自行打开(不打开也没影响使用)

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse

替换完后执行sudo apt-get update,如果提示lock错误可能是有其他程序正在下载,尤其是系统自带的update程序,等一会儿重新执行就好。

2. 软件包的安装与卸载

sudo apt-get install package-name
sudo apt-cache search package-name #搜索特定软件包
sudo apt-cache show package-name #查看特定软件包信息
sudo apt-cache show depends package-name #查看依赖信息
sudo apt-cache dump #查看每个软件包简要信息
sudo apt-get --purge remove package-name #卸载软件同时删除配置文件
sudo apt-get clean #删除备份
sudo apt-get autoremove #删除没用的包

所有通过apt安装的包都可以通过dpkg -l命令查看,同样对下载到本地硬盘的deb包安装命令如下

sudo dpkg -i package-name.deb
# 对所有rc状态的包做最后清理
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P 
# 查看特定软件安装的目录和文件
dpkg -L package-name
# 查看特定软件的版本信息
dpkg -s package-name

3. 安装nvidia显卡驱动及CUDA

  • 在左下角程序列表中点选Software & Updates,选择Additional Drivers,选择带有proprietary,tested标志的单选框,然后点击Apply Changes
  • 执行nvidia-smi命令可查看已安装驱动版本和所支持的CUDA版本
  • Cuda需要到官网下载,注意与Pytorch版本的配合,当前Pytorch只支持到cuda11.0,所以最好下载cuda11.0这个版本
  • Cuda下载后是个run文件,执行即可,提示安装驱动时选NO,安装后在~/.bashrc中添加如下命令。
export PATH=/usr/local/cuda/bin:$PATH
  • .bashrc文件每次开启terminal时自动执行,PATH是terminal对可执行程序的搜索路径。让PATH生效有2个办法,一是关掉terminal重新打开,二是在已打开terminal的命令行显示执行一次这个命令。无论哪种方式,可通过echo $PATH或which nvcc进行核验。

4. 安装vim/ctags

  • 系统自带的vi不好用,没有高亮功能,所以需要更新,以后在命令行输入vi或vim指向的都是vim。
    sudo apt-get install vim
  • 配置文件在/etc/vim/vimrc,在末尾加入
    set tabstop=4 " 调整tab为4个空格,默认是8个空格不好看
  • ctags用于阅读源代码,可以实现前后跳转,首先执行sudo apt-get install ctags,然后在源文件目录执行ctags -R src/或ctags --recursive src/,会生成ctags文件,然后用vim打开某一源文件,并设置set catgs=ctags,set autochdir。用ctrl+]前进,ctrl+t返回
    注:vim设置ctags时可指定绝对路径,以免找不到

5. 安装sogou输入法

  • 登录https://pinyin.sogou.com/linux/,点击下载64bit版本,默认保存在~/Downloads目录下
  • 点击下载后官网会自动跳转到安装步骤,根据指令执行安装即可,需要重启, 基本流程如下:
1) setting -> region&language -> manage installed languages -> Install/Remove Languages... -> Chinese Simplified -> Apply
2) key method select fictx
3) sudo dpkg -i sogoupinyin_版本号_amd64.deb
4) if encounted error, run sudo apt -f install
5) after reboot, click the keyboard icon in the top-right corner, and click 'Configure current input method' , select '+' in the bottom-left corner, first deselect the checkbox 'Only show current language', and type 'sogoupinyin' in the search bar, select sogoupinyin finally
6) use ctrl-space to switch the input method

6. 用conda管理虚拟环境

wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86\_64.sh
bash Miniconda3-latest-Linux-x86\_64.sh

注: -c 代表自动断点续传

管理环境命令,建议直接写入~/.bashrc中,这样开启terminal后会自动进入py385环境

conda create -n py385 python=3.8 #创建环境
conda activate py385             #激活环境
conda remove -n py385 --all      #删除环境
conda config --show              #查看conda配置

建立conda环境,建议根据所安装python版本命名,比如所安装python为python3.8.5
注: conda会建立新目录~/.conda/envs/py385,并在其中建立一份独立的python可执行程序,与系统自带的/usr/bin/下那份无关

添加国内镜像

conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

conda管理package

conda list
conda install xxx
conda install xxx=版本号
conda update xxx
conda remove xxx

pip管理package

pip list
pip install xxx
pip uninstall xxx

7. 交换密钥错误

  • 第一次使用git或sftp或ssh,有时会提示错误,用如下方法解决
  • 要么修改/etc/ssh/ssh_config文件,在Host *下面添加KexAlgorithms +diffie-hellman-group1-sha1
  • 要么增加~/.ssh/config文件,添加如下2行
Host *
KexAlgorithms +diffie-hellman-group1-sha1

8. Windows文本转换为Unix文本

  • windows下文本换行符通常用LRCF表示,即\n\r,而unix下只是\r,这会导致用grep "xxx$"匹配时失败,因此需要转换为unix格式
    方法是vim打开,然后set ff=unix
  • 或者用dos2unix、unix2dos命令,但需要额外安装

9. grep-sed-awk

grep -r xxx:可从当前路径向下迭代搜索
grep -v 排除输出
grep -i 忽略大小写
cat filename | uniq -c | wc -l,-c选项是去重的同时在留下的行前标识重复次数
awk -F, '{print $1}' filename,-F选项用于指定分割符

10. 打开文档图片

  • xdg-open filename即可
  • 事实上xdg-open只是一个高层接口,它会自动调用文件对应的打开程序
  • pdf对应打开程序是evince
  • jpg、png等对应打开程序是eog
  • 办公类软件用Linux版wps,下载网址:https://www.wps.cn/product/wpslinux,下载后用sudo dpkg -i安装
  • 还需要安装字体,下载地址:链接: https://pan.baidu.com/s/1fn2sTNaqNmbK8BcS9iMSGw 提取码: n9xc,用如下命令解压
sudo unzip wps_symbol_fonts.zip -d /usr/share/fonts/wps-office
  • 解压后要在上述目录下依次点击各文件并点击窗口上部的install按钮,在terminal下打开窗口目录的命令是nautilus /usr/share/fonts/wps-office
  • 至此直接调用xdg-open打开文件即可,也可以用wps自己的命令,et、wps、wpp、wpspdf,分别对应excel,word和powerpoint。

11. 观看网页视频

  • Ubuntu自带的firefox打开视频网址会提示缺少flash插件,可以安装ffmpeg解决,sudo apt-get install ffmpeg
  • 或者直接下载chrome浏览器,没有Flash插件烦恼,还可以使用有道云笔记网页版,该浏览器对应命令行命令是google-chrome

12. 播放mp3文件

  • sudo apt-get mpg123,轻量级mp3播放器,不足之处是没有图形界面(所以才轻嘛),但快进、暂停等各种功能都有,键入h可查看各种对应命令

13. 播放视频文件

  • 我暂时没这需求

14. Markdown编辑器

  • 登录官网typora.io,有安装提示
# optional, but recommended
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

# add Typora's repository
sudo add-apt-repository 'deb http://typora.io linux/'
sudo apt-get update

# install typora
sudo apt-get install typora

15. 文件压缩

  • 自带zip、gzip、xz,对于filename.tar.gz文件用tar xzvf filename.tar.gz解压,用tar czvf filename.tar.gz filename/压缩
  • rar解压需安装sudo apt-get install unrar,使用方法unrar -x

16. ssh-scp-ftp

  • ssh可远程登录运行了sshd的主机,命令格式为ssh remote_usr@remote_ip
  • 从本地复制到远程主机,scp -r local_folder remote_usr@remote_ip:remote_folder,如果不是目录只是文件,可以不用-r选项
  • 从远程复制到本地主机,调换顺序即可,scp -r remote_usr@remote_ip:remote_folder local_folder
  • 推荐用sftp,登录命令为sftp remote_usr@remote_ip,上传文件是put -r,获取文件是get;sftp属于openssh的一个应用,可以用dpkg -l | grep ssh查看
  • 建议卸载自带的ftp命令,没啥用,sudo apt-get --purge remove ftp

17. Matlab

  • 建议使用octave,兼容Matlab,只有几百MB,只是没有图形界面,sudo apt-get install octave,有问题就先执行下面这两句然后再重新安装
sudo apt-add-repository ppa:octave/stable
sudo apt-get update
  • 有些函数在别的package里,需要特别安装,比如sudo apt-get install octave-communications包含了与通信相关的大量函数

18. 常用管理命令

  • 查看文件或目录大小,du -sh file_folder,-s选项是只打印最后结果,-h选项是适合人类的单位
  • 查看磁盘使用情况,df -lh
  • 查看内存使用情况,free,要以MB为单位用-m,以GB为单位用-g
  • 系统动态链接库搜索位置,/etc/ld.so.conf
  • 挂载文件系统,比如iso文件,可以直接sudo mount filename.iso /media/szu,然后直接到挂载目录获取内容即可,卸载执行sudo umount /media/szu
  • 查看ip地址,没有ifconfig就用ip addr,前者需要安装net-tools
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值