文章目录

  • 引言
  • 1、防火墙ufw
  • 2、Linux中的依赖关系
  • 3、使用新立得synaptic管理你的软件吧
  • 4、ubuntu开不了机?
  • 5、什么是环境变量
  • 6 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
  • 7 安装wine在ubuntu下使用windows应用程序
  • 8 linux下面更改扩展名

引言

本系列IC成长之路,用了两篇文章介绍了linux的基本操作和概念,想必这些基础操作已经让你得心应手,开始习惯linux啦。这篇文章,将从一些更深入并且比较实用的角度,进一步让你掌握linux,毕竟我们不是搞linux搭建服务器的,所以掌握到本文介绍的一些概念,就已经足以让你游刃有余。

1、防火墙ufw

ufw是ubuntu提供的一个防火墙工具,而且UFW支持图形界面工作.
ubuntu默认安装了ufw。
1、安装
sudo apt-get install ufw
2、启动
sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
3、sudo ufw alow|deny [service]

打开或者关闭某个端口
sudo ufw allow smtp 允许所有的外部IP访问本机的smtp端口
sudo ufw allow 53 允许外部访问53号端口

查看防火墙状态
sudo ufw status

下面是ufw命令行的一些示例:

ufw enable/disable:打开/关闭ufw

ufw status:查看已经定义的ufw规则

ufw default allow/deny:外来访问默认允许/拒绝

ufw allow/deny 20:允许/拒绝 访问20端口,20后可跟/tcp或/udp,表示tcp或udp封包。

ufw allow/deny servicename:ufw从/etc/services中找到对应service的端口,进行过滤。

ufw allow proto tcp from 10.0.1.0/10 to 本机ip port 25:允许自10.0.1.0/10的tcp封包访问本机的25端口。

ufw delete allow/deny 20:删除以前定义的“允许/拒绝访问20端口”的规则

参考blog:
https://blog.csdn.net/bigdata_mining/article/details/80699180

2、Linux中的依赖关系

很多时候,我们在安装卸载软件时,会报告依赖关系等信息。Linux中的软件依赖关系成一颗拓扑树结构,比如A直接或间接依赖B,那么B就不可能直接或间接依赖A。试想从时间上A、B必然有一个先出现,而先出现的不可能依赖于后出现的;并且如果A与B互相依赖则就是“鸡与蛋”的问题,因此必然有一个先出现而另一个依赖于先者。

依赖关系最简单的一个理解就是Windows上你玩游戏结果提示directx版本过低无法运行。以及常见的运行某个程序之后提示mfc71.dll未找到。还有就是用个软件结果安装说明上让你先去安装.net。

依赖关系很明显的就是去掉IE,就可以让很多Windows程序失去依赖关系而不能运行。

在Linux中的软件大部分是零碎的,软件之间的依赖关系很强烈。
二、Linux的软件安装与卸载
(1)安装软件A必须率先安装A依赖的所有软件;卸载软件A则必须率先卸载依赖A的所有软件。如下图:
a
b
c
b,c依赖于a,那么安装b或c都先要确保a的存在;同时卸载a必须确保b和c都已经被卸载。
(2)卸载A不代表同时卸载A所依赖的所有无用软件,比如:B<–A,卸载A以后B就没用了(因为没有其他软件再依赖B了),Linux默认不卸载B,但可以使用特殊的参数让系统这么做。
在Ubuntu下,apt-get remove就是一般的卸载,而apt-get autoremove则是同时卸载其所依赖的无用软件

3、使用新立得synaptic管理你的软件吧

安装它吧:
sudo apt-get install synaptic
参考网址
synaptic是apt的图形化,您可以使用他来安装删除配置软件,或者升级整个系统,synaptic的强大之处在于它能够提示可能的依赖关系,以及您所选择的软件包与系统中已经安装了的软件包的冲突。

synaptic的界面如下:
新立得的主窗口分为三个部分:左边是一个包浏览器,右上方是包列表以及右下方的包详细信息。状态栏显示您的系统的总体状态。

如果您想安装一个软件,可以在find 搜索,比如我想安装网络抓包软件wireshark,直接搜索即可

如果想查看一个包的明细,可以右击属性,状态会显示此电脑是否安装,最重要的依赖关系。可以看到受此影响的软件,或者需要借助该软件的软件包。
点击选中并标记安装,将会给出受影响的软件包,并重新安装。

点击菜单栏的apply,将会收到提示,将会影响的软件包和保持原样的软件包。继续即可完成安装

如图所示,成功安装了wireshark

