Linux系统简要总结

时间:2024.5.8

Linux学习报告

一.Linux系统简介

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

二.文件系统

2.1文件类型

普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

2.1.1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

2.1.2、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

2.1.3、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

2.1.4目录文件(directory):就是目录,第一个属性为 [d],例如

[drwxrwxrwx]。

2.1.5连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

2.1.6设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:

2.1.7块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。

2.1.8字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

2.1.9套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为

[s],最常在 /var/run目录中看到这种文件类型。

2.1.10管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。[3]

2.2文件结构

2.2.1/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

2.2.2/bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。

2.2.3/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管

理器也位于这个目录。

2.2.4/cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

2.2.4/dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

2.2.5/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

2.2.6/home:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

2.2.7/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。

2.2.8/lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

2.2.9/mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。

2.2.10/media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

2.2.11/opt:这里主要存放那些可选的程序。

2.2.12/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

2.2.13/root:Linux超级权限用户root的家目录。

2.2.14/sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或

/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。

2.2.15/selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。

2.2.16/srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中

2.2.17/tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

2.2.18/usr

这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具

2.2.19/usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。

2.2.20/usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

2.2.21/var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。[4]

2.3文件管理

1.重定向

许多命令可以产生输出,输出结果会显示在屏幕上。

当执行ls命令时,运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

a1.txt test1 test2 test3

Linux系统将所有的项目都当做文件处理,上述例子中ls命令将输出传送到“标准输出”文件,即STDOUT。使用重定向符号">"或">>"可以将输出重定向到文件,">>"符号可以将新的输出结果追加在文件末尾。

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls >retult.txt

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cat retult.txt

a1.txt

retult.txt

test1

test2

test3

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls -l >>retult.txt

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cat retult.txt

a1.txt

retult.txt

test1

test2

test3

总用量 20

-rw-rw-r-- 1 huihui huihui 1 6

-rw-r--r-- 1 huihui huihui 36 6

drwxrwxr-x 2 huihui huihui 4096 6

drwxrwxr-x 2 huihui huihui 4096 6

drwxrwxr-x 2 huihui huihui 4096 6

月 11 16:30 a1.txt 月 11 19:04 retult.txt 月 11 16:29 test1 月 11 16:28 test2 月 11 16:29 test3

2.使用cp复制文件

用法:

cp [OPTION] {source} {TARGET}

cp [OPTION] {source...} {DIRECTORY}

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls test3

a1.txt

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cp -r test1 test3/

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls test3

a1.txt test1

3.使用mv移动或重命名文件

使用mv命令可以将文件从一个目录移动到另一个目录,或重命名文件。

用法:

mv [option...] {source} {target}

mv [option...] {source...} {directory}

第一种形式将source文件重命名为target,第二种形式将一个或多个文件同时移动到某个目录下。

运行结果如下(重命名):

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cat a2.txt

a1.txt

retult.txt

test1

test2

test3

总用量 20

-rw-rw-r-- 1 huihui huihui 1 6月 11 16:30 a1.txt

-rw-r--r-- 1 huihui huihui 36 6月 11 19:04 retult.txt

drwxrwxr-x 2 huihui huihui 4096 6月 11 16:29 test1

drwxrwxr-x 2 huihui huihui 4096 6月 11 16:28 test2

drwxrwxr-x 2 huihui huihui 4096 6月 11 16:29 test3

huihui@huihui-Rev-1-0:~/CommandWorkplace$ mv a2.txt a3.txt

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a1.txt a3.txt test test1 test2 test3 test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cat a3.txt

a1.txt

retult.txt

test1

test2

test3

总用量 20

-rw-rw-r-- 1 huihui huihui 1 6月 11 16:30 a1.txt

-rw-r--r-- 1 huihui huihui 36 6月 11 19:04 retult.txt

drwxrwxr-x 2 huihui huihui 4096 6月 11 16:29 test1

drwxrwxr-x 2 huihui huihui 4096 6月 11 16:28 test2

drwxrwxr-x 2 huihui huihui 4096 6月 11 16:29 test3

运行结果如下(移动文件):

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls test5

test3

huihui@huihui-Rev-1-0:~/CommandWorkplace$ mv a1.txt test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls test5

a1.txt test3

4.使用rm命令删除文件

rm [options] {file...}

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test test2 test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ rm -d test

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test2 test5

2.4目录管理

1.创建新的目录mkdir

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test2 test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ mkdir test1

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test1 test2 test5

2.列表显示目录树ls

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test1 test2 test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls -R

.:

6 a3.txt test1 test2 test5

