linux 文件管理以及其相关指令

Linux简介

  严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核, 即计算机软件与硬件通讯之间的平台;Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协 议。

  Linux 是一个多用户多任务的操作系统,也是一款自由软件,完全兼容POSIX标准,拥有良好的用户界面,支持多种处理器架构,移植方便。

  为程序分配系统资源,处理计算机内部细节的软件叫做操作系统或者内核。

  用户通过Shell与Linux内核交互。Shell是一个命令行解释工具(是一个软件),它将用户输入的命令转换为内核能够理解的语言(命令)。

  Linux下,很多工作都是通过命令完成的,学好Linux,首先要掌握常用命令。

文件简介

  Linux中的所有数据都被保存在文件中,所有的文件被分配到不同的目录。目录是一种类似于树的结构,称为文件系统。 文件系统可参考:http://www.cnblogs.com/0201zcr/p/4773995.html

  当你使用Linux时,大部分时间都会和文件打交道,通过本节可以了解基本的文件操作,如创建文件、删除文件、复制文件、重命名文件以及为文件创建链接等。

在Linux中,有三种基本的文件类型:

1)
普通文件

普通文件是以字节为单位的数据流,包括文本文件、源码文件、可执行文件等。文本和二进制对Linux来说并无区别,对普通文件的解释由处理该文件的应用程序进行。

2) 目录

目录可以包含普通文件和特殊文件,目录相当于Windows和Mac OS中的文件夹。

3) 设备文件

  有些教程中称特殊文件,是一个含义。Linux
与外部设备(例如光驱,打印机,终端,modern等)是通过一种被称为设备文件的文件来进行通信。Linux
输入输出到外部设备的方式和输入输出到一个文件的方式是相同的。Linux
和一个外部设备通讯之前,这个设备必须首先要有一个设备文件存在。

  例如,每一个终端都有自己的设备文件来供 Linux
写数据(出现在终端屏幕上)和读取数据(用户通过键盘输入)。

  设备文件和普通文件不一样,设备文件中并不包含任何数据。

  设备文件有两种类型:字符设备文件和块设备文件。

  • 字符设备文件以字母"c"开头。字符设备文件向设备传送数据时,一次传送一个字符。典型的通过字符传送数据的设备有终端、打印机、绘图仪、modern等。字符设备文件有时也被称为"raw"设备文件。
  • 块设备文件以字母"b"开头。块设备文件向设备传送数据时,先从内存中的buffer中读或写数据,而不是直接传送数据到物理磁盘。磁盘和CD-ROMS既可以使用字符设备文件也可以使用块设备文件。

查看文件

  查看当前目录下的文件和目录可以使用 ls 命令,例如:

$ls

bin        hosts  lib     res.03
ch07       hw1    pub     test_results
ch07.bak   hw2    res.01  users
docs       hw3    res.02  work

  通过 ls 命令的 -l 选项,你可以获取更多文件信息,例如:

$ls -l
total 1962188

drwxrwxr-x  2 amrood amrood      4096 Dec 25 09:59 uml
-rw-rw-r--  1 amrood amrood      5341 Dec 25 08:38 uml.jpg
drwxr-xr-x  2 amrood amrood      4096 Feb 15  2006 univ
drwxr-xr-x  2 root   root        4096 Dec  9  2007 urlspedia
-rw-r--r--  1 root   root      276480 Dec  9  2007 urlspedia.tar
drwxr-xr-x  8 root   root        4096 Nov 25  2007 usr
drwxr-xr-x  2    200    300      4096 Nov 25  2007 webthumb-1.01
-rwxr-xr-x  1 root   root        3192 Nov 25  2007 webthumb.php
-rw-rw-r--  1 amrood amrood     20480 Nov 25  2007 webthumb.tar
-rw-rw-r--  1 amrood amrood      5654 Aug  9  2007 yourfile.mid
-rw-rw-r--  1 amrood amrood    166255 Aug  9  2007 yourfile.swf
drwxr-xr-x 11 amrood amrood      4096 May 29  2007 zlib-1.2.3
$

每一列的含义如下:

  • 第一列:文件类型。
  • 第二列:表示文件个数。如果是文件,那么就是1;如果是目录,那么就是该目录中文件的数目。
  • 第三列:文件的所有者,即文件的创建者。
  • 第四列:文件所有者所在的用户组。在Linux中,每个用户都隶属于一个用户组。
  • 第五列:文件大小(以字节计)。
  • 第六列:文件被创建或上次被修改的时间。
  • 第七列:文件名或目录名。

  注意:每一个目录都有一个指向它本身的子目录"."
和指向它上级目录的子目录"..",所以对于一个空目录,第二列应该为 2。

