能进入各种网站的浏览器,好用的网站管理系统,网站建设湖北,网站数据流程目录与路径
相对路径在进行软件或软件安装时非常有用#xff0c;更加方便。利用相对路径的写法必须要确认目前的路径才能正确的去到想要去的目录。 绝对路径的正确度要比相对路径好#xff0c;因此#xff0c;在写程序#xff08;shell scripts#xff09;来管理系统的条…目录与路径
相对路径在进行软件或软件安装时非常有用更加方便。利用相对路径的写法必须要确认目前的路径才能正确的去到想要去的目录。 绝对路径的正确度要比相对路径好因此在写程序shell scripts来管理系统的条件下一定要使用绝对路径的写法。
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表[目前用户身份] 所在的家目录
~account 代表 account 这个用户的家目录(account 是个账号名称)目录的相关操作
cd 变换目录
pwd 显示当前目录
mkdir 建立一个新的目录
rmdir 删除一个空的目录cd cd 是 Change Directory 的缩写这是用来变换工作目录的指令。
仅输出 cd 时相当于输入 cd~ 可以回到家目录。
pwd pwd [-P] 选项与参数: -P : 显示出确实的路径而非使用链接 (link) 路径。
mkdir mkdir [-mp] 目录名称 选项与参数: -m配置文件案的权限直接设定不需要关注预设权限 (umask) -p将所需要的目录(包含上层目录)递归建立起来。 在 预设 的情况下所需要的目录得一层一层的建立才可以。
rmdir rmdir [-p] 目录名称 选项和参数 -p连同上层空的目录一起删除。 被删除的目录里面必定不能存在其他的目录或文件。如果要将所有目录下的东西删掉可以使用 rm -r 目录名称
关于执行文件路径的变量$PATH
环境变量 PATH 一定是大写其内容由一堆目录组成每个目录中间用冒号(:)来隔开每个目录都是有顺序之分的。
mv [目录] [目录] 可以将文件在不同的目录间进行移动。
要注意的 1.不同身份使用者预设的PATH不同默能够随意使用执行的指令也不同 2.PATH 是可以修改的 3.使用绝对路径或相对路径直接指定某个指令的文件名来运行回避搜寻 PATH 来的正确 4.指令应该放置到正确的目录下执行才会比较方便 5.本目录(.)最好不用放在 PATH 当中。
文件与目录管理
ls 文件与目录的检视
ls [-aAdfFhilnrRSt] 文件名或目录名称
ls [--color{never,auto,always}] 文件名或目录名称
ls [--full-time] 文件名或目录名称cprmmv : 复制、删除与移动
cp复制文件或目录
cp [-adfilprsu] 来源文件(source) 目标文件(destination)
cp [options] source1 source2 source3 ... directorycp 如果要去复制别人的数据该文件必要要有 read 的权限才可以。 在预设的条件中cp 的来源档与目的档的权限是不同的目的档的拥有者通常会是指令操作者本身。
由于 cp 有种种的文件属性与权限所以复制时需要了解 1.是否需要完整的保留来源文件的信息。 2.来源文件是否为连结档symbolic link file 3.来源文件是否为特殊文件例如FIFOsocket等 4.来源文件是否为目录。
rm移除文件或目录
rm [-fir] 文件或目录在指令前加上反斜杠\可以忽略掉 alias 的指定选项\rm -r 文件或目录
mv移动文件与目录或更名
mv [-fiu] source destination
mv [options] source1 source2 source3 ... directory通过mv将目录改名mv mvtest1 mvtest2这样就可以将 mvtest 改名为 mvtest2了
取得路径的文件名与目录名称
basename 取最后的档名 dirname取目录名 文件内容查询
cat由第一行开始显示文件内容 tac从最后一行开始显示tac和cat是倒着写的 nl显示的时候顺道输出行号 more一页一页的显示文件内容 less与more类似但是可以往前翻页 head只看头几行 tail只看尾几行 od以二进制的方式读取文件内容
直接检视文件内容
catconcatenate
cat [-AbEnTv]tac反向显示 由最后一行到第一行反向在屏幕上显示出来
nl添加行号打印
nl [-bnw] 文件可翻页检视
more一页一页翻动 如果 more 后面接的文件内容行数大于屏幕输出的行数时会省略后面的最后一行会显示目前的百分比可以在最后一行输入一些有用的指令 1.空格键嗲表向下翻一页 2.Enter代表向下翻一行 3./字符串代表在这个显示的内容当中向下搜寻【字符串】这个关键字 4.:f代表立刻离开more不再显示该文件内容 5.b 或 [ctrl]-b代表往回翻页不过这动作只对文件有用对管线无用。
按下 q 可以离开 more 这个指令的显示工作。
less一页一页翻动 使用 less 时可以使用 [pageup] [pagedown]等功能来翻看文件。
less 可以输入的指令有 1.空格向下翻一页 2.[pagedown]向下翻一页 3.[pageup]向上翻一页 4./字符串向下搜寻【字符串】 5.?字符串向上搜寻【字符串】 6.n重复前一个搜寻与 / 或 ? 有关 7.N反向重复前一个搜寻 8.g前进到这个资料的第一行去 9.G前进到这个数据的最后一行去 10.q离开 less 这个程序
资料提取
head取出前面几行
head [-n number] 文件选项和参数 -n 后面接数字代表显示几行的意思 默认情况显示前面10行
tail取出后面几行
tail [-n number] 文件选项和参数 -n后面接数字显示几行 -f表示持续侦测后面所接的档名要等按下[ctrl]-c 才会结束tail的侦测。
非纯文本文档od
使用od来读取二进制文件不会产生乱码的数据。
od [-t TYPE] 文件修改文件时间或建置新档touch
Linux 会记录很多的时间参数主要是三个主要变动的时间 1.modification(mtime)当该文件的【数据内容】变更时就会更新这个时间内容数据指的是文件的内容而不是文件的属性或权限 2.status time(ctime)当文件的【状态】改变时就会更新这个时间例如权限和属性 3.access time(atime)当【该文件的内容被取用】时就会更新这个读取时间。例如使用 cat 去读取某个文件就会更新
默认情况下ls 显示出来的是该文件的 mtime即文件内容上次被改动的时间。
touch [-acdmt] 文件touch 最常被使用的情况 1.建立一个空的文件 2.将某个文件日期修订为目前mtime 与 atime
文件与目录的默认权限与隐藏权限
除了基本r,w,x权限外在 Linux 传统的 Ext2/Ext3/Ext4 文件系统下我们还可以设定其他的系统隐藏属性 这部份可使用 chattr 来设定而以 lsattr 来查看最重要的属性就是可以设定其不可修改的特性!让连文件的拥有者都不能进行修改! 这个属性可是相当重要的尤其是在安全机制上面(security).
文件预设权限umsak
umask 用来指定目前用户在建立文件或目录的时候的权限默认值。 umask 有两种查阅方式一种是直接输入umask显示为数字型态的权限设定分数 另一种是加入 -S (Symbolic) 这个选项以符号类型显示。 umsak 的分数指的是该默认值需要减掉的权限rwx分别是421分。若拿掉能写的权限就是输入2分拿掉能读就是4分。
若使用者建立为[文件]则预设[没有可执行(x )权限]亦即只有 rw 这两个项目也就是最大为 666分预设权限为:rw-rw-rw- 若用户建立为[目录]则由于x 与是否可以进入此目录有关因此默认为所有权限均开放,亦即为 777 分预设权限如下:drwxrwxrwx
文件隐藏属性
chattr 只能在 Ext2/Ext3/Ext4 的Linux传统文件系统上面完整生效 chattr配置文件案隐藏属性
chattr [-][ASacdistu] 文件或名录名称里面有很当的属性root权限才可以设置。i 可以让一个文件无法被更动
lsattr显示文件隐藏属性
lsattr [-adR] 文件或目录使用 chattr 设定后可以利用 lsattr 来查阅隐藏属性。
文件的特殊属性SUIDSGIDSBIT
Set UID s 这个标志出现在文件拥有者的 x 权限上时例某个文件的权限状态:-rwsr-xr-x此时就被称为 Set UID简称为 SUID 的特殊权限。 SUID的限制与功能 1.SUID权限仅对二进制程序有效 2.执行者对于该程序需要具有 x 的可执行权限 3.本权限仅在执行该程序的过程中有效 4.执行者将具有程序拥有者的权限。 例如某个账户 feng 可以修改密码但不能读取。
Set GID 当 s 标志在文件拥有者的 x 项目为 SUID那 s 在群组的 x 时则为 Set GID
与 SUID不同的是SGID 可以针对文件或目录来设定。 如果是对文件来说SGID有如下的功能 1.SGID 对二进制程序有用: 2.程序执行者对于该程序来说需具备 x 的权限; 3.执行者在执行的过程中将会获得该程序群组的支持。
如果是对目录来说SGID有如下的功能 1.用户若对于此目录具有 r 与 x 的权限时该用户能够进入此目录 2.用户在此目录下的有效群组(effective group)将会变成该目录的群组 3.用途若用户在此目录下具有 w 的权限(可以新建文件)则使用者所建立的新文件该新文件的群组与此目录的群组相同。
Sticky Bit 目前只针对目录有效对于文件已经没有效果了。SBIT 对于目录的作用是 1.当用户对于此目录具有 w.x 权限亦即具有写入的权限时 2.当用户在该目录下建立文件或目录时仅有自己与 root 才有权力删除该文件。
SUID/SGID/SBIT 权限设定 4 为 SUID2 为 SGID1为 SBIT 假设要将一个文件权限改为 [-rwsr-xr-x] 时由于 在用户权力中所以是 SUID因此 在原先的 755 之前还要加上 4也就是: [chmod 4755 filename ]来设定
观察文件类型file
如果想要知道某个文件的基本数据例如是属于 ASCII 或者是 data 文件或者是 binary且其中有没有使用到动态函式库 (share library) 等等的信息就可以利用 file 这个指来检阅。
指令与文件的搜寻
利用一些搜寻指令将该配置文件的完整档名捉出来
脚本文件名的搜寻
指令的完整文件名 which寻找执行档
which [-a] command选项或参数 -a将所有由 PATH 目录中可以找到的指令均列出而不止第一个被找到的指令名称
这个指令是根据[PATH] 这个环境变量所规范的路径去搜寻[执行档]的档名。 所以重点是找出[执行档]而已!且 which 后面接的是[完整档名]。 若加上 -a 选项则可以列出所有的可以找到的同名执行文件而非仅显示第一个而已。
文件档名的搜寻
whereis由一些特定的目录中寻找文件文件名
whereis [-bmsu] 文件或目录名locate/updatedb
locate [--ir] keywordupdatedb根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名并更新 /var/lib/mlocate 内的数据库文件; locate依据 /var/ib/mlocate 内的数据库记载找出用户输入的关键词文件名。 /var/ib/mlocate 是已建立的数据库。
find
find [PATH] [option] [action]find 的特殊功能进行额外的动作。 {}代表的是[由 find 找到的内容]如上图所示find 的结果会被放置到{} 位置中; -exec 一直到 \;是关键词代表 find 外动作的开始 (-exec) 到结束 (在这中间的就是 fid 指令内的额外动作。 因为 [;] 在 bash 环境下是有特殊意义的因此利用反斜杠来跳脱
如果要找的文件是具有特殊属性的例如 SUID、文件拥有者、文件大小等等 那么利用 locate是没有用!此时 find 就显的很重要。 另外find 还可以利用通配符来找寻档名
权限和指令间的关系
1.让用户能进入某目录成为【可工作目录】的基本权限为何: 可使用的指令例如 cd 等变换工作目录的指令 目录所需权限用户对这个目录至少需要具有 x 的权限额外需求 如果用户想要在这个目录内利用 ls 查阅文件名则用户对此目录还需要 r 的权限
2.用户在某个目录内读取一个文件的基本权限为何? 可使用的指令例如 cat,more,less 等等; 目录所需权限用户对这个目录至少需要具有 x 权限 文件所需权限使用者对文件至少需要具有 r 的权限才行。
3.让使用者可以修改一个文件的基本权限为何? 可使用的指令例如 nano 或 vi 编辑器等 目录所需权限用户在该文件所在的目录至少要有 x 权限 文件所需权限使用者对该文件至少要有 i,w 权限。
4.让一个使用者可以建立一个文件的基本权限为何? 目录所需权限用户在该目录要具有 w.x 的权限重点在 w
5.让用户进入某目录并执行该目录下的某个指令之基本权限为何? 目录所需权限用户在该目录至少要有 x 的权限 文件所需权限使用者在该文件至少需要有 x 的权限。
《鸟哥的Linux私房菜-基础篇》学习笔记