Linux入门知识点

1.

wangkai:代表当前登录的用户

@:at,在

wangkai-virtual-machine:安装的时候指定的主机名

~:用户的家目录(宿主目录)

~/C++:当前用户的工作目录

$:代表当前用户为普通用户,如果是#的话,就代表超级用户

2.Linux系统目录结构

根目录下的常见目录:

目录应放置档案内容
/bin/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。
/dev在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
/etc这个目录一般用来存放程序所需的整个文件系统的配置文件
/home这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。
/lib系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。
/mediamedia是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。
/mnt如果妳想要暂时挂载某些额外的装置,一般建议你可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。
/opt目录用来安装附加软件包
/root系统管理员(root)的家目录。 
/srvsrv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了。
/tmp这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。

3.Linux中文件颜色所代表的属性和颜色

绿色文件: 可执行文件,可执行的程序,属于普通文件
 
红色文件:压缩文件或者包文件,属于普通文件
 
蓝色文件:目录
 
白色文件:一般性文件,如文本文件,配置文件,源码文件等,属于普通文件
 
青色文件:链接文件,主要是使用ln命令建立的文件
 
红色闪烁:表示链接的文件有问题
 
黄色:表示设备文件,block块、char字符、fifo管道
 
灰色:表示其他文件

 4.环境变量的作用

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

5.Linux中的软链接和硬链接

创建方式

  1. 软链接(符号链接) ln -s   source  target 
  2. 硬链接 (实体链接)ln       source  target

硬链接

硬链接的特点是这样的:

它会在链接文件处创建一个和被链接文件一样大小的文件,类似于国外网站和国内镜像的关系,
硬链接占用的空间和被链接文件一样大(其实就是同一片空间)
修改链接文件和被链接文件中的其中一个,另外一个随之同样发生变化
硬链接的对象不能是目录,也就是说被链接文件不能为目录
硬链接的两个文件是独立的两个引用计数文件,他们共用同一份数据,所以他们的inode节点相同
删除硬链接中的任意一个文件,另外一个文件不会被删除。没有任何影响,链接文件一样可以访问,内容和被链接文件一模一样。

硬链接的原理:

在存储器中只存储了一份数据,而被链接文件和链接文件其实都是对这一份数据的引用,所以这份数据就会有最小为2的引用计数,所以才会删除两个文件中的任意一个,删除的都是引用计数,不会影响这一份数据,而另外的一个引用照样可以访问这份数据。如果另外一个引用也被删除了,那么引用计数就为0,在Linux中,一旦引用计数为0,则认为该数据被删除了,这时数据就会被彻底清空。

                                     

 

软链接

软链接又称为符号链接,需要在ln 命令后面加上-s,效果基本和Win中的快捷方式,特点如下:

两个文件A和B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。

这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file or directory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。

硬链接和软链接的不同

  • 本质不同:硬链接是指向同一个文件,软链接指向的不是同一个文件。
  • 删除时:硬链接不受影响,软链接失效。
  • 创建链接时:创建硬链接链接数加1,创建软链接连接数不变。
  • 是否可以跨分区:硬链接不可以跨分区,软链接可以跨分区。
  • 目录是否可以创建链接:硬链接不可以对目录创建,软链接可以对目录创建。
  • 硬链接的inode号相同,软链接inode号不同。
     

6.用户权限、用户和用户组

chmod--用于修改文件或目录的权限

设置文件file的权限为777

在文件file的权限基础上减去022(也就是所属组和其他人对此文件没有写权限)

chown--修改文件所有者或所属组

chown 新的所有者 文件名
chown 新的所有者:新的所属组 文件名,中间用:隔开,即可同时修改

注意:之所以chown前面要加sudo,是因为只有超级用户才有权限更改

7.文件查找和检索

(1)根据文件属性查找 - find

文件名
find 查找的目录 -name “查找的文件名”

文件类型
find 查找目录 -type  文件类型
    普通文件:f
    目录:d
    符号链接:l
    管道:p
    套接字:s
    字符设备:c
    块设备:b