现在开始卸载软件包吧!
平时如果我们在终端卸载,很可能有时候会因为依赖关系报错,或者留下无用的文件,与任何软件都没有依赖关系,从而导致PC空间占用越来越大。
同样,我选中需要删除的软件,进行标记,然后点击APPLY即可
删除或者彻底删除一个软件包
右键点击需要删除的软件包,然后在弹出的菜单中选择标记以便删除(Mark for Removal)。
当您满意您的选择后,点击工具栏上的应用(Apply)按钮或者按下Ctrl + P。
这时会出现一个摘要您所作更改的对话框。点击应用(Apply)按钮来确认您的更改。

标记以便彻底删除(Mark for Complete Removal)选项会使新立得同时删除所有与软件包相关的配置文件。

更新软件包列表

新立得维护了一个关于您系统上所有软件包的数据库来追踪您系统上安装了的软件包。新立得通过检查软件仓库来更新数据库,这样它就可以提示您新的软件包或者已有软件包的升级。新立得在启动时检查新的软件包。在运行新立得时时常更新数据库是个不错的选择。特别是当您改变了软件仓库列表或者更改了新立得的设置时,您可能需要立即更新数据库。需要更新只需点击工具栏上的刷新(Reload)按钮或者按下Ctrl + R


4、ubuntu开不了机?

ubuntu18.04进入了tty1界面,不知是删除了什么有用的东西,还是怎么回事,最终解决办法如下:
输入startx 即可进入桌面
但是打开后的桌面,已经不能控制亮度,桌面文件也没有,重启后,仍然进入tty1.
最终解决办法如下:
sudo apt install ubuntu-desktop
然后我的桌面又回来啦!

5、什么是环境变量

Linux是一个多任务多用户的系统,也就是说,可以在同一个时间点上,多个用户同时登录,这是windows不能的。
环境变量
是指操作系统中用来制定操作系统运行环境的一些参数。也就是说,每一个用户可以有不同的操作环境。不同的进程也可以有不同的环境变量。通常具备以下特征:
1、字符串(本质)
2、有统一的格式:名=值【:值】
3、值用来描述进程环境信息。

常见环境变量
按照惯例,环境变量字符串都是name=value这样的形式,大多数name由大写字母加下划线组成,一般把name的部分叫做环境变量,value的部分则是环境变量的值,环境变量顶一个进程的运行环境,一些比较重要的环境变量的含义如下:
PATH
可执行文件的搜索路径,ls命令也是一个程序,执行它不需要提供完成的路径名/bin/ls,然而通常我们执行当前目录下的程序a.out却需要提供完整的路径名./a.out,这是因为PATH环境变量的值包含了ls命令所在的目录/bin,却不包含a.out所在的目录。PATH环境变量的值可以包含多个目录,用:号隔开,在sheel中用echo命令可以查看这个环境变量的值

如图所示,上述,shell收到date后,通过环境变量去查找到的这个命令,虽然直接输入/bin/date可以达到同样的效果,但是原理却有点不一样的。
下面我们来查看一样系统环境变量中定义的路径:

$echo $PATH


如上图所示,不同的路径用:冒号隔开,从中我们可以看到/bin 这个路径
,一个路径一个路径的去找。

除此之外,常用的环境变量还有
SHELL当前shell,他的值通常是/bin/bash
TERM当前终端类型,在图形界面终端下他的值通常是xterm,终端类型决定了一些程序的输出显示方式,比如图形界面终端可以显示汉子,字符终端一般不行   LANG语言和locate,决定了字符编码以及时间、货币等信息的显示格式。HOME当前用户主目录的路径,很多程序需要在主目录下保存配置文件,是的每个用户在运行该程序时都有自己的一套配置。



下面,我们再次回头来看一下我们在安装VCS时的环境变量。
参考资料

#dve
export PATH=$PATH:/home/liruifeng/project_app/vcs/gui/dve/bin #改成自己vcs的安装路径
alias dve='dve -full64'#VCS
export PATH=$PATH:/home/liruifeng/project_app/vcs/bin     #改成自己vcs的安装路径#vcs需要的固定的参数,注意系统要安装gcc-4.8和g++-4.8,这两个需要自己独立安装#VERDI
export PATH=$PATH:/home/liruifeng/project_app/verdi/bin #改成自己Verdi安装路径
export VCS_HOME=/home/liruifeng/project_app/vcs
export VERDI_HOME=/home/liruifeng/project_app/verdi
alias verdi='verdi'#LICENSE
export LM_LICENSE_FILE=27000@liruifeng        #改成自己的host name
alias lmg_vcs='lmgrd -c /home/liruifeng/project_app/vcs/license/Synopsys.dat' #注意改路径#scl
export PATH=$PATH:/home/liruifeng/project_app/SCL/amd64/bin  #改SCL安装路径
export VCS_ARCH_OVERRIDE=linux
 #       注释自定义环境变量

