Linux常用命令(一)之文件处理命令
- 分时的多用户、多任务的操作系统
- 多数的网络协议的支持(unix和tcp/ip协议是同时发展起来的),方便的远程管理(可以通过图形、命令行)
- 强大的内存管理和文件管理系统
- 大量的可用软件和免费软件(游戏与办公方面较少,Linux主要用于服务器与嵌入式领域),例如使用windows server上,构建一个平台,防火墙,邮件服务器等都是收费的。
- 优良的稳定性和安全性(很少在Linux上安装杀毒软件)
- 良好的可移植性和灵活性(几乎支持所有CPU平台)
- 可供选择的厂商多
- 硬件:CPU平台
- 内核层:Linux系统的心脏,所有的任务都由内核执行完成,内核与用户之间的交互有两种方式,一种是命令行的方式,一种是图形界面的方式。(Linux内核处理任何事物,都要有一个数字标记,例如文件的数字标识,叫做i节点,内核通过调用这些数字标识来进行对象的处理)
- Shell层:通过命令行完成交互。
- 应用层(图形界面):像微软的Windows一样,但是名字叫做X Window
X Window系统特点(X Window是一种协议,制定了一些像tcp/ip一样的规定):
- 独立于操作系统,灵活性非常强,例如可以安装多个X Window,登录时可以选择
- 网络特性
- 源代码免费
UNIX图形环境:CDE(Common Desktop Environment,通用桌面环境)
- 除了/之外,所有的字符都合法(/是目录层的分隔、表示符,只有一个/表明是root)。
- 有些字符最好不用,如空格符、制表符、退格符和字符@#¥&-等。
- 避免使用.作为普通文件名的第一个字符。在Linux中,默认.开头的文件为隐藏文件,不是普通文件。
- 大小写敏感(Linux源于UNIX,UNIX用C语言把内核绝大多数代码进行重写的,雅思培训C语言中是区别大小写的),但是在Windows中是不严格区分的。
- 终止命令:ctrl+c
命令格式: 命令 -选项 参数
例如: ls -la /etc
说明:
- 当有多个选项时,可以写在一起(选项:使用命令的时候有不同的操作方法,不同的设置)。
- 两个特殊的目录.和..,分别代表当前目录和当前目录的父目录。例如:可以回到上一级目录,cd与..间有一个空格。
命令路径
root可以执行的命令,所在路径:
/sbin
/usr/sbin
(bin是binary缩写,sbin是super binary的缩写,usr是user的缩写)
all users可以执行的命令所在路径:
/bin
/usr/bin
因此可以通过命令所在目录来查看其使用权限。
在Linux系统中,所有的东西都是文件,命令自然也是一个文件,是一个二进制文件(bin-binary)
命令所在路径:/bin/ls
英文原意是list,功能是显示目录文件
语法: ls 选项[-ald] [文件或目录]
常用选项
例如
查看根目录下的目录:
查看根目录下的所有文件:
查看文件的详细信息:,我们取出其中的一个进行分析
可以看到文件以d开头,通过文件的开头(即第一个字符)我们可以获取文件类型(以下是三种常见文件类型):
后面的9个字符,三个看成一组rwx r-x r-x:r-read 读、w-write 写、x-execute 执行,每三个字符作为一部分,代表一类用户,即:
- rwx 代表所有者u(user)
- r-x 代表所属组g(group),比如我们希望其他几个用户对此文件也有权限,托福培训可以将这些用户放在一个组中,并对此组进行授权,在这里所属组具有读和执行的权限,没有写权限,因此用-代替
- r-x 代表其他人o(others)
因此第一列字符告诉了我们文件类型和文件权限
第二列表示文件夹内文件和文件夹的总数量(包括文件夹本身),硬链接数
第三列表示文件或文件夹的拥有者
第四列表示文件或文件夹的所属的组
第五列表示文件或文件夹的大小,往往都是标记目录本身的大小,或者目录及其子目录的大小,数据块(block)是Linux中最小存储数据的单位,512字节,理论上数据块是可以调整大小的
第六列开始表示文件创建的时间或者最后被修改的时间
第九列(即最后一列)表示文件名
复合使用:查看test目录的详细信息
命令所在路径:shell内置命令
执行权限:所有用户
语法: cd [目录]
功能描述:切换目录
例子:
命令所在路径:/bin/pwd
英文原意:print working directory
命令所在路径:/bin/touch
语法: touch [文件名]
例子,在/test目录下创建文科testfile:
英文原意: make directory
命令所在路径:/bin/mkdir
例子,在/test目录下创建目录samlee,并再创建文件testfile:
英文原意:copy
命令所在路径:/bin/cp
语法:cp -R [源文件或目录][目的目录] or cp -R 复制目录
注:复制文件不需要使用任何选项,复制目录需要选项
常用选项:
例子:
(1)复制目录,将etc目录复制到test目录下
(2)将/test1目录下的file1复制到/test3目录,并将文件名改为file2:
(3)
英文原意:move
命令所在路径:/bin/mv
例子:
将当前目录下文件file1更名为file3:
将test目录下的inittab文件移动到tmp目录下,并更名为file.test:
英文原意:remove
语法:rm -r [文件或目录]
注:删除文件不需要加选项,删除目录需要加选项
常用选项:
例子:
注 :上述如果不使用强制删除-fr,会每次都会询问是否删除,十分麻烦
命令所在路径:/bin/cat
该命令用于查看文本文件的内容,后接要查看的文件名,personality作文通常可用管道与more和less一起使用(more:more
[文件名],分页显示文件内容),从而可以一页页地查看数据。对于more的浏览状态,有些常用选项:
语法:head/tail -num [文件名]
例子:
其中tail还有一个特殊的选项-f(用于动态显示,例如新上线一个服务,我们需要观察其日志,通过-f就可以时时显示它的动态信息,只要文件有变化,就显示文件的最新内容,默认显示10行):
英文原意:link
命令所在路径:/bin/ln
语法:ln -s[源文件][目标文件] ; ln -s 创建软链接
(1)创建软链接
通过ls命令观察软链接信息可以发现,所有的软链接文件的权限都是lrwxrwxrwx,软链接文件很小,实际就是一个符号链接,它具有什么权限不重要,因为最后真正访问的都是源文件,它的时间是创建这个软链接文件的时间,软链接类似于windows中的快捷方式,执行的时候都会链接到源文件
(2)创建硬链接
通过ls查看两个文件的详细信息发现,两个文件除了存放位置不同之外,其余信息完全相同,硬链接文件的大小与源文件一样大,类似于copy,但是不同之处是,硬链接是同步更新的(同步更新的原因是硬链接与源文件具有相同的inode,即i节点),其中的一个文件变化,另一个文件也会跟着进行变化;还有一点与cp命令的不同之处就是,假如:
/issue.hard的时间信息是执行当前操作的时间,与/etc/issue的时间是不同的,并且硬链接数也是不同的。硬链接不可以跨文件系统,即不可以把/test目录下的一个文件在/a目录下生成一个硬链接。
以上就是Linux中常用的文件处理命令:ls、cd、pwd、touch、mkdir、cp、mv、rm、cat、head/tail、ln。后续将在学习的过程中继续总结相关命令。