文件大小
find 查找目录 -size -10M
    +:大于 +10k
    -:小于 -10k
    等于10k:10k
    单位:k - 小写 M - 大写
    大于10k小于100k,find . -size +10k -size -100k

按日期
创建日期:-ctime -n/+ n
    -n: n天以内
    +n:n天以外
    find . -ctime -1
修改日期:-mtime -n/+n
访问日期:-atime -n/+n

深度
    -maxdepth n(层数),搜索n层以下的目录
    -mindepth n(层数),搜索n层以上的目录

高级查找
例:查找指定目录,并列出该目录中文件详细信息
find ./ -type d -exec shell 命令(ls -l){} \;
find ./ -type d -ok shell 命令(ls -l){} \;ok比较安全
find ./ -type d | xargs ls -l(shell 命令)

(2)根据文件内容查找 - grep

grep -r(有目录) “查找的内容” 搜索的路径
搜索家目录中带helloworld字符串的文件
grep -r “helloworld” ~ -n(显示行号)

(3)总结

find  搜索的路径 参数  搜索的内容
 grep 搜搜的内容 参数  搜索的路径

8.压缩包管理

(1)linux下常见压缩格式:

 .gz -- gzip
 .bz2 - bzip2

(2)常用压缩命令:

(1)tar - 打包工具,也就是可以不压缩,只打包

参数:
    c - 创建压缩文件
    x - 释放压缩文件
    v - 打印提示信息(可不写)
    f - 指定压缩包的名字
    z - 使用gzip压缩文件 - xxx.tar.gz
    j - 使用bzip2的方式压缩文件 -- xxx.tar.bz2

压缩:
    tar 参数 压缩包的名字 原材料 -- gz
    tar zcvf test.tar.gz file dir

解压缩:
    tar zxvf test.tar.gz 
    tar zxvf test.tar.gz -C 解压目录,这是解压到指定目录的写法                    

(2)rar 

rar需要安装,sudo apt-get install rar

压缩:
    rar a 压缩包名(不用指定后缀) 压缩内容 
    压缩目录加参数 -r

解压缩:
    rar x 压缩包名 解压目录

(3)zip/unzip

压缩:
    zip 参数 压缩包名 原材料
    如果有目录: -r
解压缩:
    unzip 压缩包的名字 -d 解压目录, -d是代表解压到指定目录

(3)总结

压缩:
    tar/rar/zip 参数 压缩包名  原材料
解压缩
    tar/rar/unzip 参数 压缩包名 参数 解压路径
    rar 解压缩到指定目录不需要指定参数
    unzip 不需要解压参数,只是解压到指定路径还是需要参数的

9.Linux下的/proc目录介绍

 proc被称为虚拟文件系统,它是一个控制中心,可以通过更改其中某些文件改变内核运行状态,它也是内核提空给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息。

/proc目录下常用文件介绍:

  • /proc/loadavg      前三列分别保存最近1分钟,5分钟,及15分钟的平均负载。
  • /proc/meminfo    当前内存使用信息
  • /proc/diskstats    磁盘I/O统计信息列表
  • /proc/net/dev      网络流入流出统计信息
  • /proc/filesystems  支持的文件系统
  • /proc/cpuinfo        CPU的详细信息
  • /proc/cmdline      启动时传递至内核的启动参数,通常由grub进行传递
  • /proc/mounts     系统当前挂在的文件系统
  • /proc/uptime    系统运行时间
  • /poc/version     当前运行的内核版本号等信息

10.shell和bash的关系

shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序。你在提示符下输入的每个命令都由shell先解释然后传给Linux内核。
 shell 是一个命令语言解释器(command-language interpreter)。拥有自己内建的 shell 命令集。此外,shell也能被系统中其他有效的Linux 实用程序和应用程序(utilities and application programs)所调用。