通过 ls -l
列出的文件,每一行都是以 a、d、- 或 l 开头,这些字符表示文件类型:

前缀 描述
- 普通文件。如文本文件、二进制可执行文件、源代码等。
b 块设备文件。硬盘可以使用块设备文件。
c 字符设备文件。硬盘也可以使用字符设备文件。
d 目录文件。目录可以包含文件和其他目录。
l 符号链接(软链接)。可以链接任何普通文件,类似于 Windows 中的快捷方式。
p 具名管道。管道是进程间的一种通信机制。
s 用于进程间通信的套接字。

  提示:通俗的讲软连接就是windows的快捷方式,原来文件删了,快捷方式虽然在但是不起作用了。

元字符


  元字符
是具有特殊含义的字符。* 和 ? 都是元字符:

  • * 可以匹配 0 个或多个任意字符;
  • ? 匹配一个字符。

例如

$ls ch*.doc

  可以显示所有以 ch 开头,以 .doc 结尾的文件:

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc ch02-1.doc c

这里,* 匹配任意一个字符。如果你希望显示所有以 .doc 结尾的文件,可以使用

$ls *.doc

隐藏文件

  隐藏文件的第一个字符为英文句号或点号(.),Linux程序(包括Shell)通常使用隐藏文件来保存配置信息。

下面是一些常见的隐藏文件:

.profile:Bourne shell (sh) 初始化脚本
.kshrc:Korn shell (ksh) 初始化脚本
.cshrc:C shell (csh) 初始化脚本
.rhosts:Remote shell (rsh) 配置文件

查看隐藏文件需要使用 ls
命令的 -a 选项:

$ ls -a

.         .profile       docs     lib     test_results
..        .rhosts        hosts    pub     users
.emacs    bin            hw1      res.01  work
.exrc     ch07           hw2      res.02
.kshrc    ch07.bak       hw3      res.03
$

一个点号(.)表示当前目录,两个点号(..)表示上级目录

注意:输入密码时,星号(*)作为占位符,代表你输入的字符个数。

创建文件

  在Linux中,可以使用 vi 编辑器创建一个文本文件,例如:

$ vi filename

上面的命令会创建文件 filename 并打开,按下 i 键即可进入编辑模式,你可以向文件中写入内容。例如:

This is Linux file....I created it for the first time.....
I‘m going to save this content in this file.

完成编辑后,可以按 esc 键退出编辑模式,也可以按组合键 Shift + ZZ 完全退出文件。这样,就完成了文件的创建。

$ vi filename
$

编辑文件

  vi 编辑器可以用来编辑文件。由于篇幅限制,这里仅作简单介绍,将在后面章节进行详细讲解。

  如下可以打开一个名为
filename 的文件:

$ vi filename

当文件被打开后,可以按 i 键进入编辑模式,按照自己的方式编辑文件。如果想移动光标,必须先按 esc 键退出编辑模式,然后使用下面的按键在文件内移动光标:

  • l 键向右移动
  • h 键向左移动
  • k 键向上移动
  • j 键向下移动

  使用上面的按键,可以将光标快速定位到你想编辑的地方。定位好光标后,按 i 键再次进入编辑模式。编辑完成后按
esc 键退出编辑模式或者按组合键 Shift+ZZ 退出当前文件。

查看文件内容

  可以使用 cat 命令来查看文件内容,下面是一个简单的例子:

$ cat filename
This is Linux file....I created it for the first time.....
I‘m going to save this content in this file.
$

可以通过 cat 命令的 -b 选项来显示行号,例如:

$ cat -b filename
1   This is Linux file....I created it for the first time.....
2   I‘m going to save this content in this file.
$

统计单词数目

可以使用 wc 命令来统计当前文件的行数、单词数和字符数,下面是一个简单的例子:

$ wc filename
2  19 103 filename
$

每一列的含义如下:

  • 第一列:文件的总行数
  • 第二列:单词数目
  • 第三列:文件的字节数,即文件的大小
  • 第四列:文件名

也可以一次查看多个文件的内容,例如:

$ wc filename1 filename2 filename3

复制文件

  可以使用 cp 命令来复制文件。cp 命令的基本语法如下:

$ cp source_file destination_file

  下面的例子将会复制 filename 文件:

$ cp filename copyfile
$

  现在在当前目录中会多出一个和 filename 一模一样的 copyfile 文件。

重命名文件

  重命名文件可以使用 mv 命令,语法为:

$ mv old_file new_file

下面的例子将会把 filename 文件重命名为 newfile:

$ mv filename newfile
$

  现在在当前目录下,只有一个 newfile 文件。

  mv
