我和linux的第十天

这两天学校事情比较多,跟老师打交道也是弄得有些心烦意乱,能帮学生办的事总要着各种理由推来推去,不提了,翻篇。linux学习也是越来越难了,这两天有个想法,有个简单的linux项目能操作下现在学的知识,应该能更好入门吧。再学几章找个服务配配,就这么定了。

linux文件与目录管理

目录的相关操作:

.:代表此层目录;

..:代表上一层目录;

-:代表前一个工作目录;

~:代表“目前用户身份”所在文件夹。

~account:代表account这个用户的主文件夹(account是个账号目录)

处理目录的命令:

cd:切换目录(change directory);

pwd:显示当前目录(print working directory);

mkdir:新建一个目录(make directory);

rmdir:删除一个空的目录(remove directory)。

执行文件路径的变量:$PATH

echo $PATH:查询文件的路径;

PATH=”$PATH”:/root:将/root加入PATH当中;

不同身份用户默认的PATH不同,默认能够随意执行的命令也不同;

PATH是可以修改的,所以一般用户还是可以通过修改PATH来执行某些位于/sbin或/usr/sbin下的命令来查询;

使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查询PATH来得正确;

命令应该要放置到正确的目录下,执行才会比较方便;

本目录(.)最好不要放到PATH当中。

文件与目录管理的常用命令:

ls:查看文件与目录,-a全部文件、-d目录本身、-l列出长数据串;

cp:复制文件或目录,-a全部内容及属性复制、-i目标文件已存在,会先询问、-r递归持续复制,用于目录的复制;

rm:删除文件或目录,-f是force意思,不出现警告信息、-i互动模式,删除前会询问用户、-r递归删除,用在目录的删除。

mv:移动文件与目录或更改名字,-f是force意思,直接覆盖、-i移动时会询问、-u目标文件已存在,source比较新,才会更新。

文件内容的查询命令:

cat:由第一行开始显示文件内容(concatenate),-b打印行号,空白行每行号、-n打印行号,空白行也有行号、-a相当于vET的整合参数,列出特殊字符,结尾段行$显示,[tab]键以^I显示。

tac:从最后一行开始显示,与cat相反;

nl:显示时输出行号;

more:一页一页显示内容,“Space”向下翻一页、“Enter”向下滚动一行、“/string”向下查询“字符串”这个关键字、“:f”立刻显示出文件名和目前所在行数、“q”立刻离开more、不再显示内容、“b或ctrl+b”往回翻页。

less:与more类似,比more功能更多;“Space”向下翻一页、“PageDown”向下翻一页、“PageUp”向上翻一页、“/string”向下查询“字符串”、“?string”向上查询“字符串”、n重复前一个查询(与/或?有关)、“q”离开less。

head:只看头几行,-n [数字]显示头几行;

tail:只看尾几行,-n [数字]显示几行;

od:以二进制的方式读取文件内容。

修改文件时间或创建新文件:touch

modification time(mtime):文件的内容数据更改时的时间;文件默认的时间

status time(ctime):文件的状态(权限和属性)改变时的时间;

access time(atime):文件被访问时跟新的时间。

文件默认权限:umask

用户创建“文件”默认没有执行(x)的权限,只有r、w,最大权限为666;

用户创建“目录”默认所有权限均开放,为777。

例如:umask 002;touch test1;mkdir test2;

则-rw-rw-r-- test1;drwxrwxr-x test2。

文件的隐属性:chattr,lsattr

设置文件的隐藏属性:chattr [+-=][参数] filename。+:增加某一个参数、-删除某一个参数、=仅有后面接的参数。a:文件只能增加数据,不能删除、修改数据,只有root才能设置这个属性。i:使一个文件不能被删除、修改、设置连接,只有root才能设置这个属性。

显示文件的隐藏属性:lsattr [参数] filename。-a:显示文件的隐藏属性。-R连同子目录的数据一起显示。

文件的特殊权限:SUID、SGID、SBIT

SUID(set uid):

SUID权限仅对二进制程序文件(binary program)有效;

执行者对于改文件需要有x的权限;

本权限仅在执行改文件的过程中(run-time)有效;

执行者将具有该文件所有者(owner)的权限。

SGID(set gid):

文件:SGID对二进制程序有用;

程序执行者对于改程序来说,须具备x的权限;

执行者在执行的过程中将会获得改程序用户组的支持。

目录:用户若对于此目录具有r与x的权限时,该用户能够进入此目录;

用户在此目录下的有效用户组将会变成该目录的用户组;

用户在此目录下具有w的权限(可以新建文件),则用户所创建的新文件的用户组与此目录的用户组相同。

SBIT(sticky bit):针对目录有效

当用户对于此目录具有w,x权限,即具有写入的权限时,用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件。

文件具有SUID特殊权限时,代表当用户执行此二进制文件时,执行过程中用户暂时具有程序拥有者的权限。

目录具有SGID特殊权限时,代表用户在这个目录下面新建的文件用户组都会与该目录的用户组名同名。

