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. 记一次Vue跨导航栏问题解决方案

    简述 这篇文章是我项目中,遇到的一个issue,我将解决过程和方法记录下来. 本篇文章基于Vue.js进行的前端页面构建,由于仅涉及前端,将不做数据来源及其他部分的叙述.使用的CSS框架是 Boots ...

  2. JAVA学习笔记之基础概念(一)

    一.Java 简介: Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称. 由 James Gosling和同 ...

  3. C++模板封装Win32 API 动态调用

    起因 花两周通读了一遍<C++ Primer>,积攒的疑惑一扫而光. 前因 利用C++11可变模板,封装调用dll导出函数 本以为已经很好用了,最近抽时间巩固下知识体系,发现自己道行不够! ...

  4. 图解java多线程设计模式之一一synchronized实例方法体

    synchronized实例方法体和synchronized代码块 synchronied void method(){ ....... } 这个等同于下面将方法体用synchronized(this ...

  5. maven之---资源过滤 在java/main/resourse/*.xml ,*.properties引用maven属性${db.username}

    本文主要来源maven实战14.3 为了应对环境的变化,首先使用Maven属性将这个会发生变化的部分提取出来.在上一节的数据库配置中,连接数据库使用的驱动类,URL,用户名和密码都可能发生变化,因此使 ...

  6. webSocket实现多人聊天功能

    webSocket实现多人在线聊天 主要思路如下: 1.使用vue构建简单的聊天室界面 2.基于nodeJs 的webSocket开启一个socket后台服务,前端使用H5的webSocket来创建一 ...

  7. intouch制作历史趋势公用弹窗

    在先前项目中,历史趋势都是作为一个总体的画面,然后添加下拉菜单选择来配合使用.在新项目中,业主要求在相应的仪表上直接添加历史趋势,这就需要利用公用弹窗来制作历史趋势了. 1.窗体建立 窗体建立是比较简 ...

  8. Nexus Repository Manager 3 远程命令执行漏洞(CVE-2020-10199、CVE-2020-10204)

    [影响版本] Nexus Repository Manager OSS/Pro 3.x <= 3.21.1 poc地址 https://github.com/magicming200/CVE-2 ...

  9. 自学linux——4.Linux的自有服务(基础篇)

    linux自有服务(内置) 一.运行级别(模式) 在Linux中存在一个进程:init,进程id是1. 查看进程:#ps -ef|grep init 对应的配置文件:inittab(运行级别配置文件位 ...

  10. Java 17 将要发布,补一下 Java 13 中的新功能

    本文章属于Java 新特性教程 系列,已经收录在 Github.com/niumoo/JavaNotes ,点个赞,不迷路. 自从 Oracle 调整了 Java 的版本发布节奏之后,Java 版本发 ...