
对于每个文件,其都由不同的信息组成,如图所示,这是我们之前创建的一个名为CAT1的空文件,该文件的详细信息如下所示。
文本文件与目录文件的区别就在于第一个描述符不同,目录则以“d”为描述符。如图所示,这是之前所创建的一个名为CAT的目录,该目录的详细信息及相关介绍如下所示。
使用带有-l选项的ls命令,可从许可字符串的首字母来识别所列出每个文件的类型,以下是几个常见的标识号。
●-:一般文件(硬链接)。
● l:符号链接(软链接,可使用带有-s选项的ln命令来创建一个软链接)。
● d:目录。
● c:字符设备文件。
● p:命名管道。
● s:套接字。
● b:块设备特殊文件。
2.文件权限管理
从刚创建的CAT1文件中看到,该文件虽是cat用户创建的,但cat用户对该文件并没有可执行权限。现在要为CAT1添加可执行权(x),将这项任务交给chmod命令就可以。使用chmod命令也非常简单,如下所示,为cat用户添加对CAT1文件的可执行权。
[cat@cat ~]$ chmod u+x CAT1
通过以上 *** 作后,cat用户拥有了对CAT1文件的可执行权。当然,要添加其他权限的 *** 作也差不多,也可以使用“chmod+rwx 文件名”来授权。感兴趣的读者可以试试,这里只讲方法,可以通过这种方法来进行练习,以便更好地掌握。
如果对CAT目录下的目录同时授予可执行权,则可以使用带有-R选项的Chmod命令进行 *** 作,其格式如下:
chmod–R 目录名1/目录名2
其中目录2是目录1的子目录,即在目录1下创建目录2。
使用-R选项,可递归地授予各种权限。
接下来讲解取消某个用户(或用户组)拥有该文件的权限,使用的命令还是chmod,如下所示,取消cat用户对文件CAT1拥有的可执行权。
[cat@cat ~]$ chmod u-x CAT1
根据文件权限数值,4代表可读,2代表可写,而1则代表可执行,并且权限数值存在时以1表示,否则就用0来表示(实际上就是用二进制的方式来表示),就可以对于某个文件或目录中的权限数值计算。如图所示,计算名为CAT1文件的权限值。
若需要对该文件授予权限,也可使用“chmod 664 CAT1”的形式来为用户授权。
有时为了方便,把文件的拥有权授予其他人,可以使用chown来改变文件的拥有者,下面演示将cat用户的CAT1文件转给dog用户,先切换到root用户,然后才可以执行。由于CAT1文件在cat用户的主目录下,因此使用/home/CAT1。
文件名称区分大小写
文件名最长255个字符
包括路径在内文件名称最长4095个字节
蓝色-->目录:绿色-->可执行文件:红色-->压缩文件:浅蓝色-->链接文件:灰色-->其它文件
除了斜杠和NUL,所有字符都有效,使用特殊字符的目录名和文件不推荐使用,有些字符需要加引号来引用
标准Linux文件系统,文件名称大小写敏感
/boot: 内核引导文件存放目录
/bin: 所有用户使用的基本命令不能关联至独立分区,系统启动会用到的程序
/sbin: 管理类的基本命令不能关联至独立分区,系统启动会用到的程序
/lib: 系统启动时程序依赖的基本共享库文件及内核模块文件(/lib/modules)
/etc: 配置文件目录
/home: 普通用户家目录
/root: 管理员家目录
/media: 便携式移动设备挂载点
/mnt: 临时文件系统挂载点
/dev: 设备文件及特殊文件存储位置
/opt: 第三方应用程序安装位置,同/usr/local
/srv: 系统服务用到的数据
/tmp: 存储临时文件
/usr: 系统软件资源存放目录
/var: 系统运行时的可变动数据:/var/tmp:系统两次重启产生的临时数据
/proc: 内核与进程信息相关的虚拟文件系统
/sys: 硬件设备相关信息的虚拟文件系统
/selinux: selinux安全策略
meta data:
文件类型,权限,UID,GID
链接数(指向这个文件名路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
文件类型:
-: 普通文件
d: 目录文件
b: 块设备
c: 字符设备
l: 符号链接文件
p: 管道文件pipe
s: 套接字文件socket
查看方式:
使用ll,ls -l: 看第一个字符,链接数,
ls -lih:
inode编号,文件类型,文件权限,硬链接个数,文件属主,文件属组,文件大小,文件修改时间
file命令,type命令,
stat命令: 文件详细信息,修改时间mtime,改变时间ctime,访问时间atime
du -sm filename: 查看文件大小
文件扩展名:
源码.tar、.tar.gz、.tgz、.zip、.tar.bz表示压缩文件,创建命令一般为tar,gzip,zip等。
.sh表示shell脚本文件,通过shell语言开发的程序。
.pl表示perl语言文件,通过perl语言开发的程序。
.py表示python语言文件,通过python语言开发的程序。
.html、.htm、.php、.jsp、.do表示网页语言的文件。
.conf表示系统服务的配置文件。
.rpm表示rpm安装包文件。
touch: 创建空文件和刷新时间戳
touch [OPTION]... FILE...
-a: 改变atime和ctime
-m: 改变mtime和ctime
-t: [[CC[YY[MMDDhhmm[.ss]]]]]
指定atime和mtime的时间戳
-c: 如果文件不存在,则不予创建
硬链接:
同一个文件多个名字
不支持跨分区,不支持目录
平级关系,删除原始文件不影响打开
iNode相同,链接数增长
创建语法,原始文件路径,相对于工作目录的路径
文件类型,普通文件
创建方式ln filename [linkname]
软链接:
与原始文件,不同的文件
支持跨分区,支持目录
依赖关系,删除原始文件即失效
iNode不同,链接数不会增长
创建语法,原始文件路径,相对于软链接的路径
文件类型显示l
创建方式ln -s filename [linkname]
实例说明:
cd ../data
mkdir -pv d1/d2
touch linux.txt
ln linux.txt d1/d2/linux.hlink
ln -s ../../linux.txt d1/d2/linux.slink
ln -s ../d2 d1/d2/d2.slink
tree
执行如图:
stat: 查看文件状态
示例: stat /etc/issue
stat/etc/motd
touch: 创建空文件和刷新时间
touch [OPTION]... FILE...
-a: 仅改变atime和ctime
-m: 仅改变mtime和ctime
-t: 指定atime和mtime时间戳
-c: 如果文件不存在,则不予创建
示例: touch /data/f1
cp: 复制文件和目录
cp [OPTION]... SOURCE... DIRECTORY
-i: 覆盖前提示
-n: 不覆盖
-r,-R: 递归复制目录及内部的所有内容
-a: 归档,相当于-dR --preserv=all
-p: 等同--preserv=mode,ownership,timestamp
-u: 只复制源比目标更新或目标不存在
-b: 目标存在,覆盖前先备份filename~
--backup=numbered: 目标存在,覆盖前先备份并加数字后缀
cp SRC DEST
SRC是文件:
如果目标不存在: 新建DEST,并将SRC中内容填充至DEST中
如果目标存在:
如果DEST是文件: 将SRC中内容覆盖至DEST中
如果DEST是目录: 在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
SRC是多个文件:
DEST必须存在,且为目录
SRC是目录: 使用选项-r
如果DEST不存在: 则创建指定目录,复制SRC目录中所有文件至DEST中
如果DEST存在:
如果DEST是文件: 报错
如果DEST是目录:在DEST下新建与原目录同名的目录,并将SRC中内容复制至新目录中
示例: mkdir -p /data/backup
cp -ab /etc/issue /etc/passwd /etc/group /data/backup
mv: 移动和重命名文件
mv [OPTION]... SOURCE... DIRECTORY
-f: 强制
-b: 目标存在,覆盖前先备份
示例: mv /etc/issue /data
mv /etc/issue /data/issue.bak
rm: 删除
rm [OPTION]... FILE...
-f: 强制删除
-r: 递归
--no-preserve-root 删除/
示例: rm -rf /data/d1/d2
tree: 显示目录树
-d:只显示目录
-L level: 指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径
示例: tree /data
ls:列出指定目录下的内容
ls [OPTION]... [FILE]...
-a:显示所有文件包括隐藏文件
-A:显示除.和..之外的所有文件
-l,--long:显示文件的详细属性信息
-h:对文件大小进行单位换算,可能影响精度
-d:查看目录本身而非其内部的文件
-r:逆序显示文件
-R:递归显示文件
示例:ls -lah / 详细显示/目录下的所有文件(包括隐藏文件)
mkdir:创建目录
mkdir [OPTION]... DIRECTORY...
-p:自动按需创建父目录
-m:创建目录时给定权限
示例: mkdir -p /data/test/A/B
cat:正向查看文本内容
cat [OPTION]... [FILE]...
-n:给显示的文本行编号
-E:显示行结束符号$
示例: cat -n /etc/fstab
tail:显示文本内容,默认显示后10行
tail [OPTION]... [FILE]...
-n #:显示文本后#行内容
-f:查看文件尾部内容结束后不退出,跟随显示新增的行
示例: tail -8 /etc/passwd
head:显示文本内容,默认显示头10行
head [OPTION]... [FILE]...
-n #:显示文本头#行内容
示例: head -5 /etc/passwd
less:分屏显示文本内容,不主动退出
less [options] file [...]
Space键:显示文本下一屏内容
Enter键:只显示文本下一行内容
b键:显示文本上一屏内容
q键:退出
cp /etc/profile /tmp
vim /tmp/profile
:%s/^\s\+//
如图:
命令模式下输入:
:set tabstop=4
或写入用户配置文件~/.vimrc
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)