目录具有SBIT特殊权限时,代表用户在这个目录下面新建的文件只有自己与root才能够删除。

SUID/SGID/SBIT权限设置:

SUID=4;SGID=2;SBIT=1 chmod 4755 fileneme或chmod u=rexs,g=rx,o=rx filename;则文件权限为“-rwsr-xr-x”。“s”代表拥有者有“x”的权限,“S”代表拥有者没有“x”(空的)的权限。取消特殊权限,chmod u-s filename;则文件权限为“-rwxr-xr-x”。

查看文件类型:file filename。

查询命令与文件所在目录:

which filename寻找“执行文件”所在目录;

whereis [参数] filename寻找“特定文件”所在目录,-b只找二进制格式文件、-m只找说明文件manual路径下的文件、-s只找source源文件、-u查找不再上述选项中的文件。

locate filename,locate依据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名,updatedb根据/etc/updatedb.conf的设置去查找系统硬盘内的文件名,并更新/var/lib/mlocate内的数据库文件。

find [PATH] [option] [action],参数-atime、-ctime、-mtime、-uid、-gid、-name等。

权限与命令间的关系:

1.让用户能进入某目录成为“可工作目录”的基本权限是什么?

可使用的命令:例如cd等切换目录的命令。

目录所需权限:至少要具有x的权限。

2.用户在某个目录内读取一个文件的基本权限是什么?

可使用的命令:例如cat、more、less等。

目录所需权限:至少要具有x的权限。

文件所需权限:至少要有r的权限。

3.用户可以修改一个文件的基本权限是什么?

可使用的命令:例如vi编辑器等。

目录所需权限:在该文件所在目录至少要有x的权限。

文件所需权限:要具有r、w的权限。

4.一个用户可以创建一个文件的基本权限是什么?

可使用的命令:touck、mkdir等。

目录所需权限:要具有w和x的权限,w最重要。

5.用户进入某目录并执行该目录下的某个命令的基本权限是什么?

目录所需权限:要具有x的权限。

文件所需权限:要具有x的权限。

1.什么是绝对路径与相对路径?

A.绝对路径是以根目录(/)为起点,相对路径以其他目录为起点,是相对于目前工作目录的路径。

2.如何更改一个目录的名称?例如由/home/test1变为/home/test2。

A.mv /home/test 1 /home/test2。

3.PATH这个环境变量的意义是什么?

A.用来指定执行文件执行的时候,指令搜寻的目录路径。

4.umask 有什么用处与优点?

A.可拿掉的权限,设定创建目录和文件时的权限=默认权限-umask权限,可以提高系统的安全性。

5.当一个使用者的umask分别为033与044,他所建立的文件与目录的权限是什么?

A.umask=----wx-wx(033);文件默认权限为666=rw-rw-rw-;目录默认权限为777=rwxrwxrwx;所以建立文件的权限是(rw-rw-rw-)-(----wx-wx)=(rw-r--r--);建立目录的权限是(rwxrwxrwx)-(----wx-wx)=(rwxr--r--)。

6.什么是SUID ?

A.SUID权限仅对二进位程式有效;

执行者对于该程式需要具有x的执行权限;

本权限仅在执行该程式的过程中有效(run-time);

执行者将具有该程式拥有者(owner) 的权限。

7.当我要查询/usr/bin/passwd这个文件的传统权限、文件类型和文件的隐藏属性,可以使用什么命令来查询?

A.ls -al /usr/bin/passwd;file /usr/bin/passwd;lsattr /usr/bin/passwd。

8.尝试用find找出目前linux系统中所有具有SUID的文件有哪些?

A.find -perm +4000 -print。

9.找出/etc下,文件大小介于50K到60K之间的文件,并且将权限完整的列出。

A.find /etc -size +50k -a -60k -exec ls -l {}\;-a代表and。

10.找出/etc下,文件容量大于50K 且文件所属人不是root的文件名,且将权限完整的列出。

A.find /etc -size +50k -a ! -user root -exec ls -l {}\;! 代表的是反向选择。

11.找出/etc下,容量大于1500K以及容量等于0的文件。

A.find /etc +1500k -o -size 0,-o代表or。

时间: 2024-10-15 11:11:41

我和linux的第十天的相关文章

攻城狮在路上(叁)Linux(三十)--- 光盘写入工具

一.基本步骤: 1.用mkisofs命令将所需备份的数据构建成镜像文件. 2.用cdrecord命令将镜像文件刻录至光盘或者DVD中. 二.mkisofs:新建镜像文件 mkisofs [-0 镜像文件] [-rv] [-m file] 待备份文件... [-V vol] graft -point isodir=Systemdir... 参数说明: -o:后面指定镜像文件 -r:通过RockRidge产生支持UNIX/Linux的文件数据,可以记录较多信息. -v:显示构建过程 -m file:

攻城狮在路上(叁)Linux(二十九)--- 完整备份工具:dump以及restore

