【51码儿】【Linux学习笔记】第2章 文件、目录管理

本笔记由51码儿(www.51mar.com)提供


2.1系统目录结构(上)
每个用户都有一个家目录,root用户家目录/root/
密钥登录时,应该在相应家目录下创建authorized_keys文件,普通用户家目录为:/home/username/,则创建/home/username/.ssh/authorized_keys,root用户家目录为/root/,则创建/root/.ssh/authorized_keys。其中文件名anthorized_keys原则上是不能更改的,若非要换成其他的文件名,需要去到配置文件/etc/ssh/sshd_config中更改定义。
useradd username创建新用户。
tree 树形显示目录及子目录(先要安装yum install -y tree)。
man command 获得command的帮助信息。
/bin/:/sbin/:/usr/bin/:/usr/sbin/ 存放常用命令,PATH环境变量。
/sbin/(superbin) 存放root用户使用的命令。
/boot/ 系统启动相关的文件,如grab。
/dev/ Linux系统中特有的一些设备文件,如光盘、鼠标、键盘等。
/etc/ 系统配置文件。
/home/ 用户家目录。
/lib/:/lib64/ 存放系统库文件,类似于windows中的.dll文件。
ldd command 查看command命令所依赖的库文件,如ldd /bin/ls。


2.2系统目录结构(下)
从centos7开始,不再区分32位和64位,都是64位。Centos6及之前版本有版本位的区别。
/media/ 媒介目录,默认为空。
/mnt/ 临时挂载目录,默认为空。
/opt/ 空目录。
/proc/ 系统启动进程。会生成PID(进程ID),每一个进程都有一个目录。cwd进程路径。
/root/ root用户的家目录。
/run/ 进程产生的一些临时文件,关机就消失。
/srv/ 空目录,存放一些服务service产生的文件。
/sys/ 存放一些系统内核相关的文件,平时不关注。
/tmp/ 临时目录,权限很大,任何用户都可以写、删、更改。
/usr/ 用户的一些文件,用户的一些服务会存放在/usr/local/下。
/var/
/var/log/ 存放系统日志。/var/log/messages存放系统总日志。
/var/run/ 存放进程PID。


2.3ls命令
参数:
-l 列出文件详细信息。
-i 列出inode号码(硬链接)。
-h 更易读地显示文件大小。
-a 显示全部的文件,包括隐藏文件(以 . 开头的文件)。
-t 依时间排序,而不是用文件名排序。
-d 只列出目录本身,不列出目录内的文件数据。
man ls查看系统提供的ls说明文件。
ll<=>ls -l
which ll 查看,得到:
alias ll=’ls -l --color=auto’ alias别名。


2.4文件类型
ls -l查看文件,得到:
---------- 1 root root 2134 3月25 20:35 install.log
文件权限 连接数 所有者 所属组 大小 最后被修改时间 文件名
文件权限(10位):----------
第一位:
d表示目录。
_表示文件,普通文件可用cat查看。
c表示字符串设备(鼠标、键盘等)。
l表示软链接文件,指向真正的文件,相当于windows的快捷方式。
b表示块(block)设备,光盘、磁盘等。
s表示socket文件,用于系统不同进程之间的通信。tcpip(ip+端口)用于两台机器之间的通信,而socket文件用于同一机器两个进程之间的通信。


2.5alias命令
which filename 查看filename文件所在路径。
which command 查看命令所在路径,可查看别名。
alias 查看系统中所有的别名。
echo $PATH 查看PATH环境变量所包含路径。
which 是在$PATH所包含的路径中去查询。
alias name=’command’,命名别名,如alias ll=’ls -l --color=auto’
unalias name 取消别名,如unalias ll


2.6相对和绝对路径
绝对路径:从根开始。
相对路径:相对于当前路径。
pwd显示当前路径
cd change directory改变目录


2.7cd命令
cd -返回上次目录。
cd <=>cd ~ 进入当前用户的家目录。
cd .. 进入上级目录


