版权声明:欢迎转载和交流。 https://blog.csdn.net/Hachi_Lin/article/details/79808738
一.文件目录基本结构
linux文件系统是多级树形结构。典型linux文件系统大致的结构如下图:
Linux系统的根目录表示符号为”/”。多级目录的各级目录也用”/”分割,组成一个完整的路径名。例如,当用户首次登录系统时当前工作目录为该用户的主目录,一般为/home/用户账号名目录。当前目录表示符号为”.”,上级目录表示符号为”..”。
二.常用的目录操作命令
- 显示当前工作目录全名
pwd - 改变当前工作目录
cd [路径名] - 建立新目录
mkdir 路径名 - 删除一个空目录
rmdir 路径名 - 列出目录或文件属性信息
-ls [选项] [路径名|文件名]
三.常用文件操作命令
- 串联显示文本文件内容
cat [文件名1文件名2 …]
例如,demo1 文件中仅有一行文字”Ok“,demo2文件中仅有一行文字”hello”。显示demo1和demo2两文件的内容:
$ cat demo1 demo2
Ok
hello
可以利用该命令将多个文件合并。例如,将文件demo1和demo2 合并为demo
$ cat demo1 demo2 > demo - 拷贝文件
cp [操作] 源文件名 目标文件名
可以借助统配符递归的拷贝整个目录。例如,将sub子目录中文件全部拷贝到当前目录中:
$ cp -rv ./sub/. ./ - 文件换名或文件移动
mv [操作] 旧文件名 新文件名 - 删除文件
rm [操作] 文件名 - 对文件内容进行排序
例如,按字典升序排序列出文件demo的内容:
$ sort demo
hello
Ok - 在文件中查找给定的字符串或正则表达式
grep [操作] 要查找的字符串或正则表达式 文件名
例如,要在当前目录之下递归的查找哪些文件中哪一行上有”hello”一词,可输入命令:
$ grep -r -n “hello” ./
./sub/demo:2:hello
./sub/demo1:1:hello
./hello.c:5:hello
grep查出在子目录sub的demo文件的第2行和当前目录的hello.c文件的第5行有”hello”一词 - 按类型查找文件
find [路径名] [类型] 文件名
例如,要查找当前目录下是否有叫”demo”的文件:
$ find ./ -name demo
./sub/demo find在当前目录的子目录sub中找到有一个叫”demo”的文件。 - 文件归档和恢复
tar [操作] 归档文件名[源文件名]
例如,将当前目录中的子目录sub压缩归档为文件sub.tar:
$ tar -cvzf sub.tar sub
sub/
sub/demo
sub/demo1
sub/demo2
将文件sub.tar解压恢复到当前目录中:
$ tar -xvzf sub.tar sub
sub/demo
sub/demo1
sub/demo2 - 创建或编辑文本文件
vi [文件名]
vi编辑器为全屏幕文本键盘操作编辑器,无鼠标编辑功能。具有命令态和编辑两种编辑状态。初始启动时为命令态,此时键入的所有字符都被解释为vi子命令,无字符图形显示,仅有命令效果。 常用vi子命令:
1. i 向屏幕缓冲区当前光标前插入文本。此时vi状态自动切换为编辑状态其后键入的字母数字都可以显示在屏幕上,同时键盘右边编辑小键盘全部激活,可利用它们定位光标位置进行屏幕编辑。输入Esc键将结束插入编辑状态返回命令状态。
2. a 向屏幕缓冲区当前光标后插入文本。其他功能与i命令相同。
3 : 进入提示行子命令。此时光标进入屏幕最下行一冒号后,准备接受文件操作子命令。
常用文件操作子命令:
w [文件名]
如果vi启动时指定文件名,则可以不要[文件名],编辑的文本将写入启动时指定文件名,否则写入w命令指定的文件。
r [文件名]
将r子命令指定的文件内容读入屏幕编辑缓冲区。
q或q!
退出vi编辑命令。如果带有惊叹号则不保存当前编辑内容强行退出。
文件属性
文件的属性是对文件进行管理的一组控制信息。常见文件属性有:
文件类型
linux中文件被划分为3种基本类型:普通文件(代表符号-)、目录文件(代表符号d)、设备文件(块设备代表符号b,字符设备代表符号c)文件权限
linux 中每个文件都具有3种用户权限和3种操作权限。 用户权限有:文件主权限(owner)、同组用户权限(group)、其他用户权限(other) 操作权限有:读文件权限r、写文件权限w、执行文件权限x文件的链接数
linux中文件可以通过使用ln命令给文件起多个别名,来共享一个文件。共享次数称为链接计数,对该文件的删除仅当链接计数为0时才进行,否则仅对该链接计数值减1。- 所属文件主账号
- 所属用户组号
- 文件长度
- 文件创建或修改的日期和时间
- 文件名
可以从ls –l 命令的输出中看到这些文件属性的信息。例如:
$ls -l
drwxr-xr-x 2 root root 1024 Aug 18 02:50 bin
-rw-r—r– 1 root roor 849 Aug 18 03:00 junk
以上列出的第一行文件信息表示该文件为目录文件,文件主权限为可读可写可执行,同组用户权限为可读可执行,其他用户权限为可读可执行,文件链接计数为2,文件主是root,,文件属于root用户组,文件长度为1024字节,文件建立日期为8月18日2点50分,文件名为bin
第二行文件信息表示该文件为普通文件,文件主权限为可读可写不可执行,同组用户权限为只读不可写不可执行,其他用户权限为只读不可写不可执行,文件链接计数为1,文件主是root,,文件属于root用户组,文件长度为849字节,建立日期为8月18日3点00分,文件名为junk。 文件的操作权限属性可以用chmod来修改。chmod的第一种语法为:
chomd {a,u,g,o} [+,-,=] {r,w,x} 文件名
这里,a,u,g,o分别代表所有用户,文件主,文件同组者,其他用户。
+,-,= 分别代表添加、删除、赋予权限。
r,w,x分别代表可读、可写、可执行。 -