./6:

./test1:

./test2:

./test5:

a1.txt test3

./test5/test3:

a1.txt test1

./test5/test3/test1:

3.删除目录rmdir

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test1 test2 test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ rmdir test2

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test1 test5

4.复制目录树cp -r

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls -R test1

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cp -r test5 test1

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls -R test1

test1:

test5

test1/test5:

a1.txt test3

test1/test5/test3:

a1.txt test1

test1/test5/test3/test1:

5.删除目录树rm -r

运行结果如下:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test1 test5

huihui@huihui-Rev-1-0:~/CommandWorkplace$ rm -r test1

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls

6 a3.txt test5

2.5文件名和文件名匹配

*:匹配零个或多个字符(开头的"."除外)

?:匹配一个字符(开头的"."除外)

[...]:匹配给出的列表或范围内的任意字符

[^...]匹配给出的列表或范围外的任意字符

运行示例:

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls *.txt

a2.txt a3.txt b1.txt

huihui@huihui-Rev-1-0:~/CommandWorkplace$ ls a?.txt

a2.txt a3.txt

2.6检查文件

1.file命令识别文件类型

huihui@huihui-Rev-1-0:~/CommandWorkplace$ file *

6: directory

a2.txt: very short file (no magic)

a3.txt: UTF-8 Unicode text

b1.txt: very short file (no magic)

test5: directory

2.使用head快速浏览文件

当只需要浏览文件的前几行时用head命令

huihui@huihui-Rev-1-0:~/CommandWorkplace$ head -n 3 a3.txt

a1.txt

retult.txt

test1

3.使用head将多个文件合并成一个文件

当需要查看的文件较多时,可以把所有的文件合并成一个文件以便浏览。

huihui@huihui-Rev-1-0:~/CommandWorkplace$ head -100 *.txt>result.txt

huihui@huihui-Rev-1-0:~/CommandWorkplace$ cat result.txt

==> a2.txt <==

asdfasdfasf

asdfasf

asdf

sadf

asdfasfd

==> a3.txt <==

a1.txt

retult.txt

test1

test2

test3

总用量 20

-rw-rw-r-- 1 huihui huihui 1 6

-rw-r--r-- 1 huihui huihui 36 6

drwxrwxr-x 2 huihui huihui 4096 6

drwxrwxr-x 2 huihui huihui 4096 6

drwxrwxr-x 2 huihui huihui 4096 6

==> b1.txt <==

asdfasdfasdfsadfasdfsadf

sadfasdfaaaaaaaaaa

sdsssssssssssssssssss

月 11 16:30 a1.txt 月 11 19:04 retult.txt 月 11 16:29 test1 月 11 16:28 test2 月 11 16:29 test3

4.使用tail监控文件

当文件发生内容发生改变时,可以用tail命令监控文件的改变,tail命令可以输出文件的后10行。

三.用户和组

3.1Linux用户和/etc/passwd文件

系统有一个数据库,存放着用户名与用户ID的对应关系,这个数据库保存在配置文件/etc/passwd中。

同时为了保护密码,将密码保存在/etc/passwd文件中,不允许用户查看。

用户类型分为普通用户.根用户和系统用户

ps aux命令可以查看系统的正在使用的进程。

ls -l命令可以列出每个文件的所有者用户名信息

ls -ln命令可以列出每个文件的所有者ID而不是用户名

3.2Linux组和/etc/group文件

基本上,一个组就是一个整数组ID(gid),每个在系统上运行的进程都是属于一个组的集合(gids),/ect/group文件把组ID映射到组名称和组成员身上,文件系统中的每个文件都有唯一的组ID,用户有一个在/etc/passwd文件中定义的主要组,用户可以是在/etc/group文件中定义的多个次要组的成员。

3.3检查用户信息

id命令向运行它的用户返回成员身份的概要信息,如果只想知道用户组ID,可以使用-g选项来使用这个命令。

huihui@huihui-Rev-1-0:~$ id

uid=1000(huihui) gid=1000(huihui) 组

=1000(huihui),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)

huihui@huihui-Rev-1-0:~$ id huihui

uid=1000(huihui) gid=1000(huihui) 组

=1000(huihui),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)

huihui@huihui-Rev-1-0:~$ id -g huihui

1000

user和w命令可以查看当前登录用户的列表

huihui@huihui-Rev-1-0:~$ users

huihui huihui

huihui@huihui-Rev-1-0:~$ w

12:51:44 up 58 min, 2 users, load average: 0.53, 0.72, 0.85

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

huihui tty7 :0 11:53 58:29 5:46 0.26s init --user

