本章目标

  1. Linux简介
  2. Linux发展
  3. Linux界面熟悉
  4. Linux常用命令

Linux简介

经常看到的或者熟悉的操作系统:

Windows操作系统:Window 10或者Window 7
Mac操作系统
Linux操作系统:Unix变化而来的。

Linux发展历史

Linux最一开始是内核版(标准版)。
日常开发人员用所指的Linux操作系统是指发行版。

最常见的发行版:
1.Ubuntu 优麒麟(最大众化的)
2.Red Hat 小红帽(收费的)
3.CentOS(不喜欢,一打开绿油油一片)
4.OpenSuSe小蜥蜴(德国人)

Linux分为:
1.内核版本:Kenerl内核(1991年Linus Trovalds在读研究生的时候开发的)

2.发行版本:指某些公司或者个人整合内核、系统应用工具、桌面应用程序发布的Linux系统。

Linux讲究开元与自由。

Linux界面

Linux没有文件扩展名。一个exe文件放在windows系统上就是一个可执行的应用程序,放在Linux上可以是一个文本,也可以是一个可执行的文本。

Linux区分大小写。

Linux硬盘划分:没有C盘D盘等。只有分区。不同的硬盘被挂载在不同的目录下。

Linux更新:suo apt-get update

更新软件包–>从软件源更新。
目的:安装一些应用软件。

桌面应用程序图标所在位置:/usr/share/applications
软件安装包所在位置:/opt
一般应用程序安装在:/usr/

配置桌面应用图标案例:

配置MyEclispe应用图标:
进入到/usr/share/applications下。
新建一个MyEclipse.desktop文件。

新建文件的两种方式:

1.使用gedit命令

1.使用vim命令

在配置应用程序图标时,发现:

没有权限去更改。此时需要切换到root用户操作:

  1. 临时使用root: 在命令行操作前面添加sudo,只需要在第一次操作时输入root密码即可。
  2. 切换到root: 采用su命令。此时会一直以root身份进行操作。

如果不知道root:
sudo passwd root
修改root密码。此时只要输入当前用户密码即可

快速补全:Tab键

使用vi命令时:
vi 文件名(查看文件)
查看文件的同时如果要修改文件。键入i,左下角可以看到插入提示。
当改动完毕,按下ESC,键入 :wq 保存并退出。
如果只是查看,按下ESC,键入 :q 直接退出。

基本操作命令:

cd /目录名称 进入到某一个目录下

ll 察看当前目录下有哪些文件(当有权限操作时,绿色高亮的是可执行文件)

tar命令解压缩 tar -zxvf 解压包 -zcvf打包

删除命令 rm -f 要删除的文件。(记住后面一定要跟要删除的文件名。)

文件权限组成: u g o三个部分组成

u(user):文件所有者
g(group):同组用户
o(other):其他用户

一般习惯使用数字来表示。四个数字4 2 1 0 来表示文件权限。
4表示可读
2表示可写
1表示可执行
0表示无权限

更改文件权限:

chmod命令更改文件权限。

此时 20180702.txt文件不可读不可写不可执行
chmod 400 20180702.txt 此时文件只有自己可读。其他用户无权限。

如果我们要给20180702.txt 所有读权限。应该怎么给?
chmod 777 20180702.txt :表示所有人都可以读写并执行

一般情况下。给文件或者目录赋予权限。给755或者760.

用户组

passwd配置文件

所有用户都会出现在/ect/passwd配置文件中。

配置文件表现:

/etc/passwd文件的每一行保存一个用户的资料,而用户数据按域以冒号“:”分隔。格式如下所示:
username:password:uid:gid:userinfo:home:shell

shadow配置文件

用户影子文件——shadow
和/etc/passwd类似,/etc/shadow文件中每条记录用冒号“:”分隔,形成9个域,格式如下所示:
username:password:lastchg:min:max:warn:inactive:expire:flag


配置表:

group与gshadow配置文件

用户组账号文件——group和gshadow

/etc/group文件记录格式如下所示:
group_name:group_password:group_id:group_members

更改文件所属用户或者用户组

更改文件权限 chmod :


改完之后,使用ll命令查看当前文件所属用户或者用户组:

更改用户组:chgrp 用户组名称 文件名/目录

所有即将更改的组名或者用户名字必须要在/etc/passwd和/etc/group文件中存在!

所以以下更改不存在的组时报错!

更改文件/目录存在的组:

新的问题:当更改为其他组用户时,必须要有相应权限去更改。最好以sudo临时root用户形式去更改。

更改文件/目录所有者:chown 用户名 文件名/目录

注意:更改文件所属组或者所属用户和当前访问者有没有权限去访问该文件或者目录没有必然的联系。这个要看赋予当前文件或目录的权限是什么。

思考?能够同时更改用户以及用户组?

chown 用户名.用户组 文件名

常用命令补充:
复制 cp 即将复制文件名(或者目录下的文件名) 要复制到的目录(绝对路径)

