环境: CentOS 6.5
Linux系统目录结构——树状结构
树状结构
以下是对目录的解释
/ | 根目录 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录。 |
/usr | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下 |
/bin | bin是Binary的缩写, 这个目录存放着最经常使用的命令 |
/dev | dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备 |
/home | 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 |
/etc | 存放所有的系统管理所需要的配置文件和子目录 |
/lib | 存放着系统最基本的动态连接共享库 |
/media | linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下 |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了 |
/ boot | 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 |
/lost+found | 一般情况下是空的,当系统非法关机后,这里就存放了一些文件 |
/opt | 主机额外安装软件所摆放的目录默认是空的 |
/proc | 一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件, |
/sbin | s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 |
/selinux | Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙 |
/srv | 存放一些服务启动之后需要提取的数据 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs |
/tmp | 存放一些临时文件 |
/usr/bin | 系统用户使用的应用程序 |
/usr/sbin | 超级用户使用的比较高级的管理程序和系统守护程序 |
/usr/src | 内核源代码默认的放置目录 |
/var | 存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件 |
注: 根目录下的所有目录都有特定的含义,都存储着不同功能的文件,可以使用 ls / 命令查看。有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。如 /etc、/bin、 /sbin、/usr/bin、/usr/sbin、/var
Linux基本操作命令
01、ls 指令
语法: ls [选项] [目录或文件]
功能: 对于目录,列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
常用选项:
- -a: 列出目录下的所有文件,包括以 . 开头的隐含文件
- -d: 将目录像文件一样显示,而不是显示其下的文件
- -i: 输出文件的 i 节点的索引信息
- -k: 以 k 字节的形式表示文件的大小
- -l: 列出文件的详细信息。
- -n: 用数字的 UID,GID 代替名称
- -F: 在每个文件名后附上一个字符以说明该文件的类型
- -r: 对目录反向排序
- -t: 以时间排序
- -s: 在l文件名后输出该文件的大小
- -R: 列出所有子目录下的文件(递归)
- -1: 一行只输出一个文件
02、pwd 命令
语法: pwd
功能: 显示用户当前所在的目录
03、cd 指令
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下
04、touch指令
语法: touch [选项] 文件…
功能: 创建一个不存在的文件/刷新文件的时间属性
常用选项:
- -a: 只更改存取时间
- -c: 不建立任何文档
- -m: 只更改变动时间
- -r: 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
- -t: 使用指定的日期时间,而非现在的时间
05、mkdir指令
语法: mkdir [选项] dirname…
功能: 在当前目录下创建一个名为 “dirname”的目录
常用选项:
- -p: 递归创建多个目录
06、 rmdir指令 / rm 指令
语法: rmdir [-p][dirName] / rm [-f-i-r-v][dirName/dir]
功能: 删除空目录 / 删除文件或目录
常用选项:
- -f: 即使文件属性为只读(即写保护),亦直接删除
- -i: 删除前逐一询问确认
- -r: 删除目录及其下所有文件
07、man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助
语法: man [选项] 命令
08、cp指令
语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
常用选项:
- -f 或 --force: 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive: 覆盖文件之前先询问用户
- -r: 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
09、mv指令
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中
常用选项:
- -f :如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 已经存在时,就会询问是否覆盖
10、cat指令
语法: cat [选项][文件]
功能: 查看目标文件的内容
常用选项:
- -b: 对非空输出行编号
- -n: 对输出的所有行编号
- -s: 不输出多行空行
11、more指令
语法: more [选项][文件]
功能: more命令,功能类似 cat
常用选项:
- -n: 对输出的所有行编号
- q: 退出more
12、less指令
语法: less [参数] 文件
功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用选项:
- -i : 忽略搜索时的大小写
- -N: 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:quit
13、head指令
语法: head [参数]… [文件]…
功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用选项:
- -n<行数>: 显示的行数
14、tail指令
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用选项:
- -f :循环读取
- -n<行数> :显示行数
15、cal指令
语法: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
- -3: 显示系统前一个月,当前月,下一个月的月历
- -j :显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y: 显示当前年份的日历
16、find指令
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
- -name: 按照文件名查找文件。
17、grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i : 忽略大小写的不同,所以大小写视为相同
-n : 顺便输出行号
-v: 反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
18、zip/unzip指令
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
19、 tar指令(重要)
语法: tar [选项] 文件与目录
功能: 打包/解包,不打开它,直接看内容
常用参数:
- -c :建立一个压缩文件的参数指令(create 的意思);
- -x :解开一个压缩文件的参数指令!
- -t :查看 tarfile 里面的文件!
- -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
- -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
- -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
- -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
- -C : 解压到指定目录
20、 bc指令
bc命令可以很方便的进行浮点运算
21、 uname –r指令
语法: uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
常用选项:
- -a或–all 详细输出所有信息
22、 重要的几个热键
- [Tab]: 具有『命令补全』和『档案补齐』的功能
- [Ctrl]-c : 让当前的程序『停掉』
- [Ctrl]-d: 键盘输入结束,可以用来取代exit
23、其他命令
- halt :关机
- reboot : 重启
- ifconfig: 查看IP地址
- history : 查看历史输入命令
shell——命令行解释器
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
linux权限管理
Linux下的两种用户
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情。
注: 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令: su [用户名]
功能: 切换用户。
文件访问者的分类
- 文件和文件目录的所有者——文件属于谁
- 文件和文件目录的所有者所在的组的用户——文件所属组
- 其它用户
文件基本权限
- 读: 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写: 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行: 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
文件权限值的表示方法
权限符号 | 说明 | 八进制 | 二进制 |
---|---|---|---|
r - - | 只读 | 4 | 100 |
- w - | 只写 | 2 | 010 |
- - x | 只执行 | 1 | 001 |
r w - | 可读可写 | 6 | 110 |
r - x | 可读可执行 | 5 | 101 |
- w x | 可写可执行 | 3 | 001 |
r w x | 可读可写可执行 | 7 | 111 |
- - - | 无权限 | 0 | 000 |
注: “-”表示不具有该项权限
文件访问权限的相关设置方法
注: 只有文件拥有着和root才可以改变文件的权限
01、chmod
功能: 设置文件的访问权限
语法: chmod [参数] 权限 文件名
02、chown
功能: 修改文件的拥有者
语法: chown [参数] 用户名 文件名
03、chgrp
功能: 修改文件或目录的所属组
语法: chgrp [参数] 用户组名 文件名
04、umask
**功能:**查看或修改文件掩码
语法: umask 权限值
注: 实际创建文件权限: mask & ~umask
05、file指令
功能: 辨识文件类型。
语法: file [选项] 文件或目录…
06、使用 sudo分配权限
- 修改/etc/sudoers文件分配权限
- 使用sudo调用授权的命令(命令前面加sudo,普通用户临时添加超级用户权限执行命令)