7.26预习
第二课预习任务
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
各种目录的作用
useradd zsy 创建一个名叫zsy的用户
tree 以树形结构查看目录 ,但是需要安装tree这个工具,具体命令如下:
稍等片刻就可以安装完成,然后就可以使用 tree命令。
比如以树形结构查看etc目录下的文件
效果类似于这样,由于文件太多,只能截取部分效果图。
man命令,可以查看一个命令的说明,比如man tree就可以查看tree命令的详细信息。
tree的主要参数
tree -L 2 /etc/ 树形显示到etc的2级目录
常用命令都是保存在bin和sbin目录下
boot 系统启动相关文件,内含grub等文件。
etc目录下保存一些配置文件
home 用户家目录
lib lib64 存放库文件
ldd /bin/ls 查看ls命令依赖哪些库
media 插入U盘会存放在这个目录下面
mnt 临时挂载点,挂光驱之类的
opt oracle会安装到opt下
proc 存放一些启动的进程
run 是进程产生的一些临时文件
srv=services 存放服务产生的一些文件
sys 存放系统内核的一些文件
tmp是系统的临时目录
usr 文件系统经常很大,因为所有程序安装在这里
var目录里的内容经常变动,例如/var/log
各种命令的作用及参数
ls
ls=list 列出目录或文件
比如列出根目录下都有哪些文件夹
ls -l 列出文件的详细信息
-rw------代表权限(第一位的“-”表示普通文件,可以cat,但是绿色文件,例如ls不可以查看,它是编译过的;d代表目录;c代表字符串设备;l代表软连接文件;b代表块设备,即block;s代表socket文件,用于通信) 1 代表有1个文件拥有相同的inode号 第一个root表示所有者是谁 第二个root表示所属组 1418代表文件的大小 在查看文件详细信息的时候 可以用ls -lh命令,意思是用合适的单位查看文件的大小。Jul 25 08:49代表文件的创建时间 anaconda-ks.cfg就是文件名
ls -i 查看文件的inode号
ls -la 查看隐藏文件(.开头的)详细信息
ls -d仅显示目录名,而不显示目录下的内容列表
ls -ld /root/ 显示root目录本身的详细信息
ls -t 按最新顺序排列文件
ls -lta /root/
其余更多命令可以 man ls查看
ll=ls -l
which可以看命令的别名,比如which ls
alias 查看哪些命令有别名
echo $PATH 查看PATH变量的内容
自定义别名:alias zsy='ls -lha'
相对路径,就在在当前路径下;绝对路径就是在root下。
CD
cd就是change directory 改变路径
cd 进入当前用户的家目录
cd - 和上一次目录来回切换,因为第一次没切换过目录,所有会出现-bash:cd:OLDPWD not set
cd ~ 其实就是切换到家目录
cd .. 进入上一级目录
cd其余参数,参考man cd
mkdir=make directory 创建目录
mkdir -p 级联创建一串目录 -v可视化,可以看到创建过程
rmdir=remove directory 删除目录
rmdir -p /tmp/zsy/1/2 级联删除非空目录(只能删目录!而且要非空!)
那如果要删除文件和非空目录怎么办?就得用到rm命令了
touch /tmp/zsy/1/2/1.txt 创建一个空文件
rm -f /tmp/zsy/1/2/1.txt 强制删除文件
rm -r /tmpzsy/1/2/ 级联删除目录及目录下的内容
history查看历史命令
!tree 使用最近一次tree开头的命令
PATH是一个变量,运行命令的时候,会在PATH指定路径下查找该命令,那么PATH宝安的路径由哪些呢?这就得使用echo $PATH来查看了。
更改变量 PATH=$PATH:/tmp/ 意思是把/tmp也添加到PATH的路径中,这样就可以不打绝对路径,直接运行ls2命令。
但是以上命令重启后就会失效,若要永久保存,则需要编辑vi /etc/profile文件
在最后将PATH=$PATH:/tmp/ ,然后esc, :wq退出即可。
CP
cp=copy
cp /usr/bin/ls /tmp/ls2 的意思是复制/usr/bin下的ls到/tmp目录下,并命名为ls2
cp -r 的意思是拷贝目录 cp -r /tmp/zsy/ /tmp/zsy1/
直接用cp会带-i参数,会询问是否覆盖等。使用/usr/bin/cp 则不会询问。
mv
mv=move 移动文件
同目录下使用mv命令相当于更改文件名
mv ls2 zsy/ 将ls2文件移到zsy目录下
文档查看命令
首先将etc/111/222.txt写入内容
然后使用cat 查看文档内容
-A 在结尾显示$符号
-n 显示行号
tac倒序查看文档内容
more 一屏一屏显示,按空格键往下看,按ctrl+b看前一屏,看完以后自动退出。
我们先扩充222.txt的文件内容,让它无法在一个屏幕中显示完全。
然后使用more命令查看222.txt文件的内容
wc -l可以查看文件的行数
〉〉 是重定向符号,可以用来追加内容
首先查看/etc/passwd的内容
然后使用cat /etc/passwd >> /etc/111/222.txt 将passwd的内容添加到222.txt中
再次查看222.txt的内容,可以发现多了很多内容。
less 效果类似于more,但是比more方便,一屏一屏显示,按ctrl+b查看前一屏,按ctrl+f查看后一屏。按空格键往下看,支持方向键上下,按q才能退出。
使用/可以从前往后搜索,比如/cdroom意思在文档中高亮显示cdroom。按n键,可以高亮显示下一个cdroom的位置。
使用?可以从后往前搜索。按G(shift+g)可以快速定位到行尾,按g可以快速定位到行首。
head -n2 显示文件前两行 tail -n2 显示文件后两行,tail -f 还可以动态显示文件内容。
修改文件或目录权限
chmod更改权限
首先查看1.txt的权限
此文件的权限为644
使用chmod u=rwx,g=rw,o=wx 赋予1.txt 763权限
chmod a+x 使文件的所有者、所属组和其他用户全部拥有x权限。chmod a-x,剥夺u g o 的x权限。
目前1.txt的权限为763
使用chmod a+x /1.txt后,再查看1.txt的权限,可以看到u、g、o三项都有了x可执行权限。权限变为773
使用chmod a-x /1.txt后,再查看1.txt的权限,可以看到u、g、o三项都失去了x可执行权限。权限变为662
也可以单独为某一个项增减权限,比如u+x,g+x,o+x。
chmod -R 处理指定目录以及其子目录下的所有文件。
chown =change owner,即更改所有者。
首先查看1.txt的所有者是root,接下来使用chown zsy 1.txt,是其所有者变更为zsy
chgrp =change group ,即更改所属组。方法与chown相同。
其实chown即可以改所有者也可以改所属组,着重掌握chown即可,具体用法是
chown zsy:user1 /1.txt
umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7。
首先在etc下创建一个111的目录
此时的umask值是0022
查看111目录的权限为 755
那么计算umask:777-755=022,看似是正确,但可能会存在问题。
正确的计算方法是(rwx rwx rwx)-(rwx r-x r-x)=(--- -w- -w-) 即022
在/etc/111目录下创建一个222.txt的文件,然后查看222.txt的权限
222.txt的权限为644
那么222.txt的补码: (rw- rw- rw-)-(rw- r-- r--)=(--- -w- -w-) 即022。