一. 文件管理
文件被组织到文件系统(file system)中,通常会成为一个树状(tree)结构。Linux有一个根目录/, 也就是树状结构的最顶端。这个树的分叉的最末端都代表一个文件,而这个树的分叉处则是一个目录(directory, 相当于我们在windows界面中看到的文件夹)。在图1中看到的是整个的一个文件树。如果我们从该树中截取一部分,实际上也构成一个文件系统。
要找到一个文件,除了要知道该文件的文件名,还需要知道从树根到该文件的所有目录名。从根目录开始的所有途径的目录名和文件名构成一个路径(path)。比如说,我们在Linux中寻找一个文件,不仅要知道文件名还要知道完整路径,也就是绝对路径从根目录录,也就是树状结构的最顶端出发,经过一层层目录最终才看到文件。整个文件系统层层分级。
1.Linux中显示文件目录结构通常用ls 来查看。
ls +选项 + 【file】、
ls 的命令参数有很多可以通过查看 ls -help
如: ls 显示所有文件
ls -1 显示所有文件;按行显示的
ls -l 显示所有文件具体信息,如创建者,创建时间,文件的读写权限列表等等
ls -a 包含隐藏文件
ls -R 目录递归
ls -S 按从小到大顺序
ls -A 列出除了“.”和“..”以外的文件
2 linux中可以通过查看路径来知道目录结构这就用到了tree
tree -help
tree -a 显示所有文件和目录
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上””,”/”,”=”,”@”,”|”号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I <范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
3.有时显示为了美观与整洁我们就用到了通配符
– 通配符,代表任意字符(0到多个)
? – 通配符,代表一个字符
# – 注释
/ – 跳转符号,将特殊字符或通配符还原成一般符号
| – 分隔两个管线命令的界定
; – 连续性命令的界定
~ – 用户的根目录
$ – 变量前需要加的变量值
! – 逻辑运算中的”非”(not)
/ – 路径分隔符号
>, >> – 输出导向,分别为”取代”与”累加”
‘ – 单引号,不具有变量置换功能
” – 双引号,具有变量置换功能
` – quote符号,两个“中间为可以先执行的指令
() – 中间为子shell的起始与结束
[] – 中间为字符组合
{} – 中间为命令区块组合
[0-9]匹配数字范围
[a-z]同上字母范围
[A-z]字母范围
[wamg]匹配列表中的任何一个字符
[^wang]匹配列表中的所有字符以外的字符
4 .touch命令
touchu [option][file]
5.复制文件和目录cp
如果目标不存在:新建的dest,并将src中内容填充至dest中
如果目标存在:将src中的内容覆盖到dest中
-a 或 –archive 此参数的效果和同时指定”-dpR”参数相同
-b 或 –backup 删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
-f 或 –force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 –interactive 覆盖文件之前先询问用户
-l 或 –link 对源文件建立硬链接,而非复制文件
-p 或 –preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-P 或 –parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 –recursive 递归处理,将指定目录下的文件及子目录一并处理
6. mv 移动和重命名文件
通常用的:
mv -i 交互式
mv -f 强制
本章中最重要的一个名命令rm
如: rm -rf *
二 重定向和管道
所谓的重定向就:重新定义,并将其转向其他位置
如:ls -a > abc.txt
这句就是指将ls 不再终端显示而是把内容保存在文件abc.txt中。
1.a重定向符号
> 输出重定向到一个文件或设备 覆盖原来的文件
>! 输出重定向到一个文件或设备 强制覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件
< 输入重定向到一个程序
1.b标准错误重定向符号
2> 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 b-shell
2>> 将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1 将一个标准错误输出重定向到标准输出 注释:1 可能就是代表 标准输出
>& 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 c-shell
|& 将一个标准错误 管道 输送 到另一个命令作为输入
2. 管道
将一个命令传送给另一个命令 符号 | 来连接命令
如 命令1| 命令2|命令3…….
如 将一个文件中的字母大写变小写
ls | tr ‘A-Z’ ‘a-z’
三.用户.组和权限
1.linux中每个用户必须属于一个组.
有 所有者 所在组 其他组 改变用户所在的组
如 用户的创建 useradd 命令:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,能创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则能重复使用其他用户的标识号。
如:useradd -d / usr wang -m wang
这个命令创建了一个用户网wang 其中 -d 和 -m选项用来为登录名wang 产生一个主目录/usr/wang
2.删除用户
userdel 常用选项是 -r 主要是把用户和主目录一块删除
3.修改用户:
usermod
如 usermod -l 指定一个新用户
4. 主要的内容文件权限
文件属性操作:
chgrp :改变文件所属组
chown :改变文件拥有者
chmod :改变文件权限
4.1 文件的权限主要针对三类对象进行定义
owner:属主.u
group:属组 .g
other:其他.o
每个文件都设置三种权限 r w x
4.2 文件:目录
r :可使用文件查看类工具获取其内容 :可以使用ls查看此目录中文件列表
w :可以修改其内容 :可以在此目录中创建文件。也可以删除
x :可以把此文件提请内核启动为一个进程 :可以使用ls -l查看此目录 也可以cd
通常我们所说的两种方法 模式法 数字
r:4 w:2 x :1
例如一个文件的权限[-rwxrwxr-]
u=4+2+1 g=4+2+1 o=4+0+0
4.3 改变权限 .chmod
修改 一类用户的所有权限
u= g = o=
如
chomod u=rwx .g-w o+r
就是把 主赋值 rwx 组去掉w 其他组加上r
原创文章,作者:gd1479,如若转载,请注明出处:http://www.178linux.com/77070