LInux目录结构:

/ : 所有目录都在
/boot : boot 配置文件、内核和其它启动 时所需的文件
/etc : 存放系统配置有关的文件
/home : 存放普通用户目录
/mnt : 硬盘上手动 挂载的文件系统
/media : 自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动介质。
/cdrom : 挂载光盘? 
/opt : 存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存在同个目录下
/root : 系统管理员的目录,对于系统来说,系统管理员好比上帝,他可以对系统做任何操作,比如删除你的文件,一般情况下不要使用root用户。
/bin : 存放常用的程序文件(命令文件)。
/sbin : 系统管理命令,这里存放的是系统管理员使用的管理程序 
/tmp : 临时目录,存放临时文件,系统会定期清理该目录下的文件。
/usr : 在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。/usr目录包含了许多子目录: /usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。/usr/local : 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。
    /usr/bin/ 非必要可执行文件 (在单用户模式中不需要);面向所有用户。
    /usr/include/ 标准包含文件。
    /usr/lib/ /usr/bin/和/usr/sbin/中二进制文件的库。
    /usr/sbin/ 非必要的系统二进制文件,例如:大量网络服务的守护进程。
    /usr/share/ 体系结构无关(共享)数据。
    /usr/src/ 源代码,例如:内核源代码及其头文件。
    /usr/X11R6/ X Window系统 版本 11, Release 6.
    /usr/local/ 本地数据的第三层次, 具体到本台主机。通常而言有进一步的子目录, 例如:bin/、lib/、share/.

/var : 该目录存放那些经常被修改的文件,包括各种日志、数据文件;
/var/cache/ 应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。
/var/lib/ 状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。
/var/lock/ 锁文件,一类跟踪当前使用中资源的文件。
/var/log/ 日志文件,包含大量日志文件。
/var/mail/ 用户的电子邮箱。
/var/run/ 自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替[13]。
/var/spool/ 等待处理的任务的脱机文件,例如:打印队列和未读的邮件。
/var/spool/mail/ 用户的邮箱(不鼓励的存储位置)
/var/tmp/ 在系统重启过程中可以保留的临时文件。
/lib : 目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
/lib32 : 同上
/lib64 : 同上
/lost+found : 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在;
/dev : 存放设备文件
/run : 代替/var/run目录,
/proc : 虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;
/sys : 和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里;

SWAP分区的作用:

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

sudo cat /proc/sys/vm/swappiness

该值默认值是60.

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

  --临时性修改:

    [root@rhce ~]# sysctl vm.swappiness=10

    vm.swappiness = 10

    [root@rhce ~]# cat /proc/sys/vm/swappiness

    10

    这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.

  --永久修改:

    在/etc/sysctl.conf 文件里添加如下参数:

    vm.swappiness=10

语言环境

查看是否安装了中文支持

locale -a 

如果有 zh_CN.utf8 则表示系统已经安装了中文locale,如果没有则需要安装相应的软件包。安装方式如下:

sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base

软件管理 apt ( Advanced Packaging Tool )

他可以自动下载、配置、安装软件包;简化了Linux系统上的。Debian及衍生版中都包含了apt , RedHat系列的linux的则使用yum来进行管理,其中Fedora22中Centos7中开始使用dnf 来替代yum。

apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package –reinstall 重新安装包
sudo apt-get -f install 强制安装
sudo apt-get remove package 删除包
sudo apt-get remove package –purge 删除包,包括删除配置文件等
sudo apt-get autoremove 自动删除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档
sudo apt-get check 检查是否有损坏的依赖

apt的配置文件:

/etc/apt/sources.list 设置软件包的获取来源
/etc/apt/apt.conf apt配置文件
/etc/apt/apt.conf.d apt的零碎配置文件
/etc/apt/preferences 版本参数
/var/cache/apt/archives/partial 存放正在下载的软件包
/var/cache/apt/archives 存放已经下载的软件包
/var/lib/apt/lists 存放已经下载的软件包详细信息
/var/lib/apt/lists/partial 存放正在下载的软件包详细信息

软件源配置文件格式:

deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