一.dump命令: 该命令既可以针对整个文件系统进行备份,也可以仅针对目录来备份.还可以指定不同的备份等级(-0~-9共10个等级). dump -W:列出在/etc/fstab中具有dump设置的分区是否备份过. 命令格式: dump [-Suvj] [-level] [-f 备份文件] 待备份数据 参数说明: -S:仅列出后面的待备份数据所需要的磁盘空间大小. -u:将这次dump的时间记录到/etc/dumpdates文件中. -v:将dump的文件过程显示出来. -j:加入bzip2的支

攻城狮在路上(叁)Linux(二十五)--- linux内存交换空间(swap)的构建

swap的功能是应付物理内存不足的状况,用硬盘来暂时放置内存中的信息. 对于一般主机,物理内存都差不多够用,所以也就不会用到swap,但是对于服务器而言,当遇到大量网络请求时或许就会用到. 当swap被使用的时候,主机的硬盘灯就会闪烁不停. 本篇介绍两种方式:1.设置一个swap分区   2.创建一个虚拟内存的文件. 一.使用物理分区构建swap: 1.首先是分区: A.fdisk /dev/sda; <== 根据后续提示创建一个分区. B.修改分区的ID,因为fdisk默认将分区的ID作为文件

攻城狮在路上(叁)Linux(二十六)--- linux文件系统的特殊查看与操作

一.boot sector 与 super block的关系: 1.boot sector用于存放引导装载程序,占用1024个字节. 2.super block的大小也为1024字节. 3.若block大小为1k,则boot sector和super block各占一个block. 4.若block大于1K(2K/4K)时,则两者都位于第一个block中. 二.磁盘空间的浪费问题:暂不考虑. 三.利用GUN的parted命令进行分区行为: 因为fdisk不支持高于2TB的分区. 命令格式: pa

攻城狮在路上(叁)Linux(二十四)--- linux设置开机挂载及镜像文件挂载

虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件的配置来实现. fstab是开机时的设置,实际文件系统的挂载是记录到/etc/mtab和/proc/mounts这两个文件中. 1.系统挂载的限制: A.根目录/必须挂载,而且一定是最先挂载的,要先于其他mount point. B.其他挂载点必须为已新建的目录,可以任意指定. C.所有挂载点在同一

linux杂谈(十六):ftp的企业应用级配置(三)

这次我们来讲解黑名单,白名单以及内网和外网的ftp的访问的不同设置. 1.黑名单 有的时候我们不想让某些本地用户登录,这个时候就要设置黑名单了,它在/etc/vsftpd下: 如何添加一个用户到黑名单: (1)首先我们把一个用户(westos)添加到ftpusers: 重启服务(并且刷掉火墙)后看是否可以登录: westos登录需要输入密码,但是不能登录,此刻为黑名单. (2)我们在把westos添加到user_list中看看: 看到上面的那个提示了么,当userlist_deny=NO时,只允

linux杂谈(十二):CDN加速

1.CDN简介 ? ?今天我们来模仿一下CDN加速下的apche服务器访问.那么我们首先来了解一下什么是CDN加速. ? ?DN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,提高用户访问网站的响应速度. ? ?举一个例子:我们要访问腾讯的新闻网,那我们是直接去访问深圳总部的服务器么?当然不是,这样不仅服务器的负载接受不了,而且

嵌入式 Linux进程间通信(十二)——多线程同步

嵌入式 Linux进程间通信(十二)--多线程同步 多线程编程中有三种线程同步机制:互斥锁.信号量.条件量.本文将使用生产者消费者问题编程实践三种线程同步方式. 生产者.消费者问题:生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费.消费者线程从缓冲区中获得物品,然后释放缓冲区.当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区.当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来. 一.互斥锁

linux杂谈(十九):DNS服务器的配置(二)

1.本机和外网的解析 ? ?之前讨论了DNS的正向解析和反向解析,但有的时候我们想让DNS服务器对于服务器本机的解析和对于外网的解析是不同的.那就需要在主配置文件中对本机和外网进行不同的配置: ? ? ? ? ? ?这个是主配置文件中对于本服务器的访问,并且副配置文件为example.com.zone:(注意要注释的内容). ? ? ? ?这个是对于非本机的配置,并且副配置文件为example.com.inter. ? ?为了统一期间,把之前的副配置文件的策略注释掉. ? ? ? ? ?然后我们

linux杂谈(十四):ftp的企业应用级的配置(一)

1.ftp简介 (1)生活中的ftp 在互联网中我们需要传输数据,尤其是要传输大型数据.有一个服务是要着重去介绍的:ftp.其实我们以前很早就接触它了.只是大家可能不怎么关注,迅雷的基本模型就是ftp,不过是要高级的多. 事实上ftp应该是一种传输协议,之前它采用的是明文传输,如果在复杂的网络环境这样使用的话是非常危险的.为了更安全的使用这个协议,现在我们要采取更安全的软件vsftpd来提供服务. (2)ftp的功能介绍 1.它有着不同等级的用户身份:服务器本地用户:访客:匿名用户: 2.命令记