Linux学习
一、 系统目录结构
二、ls命令
三、 文件类型
四、alias命令
一、系统目录结构
1、root是在根目录下,普通用户是在home目录下
/下面有那些目录
[root@01 ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@01 ~]#
yum install -y tree 安装tree;
[root@01 ~]# yum install -y tree
tree查看文件目录结构;
[root@01 ~]# tree /root
/root
├── 1
├── 2
├── 3
│ └── 1
│ └── 2
│ └── 3
└── anaconda-ks.cfg
6 directories, 1 file
[root@01 ~]#
tree -L 2 /查看根目录下面最大显示深度为二级目录树;
[root@01 ~]# tree -L 2 /
/
├── bin -> usr/bin
├── boot
│ ├── config-3.10.0-693.el7.x86_64
│ ├── efi
│ ├── grub
│ ├── grub2
│ ├── initramfs-0-rescue-e72a6cf0e6444c778b426fbb78c4307d.img
│ ├── initramfs-3.10.0-693.el7.x86_64.img
│ ├── initramfs-3.10.0-693.el7.x86_64kdump.img
│ ├── initrd-plymouth.img
│ ├── symvers-3.10.0-693.el7.x86_64.gz
│ ├── System.map-3.10.0-693.el7.x86_64
│ ├── vmlinuz-0-rescue-e72a6cf0e6444c778b426fbb78c4307d
│ └── vmlinuz-3.10.0-693.el7.x86_64
├── dev
│ ├── agpgart
man命令解释文档;
[root@01 ~]# man tree
TREE(1) General Commands
Manual TREE(1)
NAME
tree - list contents of directories in a tree-like format.
最常用的目录:
[root@01 ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@01 ~]#
2、Linux下各目录的作用
/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小400M即可
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
注:/etc/X11存放与x windows有关的设置。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:通常会存放apache、mysql。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
/usr/bin /usr/sbin /bin/ /usr/bin /bin/ /sbin/ /etc/ /var/ /usr/local/ 这些目录比较重要和常用。
二、ls命令
1、ls命令的常用选项:
ls -l查看文件详细信息可以配合ls -lh使用,显示的更人性化;
[root@01 ~]# ls -l
total 4
drwxr-xr-x. 2 root root 6 Sep 11 09:57 1
drwxr-xr-x. 2 root root 6 Sep 11 09:57 2
drwxr-xr-x. 3 root root 15 Sep 11 09:57 3
-rw-------. 1 root root 1260 Sep 11 2018 anaconda-ks.cfg
[root@01 ~]# ls -lh
total 4.0K
drwxr-xr-x. 2 root root 6 Sep 11 09:57 1
drwxr-xr-x. 2 root root 6 Sep 11 09:57 2
drwxr-xr-x. 3 root root 15 Sep 11 09:57 3
-rw-------. 1 root root 1.3K Sep 11 2018 anaconda-ks.cfg
[root@01 ~]#
ls -i查看文件的inode号;
[root@01 ~]# ls -i
50718640 1 //50718640为inode号
2795 2
17355163 3
33580930 anaconda-ks.cfg
[root@01 ~]#
ls -a查看所有文件包括隐藏文件。
[root@01 ~]# ls -a
. .. 1 2 3 anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .ssh .tcshrc
[root@01 ~]# //.或者.开头的表示隐藏文件
ls -ld查看目录使用的相同inode号的数量。
[root@01 ~]# ls -ld
dr-xr-x---. 6 root root 174 Sep 11 09:57 . //数字6表示有6个文件或者目录使用相同的inode号;第一个root表示此文件或目录的所有者;第二个root表示此文件或目录的所属组;
[root@01 ~]#
ls -lta按时间顺序排列
[root@01 ~]# ls -lta
total 28
-rw-------. 1 root root 1260 Sep 11 2018 anaconda-ks.cfg
dr-xr-xr-x. 17 root root 224 Sep 11 2018 ..
dr-xr-x---. 6 root root 174 Sep 11 09:57 .
drwxr-xr-x. 3 root root 15 Sep 11 09:57 3
drwxr-xr-x. 2 root root 6 Sep 11 09:57 2
drwxr-xr-x. 2 root root 6 Sep 11 09:57 1
drwx------. 2 root root 80 Sep 11 09:36 .ssh
-rw-------. 1 root root 284 Sep 11 09:34 .bash_history
-rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 28 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 28 2013 .cshrc
-rw-r--r--. 1 root root 129 Dec 28 2013 .tcshrc
[root@01 ~]#
三、文件类型
1、ls -la;第一列表示文件的类型;
[root@01 ~]# ls -la
total 28
dr-xr-x---. 6 root root 174 Sep 11 09:57 . //d表示普通文件
-rw-------. 1 root root 1260 Sep 11 2018 anaconda-ks.cfg //-表示二进制文件
[root@01 dev]# ls -la
crw-rw----. 1 root video 10, 175 Sep 11 09:24 agpgart //c表示字符串设备
lrwxrwxrwx. 1 root root 3 Sep 11 09:24 cdrom -> sr0 //l表示软连接文件
srw-rw-rw-. 1 root root 0 Sep 11 09:24 log //s表示socket文件,设备之间通信的文件
brw-rw----. 1 root disk 8, 0 Sep 11 09:24 sda //b表示块设备(光驱、磁盘)
2、使用find查找某种类型的文件
[root@01 ~]# find / -type b
/dev/sr0
/dev/sda3
/dev/sda2
/dev/sda1
/dev/sda
[root@01 ~]#
四、alias命令
1、可以使用which查看
[root@01 ~]#
[root@01 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@01 ~]# which ll
alias ll='ls -l --color=auto'
/usr/bin/ls
[root@01 ~]#
2、alias查看系统都有哪些命令是使用alias做别名
[root@01 ~]# 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@01 ~]#
3、环境变量echo $PATH 显示一系列的目录,如果命令生效的就一定在这些目录下面
[root@01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@01 ~]#