《鸟哥的Linux私房菜》学习笔记(0)——磁盘与文件系统管理
一、Linux的登陆流程
login:
用户名:每个用户名都有一个用户ID(用户标识符),计算机处理的就是用户ID(数字)而不是用户名(字符),。
认证机制:Authentication,比如密码或者其他生物识别技术
授权:Authorization,资源访问的权限授权。但是授权不代表权限可以滥用,因此需要审计。
审计:Audition(通过日志)。
登陆成功后,进入prompt,命令提示符界面,因此需要输入命令来执行程序。这些命令既可以是二进制程序也可以是脚本文件。对于内核而言,严格区分两者不同。一般情况,一个可执行程序文件,必须有程序的执行入口。一般这个二进制文件开始处,有几个特殊字符,我们称为程序的magic number(魔数)。
二、命令
1、命令格式
command options arguments
选项是用来修改命令的执行特性,它有两种格式:短选项和长选项。其中,短选项可以合并。而且,有些选项是可以带参数的。
参数指定命令的作用对象。
2、命令类型
内置命令(shell内置):bash内部的基本实现管理功能的命令,不同的shell内置不同的命令,一般都有cd 等。
外部命令:在文件系统的某个路径下有一个与命令名称相对应的可执行文件,比如ls,su等。虽然执行命令都应该指定其所在路径,但是由于环境变量的存在,所以不必指定其路径,直接去PATH中查找路径下,是否拥有该条命令,因此直接使用ls su就可以了。当然,如果执行一条命令就去查找环境变量,会特别慢,因此第一次查找后,会在内存的缓存中保存该命令和其路径,使用hash命令可以查看,hash保存的键值对,查找时间复杂度O(1)。
可以用type来显示指定命令属于哪种类型。
hao@hao:~$ which ls
/bin/ls
hao@hao:~$ which su
/bin/su
hao@hao:~$ which cd
这里的3,1,1表示命中的次数
hao@hao:~$ hash
?戒腑 ?戒护
/usr/bin/which
/usr/bin/sudo
/usr/bin/printenv
3、常用命令:
ls:显示文件目录及属性(在文件及目录专门讲)
pwd:显示当前目录
root@hao:/home/hao# pwd
/home/hao
cd:change directory切换目录。家目录(Home Directory),也叫主目录,
cd ,不加参数可以直接回到家目录,家目录用~表示.
cd ~ username,可以直接回到某个用户的家目录。
cd - 在当前目录和前一次所在目录来回切换
root@hao:/home/hao# ls /
bin cdrom etc initrd.img lost+found mnt proc run selinux sys usr vmlinuz
boot dev home lib media opt root sbin srv tmp var
root@hao:/home/hao# cd /usr
root@hao:/usr#
root@hao:/home/hao# cd /usr
root@hao:/usr# cd
root@hao:~# pwd
/root
root@hao:~# cd ~hao
root@hao:/home/hao#
date:显示当前时间
4、环境变量
环境变量是命名的内存空间,变量声明的过程就是向内存请求空间的过程,向内存空间放置数据的过程叫做赋值。
hao@hao:~$ printenv
SHELL=/bin/bash
TERM=xterm
XDG_SESSION_COOKIE=42b11f1fd75eaec16fec907e00000020-1413373884.792806-
HUSHLOGIN=FALSE
USER=hao
LS_COLORS=rs=:di=;:ln=;:mh=:pi=;:so=;
。。。
MAIL=/var/mail/hao
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/hao
LANG=en_US
SHLVL=
HOME=/home/hao
LANGUAGE=zh_CN:zh
LOGNAME=hao
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/printenv
5、使用帮助
对于内部命令,可以使用help command
对于外部命令,可以使用command --help 获取简要帮助信息。
当然无论内部还是外部命令,可以通过man命令查看命令使用手册,比如man ls,可以打开命令使用手册。对于内部命令,不是man的内部命令,而是man的这个内部命令所属的shell,如man cd,会显示bashell的,因此内部命令很少使用man命令。
man:分章节,8个章节。默认显示第一个出现的章节(不一定是第一章),可以通过whatis command 来查看命令出现的章节。
hao@hao:~$ whatis ls
whatis: can't set the locale; make sure $LC_* and $LANG are correct
ls () - list directory contents
root@hao:~# whatis read
read () - read from a file descriptor
1:用户命令 (/bin,/usr/bin,usr/local/bin)2:系统调用 3:库调用 4:设备文件 5:文件格式(解释被指文件的语法) 6:游戏 7:杂项
8:管理命令(/sbin,/usr/sbin,/usr/local/sbin)
DATE() User Commands DATE() NAME
date - print or set the system date and time SYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] DESCRIPTION
Display the current time in the given FORMAT, or set the system date. -d, --date=STRING
display time described by STRING, not `now' -f, --file=DATEFILE
like --date once for each line of DATEFILE
...
如/etc/passwd文件保存的是用户的情况,man 5 passwd 便可以看该文件的语法。
root@hao:~# cat /etc/passwd
root:x:::root:/root:/bin/bash
daemon:x:::daemon:/usr/sbin:/bin/sh
bin:x:::bin:/bin:/bin/sh
...
root@hao:~# man passwd
《鸟哥的Linux私房菜》学习笔记(0)——磁盘与文件系统管理的更多相关文章
- 鸟哥的linux私房菜学习笔记 __ 命令与文件的搜寻
连续输入两次[tab]按键就能够知道使用者有多少命令可以下达.那你知不知道这些命令的完整档名放在哪里?举例来说,ls 这个常用的命令放在哪里呢? 就透过 which 或 type 来找寻吧! 范例一: ...
- 鸟哥的Linux私房菜学习笔记——文件权限与目录配置
Linux的文件权限和目录配置 在linux中的每个用户必需属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. (1)所有者 一般为文件的创建者,谁创建了该文件,就是天 ...
- 鸟哥的Linux私房菜学习笔记(1)
2014/10/29 1.档案的权限管理分为三个部分: 拥有者.群组.其他 2.ls -al 命令可以看到档案的详细信息 3.档案的属性中由十个部分构成 第一个部分是档案类型 -代表档案.d代表文件夹 ...
- 《鸟哥的Linux私房菜》笔记——03. 磁盘分区
Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...
- 【鸟哥的Linux私房菜】笔记1
Linux是什么 从操作系统与cpu架构关系到linux Richard Mathew Stallman GPL 关于GNU计划 Linux的发展 Linux的核心版本 Linux的特色 Linux ...
- 鸟哥的linux私房菜学习-(一)优缺点分析以及主机规划与磁盘分区
一.linux的优缺点 那干嘛要使用Linux做为我们的主机系统呢?这是因为Linux有底下这些优点: 稳定的系统:Linux本来就是基于Unix概念而发展出来的操作系统,因此,Linux具有与Uni ...
- 【鸟哥的Linux私房菜】笔记2
Linux的应用 学习资源整理 安装记录 >< 1.Linux的应用: 网络服务器 数据库 学术机构的高效运算任务 嵌入式系统 ... 2.挂载与磁盘分区 学习资源整理 学习 1.书上的网 ...
- 【鸟哥的Linux私房菜】笔记3
正确地开机 最好不要使用root账号登陆!GNOME图形界面 View items as a list X WindowShell 文本交互界面bash是Shell的名称,Linux的默认壳程序就是b ...
- 《鸟哥的Linux私房菜》笔记——02. 关于Linux
Unix 历史 1969年以前:伟大的梦想--Bell, MIT 与 GE 的「Multics」系统 1969年:Ken Thompson 的小型 file server system 1973年:U ...
- 【鸟哥的Linux私房菜】笔记
操作系统核心的功能! 驱动程序与操作系统的关系 2. [计算机组成之组件] 3.CPU实际要处理的数据完全来自于主存储器,这是一个很重要的概念! 4.CPU是整个计算机系统最重要的部分,那么目前世界上 ...
随机推荐
- C 碎片十 关键字&库函数
一.关键字 1, sizeof sizeof关键字用于计算所占空间大小的 格式:sizeof(类型名/变量名); 2, typedef typedef关键字用于重命名数据类型的,相当于给原来的数据类型 ...
- java - Socket简单编程实践
1.简介: 1)SOCKET是应用程序和网络之间的一个接口.SOCKET创建设置好以后,应用程序可以: 通过网络把数据发送到socket . 通过网络从socket接收数据.(通信的前提是应用程序知道 ...
- JAVA 与 sqlite3 连接
SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经 ...
- PRD、MRD、BRD的含义
一.PRD的含义 英文简称,PRD(Product Requirement Document),PRD文档中文意思是:产品需求文档. PRD文档是产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的 ...
- ajax请求成功后js刷新当前页,当前页是post查询结果(用post请求进行搜索筛选)的问题
下面的一个ajax操作,原先操作成功会刷新当前页,保证用户看到的数据是最新的,一般情况不会出现问题.$.ajax({ url: url + "/addTeacherAuth", / ...
- 梦织未来Windows驱动编程 第05课 小结(读取另一驱动,遍历所有驱动)
读取另一驱动 驱动通过"\\Driver\\XueTr"获取到了XueTr工具的驱动,并Hook了XueTr驱动的分发函数. 具体的驱动代码如下: //FilterDriver.c ...
- 如何在SAP云平台上使用MongoDB服务
首先按照我这篇文章在SAP云平台上给您的账号分配MongboDB服务:如何在SAP云平台的Cloud Foundry环境下添加新的Service 然后从这个链接下载SAP提供的例子程序. 1. 使用命 ...
- IOS 核心动画(Core Animation)
Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它 能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就 可以实现非常强大的功能. Core ...
- BZOJ3932(主席树上二分+差分
按时间作为主席树的版本,每个版本的主席树都是一个权值线段树. 差分消去时间影响 对于当前时间版本的主席树查询前K大即可. 树上二分时结束后切记判定l==r的状态(易错 l==r叶子节点可能存在多个值( ...
- gearmand 编译 could not find gperf
安装步骤: #wget https://launchpad.net/gearmand/1.2/1.1.8/+download/gearmand-1.1.8.tar.gz #tar zxvf gearm ...