huihui pts/0 :0 12:49 0.00s 0.08s 0.00s w

finger命令可以调查用户,不仅查看用户是否登录,还查看登陆的时间以及是否读取邮件和其他信息

huihui@huihui-Rev-1-0:~$ finger

Login Name Tty Idle Login Time Office Office Phone

huihui huihui tty7 1:00 Jun 12 11:53 (:0)

huihui huihui pts/0 Jun 12 12:49 (:0)

3.4改变身份

su命令切换用户

huihui@huihui-Rev-1-0:/media/huihui$ su yang

密码:

yang@huihui-Rev-1-0:/media/huihui$ id

uid=1001(yang) gid=1001(yang) 组=1001(yang)

上述登录并不是完全登陆,称作非完全登陆Shell。若完全登陆可以使用 "-"符号

yang@huihui-Rev-1-0:/media/huihui$ su - yang

密码:

yang@huihui-Rev-1-0:~$ ls

examples.desktop

四.文件所有者及权限

1.权限类型和访问级别

r可读,w写入以及x可执行

u用户所有者,g组所有者及o其他

当用户访问一个文件时,系统会按顺序判断用户是否是文件拥有者,如果是则启用用户权限;用户是否是组所有成员,如果是则启用组权限;如果都不是,启用其他权限。

huihui@huihui-Rev-1-0:~$ echo "aaaaaa">/tmp/test1.txt

huihui@huihui-Rev-1-0:~$ cat /tmp/test1.txt

aaaaaa

huihui@huihui-Rev-1-0:~$ echo "sssss">>/tmp/test1.txt

huihui@huihui-Rev-1-0:~$ cat /tmp/test1.txt

aaaaaa

sssss

用户huihui创建一个文件test1.txt该用户是文件的拥有者,可以对文件读写;其他用户只能对文件读。

huihui@huihui-Rev-1-0:~$ su - yang

密码:

yang@huihui-Rev-1-0:~$ cat /tmp/test1.txt

aaaaaa

sssss

yang@huihui-Rev-1-0:~$ echo "asdasdasds">>/tmp/test1.txt

-su: /tmp/test1.txt: 权限不够

yang@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

-rw-r--r-- 1 huihui huihui 13 6月 12 20:55 /tmp/test1.txt

其他用户只可以读该文件。

2.更改文件权限

使用chmod可以更改文件的读写权限,某用户创建的文件默认情况下其他用户可以读,可以改变文件权限不让其他用户读自己的文件。

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

-rw-r--r-- 1 huihui huihui 13 6月 12 20:55 /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ chmod o-r /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

-rw-r----- 1 huihui huihui 13 6月 12 20:55 /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ chmod o+r /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

-rw-r--r-- 1 huihui huihui 13 6月 12 20:55 /tmp/test1.txt

可以看到使用chmod o-r命令之后其他用户不可以读这个文件,然后再使用chmod o+r命令重设使其他用户可以读这个文件。

3.使用chgrp和chown命令改变文件所有者

使用chown改变文件的拥有者:

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

-rw-r--r-- 1 huihui huihui 13 6月 12 20:55 /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ sudo -s -H

[sudo] password for huihui:

root@huihui-Rev-1-0:/home/huihui# chown yang /tmp/test1.txt

root@huihui-Rev-1-0:/home/huihui# ls -l /tmp/test1.txt

-rw-r--r-- 1 yang huihui 13 6月 12 20:55 /tmp/test1.txt

使用chgrp命令改变文件组所有者:

root@huihui-Rev-1-0:/home/huihui# ls -l /tmp/test1.txt

-rw-r--r-- 1 yang huihui 13 6月 12 20:55 /tmp/test1.txt

root@huihui-Rev-1-0:/home/huihui# chgrp yang /tmp/test1.txt

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test1.txt

-rw-r--r-- 1 yang yang 13 6月 12 20:55 /tmp/test1.txt

4.目录所有者及权限

新建目录的默认状态是drwxrwxr-x,任何用户都可以在目录内搜索文件,任何用户都可以将目录内的文件列表,只有目录的拥有者才能从目录中删除或添加文件。

5.chmod命令:八进制计数法

每种权限以一个值表示:r是4,w是2,x是1。

例如:755=rwxr-xr-x,740=rwxr-----,600=rw-------

huihui@huihui-Rev-1-0:~$ ls -ld /tmp/Linuxworkspace/

drwxrwxr-x 2 huihui huihui 4096 6月 13 08:29 /tmp/Linuxworkspace/

huihui@huihui-Rev-1-0:~$ chmod 740 /tmp/Linuxworkspace/