Ubuntu 软件仓库被分为四个部分:main(主要的), restricted(受限的), universe(广泛的) , multiverse(多元的),这主要根据我们对软件的支持能力,以及软件的目的是否符合我们的 自由软件哲学。

先看了一下配置文件的一段内容:

第一个deb表示软件包的格式,可以是 deb 或 deb-src,前者表示所指向的存放 binary 格式(已编译),后者为 sources 格式(原代码)。
第二个URI,即 Universal Resource Identifier,通用资源标识符,可以是以:file(系统) 、 cdrom(光驱) 、 http 、 ftp、copy 、rsh 、ssh 等几个参数开头的软件包所在位置。
第三个Distribution 指发行版本号,可以是:stable,testing,unstable,sarge,etch,sid 等,具体可参考Debian文档。
后面的几个component表示具体的软件包分类:

main:完全遵循 Debian  自由软件准则 即DFSG的软件包;
      contrib:软件包均遵循DFSG自由使用原则,但是其使用了某些不符合DFSG的第三方库;
      non-free:不符合DFSG的软件包。

dpkg是Debian软件包管理器的基础,被用于安装、卸载和供给和.deb软件包相关的信息。dpkg本身是一个底层的工具,本身并不能从远程包仓库下载包以及处理包的依赖的关系,需要将包从远程下载后再安装。DPKG常用命令:

dpkg -i package.deb 安装包
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包

date : 用来显示或设定系统的日期和与时间

date //显示当前日期
# 日期格式化
#       %Y     year
#       %m     month (01..12)
#       %d     day of month (e.g., 01)
#       %H     hour (00..23)
#       %I     hour (01..12)
#       %M     minute (00..59)
#       %S     second (00..60)
date +"%Y%m%d %H%M%S"
223856
date +"%Y-%m-%d %H:%M:%S"2016-08-24 22:39:07date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20061010 //设置成20061010,这样会把具体时间设置成空00:00:00
date -s 12:23:23 //设置具体时间,不会对日期做更改
date -s “12:12:23 2006-10-10″ //这样可以设置全部时间# 注意: 重新设置时间后需要将时间捅不到硬件时钟。方式如下:
hwclock -w

设置时区

tzselect# 或者cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改密码:

忘记密码开始时长按shift键,进入grub菜单-->  按字母e 进入编辑模式 --> 编辑内容--> 启动 进入但用户模式 ,重新设置用户密码,-->  按照F10重启 -- >  使用新密码进入系统

vim /boot/gurb.conf

修改成下面这样:

注销/重启/关机

logout  # 注销

reboot  # 重启系统: 需要管理员全新啊

shutdown # 关机: 需要管理员权限

shutdown -r now # 现在立即重启
shutdown -r +5  # 三分钟后重启
shutdown -r 12:12    #在12:12时将重启计算机shutdown -h now # 现在立即关机
shutdown -h +5  “The System will shutdown after 3 minutes”   # 提示使用者将在三分钟后关机
shutdown -h +5   #  5分钟后关机
shutdown -h 12:00  # 12点钟关机
shutdown -c   # 取消关机操作

.bash_history  .bash_logout   .bashrc 三个重要文件

我们用到的终端默认使用的shell 是bash  其他的shell 有dash  、csh 、tcsh、zsh等等

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

自定义账户的个性化环境的三个重要文件

.bash_history  .bash_logout   .bashrc

刚登录Linux时,首先启动 /etc/profile 文件 , ~/.bash_profile、 ~/.bash_login、 ~/.profile。 如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。

关于各个文件的作用域,在网上找到了以下说明:
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。(6) ~/.bash_profile: 也可能是 .profile  是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

转载于:https://www.cnblogs.com/wooya/p/5819339.html

