[linux]文件系统和基本命令
Linux和Unix系统一样对文件有如下的解释:一切皆为文件;若非文件,则为进程。
Linux将文件和目录视如同物,因为目录只是一个包含了其他文件名的文件而已。程序、服务、文本、图片等等,都是文件。对于系统来说,输入和输出设备,基本上所有的设备,都被当做是文件。
如上图所示,Linux系统的文件系统不像Windows系统有多个盘符组成,所有文件都在同一个文件系统下以树型结构管理,树的"根"是/
/为根目录,它拥有一下基本文件夹:
/bin(binary)——存放在但用户模式可用的必要二进制文件,所有用户都可用,如cat、ls、cp等
/dev(device)——存放必要的设备文件
/home——用户的主目录,包括保存的文件,个人配置等等
/lib<架构位数>——备用格式的必要文件库
/media——可移动的多媒体(如CD-ROMs,U盘)的挂载点
/mnt——临时挂在的文件系统
/opt(add-on application software)——可选的应用程序软件包
/root——根用户的主目录
/sys
/usr——二级层级存储用户的制度数据;包含(多)用户主要的公共文件以及引用程序
/boot——存放引导加载程序文件,例如kernels、initrd等
/etc——存放主机特定的系统级配置文件
/lib——存放系统所需的资源库
/lost+found——存储的是系统崩溃时产生的损坏文件
Linux的文件类型
普通文件("-"):linux系统中基本的文件类型。
目录("d"):由其他文件组成的文件。
特殊文件:用于输入和输出的途径。大多数特殊文件都存储在/dev中。
链接文件("l"):让文件或者目录出现在系统文件树结构上多个地方的机制。相当于windows的快捷方式。
(域)套接字:特殊的文件类型,和TCP/IP协议中的套接字类似,提供进程间的通信机制,并受文件系统的访问控制机制保护。
命名管道:提供一个进程间的通信机制,而不用网络套接字协议。
Linux文件命名规则
- 除了/之外,所有字符都合法。
- 像空格符、制表符、字符@#¥%()-等字符尽量不要使用。
- 避免使用"."作为普通文件名的第一个字符。
- Linux对文件名的大小写严格区分。
Linux的权限种类
r:可读,用户能打开读取文件内容,权限值为4。
w:可写,用户能对文件中的内容进行添加,修改和删除,权限值为2。
x:可执行,用户能执行文件,权限值为1。
Linux的基本命令格式
命令格式:命令-选项参数
ex:ls -la /etc
说明:1)当有多个选项时,可以写在一起。
2)两个特殊的目录.和..,分别代表 当前目录和当前目录的父目录
文件处理命令
ls
原意:list
命令路径:/bin/ls
执行权限:所有用户
作用:显示目录文件
语法:ls 选项[-ald] [目录或文件]
-a显示所有文件,包括隐含文件。
-l 显示详细信息
-d 查看目录属性
例子:
[userLee@admin ~]$ ls -l
总用量 84
-rw-r--r--. 1 root root 246 4月 22 14:48 a.tar.gz
drwxr-xr-x. 2 userLee userLee 4096 4月 22 14:37 dir1
drwxr-xr-x. 4 root root 4096 4月 22 14:58 dir2
-rw-rw-r--. 1 userLee userLee 0 4月 19 03:55 hetc
-rw-r--r--. 3 root root 47 11月 27 2013 issue.hard
-rw-r--r--. 3 root root 47 11月 27 2013 issue.soft
第一个字符表示文件类型(-dl)
第二到第四个字符表示文件拥有者(owner)(一般指创造者)的权限
第五到第七个字符表示用户组(group)权限
第八到第十个字符表示其他组(other)的权限
cd
原意:change directory
命令路径:shell 内置命令
执行权限:所有用户
功能描述:切换目录
语法:cd [目录]
Ex: cd / 切换到根目录
cd .. 回到上一级目录
pwd
命令原意:print working directory
命令路径:/bin/pwd
执行权限:所有用户
功能描述:显示当前所在的工作目录
语法:pwd
结合cd命令查看和更改目录:
[userLee@admin ~]$ pwd
/home/userLee
[userLee@admin ~]$ cd ./dir1/
[userLee@admin dir1]$ pwd
/home/userLee/dir1
touch
命令路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件
语法:touch [文件名]
Ex: touch newfile
在Linux用户目录下创建newtest文件
[userLee@admin dir1]$ touch newtest
mkdir
命令原意:make directories
命令路径:/bin/mkdir
执行权限:所有用户
功能描述:创建新目录
语法:mkdir [目录名]
Ex: mkdir newdir
在dir1目录下创建dir2目录并查看
[userLee@admin dir1]$ mkdir dir2
[userLee@admin dir1]$ ls
dir2 file.gz nefile newfile.gz newtest
cp
命令原意:copy
命令路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录
语法:cp -r [源文件或目录] [目的文件或目录]
-r 复制目录
注:可多个文件同时复制。
[root@admin userLee]# ls dir2/
dir1 dir_1.tar.gz dir_3
[root@admin userLee]# cp newfile2 newfile_1 dir2/
[root@admin userLee]# cp -r newdir/ dir2/
[root@admin userLee]# ls dir2/
dir1 dir_1.tar.gz dir_3 newdir newfile_1 newfile2
mv
命令原意:move
命令路径:/bin/mv
执行权限:所有用户
功能描述:移动文件、更名
语法:mv [文件或目录名] [目的目录]
Ex: mv file1 file2
将当前目录下文件file1更名为file2
mv file2 dir2
将file2移动到目录dir2下
[root@admin dir2]# ls
dir1 dir_1.tar.gz dir_3 newdir newfile_1 newfile2
[root@admin dir2]# ls dir1/
file.gz nefile newfile.gz
[root@admin dir2]# ls dir1/
file.gz nefile newfile1 newfile.gz
注意:如上所示,可以在移动到别的目录时更改名字,如果移动别的目录时目录后不加更改后的文件名,默认与原来重名。
rm
命令原意:remove
命令路径:/bin/rm
执行权限:所有用户
功能描述:删除文件
语法:rm -r [文件或目录]
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
Ex: rm file2
删除文件file2
rm –r dir1
删除目录dir1
[root@admin dir2]# ls
dir1 dir_1.tar.gz dir_3 newdir newfile2
[root@admin dir2]# rm -r newfile2 newdir/
rm:是否删除普通文件 "newfile2"?y
rm:是否删除目录"newdir"? y
cat
命令原意:concatenate and display files
命令路径:/bin/cat
执行权限:所有用户
功能描述:显示文件内容
语法:cat [文件名]
Ex: cat /etc/issue
cat /etc/services
more
命令路径:/bin/more
执行权限:所有用户
功能描述:分页显示文件内容
语法:more [文件名]
(空格)或f 显示下一页
(enter) 显示下一行
q或Q 退出
Ex: more /etc/services
head
命令路径:/bin/head
执行权限:所有用户
功能描述:查看文件的前几行
语法:head -num [文件名]
-num 显示文件的前num行
Ex: head -20 /etc/services
tail
命令名称:tail
命令路径:/bin/tail
执行权限:所有用户
功能描述:查看文件的后几行
语法:tail -num [文件名]
-num 显示文件的后num行
-f 动态显示文件内容
Ex: head -20 /etc/services
ln
命令原意:link
命令路径:/bin/ln
执行权限:所有用户
功能描述:产生连接文件
语法:ln -s [源文件] [目标文件]
-s 创建软连接
源文件:指定连接的源文件。如果使用-s选项创建符号连接,则"源文件"可以是文件或者目录。创建硬连接时,则"源文件"参数只能是文件;
目标文件:指定源文件的目标连接文件。
Ex: ln –s /etc/issue /issue.soft
创建文件/etc/issue的软连接/issue.soft
ln /etc/issue /issue.hard
创建文件/etc/issue的硬链接/issue.hard