Linux操作系统基本使用
2.1 shell
shell 是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,从而实现用户与操作系统的交互.同时,shell为操作系统提供了内核之上的功能,直接用来管理和运行系统.
Bourne shell(sh)
C shell (csh)
Korn shell (ksh)
Bourne Again shell (bash)
2.2 Shell命令的格式
name@hostname:direction$
2.3 Linux 命令
2.3.1 用户系统相关命令
- 用户切换命令(su)
| 选项 | 参数含义 |
|---|---|
| -,-l,--login | 重新登入 |
| -m,-p | 执行su时不改变环境变量 |
| -c,-cmmand | 变更账号并执行指令 |
- 系统管理命令(ps kill)
| 命令 | 命令含义 | 格式 |
|---|---|---|
| ps | 显示当前系统中由该用户运行的时程表 | ps |
| top | 动态显示系统中运行的程序 | top |
| kill | 输出特定的信号给指定PID(进程号) | kill [选项] PID |
| shutdonw | 关闭或重启linux | shutdown [选项] [时间] |
| uptime | 显增系统已运行时长 | uptime |
| clear | 清除屏幕上的信息 | clear |
ps常见参数
| 选项 | 参数含义 |
|---|---|
| -ef | 查看所有进程及PID,系统时间,命令详细目录,执行者等 |
| -aux | 除了可显示-ef所有内容外,还可显示CPU及内存用率,进程状态 |
| -w | 加宽以显示较多信息,可以多次写,最多3次 ps -efwwww |
kill主要参数
| 选项 | 参数含义 |
|---|---|
| -s | 根据指定信号发送给进程 |
| -p | 打印出进程号,但并不发送信号 |
| -l | 列出所有可用的信号名称 |
- 存储相关命令(fdisk)
常见系统管理命令
| 命令 | 含义 | 格式 |
|---|---|---|
| free | 查看当前系统内存的使用情况 | free [选项] |
| df | 查看文件系统的磁盘空间占用情况 | df [选项] |
| du | 统计目录(或文件)所占用磁盘空间的大小 | du [选项] |
| fdisk | 查看硬盘分区情况及对硬盘进行分区管理,但必须拥有root权限 | fdisk [-l] |
- 磁盘挂载命令(mount)
- 作用
挂载文件系统的使用权限是超级用户或/etc/fstab中允许的使用者.
2)格式
mount [选项] [类型] 设备文件名 挂载点目录
3)常见参数
| 选项 | 参数 |
|---|---|
| -a | 依照/etc/fstab中内容装载所有相关硬盘 |
| -l | 列出当前已挂载的设备,文件系统名称和挂载点 |
| -t 类型 | 将后面的设备以指定类型的文件格式载到挂载点上 |
| -f | 通常用于除错.它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常和 -v 一起使用 |
2.3.2 文件,目录相关命令
-
cd
作用:改变工作目录.
格式:cd [路径]
示例
cd /home/Linux说明
该命令表示将当前目录改变至指定路径的目录,若没有指定路径,则回到用户的主目录.为了改变到指定目录,用户必须拥有指定目录的执行和读权限.
该命令可以使用通配符.
使用
cd -可以返回到前次工作目录."./"代表当前目录,".../"代表上级目录.
-
ls
作用:列出目录的内容.
格式:ls [选项] [文件]
其中"文件"选项为指定要查看的相关内容,若未指定文件,黙认查看当前目录下的所有文件
常见参数
| 选项 | 参数含义 |
|---|---|
| -l,--format=single-column | 一行输出一个文件(单列输出) |
| -a,-all | 列出目录中所有文件,包括以"."开头的文件 |
| -d | 将目录名和其他文件一样列出来,而不是列出目录的内容 |
| -l,--format = long,--format=verbose | 除每个文件名外,增加显示文件类型,权限,权限,硬链接数,所有者名,组名,大小Byt及时间信息 |
| -f | 不排序目录内容,按它们在磁盘上存储的顺序列出 |
- mkdir
作用:创建一个目录.
格式: mkdir [选项] 路径
常见参数:
| 选项 | 参数含义 |
|---|---|
| -m | 对新建目录设置存取权限 |
| -p | mkdir 创建的目录可以是一个路戏名称,此时若此路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 |
- cat
作用:连接并显示指定的一个或多个文件的有关信息.
格式: cat [选项] 文件1,文件2...
常见参数
| 选项 | 参数含义 |
|---|---|
| -n | 由第一行开始对所有输出的行数编号 |
| -b | 和"-n" 相似,只不过对于空白行不编号 |
- cp, mv, rm
作用:
cp:将给出的文件或目录复制到另一个文件或目录中.
mv:为文件或目录改名或将文件由一个目录移入别一个目录中.
rm:删除一个目录中的一个或多个文侦探或目录.
格式:
cp [选项] 源文件或目录 目标文件或目录
mv [选项] 源文件或目录 目标文件或目录
rm [选项] 文件或目录
cp常见参数
| 选项 | 参数含义 |
|---|---|
| -a | 保留链接,文件属性,并复制其子目录,其作用等于dpr选项的组合 |
| -d | 复制时保留链接 |
| -f | 删除已经存的目标文件并不提示 |
| -i | 在覆盖目标文件之前将给出提示,要求用户确认.回签y时目标文件将被覆盖,而且是交互式复制 |
| -p | 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中 |
| -r | 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目标和文件.此时目标文件必须有一个目录名 |
mv常见参数
| 选项 | 参数含义 |
|---|---|
| -i | 若mv操作将导致对已存在的目标的目标文件覆盖,此时系统询问是否重写,并要求用户回签y或n,这样可以避免误覆盖文件 |
| -f | 禁止交互操作.在mv操作要覆盖某已有的目标文件时不给任何指示,在指定此选项后,i选项将不再起作用 |
rm常见参数
| 选项 | 参数含义 |
|---|---|
| -i | 进行交互式删除 |
| -f | 忽略不存在的文件,但从不给出提示 |
| -r | 指示rm将参oct中列出的全部目录或子目录均递归地删除 |
- chown 和 chgrp
作用:
chown:修改文件所有者和组别.
chgrp:改变文件组所有权.
格式:
chown [选项]... 文件所有者 [所有者组名] 文件
chgrp [选项]... 文件所有组 文 件
常见参数:
| 选项 | 参数含义 |
|---|---|
| -c,-changes | 详尽地描述每个file实际改变了哪些所有权 |
| -f,--silent,--quiet | 显示全部错误信息 |
- chmod
作用: 改变文件的访问权限
格式: chmod 可使用符号标记和八进制数指定两种方式进行更改,因此它的格式也有两种不同的形式.
-1 符号标记 chmod [选项] ... 符号权限[,符号权限]... 文件
-2 八进制数: chmod [选项] ... 八进制权限 文件...
其中的八进制权限是指要更改后的文件权限.
选项参数
| 选项 | 参数含义 |
|---|---|
| -c | 若该文件权限确实已级更改,才显示其更改动作 |
| -f | 若该文件权限无法被更改也不要显示错误信息 |
| -v | 显示权限变更的详细资料 |
使用实例
bash
chmod a+rw,u+w README.md
转化后八进制,二进制入对应权限 的关系
| 转换后八进制数 | 二进制 | 对应权限 | 转换后八进制数 | 二制数 | 对应权限 |
|---|---|---|---|---|---|
| 0 | 000 | 没有任何权限 | 1 | 001 | 只能执行 |
| 2 | 010 | 只写 | 3 | 011 | 只写和执行 |
| 4 | 100 | 只读 | 5 | 101 | 只读和执行 |
| 6 | 110 | 读和写 | 7 | 111 | 读,写,执行 |
- grep
作用
在指定文件中搜索特定的内容,并将含有这些内容的行标准输出.
格式
grep [选项] 格式 [文件及路径]
参数列表
| 选项 | 参数含义 |
|---|---|
| -c | 只输出匹配行的计数 |
| -l | 不区分大小写(只适用于单字符) |
| -h | 查询多文件时不显示文件名 |
| -l | 查询多文件时只输出包含匹配字符的文件名 |
| -n | 显示匹配行及行号 |
| -s | 不显示不存在或无匹配文本的错误信息 |
| -v | 显示不包含匹配文本的所有行 |
| -r | 指定文件 |
- find
作用:
在指定目录中搜索文件,它的使用权限是所有用户.
格式:
find [路径] [选项] [描述]
常见选项参数
| 选项 | 参数含义 |
|---|---|
| -depth | 使用深度级别的查找过程式,在某层指定目录中优先查找文件内容 |
| -mount | 不在其他文件系统的目录和文件中查找 |
常见描述参数
| 选项 | 参数含义 |
|---|---|
| -name | 支持通配符"*"和"?" |
| -user | 用户名:搜索文件属性为用户名(id或名称)的文件 |
| -and | 联接查询条件 |
| -size | 指定大小 +5000000c 大于500000B |
| -mtime | 修改时间 |
- ln
用于文件之间建立链接,只保留目标文件的地址,而不占用存储空间.使用链接文件与使用目标文件的效果是一样的. 可为链接文件指定不同的访问权限,以控制对文件的共享安全性问题题.
硬链接: 是利用Linux 中为每个文件分配的物理编号 ----inode建立链接.因此,硬链接不能跨越文件系统.
软链接:(符号链接) 是利用文件的路径名建立链接.通常建立软链接使用绝对路径而不是相对路径
注意:如果修改硬链接的目标文件名,链接依然有效,如果修改软链接的目标文件名,则链接将断开.
格式
ln [选项] 源文件或目录 目标文件或目录.
常见参数
-s 建立符号链接.
2.3.3 压缩打包相关命令
| 命令 | 命令含义 | 格式 |
|---|---|---|
| bzip2 | .bz2文件的压缩,解压 | bzip2 [选项] 压缩/解压 文件名 |
| bunzip2 | .bz2文件的解压缩程序 | buzip2 [选项] .bz2压缩文件 |
| bzip2recover | 用来修复损坏的.bz2文件 | |
| gzip | .gz文件的压缩 | gzip [选项] 压缩/解压缩的文件 |
| gunzip | 解压被gzip压缩过的文件 | guzip [选项] .gz文件 |
| unzip | 解压被winzip压缩的.zip文件 | unzip [选项] .zip压缩文件 |
| tar | 对文件目录进行打包或解包 | tar [选项] 打包后文件名 文件目录列表 |
- gzip
作用
文件进行压缩和解压缩,而且gzip根据文件类型可自动识别压缩或解压.
格式
gzip [选项] 压缩/解压缩文件名
常见参数
| 选项 | 参数含义 |
|---|---|
| -c | 将输出信息写到标准输出上,并保留原有文件 |
| -d | 将压缩文件解压 |
| -l | 对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件名 |
| -r | 查找指定目录并压缩或解压缩其中的所有文件 |
| -t | 测试,检查压缩文件是否完整 |
| -v | 对每一个压缩和解压的文件,显文件名和压缩比 |
| gzip是压缩单个文件 |
- tar
作用:
对文件目录进行打包或解压.
打包是将多个文件变成单个文件,压缩是通压缩算法把大文件变成小文件
格式:
tar [选项] 打包后文件名 文件目录列表
常见参数列表
| 选项 | 参数含义 |
|---|---|
| -c | 建立新的打包文件 |
| -r | 向打包文件末尾追加文件 |
| -x | 从打包文件中解出文件 |
| -o | 将文件解开到标准输出 |
| -v | 处理过程中输出相关信息 |
| -f | 对普通文件操作 |
| -z | 调用gzip来压缩打包文件 |
| -j | 调用bzip2来压缩文件 |
| -Z | 调用compress来压缩打包文件 |
linux 常见类型的文件解压命令一览表
| 文件后缀 | 解压命令 | 示例 |
|---|---|---|
| .a | tar -xv | tar -xv hell.tar |
| .z | uncompress | uncompress hello.Z |
| .gz | gunzip | gunzip hello.gz |
| .tar.Z | tar xvZf | tar xvZf hello.tar.Z |
| .tar.gz/.tgz | tar xvzf | tar xvzf hello.tar.gz |
| .tar.bz2 | tar jxvf | tar jxvf hello.tar.bz2 |
| .rpm | 解压:rpm2cpio | rpm2cpio hello.rpm |
| .deb | 解压:dpkg-deb --fsys-tar file | dpkg-deb --fsys-tar hello.deb |
| .zip | unzip | unzip hello.zip |
2.3.4 文件比较命令 diff
作用:
比较两个不同的文件或不同目录下的两个同名文件功能,并生成补丁文件.
格式:
diff [选项] 文件1 文件2
diff 比较文件1 和文件2 的不同之处,并按照选项所指定的格式加以输出,diff的格式分为命令格式和上下文格式,其中,上下文格式又包括了旧版上下文格式和新版上下文格式, 命令格式分为标准命令格式,简单命令格式及混合命令格式,它们之间的区别会在使用示例 中进行详细的讲解
常见参数列表
| 选项 | 参数含义 |
|---|---|
| -r | 对目录时行递归处理 |
| -q | 只报告文件是否有不同,不输出结果 |
| -e,-ed | 命令格式 |
| -f | RCS命令简单格式 |
| -c --context | 旧版上下文格式 |
| -u,--unified | 新版上下文格式 |
| -Z | 调用compress来压缩归档文件,用 -x解压 |
2.4 linux环境变量
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数
env显示所有环境变量
格式:
环境变量名=内容:内容2
用冒号分开,=号两边不能有空格
取变量值:
$变量名
- 临时添加
只对当前终端会话有效, - 永久添加
在相应的文件增加变量名与变量值
/etc/profile
source 或用. 更新环境变量