Ubuntu学习——第一篇相关推荐

  1. MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB

    2019独角兽企业重金招聘Python工程师标准>>> MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB 0.确保mac已经安装了HomeBrew ( ...

  2. Python中的TCP的客户端UDP学习----第一篇博客

    Python中的TCP的客户端&UDP学习--第一篇博客 PS: 每日的怼人句子"我真想把我的脑子放到你的身体里,让你感受一下智慧的光芒" 先说UDP流程 发送: 创建套接 ...

  3. VUE源码学习第一篇--前言

    一.目的 前端技术的发展,现在以vue,react,angular为代表的MVVM模式以成为主流,这三个框架大有三分天下之势.react和angular有facebook与谷歌背书,而vue是以一己之 ...

  4. RISC-V学习-第一篇[指令类型]

    本文是RVSC-V处理器学习的第一篇文章,对RV32IMAFDC指令集的学习笔记. 1. 运算指令 立即数运算指令 addi rd,rs1,imm[11:0] 功能 1.将rs1与12位立即数(进行符 ...

  5. Java图像处理最快技术:ImageJ 学习第一篇

    ImageJ是世界上最快的纯Java的图像处理程序.它可以过滤一个2048x2048的图像在0.1秒内(*).这是每秒40万像素!ImageJ的扩展通过使用内置的文本编辑器和Java编译器的Image ...

  6. 深度学习第一篇论文——半监督学习Mean Teacher 的学习

    最近一个月刚接触深度学习,导师给了一篇论文(mean teacher)让我先理解然后跑论文里面的代码,这个过程中我出现了很多问题,借这篇blog记录下来,也是鼓励自己接着学下去. Mean Teach ...

  7. springCloud 学习第一篇(介绍以及Rest 学习:服务者 与消费者 环境搭建)

    什么是SpringCloud? springCloud ,基于springBoot 提供了一套微服务解决方案,包括服务注册与发现,配置中心全链路监控,服务网关,负载均衡,熔断器等组件,除了基于netF ...

  8. javascript基础入门_javascript基础入门学习第一篇

    今天主要讲述js,在讲述今天的编程知识之前,我们要对C++做一个说明因为一些原因C的知识不做更新了,下面将讲述js的编程知识,首先需要了解的是js是一个脚本语言不是编程语言这两者的区别就是一个需要依附 ...

  9. rabbitMQ的学习第一篇(持续更新)

    rabbitMQ的学习目标 需要带着目的去学习一项技术,在学习中深入思考感受, 1:mq的使用场景 2:几种mq什么时候选择rabbitMQ 3:MQ保存和消费消息的性能于其他MQ的对比 4:系统的q ...

最新文章

  1. java获取真实ip
  2. python怎么输入代码-如何编写python代码
  3. linux arcgis10.4安装教程,ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
  4. Spring Boot 密码加密的 2 种姿势!
  5. 我为什么看好中国的共享单车
  6. windows service 2008 内存吃尽解决方案
  7. spring注解-声明式事务
  8. RabbitMQ入门学习系列(五) Exchange的Direct类型
  9. 又拍云,音视频CDN加速利器
  10. oracle+110个常用函数
  11. python已知y求x_Python刷题:集合S(k)求|x-y|最小时的x和y(位运算)
  12. YOLOv3的环境配置
  13. python3_实现BP神经网络 + BP神经网络应用实例
  14. 2022牛客寒假算法基础集训营1 H题 牛牛看云
  15. 三维可视化与智慧消防的关系
  16. 电脑锁屏界面怎样修改服务器,win10锁屏界面无法更改怎么解决?_网站服务器运行维护...
  17. 【Java知识体系】Redis实用教程,深入原理
  18. 计算机是通过电网进行传播,2016年9月计算机一级MS Office考前必做试题及答案(4)...
  19. Travel(SPFA+思维)
  20. 零基础入门学习Python(21):魔法方法(1)构造和析构

热门文章

  1. 【Qt】窗口组件和窗口类型
  2. 【STM32】FreeRTOS编码风格
  3. 【STM32】 keil新建工程模板
  4. java里的字符流_javaIO流中字符流的应用
  5. mysql error 1148_MYSQL入坑第一弹--------ERROR 1148 (42000)ERROR 1290 (HY000)
  6. python俄罗斯方块实训报告_Python_简易版俄罗斯方块
  7. 叉乘点乘混合运算公式_初中数学学不会?公式这样记,让你做题效率翻倍!
  8. POJ 3617 Best Cow Line 贪心算法
  9. Redis源码剖析(八)链表
  10. 线程Java的两种方式_多线程(java和guava两种方式):