huihui@huihui-Rev-1-0:~$ ls -ld /tmp/Linuxworkspace/

drwxr----- 2 huihui huihui 4096 6月 13 08:29 /tmp/Linuxworkspace/

6.控制默认权限

新建文件的默认权限可以通过umask的标准UNIX概念来改变,umask 的默认值是002,因此新建文件的默认权限就是664,用内核通用默认模式减去umask:

kernek default: 666--->rw-rw-rw-

umask: 002--->-------w-

default permissions:664--->rw-rw-r--

huihui@huihui-Rev-1-0:~$ umask

0002

huihui@huihui-Rev-1-0:~$

huihui@huihui-Rev-1-0:~$ umask 007

huihui@huihui-Rev-1-0:~$ umask

0007

huihui@huihui-Rev-1-0:~$ echo "asdasdasd">/tmp/test4.txt

huihui@huihui-Rev-1-0:~$ ls -l /tmp/test4.txt

-rw-rw---- 1 huihui huihui 10 6月 13 09:22 /tmp/test4.txt

五.Linux文件系统

1.每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。

2.硬链接和软链接

硬连接:是给文件一个副本,同时建立两者之间的连接关系。修改其中一个,与其连接的文件同时被修改。如果删除其中[color=red]任意一个[/color]其余的

文件将不受影响。

软连接:也叫符号连接,他只是对源文件在新的位置建立一个“快捷(借用一下wondows常用词)”,所以,当源文件删除时,符号连接的文件将成为无源之水->仅仅剩下个文件名了,当然删除这个连接,也不会影响到源文件,但对连接文件的使用、引用都是直接调用源文件的。

运行示例:

huihui@huihui-Rev-1-0:~$ cat CommandWorkplace/f1.txt

asdasdasd

huihui@huihui-Rev-1-0:~$ ln CommandWorkplace/f1.txt f2.txt

huihui@huihui-Rev-1-0:~$ cat f2.txt

asdasdasd

huihui@huihui-Rev-1-0:~$ echo "love">>f2.txt

huihui@huihui-Rev-1-0:~$ cat f2.txt

asdasdasd

love

huihui@huihui-Rev-1-0:~$ cat CommandWorkplace/f1.txt

asdasdasd

love

huihui@huihui-Rev-1-0:~$ ln -s CommandWorkplace/f1.txt f3.txt

huihui@huihui-Rev-1-0:~$ cat f3.txt

asdasdasd

love

huihui@huihui-Rev-1-0:~$ rm CommandWorkplace/f1.txt

huihui@huihui-Rev-1-0:~$ cat f2.txt

asdasdasd

love

huihui@huihui-Rev-1-0:~$ cat f3.txt

cat: f3.txt: 没有那个文件或目录

3.磁盘 文件系统与挂载

通过mount 来挂载磁盘分区或自动挂载

mount的用法其实也简单,我们说几个常用的;

挂载文件系统的命令格式:

[root@localhost beinan]# mount [-t 文件系统 ] [-o 选项] 设备 目录

注:

-t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识加,-t 后面跟 ext3 、ext2 、reiserfs、vfat 、ntfs 等,其中 vfat 是fat32和fat16分区文件系统所所用的参数;如果您忘记了文件系统,也可以在-t 后面加auto;

-o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等,但语言编码的选项,大多用于vfat和ntfs文件系统;由于选项太多,还是请您看看 man mount ;这里不多说;

设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准。

用户可以使用df命令查看分区的空间的使用状态:df [option..] [ file]

4.使用locate和find命令查找文件

locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

huihui@huihui-Rev-1-0:/$ locate a.jpg

/home/huihui/.eclipse/org.eclipse.platform_3.8_155965261/configuration/org.eclipse.osgi/bundles/385/1/.cp/images/Idea.jpg

/home/huihui/MyEclipse/Common/binary/com.sun.java.jdk.linux.x86_1.6.0.013/demo/jfc/SwingSet2/src/resources/images/ImageClub/food/banana.jpg

...

find命令:find <起始目录><搜索条件><动作>

huihui@huihui-Rev-1-0:~$ find 桌面/Pytest/ 1.jpg

桌面/Pytest/

桌面/Pytest/内建函数.py

桌面/Pytest/picture14

桌面/Pytest/picture14/10.jpg

桌面/Pytest/picture14/12.jpg

桌面/Pytest/picture14/3.jpg

桌面/Pytest/picture14/22.jpg

桌面/Pytest/picture14/21.jpg

桌面/Pytest/picture14/5.jpg

