[root@localhost ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost ~]# ls /root/.ssh/authorized_keys
[root@localhost ~]# vi /etc/ssh/sshd_config //密匙存放位置在次定义
[root@localhost ~]# yum install -y tree //tree树形的方式显示目录文件
[root@localhost ~]# tree --help
[root@localhost ~]# man tree //查看帮助
[root@localhost ~]# tree -L 2 / //显示根目录下两层的目录
常用的目录有:/bin /sbin /usr/bin /usr/sbin /etc /usr/local /var
/lib 查看命令依赖哪些库:ldd
[root@localhost ~]# ldd /bin/mkdir
/media /mnt /opt /sry默认是空的
/proc
可以查看进程从哪里启动的 [root@localhost ~]# ll /proc/22
/bin:bin是Binary的缩写,该目录下存放的是最常用的命令。
q/boot:该目录下存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
q/dev:dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备。在Linux中,访问设备的方式和访问文件的方式是相同的。黄色的文件是设备文件
q/etc:该目录下存放的是所有系统管理所需要的配置文件和子目录。
q/home:这是用户的主目录。在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
q/lib和/lib64:这两个目录下存放的是系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。其中/lib64为64位的软件包的库文件所在目录。
q/media:系统会自动识别一些设备(如U盘、光驱等),当识别后,Linux会把识别的设备挂载到该目录下。
q/mnt:系统提供该目录是为了让用户临时挂载别的文件系统。我们可以将光驱挂载到/mnt/上,然后进入该目录查看光驱里的内容。
q/opt:这是给主机额外安装软件所设置的目录,该目录默认为空。比如你要安装一个ORACLE数据库,可以放到该目录下。
q/proc:该目录是一个虚拟的目录,是系统内存的映射,我们可以通过直接访问来获取系统信息。该目录的内容在内存里,我们可以直接修改里面的某些文件。比如可以通过下面的命令来屏蔽主机的ping命令,使其他人无法ping你的机器。后续,在日常工作中,你会经常用到类似的用法。系统启动的一些进程,生成一个pid,每个进程都有一个目录
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
q/root:该目录是系统管理员的用户主目录。
q/run:这个目录其实和/var/run是同一个目录,这里面存放的是一些服务的pid,一个服务启动完后,是有一个pid文件的。至于为什么说是同一个目录,Linux是如何做到的,后续我们再介绍。
q/sbin:s就是Super User的意思,该目录存放的是系统管理员使用的系统管理程序。
q/srv:该目录存放的是一些服务启动之后需要提取的数据。
q/sys:该目录存放的是与硬件驱动程序相关的信息。
q/tmp:该目录是用来存放一些临时文件的。
q/usr:这是一个非常重要的目录,类似于Windows下的Program Files目录,用户的很多应用程序和文件都存放在该目录下。后面的章节中,我们会多次用到这个目录。
q/usr/bin:该目录存放的是系统用户使用的应用程序。
q/usr/sbin: 该目录存放的是超级用户使用的比较高级的管理程序和系统守护程序。
q/usr/src :该目录是内核源代码默认的放置目录。
q/var:该目录存放的是在不断扩充且经常被修改的目录,包括各种日志文件或者pid文件,刚刚提到的/var/run就是在/var目录下面
在Linux系统中,有几个重要的目录需要注意,不要误删除或者随意更改其内部文件。下面阿铭再简单总结一下这几个重要的目录。
q/etc目录下是系统的配置文件,如果更改了该目录下的某个文件可能会导致系统无法正常启动。
q/bin、/sbin、/usr/bin和/usr/sbin目录是系统预设的执行文件的放置目录,其中/bin和/usr/bin目录下是供系统用户使用的指令(除root外的通用账户),而/sbin和/usr/sbin目录下则是供root使用的指令。比如ls指令就存放在/bin/目录下。
q/var也是一个非常重要的目录,系统上运行各个程序时所产生的日志都被记录在该目录下(即/var/log目录中),另外mail指令的预设也放置在这里。
2.3 ls命令
ls 列出文件系统目录或文件
选项:
-l 列出文件目录的详细信息(分别是权限、inode、用户、用户组、大小、时间、文件名)
-i 查看inode(存的就是详细信息,一样的inode表示数据存放在磁盘的数据块位置是一样的)
-h 更人性化的显示单位大小
-a 查看所有隐藏的文件和目录
-d 显示目录(只显示目录本身)
-t 时间(时间越晚的在上)
[root@localhost ~]# ll -a
总用量 36
dr-xr-x---. 3 root root 4096 10月 18 23:10 . //表示当前的目录(inode和/root/一样)
drwxr-xr-x. 17 root root 4096 10月 20 16:02 ..
-rw-------. 1 root root 973 10月 15 22:41 anaconda-ks.cfg
-rw-------. 1 root root 592 10月 19 00:44 .bash_history
[root@localhost ~]# ll -d /root/
dr-xr-x---. 3 root root 4096 10月 18 23:10 /root/
[root@localhost ~]# mkdir lsx/.lshx
[root@localhost ~]# ll -ia lsx/
总用量 4
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 . //3个inode的也可以变相的认为有3个子目录
33595521 dr-xr-x---. 4 root root 4096 10月 20 17:52 ..
17537720 drwxr-xr-x. 2 root root 6 10月 20 17:58 .lshx
[root@localhost ~]# ll -id lsx/
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx/
[root@localhost ~]# ll -id lsx/.
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx/.
[root@localhost ~]# ll -id lsx/.lshx/..
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx/.lshx/..
[root@localhost ~]# ll -d /root/ //加d和不加d的区别
dr-xr-x---. 4 root root 4096 10月 20 17:52 /root/
[root@localhost ~]# ll /root/
总用量 4
-rw-------. 1 root root 973 10月 15 22:41 anaconda-ks.cfg
drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx
借助其他选项man
2.4 文件类型
- :普通文本类型
l :软链接类型
d :目录类型
c :字符串设备
b :块设备
s :sock文件,用来通信的
2.5 alias命令
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Which 查找二进制命令,按环境变量PATH路径查找
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
设置别名:
[root@localhost ~]# alias vi='vim'
[root@localhost ~]# which vi
alias vi='vim'
/usr/bin/vim
取消别名:
[root@localhost ~]# unalias vi