2.1/2.2 系统目录结构
2.3 ls命令 2.4 文件类型 2.5 alias命令 2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令 2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail 2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask目录结构树:
一、系统目录结构
ls /
/root/ root用户的家目录,存放配置文件
创建普通用户 : useradd 后跟用户名
/home/user1/ 是普通用户user1的家目录
tree 树形的形式显示目录和文件
如果没有找到命令,需要先安装:yum install -y tree
tree --hep 可以查看常用选项
或man 显示一个文件的帮助文档:man tree
tree -L 2 / 最大目录为2层
/bin/ /sbin/ /usr/bin/ usr/sbin/ 存放常用命令
/sbin 存放 root 用户使用的命令,普通用户无法实用
/bin 存放普通用户的命令,root用户也可以实用
/boot/ 系统启动相关的文件,如果删掉里面的文件,系统将无法启动
/dev linux中的设备文件
/etc 系统的配置文件所在目录
/home 用户的家目录
/lib 存系统的库文件
/lib64 存系统的库文件,大部分命令会依赖一些库,查看命令依赖关系:ldd
/media 媒介目录,默认是空的
/mnt 挂在目录,默认是空的
/opt 空目录
/proc 系统启动的进程
/run 进程产生的临时文件,重启或关机会消失
/srv 是空的,存服务产生的文件
/sys 存系统内核相关的文件
/tmp 系统的临时目录
/usr 存放用户的文件 /usr/local/ 存放服务
/var 存放系统日志,重要目录
/usr/bin/、usr/sbin/、 /bin、 /sbin、/etc、/var、/usr/local 常用的目录
从centOS7系统以后,就不再区分32位和64位版本,只有64位系统。(32和64识别的内存不同)
二、ls 命令:
ls -l 列出文件的详细信息
第一列:权限
第二列:表示有多少文件使用了相同的inode,目录下面有几个子目录,数字就是几
第三列root,表示所有者是谁
第四列:所属组,root用户组
第五列:文件大小(单位可使用ls -lh查看)
第六列:文件创建时间
第七列:文件名
使用ls -i anaconda-ks.cfg 列取anaconda-ks.cfg文件的inode,前面的33582978数字是inode号,inode号是储存除了文件名以外的所有文件信息
ls -lh 更直观的显文件大小
ls -la 查看目录下所有隐藏的文件 '.' 点开头的就是隐藏文件或目录 (ls -a)
. 当前目录 .. 上级目录
ls -lta t是时间的意思,按时间顺序排序
ls -d 显示目录本身。 如果不加-d,会把目录下的子目录和子文件列出来,如果加-d只显示目录本身
可以使用man 查看更多命令
三、文件类型
**说的几个常用 -l -i -a -t -h -d
文件属性前面第一排就是文件类型,在权限前面
常见:- 是普通文件
d 文件夹
c 字符串设备,鼠标键盘
l 软连接文件
b 块设备,(光盘或磁盘)
s 通信文件
find 查看指定文件
四、alias 命令
alias 命令的别名,查看有别名的命令,永久生效写到proflie中
自定义一个命令: alias tobe ='ls -lha'
取消自定义别名: unalias tobe
可以通过which查看命令别名
五、相对和绝对路径
绝对路径是从根开始的 ( /etc/sysconfig/network-scripts/ifcfg-ens33)
相对路径:相对我所在位置的路径(.ssh/authorized_keys相对路径,相对root)
查看当前目录:pwd
六、cd 命令 man cd 查看(可通过有道词典(或其他翻译软件)翻译)
change directory --> cd 切换所在目录
cd - 进入上次操作目录
cd 回到登录用户家目录
cd ~ ~就是用户的家目录
cd .. 进入上一级目录
七、创建和删除目录mkdir rmdir
建立目录: mkdir 目录名
递归建立目录: mkdir -p /root/tobe1/1/2
可视化创建目录能够看到创建过程: mkdir -pv /root/tobe1/2/3/4
删除目录:rmdir 只能删除非空目录
创建空文件: touch 文件名
八、rm命令
rm 可以删除非空的文件,不能删除目录
rm -rf 文件/目录
-r 删除目录
-f 强制
!tree (!) 在命令里找最近一次使用过的tree命令
history 查看历史用过的命令
rm -rfv /root/tobe1/2/3/ v可以看到过程
九、环境变量PATH
添加环境变量
设置永久的额环境变量
vi /etc/profile 设置开机都会去加载该命令,在文件最后一行加上该命令
去掉环境变量/tmp
重新赋值:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
十、cp 复制
cp 源文件 目标文件
cp /etc/passwd /tmp/1.txt
-r 复制目录
cp -r /root/tobe1/ /tmp/abc
如果当目标目录已经存在时,会把源目录放到目标目录下,如果不存在,会把源目录拷贝过来并改名字
tree !$ (!$表示上一个命令的最后一个参数,以空额或tab键分割)
cp -i (-i 安全选项,提示作用,如果不想出现提示,/usr/bin/cp /etc/passwd /tmp/1.txt直接使用cp命令是带-i 参数的)
-a 所有(包括文件属性一起复制)
十一、mv命令
mv 剪切或改名
把1.txt改名成123.txt
mv 源文件 目标位置
把123.txt移动剪切到/tmp/目录下并改名成333.txt
如果当前不目录不存在相当于改名字,如果目标目录存在,会把源目录放到目标目录下面
cp mv 如果右边是一个目录,一定要带一个/
十二、文档查看cat、more、less、head、tail
wc 可以查看一个文件的行数,cat /etc/passwd >> anaconda-ks.cfg 把passwd中的内容追加(增加)到anaconda-ks.cfg
cat 查看文件内容 cat -A 文件行尾加结束符
cat -n 显示行号
tac 倒叙查看文件内容
more 查看文件内容,不显示全部(只显示一页,按空格向下翻页,按ctrl B 向上翻页)
less 和more用法相同(支持方向键,快捷键 ctrl f 往后,b往前,看完后要按q键退出,并且可以通过/搜索,按n键向下查找,shift n向上看,?按n向上看,搜索同理,大写G直接到文本最后,小写g到文本最后最顶部)
head 查看文件前几行 head -n 2 anaconda-ks.cfg
查看anaconda-ks.cfg文件前两行
tail 查看文件后几行 tail -n 2 anaconda-ks.cfg
查看anaconda-ks.cfg文件前两行
tail -f anaconda-ks.cfg 动态显示文件内容 看日志时使用
十三、文件或目录权限chmod
一个文件有三个权限位 rw-(代表可读可写不可执行) ---(代表不可读不可写不可执行) ---(代表其他用户权限:不可读不可写不可执行)
第一段,文件的所有者的权限 属主权限u=user
第二段,所属组的权限 属组权限g=group
第三段:除了所有者和所属组其他用户的权限 其他人权限o=other
数字表示:
r 读 4
w 写 2
x 执行 1
- 代表不可以执行
rwx =7 rw- = 6 --x =1
rw-r--r-- = 644
chmod 修改权限(只目录本身生效)
chmod 755 2.txt
chmod u=rwx,g=r,o=r 2.txt
chmod a(g/o)+x或a(g/o)-x 2.txt a表示所有
. 代表文件受制于selinux,如果开启selinux会有.只有更改配置文件,并关闭后在创建就不会存在.了
chmod -R (目录下的所有目录和文件的权限都会更改)
十四、更改所有者和所属组chown
chown -R (目录下的所有目录和文件的所有者和所属组都会更改)
chown user1(所有者):user2(所属组) 1.txt
chown :root(所属组) 1.txt 只更改了所属组
chown user1 1.txt 把1.txt的所有者更改为user1
chgrp user1 1.txt 使用chgrp 更改1.txt所属组
十五、umask
系统root用户的umask值(普通用户的umask和root的umask值不同)
umask 022 644 755
002 664 775
目录=777- 022 = 755
文件=666- 022 = 644
当umask =003时,文件算法666=(rw-rw-rw-) -(-------wx)=rw-rw-r--=664
目录算法777=(rwxrwxrwx) -(-------wx)=rwxrwxr--=774
配置文件: /etc/profile