5-11笔记
2.1 2.2系统目录结构
(ls(list)是用来猎取文件或者目录的命令)
2.1.1根目录各文件夹详解
2.1.1.1root
是root用户的家目录,存配置文件及其他(如.ssh密钥)
查看root文件夹
# ls /root/
查看ssh密钥
# ls /root/.ssh/authorized_keys
root用户远程通过密钥登陆一个普通用户
a. 创建一个普通用户
# useradd ****
b. 在普通用户家目录下创建一个.ssh目录
ls /home/****/
c. 在.ssh文件夹内加入authorized_keys文件
(sshd的配置文件规定远程登录密钥必须放在/.ssh/authorized_keys内;如需修改文件名,要在配置文件内修改:ls/etc/ssh/sshd_config)
树状显示目录结构的命令:tree
安装tree命令功能
#yum install -y tree
#tree /
查看tree常用命令
#tree –hep
查看一个文件的帮助文档(内有详细命令解释)
指定目录显示层数(例如二层)
#tree -L 2 /
2.1.1.2/bin/ /sbin/ /usr/sbin/ /usr/bin/
这些文件夹用来存命令,例如ls tree man mkdir等等
sbin>是root用户常用命令,不可普通用户使用
bin>是普通用户常用命令,root(超级用户)亦可使用
2.1.1.3boot
boot 内存放系统启动的相关文件
# ls /boot/
例如更改里面的grub 进入单用户模式,以及其他系统启动关键文件,删掉可导致系统无法启动
2.1.1.4dev
dev文件夹是系统特有的设备文件(光盘、硬盘、键鼠等设备)
# ls /dev/
2.1.1.5etc
etc是配置文件所在的目录
例 修改网卡的配置文件 ssh配置文件
# ls /etc/sysconfig/network-scipts/ifcfg-ens33
# ls /etc/ssh/sshd_config
2.1.1.6home
home是普通用户的家目录
2.1.1.7lib lib64
是库文件所在的目录,如一些命令会依赖一些库(例如ls)
如何查看一个命令是否依赖哪个库:
# ldd /bin/ls
# ls /lib64/
绿色为库文件,浅蓝色为软连接
2.1.1.8 media
媒介空目录 例如连接优盘会自动到此文件夹内
2.1.1.9 mnt
临时挂载空目录
2.1.1.10 opt
空
2.1.1.11 prok
系统进程
查看进程>可以先查看此进程的pid>查看此进程软连接来自那个目录下
2.1.1.12run
一些进程产生的临时文件,如某进程产生的pid,就会储存在run文件下
# ls /run/
2.1.1.13srv
存储服务产生的文件
2.1.1.14sys
存放系统内核产生的一些文件
2.1.1.15tmp
系统的临时目录
2.1.1.16usr
存放用户文件(/usr/bin/ /usr/sbin/)
# ls /usr/
例如阿帕奇、mysql通常装在/usr/local/下
2.1.1.17var
var/log/messeges/存放系统日志
var/run/进程pid
(较常用目录总结:/usr/bin/ /usr/sbin/ /bin/ /sbin/ /etc/ /var/ /usr/local/)
2.3 ls 命令
-l查看详细信息
# Ls-l
ls -i查看文件inod 号
# ls -i anaconda-ks.cfg
Inod记录文件存在于磁盘的哪一个区域上,两个文件使用同一个inod,就意味着文件位置一样(路径不一样,名字不一样)
Ls -h
anaconda-ks.cfg 显示更加详细,人性化,大小单位等
#ls -lh
ls -a 查看目录下所有隐藏文件
# ls -la
ls -d
只列出目录本身
# ls-l 列出文件下的子目录
# ls-ld 只列出目录本身
产看目录详细信息,找到三个相同inod 目录
Ls -t
按时间排序
(# man ls 查看更多ls相关命令)
2.4 文件类型
dr-xr-x---
第一位表示文件类型:d代表目录,-代表普通文件
查看文本文档命令cat 无法查看 绿色/bin/ls二进制文件
cr-xr-x--- c表示字符串设备
l软连接文件
b块设备 光盘…
(# find 命令用来查看指定文件)
s 通信文件 (通信的两种方式之一)
2.5 alias命令
查看文件路径,别名:which
# which ll
查看具有别名的命令
# alias
自定义别名
# alias aming=‘ls -lha’
取消别名
# unalias aming
2.6 相对路径和绝对路径
绝对路径:是从 / 开始的
相对路径:相对所在目录的路径,只能找到此目录下的文件
查看当前所在目录的路径:# pwd
# cd(change directory)cd到指定目录
2.7 cd命令
cd -:交替到上一次所在目录
cd :进入当前用户家目录
cd ~ :=# /root
cd .. :进入上一级目录
# man cd 查看cd其他用法
2.8 创建和删除目录mkdir rmdir
创建目录aminglinux
# mkdir /tmp/aminglinux
创建多连续子目录:
# mkdir -p /tmp/aminglinux/1/2/
可视化创建目录:(可见创建过程)
# mkdir -pv /tmp/aminglinux/1/2/
删除目录
# rmdir /aminglinux/2 不可删除 只能删除空目录
# touch 用来创建一个文件
一次多删除
# rmdir -p /tmp/aminglinux/1/2/
2.9 rm命令
#rm /tmp/aminglinux/2/3/1.txt
关闭提问,强制删除:*(所有)(按两下tab,显示此目录下文件)
#rm -f /tmp/aminglinux/2/3/*.txt
(# !tree 使用最近一次使用的tree命令 touch同理
# history 查看使用过的所有命令)
# rm 不可删除非空目录
# rm -r 删除目录
不提问,全部删除
#rm -rf /tmp/aminglinux/2
2.10环境变量
PATH
例如which 查看文件,,实在PATH目录下找到的,不需要绝对路径,
# echo ¥PATH
为PATH赋值,使/tmp下 ls2的文件可以直接查看
#PATH=$PATH:/tmp/
使PATH永久生效:
开机或者打开终端都回去加载某个命令:
# vi /etc/profile
添加#PATH=$PATH:/tmp/
删除变量:
# PATH=(去掉/tmp/)
2.11 cp 命令
源文件拷贝成目标文件
# cp /etc/passwd /tmp/1.txt
拷贝目录
# cp -r /tmp/aminglinux/ /tmp/aming
(拷贝目录时,后要带/)
执行上一个命令的最后一个参数:!$
直接运行cp命令会有提问(带有-i参数),执行/usr/bin/cp,则不会提问
拷贝文件可以覆盖,拷贝目录会直接放到目标目录下,当目标目录不存在,则将原目录拷贝过来并改为心目录名字
2.12mv命令
移动文件,如在同一个文件则相当于该文件名字
更改文件名:
# mv anaconda-ks.cfg anaconda-ks.cfg.1
移动并修改名字
# mv 1.txt /root/2.txt
移动
# mv ls2 aming/
目标目录有相同文件是会提示是否覆盖,同样可以用绝对路径,避免提问
移动目录:目标目录不存在,即移动并改为目标目录名字,否则直接放入其目标目录下
2.13 文档查看 cat more less head tail
cat
查看文件内容 -A查看所有字符 自负后面$表示行尾结束符 -n cat同时会显示行号
tac
倒顺序查看文件内容
more
查看文件内容(对比cat是分屏显示 按空格显示下一页)
# cat /etc/passwd >>ananonda-ks.cfg.1将passwd内容增加到ananonda-ks.cfg.1内(追加)
# wc -l 查看文件行数
Ctrl +B 向上翻页 ctrl+f向后翻页
less 支持方向键滚屏幕 q退出
可输入/加要搜索的内容进行搜索
/root 按n键向后查看其他项 shift+n向前翻看
?root 倒叙查看搜索项
g直接显示到最后一行 shift+g
head 查看前十行
tail 查看后十行,查看动态文件(例如日志)
查看前两行
# heed -n 2
查看后两行
#tail -f
2.14 文件或目录权限chmod
九位三段
第一段 文件所有者权限
W=可写
R=可读
X=可执行
第二段 所属组
第三段 其他用户
用数字表示:r=4 w=2 x=1 rwx=7 rw-=6 --x=1 rw-r—r--=644
chmod修改权限
# chmod 700 2.txt
# chmod 700 /root/.ssh
有“点”受制于 selinux 如果开启不允许登陆,
# chmod -R 可将目录及里面的所有子文件和目录的权限更改(# chmod 只能更改目录本身)
# chmod u=rwx,g=r,o=r aming 也可以,较繁琐
所有段加权限,减掉权限
# chmod a+x aming2 # chmod a-x aming2 # chmod (u g o)+- aming2
2.15 更改所有者和所属组chown
chown 更改所有者
查看系统有哪些用户:
# cat /etc/passwd
# chown aming /tmp/yum.log
chgrp (change group) 更改所属组
# chgrp user1/tmp/yum.log
chown也可以一次性跟改所有者和所属组:
# chown user1:aming/tmp/yum.log
chown 还可以只更改所属组
# chown :root /tmp/yun.log
-R与chmod同理,,可以改目录及所有子目录文件所属组和所有者
2.16 umask
# umask 查看系统umask值0022
# umask 00002 前边0可省略为002
对比
022 644 755
002 664 775
规律 :
进入打开目录=执行x
777-022=755
666-022=644
666-002=664 错
例如umask改为003
转换为rwx形式进行计算判断出创建文件的权限