一、走进Linux系统
开机登录
- 开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
- 开机成功后,它会显示一个文本登陆界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户信息将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可!
- 一般来说,用户的登录方式有三种:
- 命令行登录
- ssh登录
- 图形界面登录
- 最高权限账户为root,可以操作一切!
关机
- 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
- 关机指定为:shutdown
sync # 将数据由内存同步到硬盘中。
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
shutdown –h now # 立马关机
shutdown –h 20:25 # 系统会在今天20:25关机
shutdown –h +10 # 十分钟后关机
shutdown –r now # 系统立马重启
shutdown –r +10 # 系统十分钟后重启
reboot # 就是重启,等同于 shutdown –r now
halt # 关闭系统,等同于shutdown –h now 和 poweroff
- 最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。
系统目录结构
登录系统后,在当前命令窗口下输入命令:
ls /
你会看到如下图所示:
树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)
- 以下是对这些目录的解释:
- /bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。
- /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
- /dev:dev是Device(设备)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
- /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
- /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。(不用管)
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /srv:该目录存放一些服务启动之后需要提取的数据。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
- /tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下。(例:安装包)
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/bin:系统用户使用的应用程序。
- /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
- /src:内核源代码默认的放置目录。
- /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。(几乎不使用)
- /www:存放服务器、网站相关的资源。(例:环境、网站的项目)
二、常用的基本命令
Linux 中一切皆文件 (文件:读、写、执行 (查看、创建、删除、移动、复制、编辑),权限:用户、用户组,系统:磁盘、进程)
目录管理
绝对路径、相对路径
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
- 绝对路径:
- 路径的写法:由根目录 / 写起,例如:/usr/share/doc 这个目录。
- 相对路径:
- 路径的写法:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,
可以写成:cd ../man 这就是相对路径的写法啦!
- 路径的写法:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,
ls (列出目录)
在Linux中,ls可能是最常被使用的。
-a:all,查看全部的文件,包括隐藏文件。
-l:列出所有的文件,包含文件的属性和权限,没有隐藏文件。
在Linux中,所有参数都可以组合使用。
cd 切换目录
cd 目录名(绝对路径都是以 / 开头,相对路径通常先使用 ../ 返回上一级目录,然后再进入同一目录下的目录)
[root@iZ2ze25rhv1zxv1wbf2c17Z /]# ls # 切换目录
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
[root@iZ2ze25rhv1zxv1wbf2c17Z /]# cd home
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# cd usr
-bash: cd: usr: No such file or directory
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# cd ../usr # 相对路径进入到 usr 目录
[root@iZ2ze25rhv1zxv1wbf2c17Z usr]# cd / # 返回根目录
[root@iZ2ze25rhv1zxv1wbf2c17Z /]# cd home
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# ls
liang
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# cd .. # 返回上一级目录
[root@iZ2ze25rhv1zxv1wbf2c17Z /]# cd /home/liang # 绝对路径跳转到 home 目录下的 liang 目录中
[root@iZ2ze25rhv1zxv1wbf2c17Z liang]# cd ~ # 回到当前的用户目录
pwd 显示当前用户所在的目录
[root@iZ2ze25rhv1zxv1wbf2c17Z ~]# pwd
/root
[root@iZ2ze25rhv1zxv1wbf2c17Z ~]# cd /bin
[root@iZ2ze25rhv1zxv1wbf2c17Z bin]# pwd
/bin
[root@iZ2ze25rhv1zxv1wbf2c17Z bin]# cd /usr/local
[root@iZ2ze25rhv1zxv1wbf2c17Z local]# pwd
/usr/local
mkdir 创建一个目录
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# mkdir test1 # 创建目录
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# ls
liang test1
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# cd test1
[root@iZ2ze25rhv1zxv1wbf2c17Z test1]# cd ..
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# mkdir test2/test3/test4
mkdir: cannot create directory ‘test2/test3/test4’: No such file or directory
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# mkdir -p test2/test3/test4 #创建多级目录
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# ls
liang test1 test2
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# cd test2
[root@iZ2ze25rhv1zxv1wbf2c17Z test2]# ls
test3
[root@iZ2ze25rhv1zxv1wbf2c17Z test2]# cd test3
[root@iZ2ze25rhv1zxv1wbf2c17Z test3]# ls
test4
rmdir 删除目录
rmdir 仅能删除空的目录,如果下面存在文件们需要先删除文件。递归删除多个目录加 -p 参数即可。
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# ls
liang test1 test2
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# rmdir test1 # 删除目录
[root@iZ2ze25rhv1zxv1wbf2c17Z home]# ls
liang test2
[root@iZ2ze25rhv1zxv1wbf2c17Z home