2.1 系统目录结构(上)
- ls 命令,列出文件夹下的文件及文件夹
[root@mylinux ~]# ls / (根目录)
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@mylinux ~]# ls /root/ (根目录下面的root用户的家目录)
anaconda-ks.cfg
这里我们 / 为根目录,/root/ 为根目录下面的root用户的家目录,即我们最初进入系统的目录
- 这里 /root/.ssh/authorized_keys 存放公钥,然后通过秘钥ssh链接root用户。我们如果登录普通用户则,创建一个普通用户 useradd wsl ,并在 /home/wsl/ 下创建一个 .ssh/authorized_keys 文件,放入公钥就可以秘钥ssh登录我们这个wsl普通用户了
[root@mylinux ~]# ls /root/.ssh/authorized_keys (存放root用户的公钥来秘钥ssh链接)
/root/.ssh/authorized_keys
[root@mylinux ~]# useradd wsl (创建一个普通用户)
[root@mylinux ~]# ls /home/wsl/ (home下存放普通用户)
如果想要更改默认的 .ssh/authorized_keys,即公钥存放位置
[root@mylinux ~]# ls /etc/ssh/sshd_config(更改默认ssh配置文件)
- 通过tree命令来树状显示根目录结构
[root@mylinux ~]# yum install -y tree(安装tree命令)
[root@mylinux ~]# tree --hep (显示tree常用选项,应用于所有命令)
[root@mylinux ~]# man tree (显示tree帮助文档,应用于所有命令)
[root@mylinux ~]# tree / -L 2 (最大显示深度为两层)
- 常用的目录及其作用
/bin/(存放常用的命令,做了一个usr/bin的软连接,所有用户都能用)
/sbin/ (存放常用的命令,一般root用户使用的命令,普通用户没有权限)
/usr/bin/ (存放常用的命令)
/usr/sbin/ (存放常用的命令)
/boot/ (启动相关的文件,关键文件,其中有如grub)
/dev/ (Linux中特有的设备文件)
/etc/ (系统中的一些配置文件所在目录)
/home/ (用户家目录,[root@mylinux ~]# useradd wsl (所创建的wsl普通用户就存放在 /home/ 里面))
/lib/ (系统库文件,很多命令都会依赖一些库)
/lib64/ (系统库文件,很多命令都会依赖一些库)
例如:
[root@mylinux ~]# ldd /bin/ls ( ldd 命令展示ls所依赖的库文件)
2.2 系统目录结构(下)
CentOS7不区分32和64位系统,全部是64。区别在于内存的识别,要识别到8个G以上的内存需要64位才行。
/media/ (媒介目录默认为空,U盘的插入会自动放入到media目录下面去)
/mnt/ (临时挂载的目录,默认为空,挂载新的光驱或新增加的硬盘挂载到此目录下)
/opt/ (早期Oracle会安装在此文件夹下)
/proc/ (系统启动的一些进程,启动的进程会生成一个数字的PID,其都是一个目录)
/root/ (root用户的家目录)
/run/ (进程产生的一些临时文件,一重启或者关机就会消失的一些文件)
/srv/ (service的缩写,服务产生的一些临时的文件,为空)
/sys/ (会存一些系统内核相关的一些文件,一般不会动)
/tmp/ (系统临时目录,权限很大,任何用户都可以在这里面增删改查)
/usr/ (用户的一些文件会放到这里面,重要目录,类似Apache的一些文件会放到里面)
/var/ (/var/log会经常用到,这里面会存日志,/var/log/messages存放系统总日志,/var/run/会存放一些进程的PID)
- 常用的重要的目录总结
/usr/bin/
/usr/sbin/
/bin/
/sbin/ (都做了软连接,类似快捷方式,让我们在任何地方任何时候都能使用命令,没有软链接,就需要到绝对路径下去使用)
/etc/
/var/
/usr/local/
/root/
/home/
/proc/
2.3 ls命令
- ls命令常用选项
[root@mylinux ~]# ls -l (ls -l 的用法)
总用量 4
-rw-------. 1 root root 1418 12月 12 23:42 anaconda-ks.cfg
-rw-------. (权限)
1 (表示有几个文件引用了iknowd号,iknowd存放的就是文件的详细信息,
就是 ls -l 查出来的信息,记录引用所以iknowd会记录它在磁盘的位置,即iknowd号是唯一的,这个数字为硬链接)
root (所有者)
root (所属组)
1418 (文件大小,单位b)
12月 12 23:42 (文件创建或最近更改的时间)
[root@mylinux ~]# ls -i anaconda-ks.cfg (查看此文件的iknowd)
33574978 anaconda-ks.cfg
33574978 (这就是iknowd号,表示此文件)
[root@mylinux ~]# ls -lh(ls -lh 的用法,更人性化)
总用量 4.0K
-rw-------. 1 root root 1.4K 12月 12 23:42 anaconda-ks.cfg
[root@mylinux ~]# ls -la(查看该目录下的隐藏文件)
总用量 32
dr-xr-x---. 3 root root 147 12月 13 23:42 . (. 在所有查看文件夹下的隐藏文件都有,表示当前的目录即目录本身,
即是/root。这里我们看到硬链接有3个,我们在下面查看有哪三个。其实可以看做该目录下的子目录的个数)
dr-xr-xr-x. 17 root root 224 12月 14 10:56 .. (.表示当前目录,..表示上一级目录)
-rw-------. 1 root root 1418 12月 12 23:42 anaconda-ks.cfg
-rw-------. 1 root root 5209 12月 15 22:26 .bash_history
-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
drwx------. 2 root root 80 12月 14 11:59 .ssh(例如.ssh文件就是一个隐藏文件,. 开头的都是隐藏文件或文件夹)
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
(我们发现下面三个地址都是/root/)
[root@mylinux ~]# ls -i /root/
33574978 anaconda-ks.cfg
[root@mylinux ~]# ls -i .
33574978 anaconda-ks.cfg
[root@mylinux ~]# ls -i .ssh/../
33574978 anaconda-ks.cfg
(其实就是该目录下子目录的个数)
[root@mylinux ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .ssh
.. .bash_history .bash_profile .cshrc .tcshrc
[root@mylinux ~]# ls -lta (时间从早到晚排列)
总用量 32
-rw-------. 1 root root 5209 12月 15 22:26 .bash_history
drwx------. 2 root root 80 12月 14 11:59 .ssh
dr-xr-xr-x. 17 root root 224 12月 14 10:56 ..
dr-xr-x---. 3 root root 147 12月 13 23:42 .
-rw-------. 1 root root 1418 12月 12 23:42 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@mylinux ~]# ls -l /root/
总用量 4
-rw-------. 1 root root 1418 12月 12 23:42 anaconda-ks.cfg
[root@mylinux ~]# ls -ld /root/ (加上d会之列出目录本身)
dr-xr-x---. 3 root root 147 12月 13 23:42 /root/
- 常用ls命令总结
-l -i -a -t -h -d
2.4 文件类型
- 文件类型详解
[root@mylinux ~]# ls -la
总用量 32
dr-xr-x---. 3 root root 147 12月 13 23:42 .
dr-xr-xr-x. 17 root root 224 12月 14 10:56 ..
-rw-------. 1 root root 1418 12月 12 23:42 anaconda-ks.cfg
-rw-------. 1 root root 5471 12月 15 23:28 .bash_history
-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
drwx------. 2 root root 80 12月 14 11:59 .ssh
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
dr-xr-x---. (开头的第一位d就表示文件的类型,d这里表示的是目录)
-rw-------. (开头的第一位 - ,表示这是一个普通文件)
crw-rw----.(开头第一位是c,表示字符串设备,一般在/dev/下)
lrwxrwxrwx.(开头第一位是l,表示软连接硬链接文件)
brw-rw----.(开头第一位是b,表示块设备,比如光盘和磁盘)
srw-rw-rw-.(开头第一位是s,表示通信的文件,同一台机器进程和进程之间的通信,/dev/log里面有)
开头为 - 的为白色的文件为普通文件,可以通过cat 查看
[root@mylinux ~]# cat anaconda-ks.cfg
而类似 /bin/ls 则是一种被编译过的二进制文件,不能查看
- 文件类型总结
dr-xr-x---. (开头的第一位d就表示文件的类型,d这里表示的是目录)
-rw-------. (开头的第一位 - ,表示这是一个普通文件)
crw-rw----.(开头第一位是c,表示字符串设备,一般在/dev/下)
lrwxrwxrwx.(开头第一位是l,表示软连接硬链接文件)
brw-rw----.(开头第一位是b,表示块设备,比如光盘和磁盘)
srw-rw-rw-.(开头第一位是s,表示通信的文件,同一台机器进程和进程之间的通信,/dev/log里面有)
开头为 - 的为白色的文件为普通文件,可以通过cat 查看
[root@mylinux ~]# cat anaconda-ks.cfg
而类似 /bin/ls 则是一种被编译过的二进制文件,不能查看
2.5 alias命令
- which查看命令别名
[root@mylinux ~]# which ls ll (查看别名,并看该命令绝对路径)
alias ll='ls -l --color=auto' (ll 为 /usr/bin/ls,加上了 -l --color=auto 这些选项后生成的别名,类似快捷方式)
/usr/bin/ls
alias ls='ls --color=auto'
/usr/bin/ls
- alias查看别名,自定义或取消别名
[root@mylinux ~]# 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@mylinux ~]# alias wsl='ls -lhat' (自定义别名)
[root@mylinux ~]# wsl
总用量 32K
-rw-------. 1 root root 5.4K 12月 15 23:28 .bash_history
drwx------. 2 root root 80 12月 14 11:59 .ssh
dr-xr-xr-x. 17 root root 224 12月 14 10:56 ..
dr-xr-x---. 3 root root 147 12月 13 23:42 .
-rw-------. 1 root root 1.4K 12月 12 23:42 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@mylinux ~]# unalias wsl (取消别名)
[root@mylinux ~]# echo $PATH (查看环境变量)
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin (所有在这里面的环境变量都可以直接使用其中的命令)
网友评论