6月1日任务
2.1系统目录结构
/root:root用户的家目录
家目录:存该用户的配置文件及相关文件
与超级管理员root不同,普通用户的家目录默认在/home下同名目录中。
【之前讲的相关密钥认证配置的部分,ssh目录以及文件authorized_keys,都是ssh程序文件中规定好的,必须按照要求写。如果想要修改则必须从配置文件入手:/etc/ssh/sshd_config
[root@localhost ~]# yum -y install tree
[root@localhost ~]#
tree --hep //查看帮助信息。
tree: Invalid argument -`-'.
usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]
[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
[--filelimit[=]#] [--si] [--timefmt[=]] []
[root@localhost ~]# man tree //显示一个命令的帮助文档。
-L level
Max display depth of the directory tree. //查看目录深度。
“/”下面都有那些目录:
/bin,/sbin,/usr/bin,/usr/sbin:存放的都是常用命令
/bin,/sbin的区别:/sbin下的命令一般都是root用户使用的,普通用户没有权限。/bin目录下的命令是普通用户有权使用的。
为什么在命令行直接输入命令字可以直接实现相对应的效果:命令字基本都是对应的文件。因为有PATH环境变量。
/boot:系统启动相关的文件
/dev:Linux系统中特有的一些设备文件。鼠标,键盘,光盘,硬盘。文件名显示黄色,一般就为设备文件。
/etc:系统的配置文件所自带的路径。比如网卡文件的位置。
/home:用户的家目录,存放用户的家目录文件
/lib,/lib64:存放系统库文件的,很多命令会依赖库文件。/lib64文件名显示绿色,为库文件
[root@localhost ~]#
ldd /bin/ls //查看命令依赖于哪些库文件,比如ls命令
linux-vdso.so.1 => (0x00007ffde7f91000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f95c64c1000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f95c62bc000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f95c60b2000)
libc.so.6 => /lib64/libc.so.6 (0x00007f95c5cef000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f95c5a8d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f95c5888000)
/lib64/ld-linux-x86-64.so.2 (0x000055e18cccf000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f95c5683000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f95c5467000)
2.2 系统目录结构
从centos7开始,不再区分32位与64位,全部都是64位啦。
【那么32位和64位有什么区别呢:最大的区别就是识别的内存大小不一样。32位操作系统比如XP最多识别到3.2G的内存,即使实际内存有8G。如果想要识别更大的内存,需要64位系统
/media:媒介目录,默认是空的。如果插入一张光盘,他会默认放到此目录
/mnt:临时挂载目录,默认也是空的。可以把增加的光驱,硬盘临时挂载。
/opt:默认空目录
/proc:系统启动进程,生成PID,每个进程都有一个目录。目录中cwd文件指出进程在哪里运行,虚拟内存,使用的命令等。
/root:root用户的家目录
/run:进程产生的临时文件。run存放关机重启就会消失的文件
/srv:server缩写,服务。会存服务产生的文件。默认空
/sys:存系统内核相关的文件。平时不会去动
/tmp:系统的临时目录。权限开放的很大,任何用户都可以写删改。还有特殊权限:普通用户user1,user2自己管理自己的文件,别人没有权限。
/usr:用户的文件。系统用户所用到的一些/usr/lib,/usr/lib64等。与/bin,/sbin等都是差不多的。类型作用差不多。
/var:/var/log会存日志,系统日志/var/log/messages。/var/run,进程PID也可能存放在这里。
总结一下比较重要的几个目录:/usr/bin,/usr/sbin,/bin,/sbin,/etc,/var,/usr/local。
2.3 ls命令
ls -l列出详细信息
[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1418 5月 30 07:05 anaconda-ks.cfg
权限有多少文件使用了相同的inode所有者所属组文件大小创建时间文件名
查看文件inode:inode会记录这个文件存放在磁盘的哪一个块,哪一个区域。两个文件使用一个inode那么它们在同一块磁盘位置,内容是一样的。硬链接。
inode是用来存放文件详细信息的(比如属性,权限,所有者,所属组,大小,时间)
[root@localhost ~]#
ls -i anaconda-ks.cfg
33574978 anaconda-ks.cfg
-h:使用更易读的方式显示文件大小
[root@localhost ~]# ls -a //显示所有文件,包括隐藏文件及目录
. anaconda-ks.cfg .bash_logout .bashrc .lesshst .tcshrc //"."代表当前目录,“..”代表上级目录
.. .bash_history .bash_profile .cshrc .ssh
硬链接文件个数也可以理解为该目录下有多少子目录。
[root@localhost ~]#
ls -lta //-t是时间的意思,以时间为标准倒叙排序(时间越晚越在前)
总用量 32
-rw-------. 1 root root 38 6月 1 21:28 .lesshst
dr-xr-x---. 3 root root 163 6月 1 21:28 .
dr-xr-xr-x. 18 root root 258 6月 1 21:14 ..
-rw-------. 1 root root 758 5月 31 00:47 .bash_history
drwx------. 2 root root 80 5月 31 00:42 .ssh
-rw-------. 1 root root 1418 5月 30 07:05 anaconda-ks.cfg
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
[root@localhost ~]#
ls -ld /root/ //-d显示目录本身属性,一般于 -l选项一起使用。
dr-xr-x---. 3 root root 163 6月 1 21:28 /root/
[root@localhost ~]# ls -l /root/
总用量 4
-rw-------. 1 root root 1418 5月 30 07:05 anaconda-ks.cfg
[root@localhost ~]# man ls //查看ls命令的其他选项。
ls -l = ll //别名alias
[root@localhost ~]# which
ll
alias ll='ls -l --color=auto'
/usr/bin/ls
2.4 文件类型
通过ls -l查看到的文件详细属性中,第一列中的权限的第一位是指明文件类型
d:目录
-:普通文件。文件名是绿色的二进制文件不能打开查看,因为是编译过的文件。
c:字符串设备。文件名显示黄色
l:软连接文件。文件名显示粉绿色
b:块设备。光盘,磁盘。也显示黄色
s:套接字文件,用来通信的,相互之间传数据,传递信号。文件名显示粉色
【两台服务器之间通信使用tcp/ip协议,IP+端口的形式。同一台机器的两个进程之间通信,使用套接字文件的形式
2.5 alias命令
使用which查看命令别名
[root@localhost ~]# which ls //查找命令文件所在位置。
alias ls='ls --color=auto' //有别名
/usr/bin/ls
[root@localhost ~]# which man
/usr/bin/man //没有别名
如果不想使用别名,比如ls。那么直接通过绝对路径执行即可
/usr/bin/ls 。/bin/ls和/usr/bin/ls是软连接关系。
执行alias,可以看到系统各种设置的所有别名。which命令本身也是别名
PATH:系统的环境变量,变量名
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
就是一系列的路径,如果命令在这些目录下面,那么直接运行命令即可生效;如果不在,那么不会生效,识别不到命令所在位置。
自己设置个别名:
[root@localhost ~]# which myls
/usr/bin/which: no myls in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]# alias myls="ls -alh"
[root@localhost ~]# which myls
alias myls='ls -alh'
/usr/bin/ls
[root@localhost ~]# myls
总用量 32K
dr-xr-x---. 3 root root 163 6月 1 21:28 .
dr-xr-xr-x. 18 root root 258 6月 1 21:14 ..
-rw-------. 1 root root 1.4K 5月 30 07:05 anaconda-ks.cfg
-rw-------. 1 root root 758 5月 31 00:47 .bash_history
取消别名:
[root@localhost ~]# unalias myls
[root@localhost ~]# myls
-bash: myls: 未找到命令