linux基础操作学习
Linux基础知识
Linux简介
Linux是一款多用户、多任务、多线程的类 Unix 操作系统。Linux比较常用的发行版有Ubuntu、RedHat、CentOS、Debian、Fedora等,对多数程序员来说,Linux 更多的是应用于服务器上,由于其开源的特性,使得系统更稳定安全,不容易卡死。
centos下载地址
官网下载最新版本:https://www.centos.org/download/
可以使用光驱、U盘或你下载的Linux ISO文件进行安装。也 可以选择VMware安装
linux启动原理
linux启动原理分5步:
- 内核的引导
开机后按照BIOS中设置的启动设备启动,操作系统首先读入 /boot 目录下的内核文件。 - 运行 init
init 进程是系统所有程序启动的原点,它首先是需要读取配置文件 /etc/inittab,并根据不同开机启动程序的运行级别来运行程序。 - 系统初始化
init的配置文件调用执行/etc/rc.d/rc.sysinit,rc.sysinit是每一个运行级别都要首先运行的重要脚本,它主要是完成一些系统初始化的工作。 - 建立终端
系统初始化完成后,init接下来会打开6个终端,方便用户登录,默认登录到第一个终端,可行切换。 - 用户登录系统
用户的登录方式有三种:
(1)命令行登录
(2)ssh登录
(3)图形界面登录
linux启动过程如图所示:
linux系统目录介绍
文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。可以使用一个点 . 来表示用户当前正在使用的目录;两个点 … 来表示当前目录的上一级目录。如果一个目录或文件名以一个点 . 开始,则这个目录或文件是一个隐藏目录或文件。进入终端后,通过ls命令可以查看系统的目录文件。下面对几个重要的目录进行介绍。
- /bin:存放着最常用的程序和指令。
- /boot:存放了操作系统启动时的一些内核文件。
- /dev :存放了Linux的外部设备。
- /etc:存放了所有的系统管理所需要的配置文件和子目录。不能随意改动,否则可能会导致系统不能启动。
- /home:用户主目录,以用户的账号命名。
- /lib:存放了系统基本的一些动态连接共享库。
- /lost+found:系统非正常情况关机时,这里会存放一些文件。
- /media:存放了系统识别的设备,比如光驱、U盘等。
- /mnt:可以临时挂载其它的文件系统。
- /opt:安装其它软件时是可以放在这个目录下,默认是空的。
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /tmp:存放一些临时文件。
- /usr: 用户的大多应用程序和文件都放在这个目录下,重要性比较高。
- /usr/bin:系统用户使用的应用程序。
- /usr/src:内核源代码默认的放置目录。
- /var:存放了系统上每个程序运行产生的日志。
- /run:存放了存储系统启动以来的信息,是一个临时文件系统。
- /srv:存放服务启动后需要提取的数据。
文件的属性
Linux系统对不同用户访问同一文件分配不同的权限,可以使用使用ll或者ls –l命令来显示一个文件的属性及文件所属的用户和组。
每个文件的属性由10个字符来确定,这10个字符的位置是固定的,如果没有这个权限,会用减号[ - ]代替。如上图文件的属性为-rw-------,即对该文件拥有读写权限。
如图所示,文件的权限由左到右用【0-9】共10个数字来控制。0代表文件类型,后面的字符可以分为三组,且均为『rwx』 的三个参数的组合。【1-3】表示属主(该文件的所有者)拥有该文件的权限。【4-6】表示属组(所有者的同组用户)拥有该文件的权限,【7-9】确定其他用户对该文件的操作权限。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。没有权限用减号[ - ]代替。
除上之外,还有[ d ]代表目录,[ - ]代表文件;[ l ]则表示为链接文档(link file);[ b ]表示为装置文件里面的可随机存取装置,如U盘,[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。对于 root 用户来说,一般情况下,文件的权限对其不起作用。
目录基本命令操作
对Linux目录文件系统,常需要对目录进行操作。下面列出一些基本的目录操作命令。
-
ls: 列出目录
参数和选项:
-a :列出所有文件,包括隐藏文件(以.开头)
-d :仅列出目录本身,而不是列出目录内的文件数据
-l :长数据串列出,包含文件的属性与权限等等数据
例如列出目录的所有文件,包括隐藏文件以及目录的属性和权限可以用:[root@localhost ~]# ls -al ~
-
cd:切换目录
切换目录有绝对路径和相对路径两种写法,绝对路径由根目录写起,如cd /usr/share/doc
,相对路径不由 / 写起,而是直接写要去的目录cd ../test
。 -
pwd:显示目前的目录
例如:[root@localhost ~]# pwd
-
mkdir:创建一个新的目录
直接创建目录命令:mkdir test
-m:强制配置属性,如果不使用,将使用默认属性
-p:可以创建创建多层目录,如:
mkdir -p test1/test2/test3/test4
-
rmdir:删除一个空的目录
直接删除空目录命令:rmdir test
-p :连同上一级『空的』目录也一起删除 -
cp: 复制文件或目录
复制文件命令:[root@localhost ~]# cp ~/.test1 /tmp/test
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明
-d:若来源档为连结档的属性(link file),则复制连结档属性 而非文件本身
-f:为强制(force)的意思,若目标文件已经存在且无法开 启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动 作的进行
-l:进行硬式连结(hard link)的连结档创建,而非文件本身
-p:连同文件的属性一起复制过去,而非使用默认属性
-r:递归持续复制,用於目录的复制行为
-s:复制成为符号连结档 (symbolic link)
-u:若 destination 比 source 旧才升级 destination ! -
rm: 移除文件或目录
移除文件命令:[root@localhost tmp]# rm -i bashrc
-f :忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除,使用时一定要谨慎 -
mv: 移动文件与目录,或修改文件与目录的名称
移动文件命令:mv text test1
更改文件名称:mv test1 test2
-f :如果目标文件已经存在不会询问而直接覆盖
-i :若目标文件已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且 source 比较新,才会升级
如果不清楚某个命令的使用,可以用man [命令] 查看各个命令的使用文档,例如man ls。
文件内容查看
下面简单介绍一下看文件的内容的一些命令与方式:
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示
- nl 显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- less 与 more 类似,相比 more 它可以往前翻页
- head 只看头几行
- tail 只看尾巴几行
磁盘管理
Linux磁盘管理常用三个命令为df、du和fdisk。
- df:列出文件系统的整体磁盘使用量
直接运行命令:df
-a :列出所有的文件系统
-k :以 KBytes 的容量显示各文件系统
-m :以 MBytes 的容量显示各文件系统
-h :以人们较易阅读的 GBytes, MBytes等格式自行显示
-H :以 M=1000K 取代 M=1024K 的进位方式
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称
-i :不用硬盘容量,而以 inode 的数量来显示 - dfdu:检查磁盘空间使用量
直接运行命令:du
-a :列出所有的文件与目录容量,因为默认仅统计目录底
下 的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示; - dffdisk:用于磁盘分区
直接运行命令:mkfs[tab][tab]
-t :可以接文件系统格式
Linux常用操作
开关机命令
关机的命令有 shutdown –h now halt poweroff 和 init 0
重启系统的命令有 shutdown –r now reboot init 6
注意, 不管是重启系统还是关闭系统,首先要运行 sync 命令,将数据由内存同步到硬盘中。
远程登录
Linux应用较多的是对机房服务器的远程调用。ssh服务可实现远程登录功能,默认ssh服务端口号为 22。Window系统上 Linux 远程登录客户端有多种,平时使用的比较多的是xshell,这里用xshell举例实现远程登陆到Linux服务器。
打开xshell,选择文件→新建,在新建会话属性页面输入服务器IP地址和端口号,点击确定后,按照提示输入用户名和密码。
成功登录后如下图所示:
终端利用ssh登录远程服务器,有三条常用命令:
安装ssh:yum install ssh
启动ssh:service sshd start
远程连接:ssh -p 22 root@10.15.14.32
(-p 后面 是端口号, root是服务器用户名,10.15.14.32是服务器 ip)