显示绝对路径:pwd

移动 mv 即将移动文件名(或者目录下的文件名) 要移动到的目录(绝对路径)

总结:是否可以给当前目录或者当前目录下的子目录同时赋予某个权限?

-R 命令

创建文件夹命令:mkdir

回到上一级目录:cd ..

赋予1目录和该目录下的子目录同一个权限:
chmod -R 777 ./1

修改当前目录下所有文件统一权限,并且不修改其子目录 : * 命令

直接输入cd回车,进入到的是当前用户下的根目录。
直接输入cd /回车,进入到的是当前Linux系统下的根目录。

课外扩展:

简单的脚本程序:
脚本:开头是#bin/bash
扩展名:.sh

找到MyEcpise目录,在start.sh中填入以下内容:

下次直接可以从桌面打开。
脚本说明:
1、 开头第一行是脚本说明(注释),表示当前脚本是什么类型的脚本
2、 可以在脚本中使用cd打开某一个目录。
3、 echo 在这里是打印符号
4、 执行可执行文件时 ./可执行的文件名

【学习笔记Part 1 ● Linux】的更多相关文章

  1. Docker学习笔记二(linux下安装Docker)

    Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...

  2. 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

    驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...

  3. linux命令学习笔记(25):linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组. 最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...

  4. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  5. 驱动开发学习笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇

    驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Doc ...

  6. linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)

    本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...

  7. Git学习笔记(Mac Linux系统)

    最近参与学校一个比赛,和队友一起做一个小项目,需要将代码传到Coding(国内git代码托管平台),因此这几天才正式入手git版本控制系统,在这里我就记录一下最近的学习git心得体验,一来分享一下自己 ...

  8. ARM-LINUX学习笔记-(虚拟机linux串口终端以及USB程序下载,基于TQ2440)

    昨天安装了ssh服务之后今天在windows上用xshell登陆发现登录不上,原因是使用了virtualbox的NAT模式,在NAT模式下,客户机可以很方便地上网,但是想要链接宿主机就需要打开网络地址 ...

  9. 【linux学习笔记之一】linux系统目录结构以及常用系统命令

    序 ???这破笔记也要序?? 昨天开始学linux,做好笔记以备日后翻阅 Linux系统目录结构图 bin  --主要用于存放二进制文件(如:命令文件) boot--引导目录 dev  --设备目录 ...

  10. Linux学习笔记01—安装LInux系统

    1.首先,使用光驱或U盘或你下载的Linux ISO文件进行安装. 界面说明: Install or upgrade an existing system 安装或升级现有的系统 install sys ...

随机推荐

  1. scrapy安装过程问题解决、新建项目、调试断点

    一.安装问题 1. 下载速度太慢 使用国外源,下载速度很慢,可以考虑使用豆瓣的镜像下载 pip install -i https://pypi.douban.com/simple/ scrapy 2. ...

  2. ImportError: cannot import name webdriver

    遇到问题: 学习selenium过程中为了方便自己知道学习的脚本的存放路径,以selenium命名 起初.py文件都在selenium文件夹下面,使用 from selenium import web ...

  3. Python中’__main__’模块的作用

    Python不同于C/C++,程序执行并不需要主程序,如main(),而是文件自上而下的执行.但很多Python程序中都有 if __name__ == '__main__': statements ...

  4. Netty_TCP拆包粘包解决方案

    一.问题 熟悉tcp编程的可能都知道,无论是服务器端还是客户端,当我们读取或者发送数据的时候,都需要考虑TCP底层的粘包/拆包机制. TCP是一个“流”协议,所谓流就是没有界限的遗传数据,大家可以想象 ...

  5. MySql中innodb存储引擎事务日志详解

    分析下MySql中innodb存储引擎是如何通过日志来实现事务的? Mysql会最大程度的使用缓存机制来提高数据库的访问效率,但是万一数据库发生断电,因为缓存的数据没有写入磁盘,导致缓存在内存中的数据 ...

  6. AtomicInteger类的使用

    AtomicInteger介绍 AtomicInteger是一个提供原子操作的Integer类,通过线程安全的方式操作加减. AtomicInteger使用场景 AtomicInteger提供原子操作 ...

  7. 微信小程序开发之formId使用(模板消息)

    基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...

  8. ssh商城源码 2017.6.30

    http://www.cnblogs.com/chiangchou/p/project-ebuy.html http://www.java1234.com/vipzy.html源码视频链接

  9. app后端设计(2)--xmpp的使用(2014.01.14更新)

    在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境 ...

  10. MD5加密算法(java及js)

    为了防止用户登陆过程中信息被拦截导致信息泄露,我们应该在客户端就对用户密码进行加密.浏览器提交给服务器的是加密后的信息,即使被恶意拦截,被拦截信息也已做了加密处理,现在比较安全的一种加密算法是MD5加 ...