如果想设置环境变量,就要给在给变量赋值后或在设置变量时使用export命令,export命令和declare命令的格式:

export 变量名=value
变量名=value ; export 变量名
declare - x 变量名=value

小试牛刀:定义环境变量并赋值的方法:

export NAME=qzlking
declare -x NAME=qzlking
NAME=qzlking ; exprot NAME

命 令: alias
功能说明:设置指令的别名。
语  法:alias[别名]=[指令名称]
补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。

6 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?

sudo apt-get update

更新一下试试。

7 安装wine在ubuntu下使用windows应用程序

安装wine 5.0:

卸载wine:
https://blog.csdn.net/qq_42773735/article/details/81170644

8 linux下面更改扩展名

进一步掌握linux吧相关推荐

  1. Linux的高级命令,进一步了解Linux的指令

    1: iptables 基本命令使用举例  http://blog.chinaunix.net/uid-9950859-id-98279.html 一.链的基本操作 1.清除所有的规则. 1)清除预设 ...

  2. 进一步理解Linux操作系统的块设备

    在前文<理解Linux操作系统的块设备>中我们从比较高层面(Hight Level)介绍了块设备的原理和块设备的特性.但是关于Linux操作系统块设备的实现原理可能还一知半解.本文将进一步 ...

  3. 第二课.进一步熟悉Linux

    VirtualBox共享文件夹配置 为了方便主机与虚拟机之间进行交互,可以在两者之间创建一个共享文件夹实现VirtualBox与Windows的文件共享 VirtualBox的共享文件夹最好通过手动挂 ...

  4. 微软进一步融合 Linux,VS Code 官方支持树莓派

    近日,微软官方发布了 Visual Studio Code 1.50.0 ,新版本增加了对 Linux Armv7 和 Arm64 体系结构设备的支持,其中包括树莓派.Chromebook 与其他基于 ...

  5. 红旗Linux认证简介

    红旗Linux认证 一.课程名称:红旗Linux认证产品专家(RAP) 课程简介: 主要针对初次使用红旗Linux desktop的学员而编制,注重实用性,是红旗Linux的一门入门课程. 采用的教材 ...

  6. linux命令学习(转)

    查询命令的地方:man.linuxde.net/ Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存 Linux提供了大量的命令,利用它可以有 ...

  7. 学着学着Linux系统写篇心得

    2019独角兽企业重金招聘Python工程师标准>>> 学着学着Linux系统写篇心得 本学期对于linux系统的学习,和自己买的一本<linux就该这么学>这本书,让我 ...

  8. Linux 多线程应用中编写安全的信号处理函数

    2019独角兽企业重金招聘Python工程师标准>>> Linux 多线程应用中编写安全的信号处理函数 在 开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_m ...

  9. Linux系统管理学习路线图

    Linux系统管理学习路线图 随着Linux应用的扩展,许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.作为一个Linux系统管理员,我看了许多有关L ...

最新文章

  1. BeanShell脚本接口之匿名类
  2. python杨辉三角居中center_python经典---杨辉三角(两种方法)
  3. 面试造飞机系列:volatile面试的连环追击,你还好吗?
  4. 《算法竞赛入门经典》 例题3-5 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
  5. 01数据库、DBMS和SQL
  6. 《剑指Offer》用两个栈来实现队列
  7. Python程序员晒追女神聊天截图,坦言第一次没经验,网友直呼凭实力单身
  8. 计算机视觉论文-2021-07-16
  9. vb怎么判断整数_VB数学函数大全
  10. Java基础篇:带自变量的构造函数
  11. 算法:回溯十二 Word Search字符串匹配二维矩阵
  12. 双系统下如何切换到ubantu界面及如何切换到windows界面
  13. 如何写一份好的软件开发的需求分析
  14. wps表格怎么添加附页_关于WPS里面页码的问题
  15. pipe()函数详解
  16. Cesium加载影像图
  17. 【Java攻城狮宝典】04-for循环(答案)
  18. java 创建 777 权限的目录
  19. c++中 int、long、long long等取值范围
  20. 安势信息入选 SegmentFault思否「2022 中国新锐技术先锋企业」

热门文章

  1. Caffe实战二(手写体识别例程:CPU、GPU、cuDNN速度对比)
  2. [LeetCode] Wildcard Matching 题解
  3. delphi self 的使用
  4. jquery 获取Input 值
  5. 矩阵正态分布基础1 外形式、外积与微分形式简介
  6. Mathematica 的一些输入小技巧
  7. 自己添加ODBC数据源的Access驱动
  8. 高德地图 JS API - 根据地名实现标记定位
  9. udhcp server端源码分析1--文件组织结构
  10. EasyUI Combogrid Bug