命令其实是一个移动文件的命令,不但可以更改文件的路径,也可以更改文件名。

删除文件

  rm命令可以删除文件,语法为:

$ rm filename

  注意:删除文件是一种危险的行为,因为文件内可能包含有用信息,建议结合 -i 选项来使用 rm 命令。

  下面的例子会彻底删除一个文件:

$ rm filename
$

你也可以一次删除多个文件:

$ rm filename1 filename2 filename3
$

标准的Linux流

一般情况下,每个Linux程序运行时都会创建三个文件流(三个文件):

  • 标准输入流(stdin):stdin的文件描述符为0,Linux程序默认从stdin读取数据。
  • 标准输出流(stdout):stdout 的文件描述符为1,Linux程序默认向stdout输出数据。
  • 标准错误流(stderr):stderr的文件描述符为2,Linux程序会向stderr流中写入错误信息。

  致谢:感谢您的耐心阅读!

时间: 2024-10-29 21:00:52

linux 文件管理以及其相关指令的相关文章

常见压缩格式比对,及 Linux 下的压缩相关指令

可先浏览加粗部分 一.常见压缩档 *.zip | zip 程序压缩打包的档案: (很常见,但是因为不包含文档名编码信息,跨平台可能会乱码) *.rar | winrar 进程压缩打包的档案:(在windows上很常见,但是是商业软件.) *.gz | gzip 程序压缩的档案: (linux目前使用最广泛的压缩格式) *.bz2 | bzip2 程序压缩的档案: *.xz | xz 程序压缩的档案: *.tar | tar 程序打包的资料,并没有压缩过: *.tar.gz | tar 程序打包的

查看Linux系统版本信息相关指令

Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.# uname -a   (Linux查看版本当前操作系统内核信息) Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux 2.# cat /proc/version (Linux查看当前操作系统版本信息) Linux version 2.4

linux 目录结构及其相关命令

目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用户则到达/root目录,其他用户则到达/home/用户名,接下来你主要是在这个目录下进行操作,如创建文件.删除文件等. 使用下面的命令可以随时进入主目录: $cd ~ $ 或者 cd 这里 ~ 就表示主目录.如果你希望进入其他用户的主目录,可以使用下面的命令: $cd ~username $ 返回进

Linux文件管理相关命令

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以学习一些命令来管理我们的文件. 文件操作相关 有一些命令可以帮助我们"修剪"之前看到的文件树. $touch a.txt 如果a.txt不存在,生成一个新的空文档a.txt.如果a.txt存在,那么只更改该文档的时间信息.(这个命令实际上用得并不广泛,但可以帮我们创建一个空文件来实验下面操作) $ls . 是list的简

Linux相关指令

Linux相关指令 1.find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行搜索 例1:以-name作为搜索条件进行搜索 例2:以-group作为搜索条件进行搜索 例3:以-user作为搜索条件进行搜索 2.df磁盘相关指令 df :查看磁盘信息 -l :locate缩写,查看本地磁盘信息 -h :以1024进制显示磁盘空间 -H :以1000进制显示磁盘空间 -T :显示

linux文件管理相关的命令

linux文件管理相关的命令 文件元数据的查看(文件自身的属性) stat: 获取指定文件的元数据 $ stat test File: `test' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 802h/2050d Inode: 651942 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 500/ centos) Gid: ( 500/ centos) Access: 2018-08

linux中Makefile文件相关内容

第一章.概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional(专业)的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力.因为,makefile关系到了整个

初识linux文件管理

初识linux文件管理 1.文件系统与目录结构 文件系统从根目录 下开始,用"/". 以. 开头的文件为隐藏文件,路径分隔用/表示.文件系统的层级结构是LSB(linux standard base),遵循文件系统层级标准(FHS ) 文件命名规则:   文件名最长255个字节,包括路径名在内共4095个字节 蓝色–> 目录 绿色–> 可执行文件 红色–> 压缩文件 浅蓝色–> 链接文件 灰色–> 除了斜杠和NUL, 所有字符都有效,但不推荐使用特殊字符,

Linux文件管理命令

Linux文件管理命令 Linux目录与路径 cd:切换目录 例如:cd ~willhua,则回到用户willhua的主文件夹  cd ~或者cd,则表示回到自己的的主文件夹  cd -,则表示回到上个目录 pwd:显示目前所在目录 参数: -p,显示当前路径,而非使用连接路径 mkdir:新建新目录 参数: -m:直接配置文件的权限,而不管默认权限umask,比如mkdir -m 711 test1,则test1的权限为711 -p:帮助你直接将所需要的目录递归创建起来,比如mkdir -p