2.8创建和删除目录mkdir rmdir
mkdir 参数 dirname创建目录。
参数:
-p:级联创建所需要的目录。
rmdir 参数 dirname删除目录。
参数:
-p:级联删除空目录。
tree dirname树形显示目录。


2.9rm命令
touch filename可创建新文件。
rm 参数 filename删除文件。
参数:
-f 强制删除,不报错。
-r 级联删除目录及文件。
-v 可看到删除过程。
!tree使用命令历史里上一次以 tree开头的命令。


2.10环境变量PATH
PATH环境变量是which查找的路径。
直接定义的变量,如PATH=$PATH:/tmp/,关机后失效。若要使其永久生效,需要将PATH=$PATH:/tmp/配置到/etc/profile中。


2.11cp命令
cp 参数 源文件(源目录) 目标文件(目标目录)
参数:
-r 可拷贝目录(拷贝目录的时候末尾加斜杠)。
-i 交互,会询问,安全选项。
which cp
alias cp=’cp -i’
/usr/bin/cp
若不要询问,用/usr/bin/cp命令。
!$:表示上一条命令的最后一个参数。如:
cd /tmp/
tree !$<=>tree /tmp/
拷贝目录的时候,若目标目录已经存在时,将源目录直接放到目标目录下去,会询问是否覆盖;若目标目录不存在,将源目录拷贝过来,并改名字。


2.12mv命令
mv 参数 源文件(源目录) 目标文件(目标目录)
源文件与目标文件在同一目录时,相当于重命名。
若目标已经存在时,询问是否覆盖。
移动目录:
目标目录不存在时,相当于改名字。
目标目录存在时,将源目录放到目标目录之下去。


2.13文档查看cat more less head tail
cat 查看文内容.
tac 反向查找的文件内容。
wc -l filename 查看文件行数。
>> 追加重定向,将前面的内容追加到后面文件里。
more filename Ctrl+F/空格Space往下翻页,Ctrl+B往上翻页。
less filename Ctrl+F/空格Space往下翻页,Ctrl+B往上翻页。支持方向键上下移动。
在查看文件内,
/char,从前往后定位char;
?char,从后往前定位char。
n继续往下定位;N继续往反方向定位。
g定位到行首;G定位到行尾。
head -n X fileneme 查看文件前X行(head fileneme 默认10行)。
tail -n X filename 查看文件后X行(tail fileneme 默认10行)。
tail -f fileneme 动态显示文件内容。


2.14文件或目录权限chmod
— | — — — | — — — | — — — | .(有点受制/无点不受制)
文件类型|所有者权限|所属组权限|其他人权限|是否受制于selinux
权限位:— — —对应于rwx
可读r=4,可写w=2,可执行x=1,相加得到相应用户或组的权限。
chmod (参数) XXX filename/dir 修改文件/目录权限为XXX。XXX也可以表示为:u=rwx,g=rw,o=rw,根据实际情况设置相应权限位。也可以用a+x(o+x,g+x,o+x)表示:a=all(ugo),指在所有的权限上都加上x权限。同时a-x,也是可以使用的。
参数:
-R 递归更改目录及其子目录权限。


2.15更改所有者和所属组chown
chown username filename 更改所有者
chgrp group filename 更改所属组
chown username:group filename 同时更改所有者和所属组,可省略所有者,只更改所属组(冒号:不能省略)。
可添加-R参数,目录递归更改。


2.16umask
默认权限umask,默认0022(022)
文件666(rw-rw-rw-)-022(----wx-wx)
目录777(rwxrwxrwx)-022(----wx--wx)
运行umask,可查看当前用户的umask值,可添加-S参数。
umask 0XXX 可设置umask值,前面的0可省略。


2.17隐藏权限lsattr_chattr
chattr [+-=]参数 filename/dir 增加隐藏权限。
lsattr [+-=]参数 filename/dir 查看隐藏权限(可添加-R参数目录递归查看)。
+:增加一个隐藏权限。
-:减去一个隐藏权限。
=:更改为后面接的隐藏权限。
参数:
i 使文件不能删除,改名,写入等操作,仅root可设置该属性。
a 使文件只能增加数据,不能删除,不能修改,仅root可设置该属性。


