1. 分时的多用户、多任务的操作系统
  2. 多数的网络协议的支持(unix和tcp/ip协议是同时发展起来的),方便的远程管理(可以通过图形、命令行)
  3. 强大的内存管理和文件管理系统
  4. 大量的可用软件和免费软件(游戏与办公方面较少,Linux主要用于服务器与嵌入式领域),例如使用windows server上,构建一个平台,防火墙,邮件服务器等都是收费的。
  5. 优良的稳定性和安全性(很少在Linux上安装杀毒软件)
  6. 良好的可移植性和灵活性(几乎支持所有CPU平台)
  7. 可供选择的厂商多

  • 硬件:CPU平台
  • 内核层:Linux系统的心脏,所有的任务都由内核执行完成,内核与用户之间的交互有两种方式,一种是命令行的方式,一种是图形界面的方式。(Linux内核处理任何事物,都要有一个数字标记,例如文件的数字标识,叫做i节点,内核通过调用这些数字标识来进行对象的处理)
  • Shell层:通过命令行完成交互。
  • 应用层(图形界面):像微软的Windows一样,但是名字叫做X Window
    X Window系统特点(X
    Window是一种协议,制定了一些像tcp/ip一样的规定):

    • 独立于操作系统,灵活性非常强,例如可以安装多个X Window,登录时可以选择
    • 网络特性
    • 源代码免费

UNIX图形环境:CDE(Common Desktop Environment,通用桌面环境)

  1. 除了/之外,所有的字符都合法(/是目录层的分隔、表示符,只有一个/表明是root)。
  2. 有些字符最好不用,如空格符、制表符、退格符和字符@#¥&-等。
  3. 避免使用.作为普通文件名的第一个字符。在Linux中,默认.开头的文件为隐藏文件,不是普通文件。
  4. 大小写敏感(Linux源于UNIX,UNIX用C语言把内核绝大多数代码进行重写的,雅思培训C语言中是区别大小写的),但是在Windows中是不严格区分的。
  5. 终止命令:ctrl+c

命令格式: 命令 -选项 参数
例如: ls -la /etc
说明:

  1. 当有多个选项时,可以写在一起(选项:使用命令的时候有不同的操作方法,不同的设置)。
  2. 两个特殊的目录.和..,分别代表当前目录和当前目录的父目录。例如:可以回到上一级目录,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。后续将在学习的过程中继续总结相关命令。

Linux常用命令(一)之文件处理命令的更多相关文章

  1. Linux常用命令(第二版) --文件搜索命令

    文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到 ...

  2. Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)

     1.文件搜索命令:locate [文件名]    在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少    例子:locate test.txt,就会显示文件名包含 test.txt的所 ...

  3. linux每日命令(30):Linux 用户及用户组相关文件、命令详解

    一. 用户.用户组概念及其文件结构详解 Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.nobody.ftp等,这些也都是非root用户,即 ...

  4. PHP调用Linux的命令行执行文件压缩命令&&创建文件夹修改权限

    一开始,我和普通青年一样,想到用PHP内置的 ZipArchive纠结的是环境上没安装zip扩展,想采用用PHP调用Linux的命令行 ,执行压缩命令,感兴趣的朋友可以了解下,希望本文对你有所帮助 前 ...

  5. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  6. 【linux学习笔记四】文件搜索命令

    一 文件搜索 locate //在后台数据库中按文件名搜索 搜索速度更快 locate 文件名 //locate命令所搜索的后台数据库 /var/lib/mlocate //更新数据库 updated ...

  7. Linux之间用SSH传输文件 一行命令实现

    把本机的文件传到目标: cd /home/ && tar czv test | ssh root@HostIP -p 22 'tar xz' 解释: 如你所见,这行命令其实由多个命令组 ...

  8. shell脚本命令 运行python文件&python命令行运行python代码

    单独的python文件运行的时候 报错: 在shell脚本中,运行shell脚本命令:在Python命令行中,运行Python代码.然而,“python hello.py”是一个脚本命令,不是pyth ...

  9. linux笔记:linux常用命令-目录和文件处理命令

    命令格式: 命令 [-选项] [参数] 例: ls -la /etc 注意:个别命令的使用不遵循此格式. 目录处理命令:ls(列目录) 更多选项: -h 以kb等利于人阅读的方式取代字节显示文件大小 ...

  10. 第3章 常用linux命令 3.5 文件压缩命令

    实验六 文件及目录的压缩解压缩相关命令的使用 [实验目的] 1.掌握linux压缩文件实质 2.掌握linux中压缩及解压缩指令的用法 [实验环境] 1. 标准配置PC一台 2. linux操作系统: ...

随机推荐

  1. 算法优化---素数(质数)(Java版)

    4.1优化算法-----输出素数 最简代码请直接移步文末 原代码:https://www.cnblogs.com/Tianhaoblog/p/15077840.html 对应优化如下 优化一:在遍历内 ...

  2. Vue项目发布的问题--http://localhost:8088/static/fonts/fontawesome-webfont.af7ae50.woff2

    问题:ngnix将8080转成80对外访问,找不对woff2等文件 一\ 搭建环境 ngnix-->conf中 server { listen 80; server_name 10.9.240. ...

  3. Python3中datetime时区转换介绍与踩坑

    最近的项目需要根据用户所属时区制定一些特定策略,学习.应用了若干python3的时区转换相关知识,这里整理一部分记录下来. 下面涉及的几个概念及知识点: GMT时间:Greenwich Mean Ti ...

  4. 监控实战之Prometheus

    author:JevonWei 版权声明:原创作品 目录 一 背景 二 部署Prometheus Server Prometheus 主配置文件 targets 节点配置文件 rules 告警规则 运 ...

  5. K8s之Prometheus监控

    目录 容器监控与报警 Prometheus prometheus简介 prometheus系统架构 prometheus 安装方式 容器方式安装prometheus operator部署 克隆项目 创 ...

  6. lanm环境

    1,apache (1),安装apache # yum install httpd (2)查看apaceh版本 # httpd -v (3)查看linux版本 # cat /etc/centos-re ...

  7. Gateway网关匹配规则

    Gateway匹配规则 重要概念 路由 route 断言 predicate 过滤器 fliter 一.时间匹配 在 after 时间之后的所有请求转发到 URI中的地址 gateway: disco ...

  8. 零基础涂鸦智能面板SDK开发记录(一)

    前言 本人基础背景:在学校学了点JS,在blbl上看过几节node.js视频,现在是一名Android开发工程师,因公司需要学习涂鸦面板SDK开发.说真的除了官方的一些文档外,我真的找不到其他的资料. ...

  9. idea启动桌面出现三个日志文件解决办法

    idea一启动就出现上图三个日志文件,soapui是一个接口测试工具插件,在setting中搜索soapui,一般不需要,卸载掉就可以了.

  10. javaScript学习关于节点

    节点的常用属性和方法: 个人理解,对于节点来说,他就是html里面的标签对象. 通过具体的元素节点调用: getElementsByTagName()方法,获取当前节点的指定标签名孩子节点 appen ...