桌面/Pytest/picture14/0.jpg

...

huihui@huihui-Rev-1-0:~$ find 桌面/Pytest/ -size +900k

桌面/Pytest/abc.tar.bz2

5.文件压缩:gzip和bzip2

gzip命令的命令选项有:

-c 将输出重定向到标准输出

-d 解压缩文件

-r 对目录递归,将里面的文件分别压缩

-1...-9 指定压缩比,即cpu占用与压缩效率

bzip2命令的命令选项有:

-c 将输出重定向到标准输出

-d 解压缩文件

huihui@huihui-Rev-1-0:~$ gzip 桌面/QQ图片20140609045108.jpg

huihui@huihui-Rev-1-0:~$ ls -sh 桌面/QQ图片20140609045108*

60K 桌面/QQ图片20140609045108.jpg.gz

huihui@huihui-Rev-1-0:~$ ls -sh 桌面/QQ图片20140609045108*

68K 桌面/QQ图片20140609045108.jpg

huihui@huihui-Rev-1-0:~$ bzip2 桌面/QQ图片20140609045108.jpg

huihui@huihui-Rev-1-0:~$ ls -sh 桌面/QQ图片20140609045108*

56K 桌面/QQ图片20140609045108.jpg.bz2

huihui@huihui-Rev-1-0:~$ bzip2 -d 桌面/QQ图片20140609045108.jpg.bz2

6.文件归档

使用tar命令可以对文件进行归档,命令行选项有:

-c 创建归档文件

-x 释放归档文件

-t 列出归档文件内容

更多相关推荐:
Mini2440通过nfs启动linux系统总结

Mini2440通过nfs启动linux系统总结(20xx-05-0110:40:29)开发主机我用的虚拟机,linux系统为fedora8,下面是具体步骤。主机下:1.建立NFS共享目录,我这里把共享目录建在…

Linux系统总结

在终端中配置:netconfig然后回车,跳出点击是:设置相应的信息。。然后在配置文件中继续配置:servicenetworkrestart,将网卡重新启动然后判断对网卡的修改是否生效:ifconfigeth0…

Linux系统总结

MakefileMakefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译…

Linux操作系统总结与心得

一知识总结我很荣幸选了“Linux操作系统”这门课程,因为在这门课程的学习过程中,我们通过老师的讲解以及在网上查阅资料,学到了许多关于Linux操作系统的知识,更重要的是学会了如何应用与操作Linux操作系统,…

Linux系统总结

Linux系统应用与开发课程学习总结Linux是一个优秀的操作系统它支持多用户多进程及多线程以稳定强健可靠的性能著称Linux提供了强大的服务器功能因此在网络技术日益发展的今天受到越来越多的企业和个人的青睐越来...

Linux操作系统学习心得

Linux操作系统学习心得这学期有幸学习了《嵌入式系统设计》这门课,在胡佳文老师的教导下深入了解了有关于嵌入式系统,ARM9,Linux系统等很多方面的知识,获益良多,在学习过程中自己也遇到了很多问题,同时受到…

Linux基础知识的总结

Linux基础知识总结一课程结构一预科部分1初始Linux1了解Linux的历史2对Linux操作系统的认知3体会Linux的优点4理解Linux的基本思想2学会如何安装Linux操作系统3掌握Linux下的常...

Linux系统编程之学习总结

一文件IO操作部分C标准IO库函数UnbufferedIO函数fopenopenfdopencreatfcloseclosefseeklseekfreadreadfwritewrite知识小结1C标准IO库函数...

嵌入式Linux实时操作系统习题总结

第1章1嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中嵌入式系统一般有3个主要的组成部分硬件实时操作系统以及应用软件2嵌入式系统的三要素是嵌入专用计算机即以应用为中心以计算机技术为基础软件硬件可裁剪适...

Linux系统管理-命令总结

Linux系统管理基础命令总结pwd功能显示当前用户所在的工作目录printworkingdirectory格式pwdpp如果当前目录是符号链接则显示链接到的真实物理目录ls功能列表查看目录及文件的属性信息不带...

linux系统安全设置总结

linux系统安全设置总结众所周知网络安全是一个非常重要的课题而服务器是网络安全中最关键的环节Linux被认为是一个比较安全的Internet服务器作为一种开放源代码操作系统一旦Linux系统中发现有安全漏洞I...

linux五大服务器总结

Web服务器Rpmqalgrep目的是确认软件包是否已经安装启动命令servicehttpdstartApache服务器Apache服务器配置文件位于etchttpdconf目录下配置文件有3个httpdcon...

linux系统总结(38篇)