2.18特殊权限set_uid
set_uid权限(S权限),使用户在操作文件的瞬间,临时拥有所有者的身份,只有二进制文件设置该权限才有意义。系统中只有/etc/passwd具有该属性,显示在所有者权限的x位,显示为S或s。
S:无x权限
s:S+x
其实S本身也具有x的权限。


2.19特殊权限set_gid
set_gid权限(S权限),使用户在操作文件的瞬间,临时拥有所属组的身份,可作用于文件或目录。该属性显示在所属组权限的x位,显示为S或s。
当给目录设置了set_gid之后,在该目录下创建文件或目录时,所创建的文件或子目录的所属组会跟随父级目录。


2.20特殊权限stick_bit
stick_bit权限(t权限),防删除位。作用于目录的权限,在该目录下,谁的文件谁做主,除了所有者和root用户外,其他用户可以更改但无法删除。系统中/tmp/具有该属性。该属性显示在其他人权限的x位,显示为t。该权限由父级目录决定(对文件或目录的删除权限由父级目录决定)


2.21软链接文件
ln -s 源文件 目标文件 设置源文件的软链接文件。
做软链接尽量使用绝对路径


2.22硬链接文件
ln 源文件 目标文件 相当于创建了一个具有相同inode号的文件,源文件与目标文件相互为硬链接。不会占用多余的空间。
只能对文件做硬链接,不支持目录,且做硬链接不能跨分区。


2.23find命令(上)
查找:which、whereis、locate
updatedb 可手动更新locate查询数据库
快捷键:
Ctrl+C:取消执行。
Ctrl+L:光标定位到第一行。
Ctrl+D:往后一个一个删除。
Ctrl+U:往前全部删除。
Ctrl+E:光标跳到最后面,同End键。
Ctrl+A:光标跳到最开始,同Home键。


2.24find命令(中)
find PATH 参数条件 查找符合条件的文件或目录。
参数:
-type 后接类型:文件f,目录d,连接文件l,设备文件b或c等。
-name 后接文件名,支持正则。
-mtime modification time,最近的文件内容被更改的时间。
-ctime status time,最近的文件状态被更改的时间。
-atime access time,最近的文件内容被访问的时间。
对于几个时间参数均有下列用法:
-mtime -1 指文件被更改时间在一天以内。
-mtime +1 指文件被更改时间在一天以上。
-mmin -60 指文件被更改时间在60min以内。
可跟连续多个判断条件,表示并且;用-o连接,表示或者。
-size [+-] SIZE 查找比SIZE还大(+)或还小(-)的文件。c表示byte,k表示kb(1024bytes),M表示Mb。
stat filename 查看文件信息。


2.25find命令(下)
找文件的硬链接(文件(非目录),inode号大于等于2):
ls -i filename,获得文件的inode号。
find / -inum inode号 获得该inode号所指向的所有文件,也就是文件硬链接。
find PATH 参数条件 -exec ls -l {} \; 将find找到的文件放到exec后面命令的{}处执行。{}表示find找到的文件列表。本处指ls -l {}显示find找到的文件详细信息。注意\;不能省略,其中\表示后面是脱义字符。


2.26文件名后缀
文件名后缀不代表文件类型,权限位前的符号才表示文件类型。相同类型文件可以不具备相同后缀名,后缀名本身没有任何意义,只是为了方便认识。


2.27Linux和windows互传文件
yum install -y lrzsz,需要安装lrzsz包之后,用Xshell或者securecrt才能互传文件。
sz filename 将文件从linux传到windows,弹出对话框选择目标路径。
rz 将文件从windows传到linux上的当前目录下,弹出对话框选择文件。

转载于:https://blog.51cto.com/2821449/2090965

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值