不论何时你键入一个命令,它都被Linux shell所解释。一些命令,比如打印当前工作目录命令(pwd),是包含在Linux bash内部的(就象DOS的内部命令)。其他命令,比如拷贝命令(cp)和移动命令(rm),是存在于文件系统中某个目录下的单独的程序。而对用户来说,你不知道(或者可能不关心)一个命令是建立在shell内部还是一个单独的程序。
shell 首先检查命令是否是内部命令,不是的话再检查是否是一个应用程序,这里的应用程序可以是Linux本身的实用程序,比如ls 和 rm,也可以是购买的商业程序,比如 xv,或者是公用软件(public domain software),就象 ghostview。然后shell试着在搜索路径($PATH)里寻找这些应用程序。搜索路径是一个能找到可执行程序的目录列表。如果你键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。而如果命令被成功的找到的话,shell的内部命令或应用程序将被分解为系统调用并传给Linux内核。

 

在Linux 和 UNIX系统里可以使用多种不同的shell可以使用。最常用的几种是 Bourne shell (sh), C shell (csh), 和 Korn shell (ksh)。三种shell 都有它们的优点和缺点。Bourne shell 的作者是 Steven Bourne。它是 UNIX 最初使用的shell 并且在每种 UNIX 上都可以使用。Bourne shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面作得不如其他几种 shell。 
C shell 由 Bill Joy 所写,它更多的考虑了用户界面的友好性。它支持象命令补齐(command-line completion)等一些 Bourne shell 所不支持的特性。普遍认为C shell 的编程接口做的不如 Bourne shell, 但 C shell 被很多 C  程序员使用因为 C shell的语法和 C语言的很相似,这也是C shell名称的由来。
Korn shell (ksh) 由 Dave Korn 所写。它集合了C shell 和 Bourne shell 的优点并且和 Bourne shell 完全兼容。
除了这些 shell 以外,许多其他的 shell 程序吸收了这些原来的 shell 程序的优点而成为新的 shell 。在 Linux 上常见的有 tcsh (csh 的扩展),Bourne Again shell(bash, sh 的扩展), 和Public Domain Korn shell (pdksh, ksh 的扩展)。bash 是大多数Linux 系统的缺省 shell。 

shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell 程序设计语言支持在高级语言里所能见到的绝大多数程序控制结构,比如循环,函数,变量和数组。shell 编程语言很易学,并且一旦掌握后它将成为你的得力工具。任何在提示符下能键入的命令也能放到一个可执行的shell程序里,这意味着用shell语言能简单地重复执行某一任务。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Android入门知识点的总结: 1. Android基础知识: - Android是一个基于Linux的开源操作系统,主要用于移动设备。 - Android应用程序使用Java编程语言开发。 - Android应用程序由多个组件组成,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者(Content Provider)。 2. Android应用程序的生命周期: - 活动(Activity)是Android应用程序的用户界面的基本构建块。活动有不同的生命周期状态,如创建、启动、暂停、恢复和销毁。 - 活动的生命周期由回调方法控制,如onCreate()、onStart()、onResume()、onPause()、onStop()和onDestroy()。 3. Android布局: - Android应用程序使用XML文件定义用户界面布局。 - 常用的布局类型包括线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)和约束布局(ConstraintLayout)。 4. Android资源管理: - Android应用程序使用资源文件来存储图像、字符串、颜色等非代码资源。 - 资源文件存储在res目录下,可以通过资源ID在代码中访问。 5. Android意图(Intent): - 意图用于在不同组件之间传递数据和执行操作。 - 显式意图(Explicit Intent)用于启动特定的组件,如活动。 - 隐式意图(Implicit Intent)用于执行系统级操作,如拨打电话、发送短信等。 6. Android存储: - Android应用程序可以使用内部存储和外部存储来保存数据。 - 内部存储用于保存应用程序私有数据,如数据库文件。 - 外部存储用于保存公共数据,如图片、音频和视频文件。 7. Android网络通信: - Android应用程序可以使用HTTP协议进行网络通信。 - 可以使用Android提供的HttpClient类或者使用第三方库,如OkHttp、Volley等。 8. Android数据库: - Android应用程序可以使用SQLite数据库进行数据存储。 - SQLite是一种轻量级的关系型数据库,适用于移动设备。 9. Android权限管理: - Android应用程序需要在清单文件中声明所需的权限。 - 权限用于保护用户的隐私和设备的安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值