Linux 基础
基础
目录结构
Linux 文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录
- bin:存放二进制可执行文件 (ls,cat,mkdir 等)
- boot:存放用于系统引导时使用的各种文件
- dev:用于存放设备文件
- etc:存放系统配置文件
- home:存放所有用户文件的根目录
- lib:存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt: 系统管理员安装临时文件系统的安装点
- opt: 额外安装的可选应用程序包所放置的位置
- proc: 虚拟文件系统,存放当前内存的映射
- root:超级用户目录
- sbin:存放二进制可执行文件,只有 root 才能访问
- tmp:用于存放各种临时文件
- usr:用于存放系统应用程序,比较重要的目录 /usr/local——本地管理员软件安装目录
- var:用于存放运行时需要改变数据的文件
文件类型
- 普通文件
-
- 目录
d
- 符号链接
l
- 硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
- 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径 (可理解为快捷方式)。
- 字符设备文件
c
- 块设备文件
b
- 套接字
s
- 命名管道
p
命令
格式
cmd [options] [arguments]
命令名称 [- 选项] [参数]
- 命令名:描述命令功能的英文单词或缩写,必不可少;
- [- 选项]:执行该命令的限定参数或功能参数;
- [参数]:执行该命令的所必需对象,如文件、目录等;
选项和参数都作为 Shell 命令执行时的输入,它们之间用空格分隔开
一般来说,后面跟的选项如果单字符选项前使用一个减号 -
;单词选项前使用两个减号 --
[ ]
表示语法上可有可无
可执行文件的分类
内置命令:出于效率的考虑,将一些常用命令的解释程序构造在 Shell 内部。
外置命令:存放在 /bin、/sbin 目录下的命令
实用程序:存放在 /usr/bin、/usr/sbin、/usr/share、/usr/local/bin 等目录下的实用程序
用户程序:用户程序经过编译生成可执行文件后,可作为 Shell 命令运行
Shell 脚本:由 Shell 语言编写的批处理文件,可作为 Shell 命令运行
登陆操作
登陆提示信息的意义
|
|
- root:当前用户的账号
- localhost:主机名
- ~ :用户当前所在的目录。 如果现在要创建一个文件的话,会被保存在这个目录下。
~
为用户的主目录,即专属于该用户的目录- root 用户的主目录为:
/root
- Linux 系统每创建一个普通用户,就会在
/home
这个目录下创建一个对应的 目录,并且是以用户名命名的。- 比如:普通用户 user 的主目录是:
/home/user
;普通用户 test 的主目录为:/home/test
- 比如:普通用户 user 的主目录是:
#
:root 用户的命令提示符- $:普通用户的命令提示符
命令
pwd
(print working dirctory)
- 功能:显示用户当前所处的工作目录(当前工作目录)
- 格式:
pwd [选项]
man
(manual)
- 功能:显示命令的使用说明手册。
- 格式:
man 命令名
通常 man 显示的命令帮助格式包含以下 4 部分:
- NAME : 命令名称;
- SYNOPSIS : 语法大纲;
- DESCRIPTION : 描述说明;
- OPTIONS : 选项
man 命令查询控制手册时,给出了一些功能键设置:
- 空格键 :显示手册页的下一屏
- 回车键 :一次滚动手册页的一行
- q 键 :退出 man 命令
cat
(concatenate)
功能一
- 功能:显示文件信息,可与输入输出重定向配合使用。
- 格式:
cat [选项] fileName
- 常用选项
- -n:由 1 开始对所有输出行进行编号显示。
- 实例
- 查看刚刚的 record 文件
$ cat record
- 对
/etc/passwd
文件进行编号显示$ cat –n /etc/passwd
- 查看刚刚的 record 文件
功能二
- 功能:建立小型文件
- 格式
1 2 3
cat > fileName … // 输入信息 Ctrl+d // 存盘并退出
- 实例
- 建立一个名为 m1 的文件,内容为:echo cat is not a cat!
1 2 3 4
$ cat > m1 //创建文件 echo cat is not a cat! Ctrl+d $ cat m1 //显示文件
功能三
- 功能:合并文件。
- 格式:
cat file1 file2 > newFileName
- 实例:将 m1,m2 合并为 m3
- 建立一个名为 m1 的文件,内容为:echo cat is not a cat!
- 建立一个名为 m2 的文件,内容为:date 的结果。
1 2 3 4 5 6 7
$ date > m2 //创建文件 $ cat m2 //显示文件 $ cat m1 m2 >m3 //合并文件 $ cat m3 //显示文件
more
- 功能:分屏显示文件内容。首先显示一屏后若还有内容,按 Enter 键再显示下 一行,按 Space 键显示下一屏,按 Q 退出。
- 格式:
more 文件路径
通配符与特殊符号
通配符
*
:匹配任何字符和任何数目的字符
?
:匹配单一数目的任何字符
[]
:匹配 [] 之内的任意一个字符,[] 指定一个符号的取值范围
[!]
:匹配除了 [!] 之外的任意一个字符,! 表示非的意思
例
- 列出
/etc
目录下的所有扩展名为conf
的配置文件
|
|
- 列出
/etc
目录下所有文件名由 3 个字母构成的配置文件
|
|
- 列出
/etc
目录下所有以 a、b 或者 c 开头的配置文件
|
|
特殊符号
分号 ;
用于隔开多条命令并使它们能够连续执行。 输出的结果是多个命令连续执行后的输出结果
符号 &
用于指定当前命令在后台执行
实例
拷贝一个大文件 file 时需要占用较长的时间,将拷贝工作放到后台执行
执行时返回的显示结果是该命令的作业号和进程 PID 号
执行完毕会在前台提示
|
|
转移符号 \
通配符和特殊符号在 shell 中被解释为某种含义和功能,当要表示这些符号的本身时,需要使用转义符号 \
实例
|
|
管道 |
|
|
将多个简单的命令集合在一起,用以完成较复杂的功能
实例
|
|
重定向
概念
Shell 中不使用系统的标准输入、标准输出或者标准错误输出端口,重新进行指定的情况称为输入输出重定向
输出重定向、附加输出重定向
目的:保存命令输出的结果
格式
- 输出重定向:命令 > 重定向文件(覆盖原文件的内容)
- 附加输出重定向:命令 » 重定向文件(在指定文件的末尾追加命令结果)
例
date > record
#将 date 的结果重定向输出到 record 文件中
who >>record
#将 who 的结果附加重定向输出到 record 中
输入重定向
目的:把命令的标准输入重新定向到指定文件中
格式:命令 < 重定向文件
例
用输入重定向的方式查看 record 的内容。
cat < record
// 与 cat record 命令完全相同
错误输出重定向
目的:保存错误内容
格式:命令 2> 重定向文件
例
敲一个错误的命令,ls lsm,通过错误输出重定向,将错误信息保存到文件 err 中
|
|